skills/github-workflow/skills/gh-triage/SKILL.md
Use when batch labeling, prioritizing, and assigning GitHub issues during triage sessions.
npx skillsauth add dtsong/my-claude-setup gh-triageInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
; & | $ \ \ < >`).owner/repo format with alphanumeric characters and hyphens only.Review and triage unlabeled or unassigned issues efficiently.
/gh-triage # Triage unlabeled issues
/gh-triage --unlabeled # Show only unlabeled issues
/gh-triage --unassigned # Show unassigned issues
/gh-triage --stale # Show issues with no activity >30 days
/gh-triage --all # Full triage dashboard
# Get unlabeled open issues
gh issue list --state open --label "" --json number,title,body,createdAt
# Get unassigned issues
gh issue list --state open --assignee "" --json number,title,labels
# Get stale issues (no activity in 30 days)
gh issue list --state open --json number,title,updatedAt | \
jq '[.[] | select(.updatedAt < (now - 30*24*60*60 | todate))]'
For each issue, analyze and suggest:
# Add labels
gh issue edit 123 --add-label "bug,priority-high"
# Assign
gh issue edit 123 --add-assignee "@username"
# Close as duplicate
gh issue close 123 --comment "Duplicate of #456" --reason "not planned"
# Close as stale
gh issue close 123 --comment "Closing due to inactivity. Please reopen if still relevant."
Issue Triage Dashboard
Repository: owner/repo
Open issues: 47
Needs triage: 12
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
UNLABELED ISSUES (5)
#456 - Login fails on mobile
Created: 3 days ago by @user1
Body: "When I try to log in on my iPhone, the form..."
Analysis:
Type: Bug (mobile-specific issue)
Priority: High (blocks users)
Similar: None found
Suggested actions:
- Add labels: bug, mobile, priority-high
- Assign: @mobile-team
[Apply] [Skip] [View Full]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
#457 - Add dark mode
Created: 5 days ago by @user2
Body: "Would be great to have a dark theme..."
Analysis:
Type: Feature Request
Priority: Medium (enhancement)
Similar: #123 (open), #234 (closed - wontfix)
Suggested actions:
- Add labels: enhancement, ui
- Consider: Close as duplicate of #123?
[Apply] [Duplicate of #123] [Skip]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
STALE ISSUES (3)
#234 - Feature request from 6 months ago
Last activity: 45 days ago
Status: No response from author
Suggested action: Close as stale
[Close as Stale] [Ping Author] [Keep Open]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Summary:
Triaged: 8 issues
Labeled: 5
Closed: 2 (duplicates)
Closed: 1 (stale)
For fast bulk triage:
Quick Triage - Unlabeled Issues
#456 Login fails on mobile [bug] [enhancement] [question] [skip]
#457 Add dark mode [bug] [enhancement] [question] [skip]
#458 Documentation unclear [bug] [enhancement] [question] [skip]
#459 Performance issue [bug] [enhancement] [question] [skip]
Selected labels will be applied.
Type number to view issue details.
Claude analyzes issue content to suggest labels:
| Content Pattern | Suggested Label | |-----------------|-----------------| | "doesn't work", "broken", "error" | bug | | "would be nice", "feature", "add" | enhancement | | "how do I", "question", "help" | question | | "docs", "documentation", "readme" | documentation | | "slow", "performance", "memory" | performance | | "security", "vulnerability", "CVE" | security |
Priority is suggested based on:
| Factor | Priority | |--------|----------| | Blocks core functionality | critical | | Affects many users | high | | Has workaround | medium | | Nice to have | low | | Outdated/stale | close candidate |
When analyzing issues, Claude checks for:
Potential duplicate detected!
#456: Login fails on mobile
May be duplicate of:
#234 (open): Mobile login issues
#123 (closed): iOS login bug
Actions:
[Close as duplicate of #234]
[Link to #234]
[Keep separate]
Apply same action to multiple issues:
# Label multiple issues
gh issue edit 456 457 458 --add-label "needs-investigation"
# Close multiple stale issues
for issue in 123 234 345; do
gh issue close $issue --comment "Closing stale issue"
done
/gh-issue create for new issues/gh-mine to see your assigned issues/gh-health for overall repository healthtesting
Use to convert a Word .docx file to PDF and/or verify its page count. Triggers on: converting docx to pdf, rendering a document, checking how many pages a docx produces, or asserting a page-count constraint (e.g. a resume must stay 2 pages). Wraps LibreOffice headless conversion.
development
Security audit checklist for web applications. Use when reviewing, auditing, or hardening a web app's security posture. Covers rate limiting, auth headers, IP blocking, CORS, security middleware, input validation, file upload limits, ORM usage, and password hashing. Triggers on requests like "review security", "harden this app", "security audit", "check for vulnerabilities", or when building/reviewing API endpoints.
development
Interactive wizard to craft effective prompts using Claude Code best practices
tools
Use when creating and pushing semantic version tags for a release cut.