
Closing Obsolete Issues
- 2 installs
- 274 repo stars
- Updated August 4, 2026
- dart-lang/ai
Automatically manage and close obsolete GitHub issues and PRs.
About
Closing-obsolete-issues provides automation for GitHub issue lifecycle management. Developers use it to keep issue trackers clean by identifying and closing stale issues.
- Automated issue lifecycle management
- Stale issue detection and closure
Closing Obsolete Issues by the numbers
- 2 all-time installs (skills.sh)
- Ranked #1,139 of 1,435 DevOps & CI/CD skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/dart-lang/ai --skill closing-obsolete-issuesAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 2 |
|---|---|
| repo stars | ★ 274 |
| Last updated | August 4, 2026 |
| Repository | dart-lang/ai ↗ |
What it does
Automatically manage and close obsolete GitHub issues and PRs.
Files
Closing Obsolete Issues
Use this skill to find old, outdated issues in the dart-lang/ai repository that can be closed because they have been fixed, are stale, obsolete, or not reproducible.
Instructions
1. Identify Target Issues:
- Use the GitHub CLI (
gh) to search for the oldest open issues. - Use any label that the user gives you, or none if the user does not specify any issue labels.
- Sort by creation date (
created-asc) or last update (updated-asc) to find the most likely candidates for being outdated. - Fetch at least 10-20 candidates.
- Example command (with label):
gh issue list --repo dart-lang/ai --search "label:bug is:open sort:created-asc" --limit 20 | cat - Example command (without label):
gh issue list --repo dart-lang/ai --search "is:open sort:created-asc" --limit 20 | cat
2. Investigate Status:
- For each candidate, analyze its description and comments.
- Use
gh issue view <number> --repo dart-lang/aito get details. - Compare the issue's request or reported bug with the current state of the codebase.
- Refer to
references/rationale_templates.mdfor a library of common reasons issues become outdated. - Safety Rule: Do not assume a bug is fixed or obsolete just because the code has been updated. Verify if the specific bug behavior is still possible. Valid bugs or feature requests should not be closed as stale just because they are old or have no activity. Inactivity alone does not invalidate a feature request or bug report.
3. Draft and Review Closing Comments (CRITICAL MANDATE):
- For issues identified as candidates for closing, draft a detailed comment for each explaining why it can be closed.
- Style Constraint: DO NOT use em dashes (—) in the comments. Use hyphens (-) or colons (:) instead.
- Template: Consult
references/rationale_templates.mdfor wording inspiration. - Each comment MUST end with: "If there is more work to do here, please let us know by commenting on this issue or filing a new one with up to date information. Thanks!"
- User Approval Required: You MUST present the identified issues (including URLs to the issues for easy navigation) and their drafted comments to the user and obtain explicit approval BEFORE running any command that closes an issue.
4. Iterate on Skill Knowledge (Learning Loop):
- If you discover a new, distinct category of closing rationale that is not covered in
references/rationale_templates.md, update the reference file to include it.
5. Execute and Summarize:
- Once approved, use
gh issue closewith the-cflag to post the comment and close the issue. - Provide the user with a clean bulleted list of links to each closing comment.
Tips
- Use available file and content search tools (such as
grep,ripgrep) to check the current codebase for references to the issue or relevant code. - Look for related PRs that might have fixed the issue but didn't close it automatically.
Common Closing Rationales for dart-lang/ai
When investigating old issues in the dart-lang/ai repository, look for these common reasons they may be eligible for closing. Use these as templates for your closing comments.
1. Superseded by New Features or Refactoring
The codebase has evolved. Many old requests for features or bug fixes may be resolved by newer implementations or refactoring.
- Rationale: Point to the new feature or implementation that fulfills the need.
2. Stale Feature Requests
Proposals or feature requests from a long time ago with no recent activity or community interest may be closed if they no longer align with current priorities.
- Rationale: Note that the issue is a stale feature request with no recent activity and that the project has evolved significantly since then.
3. Insufficient Information
Issues that lack clear descriptions, reproduction steps, or logs make it impossible to investigate.
- Rationale: "Without additional information, we cannot debug this issue. Please re-open if you can provide a description of your issue and repro steps. Thanks."
4. Very Old Version or Context
Issues reported on very old contexts or dependencies that are no longer relevant.
- Rationale: "This issue looks like it occurred in an older context. Are you still experiencing this issue with the latest version? If so, please reopen with updated information. Thanks."