sdlc-planlisted
Install: claude install-skill asaf-shitrit/ai-native-sdlc-skills
# Plan first
Third file in the chain (`ai-native-sdlc`). Left implicit, the approach lives in one person's head and the first reviewable thing is a finished diff — by which point changing direction means throwing work away. A plan moves that decision to when it's still a document edit.
## The bar
**Someone who never saw the conversation could implement the change from the plan alone.** Iterate until that's true. Most plans fail it on the first pass, usually by naming *what* without naming *where*.
Plan mode is what makes this real rather than aspirational: the codebase can be read but not edited, so the constraint is enforced by the tool and not by discipline.
## What a plan names
```markdown
# Plan: drafts survive a refresh
## Changing
web/src/editor/useDraftPersistence.ts new
web/src/editor/Editor.tsx mount the hook, restore on load
web/src/editor/__tests__/persistence.test.ts new
## Order
1. Hook: write to IndexedDB on a debounce, read on mount.
2. Restore path in Editor, behind a prompt.
3. Clear persisted copy on successful publish.
## Risk
Debounce interacts with the existing autosave-to-server timer;
two writers to the same draft state. Step 1 has to make the
precedence explicit or drafts will flap between versions.
## Proof
persistence.test.ts covers restore-after-reload, publish-then-reload
(nothing restored), and the two-writer race. Manual: type, kill the
tab, reopen.
```
Four headings, and **Proof is not optional**. A plan without a ch