speckit-gh-issue-runner
Find up to three open GitHub issues marked for /speckit-auto, inspect them, and run the existing Claude speckit-auto workflow sequentially with issue labels and comments.
Files2
View on GitHubSKILL.md.claude/skills/speckit-gh-issue-runner/SKILL.md
GitHubSpec Kit GitHub Issue Runner
Use this skill when the user asks to check GitHub issues, take issues from GitHub,
process multiple /speckit-auto issues, or run a maximum of three issues through
speckit-auto.
This skill only owns issue discovery and queue handling. After an issue is
selected, follow .claude/skills/speckit-auto/SKILL.md for the actual workflow
and .claude/skills/speckit-token-observability/SKILL.md for required token
analysis.
Limits
- Default maximum: 3 issues.
- Never process more than 3 issues in one request, even if the user asks for more.
- Process issues sequentially unless the user explicitly asks only for a dry-run queue summary.
- Prefer
gatedmode unless the issue explicitly requestsauto-implementorauto-prorauto-stack-pr. - Do not auto-commit or create a PR unless the issue explicitly grants
auto-commit,auto-pr, orauto-stack-prpermission.
Discovery
From the repository root, list candidate issues:
.claude/skills/speckit-gh-issue-runner/scripts/list-speckit-auto-issues.sh
The script returns up to three open issues whose title, body, or comments contain
/speckit-auto.
If the script fails because gh is unavailable or unauthenticated, use the
GitHub app tools if available. If neither route works, stop and report the
blocker.
Selection Rules
When the user gives explicit issue numbers, use those numbers after enforcing the max-3 limit.
When the user asks to "check issues" without numbers:
- List up to 3 candidates.
- Exclude issues already labeled
status:in-progress,status:blocked,status:waiting-review,status:done, orstatus:failed. - Prefer issues labeled
status:queued. - Otherwise prefer oldest updated issue first, unless priority labels indicate
priority:P1, thenpriority:P2, thenpriority:P3. - If selection is still ambiguous, present the candidate numbers and ask the user which ones to run.
Intake For Each Issue
For each selected issue:
- Fetch issue title, body, labels, comments, checklists, and linked sub-issues.
- Confirm
/speckit-autoappears in the title, body, or comments. - Determine mode from issue labels or issue template text:
mode:gatedor(gated)->gatedmode:auto-implementor(auto-implement)->auto-implementmode:auto-pror(auto-pr)->auto-prmode:auto-stack-pror(auto-stack-pr)->auto-stack-pr
- If no mode is present, use
gated. - Add or preserve
trigger:speckit-auto,agent:claude, exactly onemode:*label, andstatus:in-progress. - Add a short issue comment before starting intake.
Running The Workflow
Run the full issue through speckit-auto using the issue body as the feature
request. Follow all stop conditions, token observability requirements, and phase
label/comment rules from speckit-auto.
If one issue stops for clarification, blocking gates, failed validation, or review, update that issue with the correct status label and continue to the next selected issue only when the stop is isolated to that issue.
If repository state becomes unsafe for the remaining issues, stop the batch and report which issue caused the stop and which selected issues remain unprocessed.
Final Response
Report:
- Issue numbers processed
- Final status label for each issue
- Mode used for each issue
- Token report path when created
- Any issue numbers skipped and why