fix-issue
1. Fetch issue
gh issue view <number> --json title,body,labels,assignees,comments
Extract - [ ] criteria; derive from description if absent.
2. Branch
git checkout -b fix/issue-<number>-<slug> # kebab-case, 5 words max
Never commit to main.
3. Implement
Scope to the issue only. Commit referencing #<number>.
4. Quality gates
npx tsc --noEmit && npm run lint && npm test
Fix failures first, then verify each - [ ] criterion. Never open the PR on a failing gate.
5. Open the PR
gh pr create \
--title "<issue title>" \
--body "$(cat <<'EOF'
## Summary
<bullet list of changes>
## Closes
Closes #<number>
## Acceptance criteria
<criteria list, ✅ per completed item>
## Test plan
<how to verify>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Edge cases
Not found → error, stop. No tests → note, flag in PR. Ambiguous → ask first.
See REFERENCE.md for language-specific quality gate commands.