create-branchlisted
Install: claude install-skill tmj-90/gaffer
# Get onto the working branch
All work happens on a prefixed feature branch — never on a protected branch
(`main`/`master`/`release/*`). The safety hook blocks pushes to protected branches.
**Two paths — know which one you're in:**
- **In the factory (the normal case):** the runner has ALREADY created your
`gaffer/…` branch and checked you out onto its worktree. You do **not** create or
switch branches — you **verify** you're on the right kind of branch and stop if you
aren't. See *Factory path* below.
- **Standalone / non-factory:** no branch was prepared for you, so you create one
yourself with the exact convention. See *Standalone path* below.
## Factory path — VERIFY, do not create
The runner already created and checked you out onto your `gaffer/ticket-<number>-…`
worktree branch. Your job is to confirm the ground is safe, not to branch:
1. **Confirm you're on a non-protected branch.** Check the current branch
(`git branch --show-current` / `git rev-parse --abbrev-ref HEAD`). It must NOT be
`main`/`master`/`release/*`. The `gaffer/` prefix is expected.
2. **Do NOT run `git switch -c` / `git checkout -b`.** A branch already exists; creating
another one diverges from the worktree the runner set up and the factory expects.
3. **Check the working tree is clean.** Run `git status --porcelain`. If it is dirty —
uncommitted or untracked state left over from a prior partial run on this worktree —
do **not** branch over it or start editing on top of it