/develop — Master Pipeline
PHASE 0: Triage
- •Read
.claude/memory/project-state.md- •Has pending
[ ]tasks withskill: /develop? → RESUME from first pending task (skip to Phase 2) - •Clean state or
phase: IDLE? → Continue to Phase 1
- •Has pending
- •Use planner agent to analyze request
- •Needs architecture changes? → Include Phase 1
- •No arch changes? → Skip to Phase 2
- •Arch-only request? → Phase 1 only, then finalize
PHASE 1: Architecture + Planning
- •Read
.claude/memory/decisions/DEC-*.mdto avoid re-litigating past decisions - •If architecture changes needed:
- •Use planner agent (design mode) → update architecture.md
- •Record new decisions as
DEC-####.mdinmemory/decisions/
- •MANDATORY — Write plan to project-state.md using this exact format:
markdown
# Project State updated: [YYYY-MM-DD] skill: /develop phase: execution ## Active Tasks ### Wave 1: [Wave Name] - [ ] Task description - [ ] Task description ### Wave 2: [Wave Name] - [ ] Task description - [ ] Task description ## Current Focus task: (starting) file: (none) test: (none) ## Blockers (none) ## Recent Decisions (last 5) (none)
- •Output the plan summary. Wait for user approval before proceeding to Phase 2.
PHASE 2: Execution Loop
BEFORE each task:
- •Update
Current Focusin project-state.md with the task being worked on
For each pending task [ ] in project-state.md:
- •Use builder agent: implement + test
- •PASS → IMMEDIATELY edit project-state.md:
- •Change
- [ ] Taskto- [x] Task - •Update
Current Focusto next task - •Print:
✅ [N/total] Task description
- •Change
- •FAIL → builder retries (max 2). 3rd fail → STOP, ask user.
After each completed wave:
- •Update
phasefield if moving to next wave
Every 3 completed tasks:
- •Use /summarize-context to compress state
- •Print:
Context compressed. Continuing task N.
PHASE 3: Finalization
- •Verify ALL tasks
[x]in project-state.md - •Run final validation:
{stack.runtime.exec_prefix} {stack.commands.validate}- •If
validateis defined in stack.yml, run it (typically: tests + build) - •If not defined, run
{stack.commands.test}then{stack.commands.build} - •Build step catches SSR/runtime errors (missing providers, import errors, type mismatches)
- •FAIL → create fix tasks, return to Phase 2
- •If
- •Update project-state.md: set
phase: completed - •Use git agent: commit + push
- •Use /archive-state: move state to archive/
Critical Rules
- •NEVER skip writing to project-state.md. Every task state change MUST be persisted.
- •project-state.md is the source of truth. If the session crashes, the next
/developreads it and resumes. - •Mark tasks [x] one at a time, not in batch. Each mark = one Edit to the file.
- •80-line cap: If project-state.md exceeds 80 lines, archive completed waves immediately.
- •NEVER create documentation files (docs/*.md, README, CHANGELOG) unless explicitly requested by the user. Only write to
.claude/memory/files. - •Do ONLY what the task says. No extra features, no refactors, no "while I'm here" improvements.