Use when creating GitHub issues, making new issues, filing bugs, requesting features, or before running gh issue create...
Every GitHub issue should be well-researched and clearly documented. This skill ensures issues contain enough context for anyone to understand and implement them.
Before writing the issue, use the Explore agent or search tools to understand:
Include in the issue:
Why: Issues with research reduce back-and-forth questions and give implementers a head start.
Use gh issue create with a well-structured body:
gh issue create --title "Brief descriptive title" --body "$(cat <<'EOF'
## Summary
<1-3 sentences describing what needs to be done>
## Current State
<What exists now, with file paths and code references>
## Proposed Changes
<What should change, with specific details>
## Technical Notes
<File paths, database tables, API endpoints, code snippets>
## Acceptance Criteria
- [ ] Specific testable requirement
- [ ] Another requirement
EOF
)"
Discover current labels and apply appropriate ones:
gh label list --limit 50
Common label categories:
Type (pick one):
enhancement - New feature or improvementbug - Something isn't workingdocumentation - Documentation improvementsquestion - Further information requestedPriority (if applicable):
priority: critical - Production broken, blocking issuepriority: high - Important bug fix, urgent featurepriority: low - Nice to have, can waitArea (if applicable):
gh issue edit <number> --add-label "enhancement"
If the repository uses GitHub Projects:
gh issue edit <number> --add-project "Project Name"
## Summary
<1-3 sentences describing what needs to be done>
## Current State
<What exists now>
- File: `path/to/file.ts:123`
- Current behavior: <description>
## Proposed Changes
<What should change>
1. Change X to do Y
2. Add Z functionality
## Technical Notes
- Relevant files: `src/components/Feature.tsx`, `src/utils/helpers.ts`
- Related functions: `handleSubmit()`, `validateInput()`
- Consider: <architectural notes, edge cases>
## Acceptance Criteria
- [ ] Specific testable requirement
- [ ] Another requirement
- [ ] Tests pass
## Additional Context
<Screenshots, error messages, related issues>
Default guidance: Bugs default to High unless trivial. Enhancements default to Medium unless urgent.
| Mistake | Fix |
|---|---|
| Create issue without researching code first | Use Explore agent to find relevant files |
| Generic issue description | Include specific file paths, line numbers, code snippets |
| Missing acceptance criteria | Always include testable requirements |
| No labels | Always add at least a type label |
| Vague title | Make titles specific and searchable |