From github-issues
Analyze open issues against codebase activity, severity, and project trends to recommend what to work on next. Use when user says "what should I work on", "recommend an issue", "pick my next task", "what's most impactful", "suggest something to work on", or wants an opinionated recommendation of which issues to tackle.
How this skill is triggered — by the user, by Claude, or both
Slash command
/github-issues:recommendThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyzes open issues against codebase activity, severity, and external project trends, then recommends the 3 most impactful issues to work on next.
Analyzes open issues against codebase activity, severity, and external project trends, then recommends the 3 most impactful issues to work on next.
skills/shared/references/cross-cutting.mdgh auth status
If this fails, tell the user to run gh auth login first.
Collect baseline information about the current user and repository.
# Current user
gh api user --jq '.login'
# Repo metadata
gh repo view --json nameWithOwner,description,defaultBranchRef
# Issues already assigned to me
gh issue list --assignee @me --state open --json number,title,labels,updatedAt --limit 50
# Local branches (to detect in-progress work)
git branch --list | head -30
If the user already has 3+ assigned issues, note this and suggest they may want to finish existing work first (but still proceed with recommendations if asked).
Gather the full set of open issues to score.
# All open issues (capped at 100)
gh issue list --state open --json number,title,labels,assignees,createdAt,updatedAt,comments,author --limit 100
# Targeted queries for high-signal subsets
gh issue list --state open --label "bug" --json number,title,labels,updatedAt --limit 30
gh issue list --state open --search "no:label" --json number,title,createdAt --limit 20
gh issue list --state open --search "no:assignee" --json number,title,labels,createdAt --limit 30
If the repo has 0 open issues, tell the user and suggest the create skill.
If the repo has fewer than 3 open issues, recommend all of them with scoring but note the limited pool.
Identify recently active code areas to score codebase alignment.
# Recent commits (last 2 weeks)
git log --oneline --since="2 weeks ago" --no-merges --format="%h %s" | head -30
# Hotspot files — most frequently changed in last 2 weeks
git log --since="2 weeks ago" --no-merges --name-only --format="" | sort | uniq -c | sort -rn | head -20
# Hotspot directories — most active areas
git log --since="2 weeks ago" --no-merges --name-only --format="" | xargs -I{} dirname {} 2>/dev/null | sort | uniq -c | sort -rn | head -15
Record the top hotspot files and directories for Phase 5 scoring.
Search the web for recent news, vulnerabilities, or community activity related to the project.
# Get repo owner/name for search
gh repo view --json nameWithOwner --jq '.nameWithOwner'
Use WebSearch to search for:
"{owner/repo}" bug OR vulnerability OR issue (recent problems)"{owner/repo}" release OR changelog (recent releases that may introduce work)For private repos or when no web results are found: skip gracefully. Note "External signal: not available" in the scoring and set the External Signal dimension to 0 for all issues.
Read the full scoring rubric from references/scoring-rubric.md, then apply it to each candidate issue.
| Dimension | Weight | What it measures |
|---|---|---|
| Severity Signal | 0.25 | Bug labels, crash/error keywords, blocking references |
| Codebase Alignment | 0.20 | Issue touches recently active code areas |
| Effort Estimate | 0.15 | Quick wins score high, epics score low |
| Freshness | 0.15 | Recently active issues preferred |
| Availability | 0.15 | Unassigned and no open PRs preferred |
| External Signal | 0.10 | Web research matches (vulnerabilities, community demand) |
Score each open issue on all 6 dimensions (0-10 scale each), compute the weighted sum, then rank.
Classify each issue into one of these categories:
bug label + blocking/crash keywordsdocs label or mentions docs/readmefeature label or is a feature requestchore label, dependency updates, refactoringRule: The top 3 recommendations must come from at least 2 different categories. If all 3 are the same category, demote #3 and promote the highest-scoring issue from a different category.
Present the recommendations as:
1. Summary Table
| Rank | Issue | Category | Score | Key Signal |
|---|---|---|---|---|
| 1 | #N: Title | Blocking Bug | 8.2 | Recently active area, crash keyword |
| 2 | #M: Title | Quick Win | 7.5 | Unassigned, small scope, fresh |
| 3 | #K: Title | Feature | 6.9 | Community demand, aligns with hotspot |
2. Per-Issue Detail
For each recommended issue, show:
3. Next Steps
All issues are stale (no activity in 30+ days):
All issues are assigned to others:
No labels on any issues:
No web search results:
User narrows scope (e.g., "recommend a bug to fix"):
500+ open issues:
gh not found:
brew install gh (macOS) or see https://cli.github.comNot in a git repository:
--repo owner/name.Rate limiting:
Very few issues:
npx claudepluginhub ondrasek/cc-plugins --plugin github-issuesInvestigates GitHub issues and PRs: pulls, classifies, searches codebase for root cause, reviews contributed code, proposes fixes with file:line references, and optionally implements fixes.
Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.