Convert an approved PRD into a repository-grounded DevFlow PLAN, phase WORK manifests, decisions, and STATE. Use when starting a new domain/feature or re-planning after an approved scope change. Always inspect the live repository and git baseline before writing implementation details.
Resources
2Install
npx skillscat add pottq577/devflow/plan Install via the SkillsCat registry.
DevFlow Plan
Operate as the Architect.
Treat the PRD as the product/domain contract and derive implementation details only after inspecting the live repository.
Runtime
Every devflow command below runs from the repository root:
python3 "${CLAUDE_PLUGIN_ROOT}/scripts/devflow.py" <args>If that variable is unset, use this skill's wrapper instead.
It resolves the plugin root from its own location, so the working directory does not matter:
python3 <this-skill-directory>/scripts/invoke.py <args>Workflow
- Determine the domain name and PRD path. If the domain is not initialized, run
devflow init <domain> --prd <path> --risk <level> [--extension <name>].- For an existing domain, run
devflow delivery enable <domain>before continuing. - It preserves completed WORK and adds requirements to future completion.
- Read
docs/PR/templates.md; a missing template becomes an explicit prerequisite to resolve before implementation completion.
- For an existing domain, run
- Confirm
devflow status <domain>reportsplan, then rundevflow render plan <domain>.- Render rejects any other lifecycle position.
- The packet inlines the authority rules, lifecycle, WORK item contract, decision policy, and the domain's
PITFALLS.md. - Follow it; there is no separate reference file to open.
- Inspect repository rules (
AGENTS.md,CLAUDE.md, CI/lint/test configuration), current git status, git history when relevant, and the actual implementation surfaces. - Write
docs/domains/<domain>/PLAN.mdusing the plan template.- Record the immutable baseline SHA.
- Include the branch/base mapping, code comment intent, affected HTTP contracts and per-branch PR/Postman delivery strategy from
core/protocol/delivery-artifacts.md. - Put those concrete obligations in each WORK's requirements and acceptance/verification mapping.
- Use the narrow output allowance for derived files; keep implementation scope intact.
- Create one version 2
work/phase-XX.yamlper implementation phase.- Keep all tasks in the standard WORK schema; do not create per-task Markdown files.
- Give each acceptance criterion and verification command a unique, nonblank item-local ID.
- Each command declares nonempty
covers, and every acceptance ID must be covered.
- Carry your findings into each WORK item.
contextfor repository facts you verified,premise_checksfor what the Executor must re-confirm at HEAD,pitfallsfor the mistakes it is likely to make.premise_checksis mandatory forhighandcriticalrisk andvalidaterejects the item without it.- An item that is only a title pushes the whole planning cost into execution, where there is less context to spend.
- Populate STATE phase entries with zero-padded keys (
"01", not"1") and explicit dependencies.- Register a transferred requirement in the receiving phase and link it with
transfer.to.
- Register a transferred requirement in the receiving phase and link it with
- For audit-derived WORK, preserve each finding's expected event and outcome in objective and acceptance.
- Link audit disposition and
origin.findingsin both directions. - Default to one finding per WORK; explain a shared root cause, change and rollback boundary, and verification set in
origin.aggregation_reasonwhen aggregation is necessary. - Use version 2 and map each acceptance criterion to a command that observes the required outcome.
- Static source search alone does not verify API or end-to-end behavior.
- Link audit disposition and
- Once a phase's branch exists, pin its range:
devflow phase ref <domain> <phase> --base <ref> --head <ref>.- It verifies ancestry and refuses rather than producing a stale 3-dot range.
- Put product/policy questions in
DECISIONS.mdand add their IDs toSTATE.yaml.unresolved_decisions.- Do not create ready code-changing WORK before resolution.
- Record durable domain traps you discovered in
PITFALLS.md. - For high/critical risk, keep
plan_review.required: trueandplan_review.status: pending; otherwise mark itskipped.- A high-risk plan initial audit verifies this gate before WORK begins.
- Run
devflow validate <domain>. Fix structural errors before reporting completion.
Boundaries
- Do not implement product code in this skill.
- Do not invent repository details from the PRD.
- Do not create handoff prompts, task documents, remediation plans, or integration-test plan documents.
- When authoritative sources conflict, record
SPEC_DRIFTor a decision instead of choosing silently.
Peer skill composition
Follow core/protocol/skill-composition.md.
DevFlow owns PLAN and WORK decomposition.
When Ponytail guidance is available, use it as a planning lens:
- inspect existing implementation before proposing new components;
- reuse repository patterns and installed capabilities where suitable;
- keep each WORK item to the smallest independently verifiable change;
- avoid speculative abstractions and future-proofing the PRD or repository constraints do not require.
Ponytail does not override explicit PRD requirements, security, compatibility, or required verification, and its mode is never changed automatically.
Do not start a separate Superpowers writing-plans, executing-plans, subagent-driven-development, or worktree lifecycle from inside DevFlow planning.
Finish with the domain, baseline SHA, phase count, work-item count, unresolved decisions, validation result, and the next DevFlow action.
Whole-work final delivery
Include the protocol 1.8 ELI5/Newman stage in final acceptance and task handoff, including the owned server lifecycle and readiness evidence.
Inspect actual installed ELI5 discovery, Newman availability, documented test startup, authentication, fixture cleanup and side-effect isolation.
Plan branch/build coverage and tracked collection regression fixtures where generated docs are ignored.
Use existing WORK for bounded code/test fixes; retain one whole-domain explanation and actual per-branch test evidence under finalization.md.