| name | GitHub Issue Triage |
| description | Monitor and triage GitHub issues against design docs and implementation status. Use when user asks to "check issues", "triage issues", "sync issues", "what issues are open", or wants to ensure issues are up-to-date with development progress. |
GitHub Issue Triage
Monitor open GitHub issues, match them to design docs, identify closable issues, and keep the issue tracker synchronized with actual development progress.
Configuration
| Environment Variable | Default | Description |
|---|
GITHUB_REPO | (from git remote) | GitHub repository (owner/repo) |
DESIGN_DOCS_DIR | design_docs | Root directory for design documents |
CHANGELOG_PATH | CHANGELOG.md | Path to changelog file |
GITHUB_EXPECTED_USER | (none) | Expected GitHub CLI user (for auth verification) |
STALE_DAYS | 30 | Days of inactivity before an issue is considered stale |
Quick Start
scripts/triage_report.sh
scripts/list_open_issues.sh
scripts/find_closable.sh
scripts/match_design_docs.sh --planned
When to Use This Skill
Invoke this skill when:
- User asks "what issues are open?", "check our issues", "triage issues"
- Starting a new development cycle and need to understand backlog
- After completing a release to identify closable issues
- Periodic housekeeping to keep issue tracker clean
- User wants to understand which issues are covered by design docs
Available Scripts
scripts/check_auth.sh
Verify GitHub CLI authentication matches expected user.
What it checks:
gh CLI is installed
- User is authenticated to github.com
- Active account matches
GITHUB_EXPECTED_USER if set
scripts/list_open_issues.sh [--json] [--labels LABELS]
List all open GitHub issues with details.
Output includes:
- Issue number and title
- Labels
- Age (days since creation)
- Last updated date
- Assignee (if any)
scripts/match_design_docs.sh [--planned] [--implemented] [--all]
Match open issues to design documents.
Matching strategy:
- Exact issue number references (
#123 in design doc)
- Title keyword matching (significant words from issue title)
- Bug ID matching (
M-BUG-XXX patterns)
scripts/find_closable.sh [--close] [--dry-run]
Find issues that have been implemented and can be closed.
What it checks:
- Issue referenced in
${DESIGN_DOCS_DIR}/implemented/
- Issue mentioned in CHANGELOG
- Issue keywords match implemented features
scripts/triage_report.sh [--output FILE]
Generate a complete triage report combining all analysis.
Report includes:
- Summary: Total open, covered, closable, orphaned
- Closable Issues: Ready to close (implemented)
- Covered Issues: Have design docs (in progress)
- Orphaned Issues: No design doc coverage (need attention)
- Stale Issues: No activity in 30+ days
- Recommendations: Suggested actions
Triage Workflow
1. Check Authentication
scripts/check_auth.sh
2. Generate Triage Report
scripts/triage_report.sh
3. Handle Closable Issues
scripts/find_closable.sh --dry-run
scripts/find_closable.sh --close
4. Review Orphaned Issues
For issues without design doc coverage:
- Assess priority and feasibility
- Create design doc if work should proceed
- Close with "won't fix" if out of scope
- Add to backlog for future versions
5. Handle Stale Issues
For issues with no activity in 30+ days:
- Check if still relevant
- Add comment requesting update from reporter
- Close if no response after additional time
Integration with Other Skills
With release-manager
scripts/find_closable.sh
release-manager/scripts/collect_closable_issues.sh 1.2.0 --close
With design-doc-creator
scripts/match_design_docs.sh --planned
With sprint-planner
scripts/triage_report.sh --output /tmp/triage.md
Resources
Triage Checklist
See resources/triage_checklist.md for step-by-step checklist.
Prerequisites
- GitHub CLI (
gh) installed and authenticated
- Correct user active (
gh auth status)
- Repository access
Notes
- All scripts check auth before making changes
- Close operations add proper comments with release/commit references
- Can be adapted for any GitHub repository