issue-createlisted
Install: claude install-skill alunduil/alunduil-chezmoi
# Issue create
Don't `gh issue create` first. Search and inspect before composing.
## Dedup pre-flight
Open *and* closed:
```bash
gh search issues "<keywords>" --repo <owner>/<repo> --state all --limit 20
```
Read near-matches with `gh api repos/:owner/:repo/issues/<N>`. Decide:
- **Same outcome already open** — update the existing one
(`gh issue edit <N>` for body, `gh issue comment <N>` for new
context). Don't file a new one.
- **Same outcome closed for stale reasons** — `gh issue reopen <N>`
with a comment citing what changed. Don't file a new one.
- **Adjacent** (same area, different angle) — file new, cite the
existing in *Additional context*; consider an `issue-links` edge.
- **Partially covers** — narrow the new issue to the uncovered
slice; cross-reference both ways.
- **Nothing close** — file new.
If torn, surface the call rather than silently pick.
## Detect repo conventions
```bash
ls .github/ISSUE_TEMPLATE/ 2>/dev/null
gh label list --limit 100
gh api repos/:owner/:repo/milestones --jq '.[] | "\(.title)\t\(.state)"'
gh api 'repos/:owner/:repo/issues?per_page=5&state=all' \
--jq '.[].title' # skim recent house style
```
Template present → `gh issue create --template <name>`. Templates
encode the project's required fields; don't bypass with a freeform
body.
## Standard structure (no template)
- **Title** — statement true when done. Active voice, outcome.
*"Profile writes persist across API restarts in Firestore"*,
not *"Fix prof