feature-startlisted
Install: claude install-skill enocgit/sdlc-kit
# feature-start
Prepare a clean starting point with the context needed to implement one task, then stop for a plan
approval gate.
## Steps
1. **Pick the task.** Confirm the task's **identifier and slug** with the user. The identifier is
the GitHub issue number by default; on another tracker its key (`ENG-123`); in **local-only**
mode the `#` column of the task table in `docs/progress.md`. Never invent one. One task per run.
The human must confirm the identifier and slug before any Git mutation; stop here until they do.
2. **Isolate the workspace — default to a feature branch.** Create `feat/{id}-{slug}` directly.
Use a git worktree only as an explicit manual escape hatch for opt-in parallel or disposable
work, or when the user asks. Before changing anything, run `git worktree list --porcelain` and
identify the primary checkout. Never switch or modify another checkout.
Run these guards first:
- **Clean tree:** Direct mode requires the idle primary checkout to have no uncommitted changes.
Inspect ignored paths too (`git status --short --ignored`) before switching or synchronizing;
if any uncommitted, ignored, or ambiguous path could be overwritten, stop and ask the human.
A local-only `docs/progress.md` change may be committed only with explicit approval, and only
from the primary checkout already on the default branch. A linked or topic checkout, and every
temporary-worktree run, must stop until that tracker change is lande