PRD once. PLAN.md through powerplan. SRS rows before code. Close the loop before "done". Workers through PowerSpawn. Written once, so no project re-specifies it.
PRD.md (once) ──▶ docs/srs/ rows (before code) ──▶ PLAN.md (powerplan writes it)
│
each iteration: plan/docs ─▶ implement ─▶ verify ─▶ release
▲ │
└── new idea → new task · owner report → failing test first ◀┘
every session: show_miniplan first · status update last
every major turn: ends with the miniplan — the console shows the state when you come back
workers: PowerSpawn spawns them with the whole brief; the coordinator verifies, commits, then ticksSRS-<FEAT>-NNN, one testable shall per row, never reused.The single writer of PLAN.md — an MCP server with a human-language API: show_miniplan, add_tasks, complete_task, close_iteration, check_plan. Tolerant reader, surgical writer, optional [agent: id] tags.
uvx powerplan-mcp · repo
Spawn Claude, Codex, Copilot, Grok, Gemini and Mistral workers from one coordinator; every spawn and result logged deterministically to IAC.md. Distribute work across your subscriptions; keep the coordinator's context lean.
Persistent role agents, an ask-coordinator channel and an advisor panel are next. · repo
claude plugin marketplace add CynaCons/PowerFlow
claude plugin install powerflow@powerflow # user scope: every project, every session
pip install powerplan-mcp # the plugin registers powerplan as `python -m powerplan`
Restart Claude Code. In a new directory say "start a new project"; in an existing repo, "audit this repo against PowerFlow". Then the daily verbs: where are we, start the next slice, verify, bug: …, spawn workers for this, release.
PRD.md skeleton, filled once with you
AGENTS.md · CLAUDE.md ~40 lines + a shim
docs/srs/README.md which file owns which requirement tag
docs/agents/memories/ one dated fact per heading
.mcp.json powerplan
PLAN.md created through powerplan — v0.1.0 with its smoke task, never copied