From principled-docs
Create a DDD implementation plan from an accepted proposal. Plans implement proposals by decomposing work into bounded contexts, aggregates, and concrete tasks using domain-driven development. ADRs should be created before the plan to record key decisions. Use when an accepted proposal needs a tactical implementation breakdown before work begins.
How this skill is triggered — by the user, by Claude, or both
Slash command
/principled-docs:new-planThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Create a domain-driven implementation plan that implements an accepted proposal, informed by its related ADRs.
Create a domain-driven implementation plan that implements an accepted proposal, informed by its related ADRs.
/new-plan <short-title> --from-proposal NNN [--module <path>] [--root]
| Argument | Required | Description |
|---|---|---|
<short-title> | Yes | Short, hyphenated title for the plan |
--from-proposal NNN | Yes | The number of the originating proposal. The proposal must have status accepted. |
--module <path> | No | Target module path |
--root | No | Create at repo root level |
Parse arguments. Extract title and --from-proposal NNN from $ARGUMENTS. The --from-proposal flag is required — plans always originate from an accepted proposal.
Locate and verify the proposal. Find the proposal matching NNN in the appropriate docs/proposals/ directory. Read its frontmatter and verify:
status is acceptedDiscover related ADRs. Scan the docs/decisions/ directory for ADRs whose originating_proposal field matches NNN. These are the decisions that inform this plan.
Get next sequence number. Run:
bash scripts/next-number.sh --dir <target-plans-dir>
Read DDD guidance. Before creating the plan, read reference/ddd-guide.md to inform the decomposition approach. Use this guidance to help the user structure their bounded contexts, aggregates, and domain events.
Create the plan file. Read the template from templates/plan.md and create <target>/NNN-<short-title>.md.
Populate frontmatter:
| Field | Value |
|---|---|
title | Derived from the short title |
number | The NNN from step 4 |
status | active |
author | Git user name or prompt |
created | Today's date |
updated | Today's date |
originating_proposal | The proposal number from --from-proposal |
related_adrs | Array of ADR numbers discovered in step 3 |
Pre-populate from proposal and ADRs. Read the originating proposal's content and related ADRs to seed:
Confirm creation. Report the created file and guide the user to:
| State | Description |
|---|---|
active | Work is in progress. Plan is mutable. |
complete | All tasks are done. |
abandoned | Plan was abandoned. Originating proposal may still stand. |
reference/ddd-guide.md — Practical guide to DDD decomposition for implementation planstemplates/plan.md — DDD implementation plan template (copy of scaffold/templates/core/plan.md)scripts/next-number.sh — Determines the next NNN sequence numbernpx claudepluginhub alexnodeland/principled --plugin principled-docsGenerates tightly scoped implementation plans (≤5 steps, ≤1250 words) for tasks, framed as staff engineer discussions. Use for sprint-ready breakdowns.
Generates structured implementation plans from feature descriptions or requirements, grounded in repo patterns and research. Deepens existing plans via interactive sub-agent review.