一键导入
ai-pick-issue
Find, analyze, and recommend GitHub issues to work on. Use when looking for issues, or asking 'what should I work on next'.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Find, analyze, and recommend GitHub issues to work on. Use when looking for issues, or asking 'what should I work on next'.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create a new Claude skill for augint-shell repositories. Use when building new automation commands or skills.
Monitor CI pipeline after push, diagnose failures, auto-fix and re-push. Use after submitting work, or asking 'check the build' or 'how's the pipeline'.
Stand up a new repository with standard quality gates, CI/CD pipeline, and configuration files.
Create a feature branch from the correct base (dev or main), sync release bumps, and set up remote tracking. Use when starting work on an issue or saying 'start working on'.
Comprehensive repository health check with remote-first git hygiene, branch cleanup, and code quality analysis. Use for repo maintenance, or saying 'clean up the repo'.
Rollback a bad release or revert a merged PR. Use when something broke after a merge or release. Also triggered by 'something broke', 'undo the last release', 'revert'.
| name | ai-pick-issue |
| description | Find, analyze, and recommend GitHub issues to work on. Use when looking for issues, or asking 'what should I work on next'. |
| argument-hint | [issue-number or search-terms] |
Intelligently find or select GitHub issues: $ARGUMENTS
Workflow automation: This skill is part of an automated workflow. When an issue is selected and the design conversation concludes, proceed directly to branch preparation by invoking
/ai-prepare-branch. Do NOT prompt "shall I continue?" or "would you like me to run /ai-prepare-branch?" -- just do it.
Smart issue finder that understands numbers, keywords, and natural language.
/ai-pick-issue 24 - Get issue #24/ai-pick-issue devops - Find open issues about devops/ai-pick-issue the one about pre-commit - Natural language search/ai-pick-issue - Recommend best issues to work on# Verify we're in a git repository
if ! git rev-parse --git-dir > /dev/null 2>&1; then
echo "Error: Not in a git repository"
exit 1
fi
# Get repository owner/name from remote
REPO=$(gh repo view --json nameWithOwner -q .nameWithOwner 2>/dev/null)
if [ -z "$REPO" ]; then
echo "Error: Could not determine repository. Make sure 'gh' is authenticated."
exit 1
fi
Analyze $ARGUMENTS:
If $ARGUMENTS is numeric, use gh issue view:
gh issue view $ISSUE_NUMBER --json number,title,state,labels,assignees,body,comments
Use gh issue list with search:
# For keyword search
gh issue list --state open --search "$ARGUMENTS" --limit 30 --json number,title,labels,updatedAt,comments
# For label-based search
gh issue list --state open --label "$LABEL" --limit 30
For natural language queries:
When no arguments provided, intelligently recommend OPEN issues only:
# Get all open issues with detailed information
gh issue list --state open --limit 100 --json number,title,labels,createdAt,updatedAt,comments,assignees,body
# Separate queries for specific categories:
# High priority bugs
gh issue list --state open --label bug --limit 20
# Good first issues
gh issue list --state open --label good-first-issue --limit 20
# Recently updated
gh issue list --state open --sort updated --limit 20
score = 0
# Priority labels
if "P0" or "critical" in labels: score += 10
if "P1" or "high-priority" in labels: score += 7
if "bug" in labels: score += 5
if "security" in labels: score += 8
# Freshness (older issues need attention)
days_old = (now - created_at).days
if days_old > 30: score += 3
if days_old > 60: score += 2
# Activity level
if comment_count == 0: score += 1 # Needs initial response
if comment_count > 10: score -= 2 # Might be complex/stuck
# Assignment status
if not assignee: score += 3 # Available to work on
# Implementation readiness
if "good-first-issue" in labels: score += 4
if "help-wanted" in labels: score += 3
if body_length > 500: score += 2 # Well-documented
# CRITICAL: Never recommend closed issues
if state == "CLOSED": score = -1000
# Renovate Dependency Dashboard filtering (see subsection below)
if is_renovate_dashboard(issue):
if not has_actionable_items(issue):
score = -1000 # Skip -- schedule handles it
else:
score = 6 # Override with moderate score for actionable dashboards
Renovate creates a "Dependency Dashboard" issue that tracks all pending updates. Most of the time this issue requires no human intervention -- the Renovate schedule handles everything automatically. Only surface it when there are genuinely stuck or failed items.
Detection: An issue is a Renovate dashboard if:
renovate[bot]Triage the dashboard body for actionable items. Fetch the full issue body:
gh issue view $NUMBER --json number,title,body,author
Actionable (include in recommendations):
:warning:, :x:, unicode warning/error symbols)Not actionable (exclude from recommendations):
When a Renovate dashboard IS actionable, present it with a brief summary of what needs attention (e.g., "2 stuck PRs, 1 failed update") rather than showing the full dashboard body.
Display results as a ranked table:
=== Recommended Open Issues ===
| Rank | Issue | Score | Title | Labels | Age |
|------|-------|-------|----------------------------|-------------------|---------|
| 1 | #123 | 18 | Fix authentication timeout | bug, high-priority| 5 days |
| 2 | #456 | 15 | Add metrics dashboard | enhancement | 2 weeks |
| 3 | #789 | 12 | Update API documentation | docs, good-first | 1 month |
Recommendation: Start with #123 - high priority bug with clear reproduction steps.
# List issues (never includes closed by default)
gh issue list --state open [options]
# View specific issue
gh issue view NUMBER [options]
# Search issues
gh issue list --state open --search "query"
# Get issue with all details
gh issue view NUMBER --json number,title,state,labels,body,comments,assignees,createdAt,updatedAt
Use --json flag with jq for structured data:
gh issue list --state open --label high-priority --json number,title,labels | jq '.[] | select(.labels[].name == "bug")'
gh auth loginAfter presenting the issue details, do NOT immediately suggest /ai-prepare-branch. Instead, engage the user in a design dialogue scaled to the issue's complexity.
Before starting, assess issue complexity from labels, body, and title:
Simple (clear bug with repro steps, small config change, docs fix):
Medium (feature with mostly clear spec, refactor with known scope):
Complex (architectural change, unclear requirements, multiple approaches):
Conflict resolution: If signals conflict (e.g., "good-first-issue" + "security"), highest complexity wins.
When you believe alignment is reached, present a concise implementation summary:
=== Proposed Approach ===
Goal: [one sentence]
Approach: [2-3 key decisions]
Files likely affected: [list]
Out of scope: [what we're NOT doing]
Present this summary naturally as part of the conversation. If the user engages with questions or corrections, refine the approach. If the user signals agreement (or does not object), proceed to prepare the branch.
Do NOT ask "Ready to proceed?" or wait for explicit confirmation. Treat the design summary as a natural checkpoint -- pause briefly for the user to react, then move forward.
IMPORTANT:
Automatic next step: After the design conversation concludes (user agrees or does not object to the proposed approach), immediately invoke /ai-prepare-branch <issue-number> to create the branch. Do NOT just suggest it -- actually run it. The user expects the workflow to continue automatically.
If no specific issue was selected (e.g., user was just browsing recommendations), present the recommendations and stop.