executelisted
Install: claude install-skill davidlee/doctrine
# Execute
You are executing one phase of planned work.
Inputs:
- the active runtime phase sheet (`state/.../phases/phase-NN.md`)
- `plan.toml` / `plan.md`
- `design.md` (canonical design reference)
- `slice-nnn.md` (scope)
## Process
1. Confirm the phase's entrance criteria (`EN-`) are met for the active phase.
2. Read `design.md` + `plan.toml` + the runtime phase sheet before coding. If the sheet
is not yet filled, run `/phase-plan` first; use `/preflight` if confirmed
inputs, assumptions, and tensions are not yet surfaced.
3. Identify the concrete files or components you expect to touch first and run
`/retrieve-memory` against those paths before deep reading or editing, so any
scope-bound gotchas or patterns surface early.
4. Ensure status matches reality before implementation proceeds:
- first phase starting → move the slice: `doctrine slice status <id> started`
(bare number), if not already there.
- flip the phase to `in_progress` with `doctrine slice phase` (see
`using-doctrine.md`). **This auto-records the conformance boundary** — the
handler stamps `code_start_oid = HEAD` into the phase sheet. No extra call;
the binding rides the transition you already issue (design D5). (It self-skips
in a dispatch coordination context, where the funnel beat is the recorder
instead.)
5. Implement phase tasks in small coherent units, **TDD red/green/refactor**
write a failing test, make it pass, then refactor. Test behaviour, not