Full Phoenix Feature Development
Run the portable lifecycle: discover → plan → work → verify → read-only review →
compound. The filesystem is the state machine; no task API or named orchestrator
is required.
Usage
/skill:phx-full Add user authentication with magic links
/skill:phx-full Background email jobs --max-cycles 5 --max-retries 2
If input is an existing .claude/plans/*/plan.md, do not re-plan. Ask for the
native phx-work workflow or execute its portable behavior in this session.
Defaults are --max-cycles 10, --max-retries 3, and --max-blockers 5.
Lifecycle
- DISCOVERING — inspect relevant code, tests, prior solutions, and optional
Tidewave evidence. Tidewave is optional; local files, logs, and
mix commands
are the complete fallback. Record complexity and proposed depth, then wait for
the user's plan/implementation gate. Never auto-select a path that bypasses it.
- PLANNING — invoke the runtime's native
phx-plan skill when available, or
execute its portable research checklist and artifact format in this session.
Require .claude/plans/{slug}/plan.md. Present it and wait for approval before
implementation unless the user already explicitly authorized the full run.
- WORKING — execute the plan sequentially. Task selection occurs only here.
The full-run limits override any baseline workflow retry defaults. Before every
attempt persist cycle, task retry, and blocker counters; if the next attempt
exceeds a limit, do not run it.
--max-retries N means at most N retries after
the initial attempt (N+1 total attempts for that task). Mark [BLOCKED] and
stop at --max-blockers.
- VERIFYING — run
mix format --check-formatted, compile with warnings as
errors, focused tests during work, and the full relevant suite at this gate.
A failed gate appends FAIL and returns to WORKING only within the cycle limit.
- REVIEWING — invoke portable
phx-review, or perform the same read-only,
changed-file review sequentially. Generic workers are optional. Review never
edits. Findings or failures become plan tasks and return to WORKING.
- COMPOUNDING — only after verification and a clean/accepted review. Do not
invoke
phx-compound. Inline contract: write a solution artifact under
.claude/solutions/ only when the run produced a non-obvious, reusable learning,
including problem, root cause, solution, and verification. Otherwise append
COMPOUNDING SKIPPED: no reusable learning to progress. Never edit CLAUDE.md.
Track INITIALIZING → DISCOVERING → PLANNING → WORKING → VERIFYING → REVIEWING → COMPOUNDING → COMPLETED, with BLOCKED reachable from every phase. A cycle is
one WORKING → VERIFYING → REVIEWING pass; increment and persist it before
entering VERIFYING. At --max-cycles, do not begin another pass: stop INCOMPLETE with remaining tasks,
failed evidence, and a concrete resume command for this runtime.
Iron Laws
- Honor user gates — discovery and plan approval are not automatic transitions.
- Never skip verification or the read-only review phase.
- Only WORKING edits code; review findings become explicit plan tasks.
- Respect every cycle, retry, and blocker limit; stop when exhausted.
- Persist state before stopping so plan checkboxes and progress evidence resume.
- Do not require hooks, MCP, named agents, background tasks, or a task UI.
Resume Ledger
progress.md is the sole state authority. It is append-only: never overwrite or
maintain a competing authoritative current-state record. Every event has monotonic
seq, phase_visit, phase, cycle, task, task_attempt, cumulative
blockers, outcome, and an evidence or artifact path. On resume, validate the
last valid event against evidence, plan checkboxes, artifacts, and git state, then
enter only its legal successor. Any WORKING edit after a VERIFYING or REVIEWING
pass invalidates both passes; the next legal phase is VERIFYING.
Completion requires all required plan tasks checked, no unresolved [BLOCKED],
the latest VERIFYING PASS after the last edit, the latest accepted REVIEWING after
that verify, and COMPOUNDING passed or explicitly skipped.
References
references/execution-steps.md — portable phase gates and outputs
references/example-run.md — example lifecycle
references/safety-recovery.md — resume and blocker recovery
references/cycle-patterns.md — bounded cycle patterns
1---2name: phx-full3description: Run a portable sequential plan-work-verify-review-compound lifecycle. Use optional generic workers only when the runtime supports them.4---5# Full Phoenix Feature Development67Run the portable lifecycle: discover → plan → work → verify → read-only review →8compound. The filesystem is the state machine; no task API or named orchestrator9is required.1011## Usage1213```text14/skill:phx-full Add user authentication with magic links15/skill:phx-full Background email jobs --max-cycles 5 --max-retries 216```1718If input is an existing `.claude/plans/*/plan.md`, do not re-plan. Ask for the19native `phx-work` workflow or execute its portable behavior in this session.20Defaults are `--max-cycles 10`, `--max-retries 3`, and `--max-blockers 5`.2122## Lifecycle23241. **DISCOVERING** — inspect relevant code, tests, prior solutions, and optional25 Tidewave evidence. Tidewave is optional; local files, logs, and `mix` commands26 are the complete fallback. Record complexity and proposed depth, then wait for27 the user's plan/implementation gate. Never auto-select a path that bypasses it.282. **PLANNING** — invoke the runtime's native `phx-plan` skill when available, or29 execute its portable research checklist and artifact format in this session.30 Require `.claude/plans/{slug}/plan.md`. Present it and wait for approval before31 implementation unless the user already explicitly authorized the full run.323. **WORKING** — execute the plan sequentially. Task selection occurs only here.33 The full-run limits override any baseline workflow retry defaults. Before every34 attempt persist cycle, task retry, and blocker counters; if the next attempt35 exceeds a limit, do not run it. `--max-retries N` means at most N retries after36 the initial attempt (N+1 total attempts for that task). Mark `[BLOCKED]` and37 stop at `--max-blockers`.384. **VERIFYING** — run `mix format --check-formatted`, compile with warnings as39 errors, focused tests during work, and the full relevant suite at this gate.40 A failed gate appends FAIL and returns to WORKING only within the cycle limit.415. **REVIEWING** — invoke portable `phx-review`, or perform the same read-only,42 changed-file review sequentially. Generic workers are optional. Review never43 edits. Findings or failures become plan tasks and return to WORKING.446. **COMPOUNDING** — only after verification and a clean/accepted review. Do not45 invoke `phx-compound`. Inline contract: write a solution artifact under46 `.claude/solutions/` only when the run produced a non-obvious, reusable learning,47 including problem, root cause, solution, and verification. Otherwise append48 `COMPOUNDING SKIPPED: no reusable learning` to progress. Never edit CLAUDE.md.4950Track `INITIALIZING → DISCOVERING → PLANNING → WORKING → VERIFYING → REVIEWING →51COMPOUNDING → COMPLETED`, with `BLOCKED` reachable from every phase. A cycle is52one `WORKING → VERIFYING → REVIEWING` pass; increment and persist it before53entering VERIFYING. At `--max-cycles`, do not begin another pass: stop INCOMPLETE with remaining tasks,54failed evidence, and a concrete resume command for this runtime.5556## Iron Laws57581. **Honor user gates** — discovery and plan approval are not automatic transitions.592. **Never skip verification or the read-only review phase.**603. **Only WORKING edits code**; review findings become explicit plan tasks.614. **Respect every cycle, retry, and blocker limit; stop when exhausted.**625. **Persist state before stopping** so plan checkboxes and progress evidence resume.636. **Do not require hooks, MCP, named agents, background tasks, or a task UI.**6465## Resume Ledger6667`progress.md` is the sole state authority. It is append-only: never overwrite or68maintain a competing authoritative current-state record. Every event has monotonic69`seq`, `phase_visit`, `phase`, `cycle`, `task`, `task_attempt`, cumulative70`blockers`, `outcome`, and an `evidence` or `artifact` path. On resume, validate the71last valid event against evidence, plan checkboxes, artifacts, and git state, then72enter only its legal successor. Any WORKING edit after a VERIFYING or REVIEWING73pass invalidates both passes; the next legal phase is VERIFYING.7475Completion requires all required plan tasks checked, no unresolved `[BLOCKED]`,76the latest VERIFYING PASS after the last edit, the latest accepted REVIEWING after77that verify, and COMPOUNDING passed or explicitly skipped.7879## References8081- `references/execution-steps.md` — portable phase gates and outputs82- `references/example-run.md` — example lifecycle83- `references/safety-recovery.md` — resume and blocker recovery84- `references/cycle-patterns.md` — bounded cycle patterns