git-issue-startlisted
Install: claude install-skill pivoshenko/pivoshenko.ai
# Start Issue
Issue -> assign -> branch -> checked out. No confirm.
## Flow
1. Resolve the issue:
- Number given -> `gh issue view <n> --json number,title,labels,state,assignees,body`
- Title or topic given ("the oauth issue") -> `gh issue list --search "<terms>" --state open --json number,title --limit 10`, then view the match. Exactly one hit -> take it. Several -> list them, ask which. None -> stop, say so. Why -> guessing an issue number assigns the wrong person to the wrong work and it is invisible until someone reads the tracker
2. `state == CLOSED` -> stop. Surface number, title, and that it is closed. Never reopen here
3. Assigned to someone else -> stop and ask before taking it. Own login from `gh api user -q .login`; already yours -> proceed, assignment step is a no-op. Why -> an assignee is a claim by a person, and silently overwriting it is how two people ship the same fix
4. Dirty tree -> stop. Tell the user to stash or commit first. Same reasoning as `git-branch-create` step 2: `checkout -b` carries staged and unstaged changes into the new branch silently
5. Assign to self: `gh issue edit <n> --add-assignee @me`
6. In-progress label, only if one already exists. Fetch the repo's labels once per run per canon label resolution:
```bash
gh label list --limit 200 --json name -q '.[].name'
```
Chain, first existing name wins: `status: in progress` -> `status: in-progress` -> `in progress` -> `in-progress` -> `wip`. Whole chain missing -> skip the