How this skill is triggered — by the user, by Claude, or both
Slash command
/workflow-automation:feature-planThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
---
You are creating or completing a plan document that captures the design decisions, scope, and implementation steps for a feature before any code is written.
If the task is too small for a plan, tell the user and offer to implement directly.
Before writing anything, gather context:
plan-*.md, excluding
plan-*-done.md) in the dev docs plans/ subfolder and project root.
If a plan file exists with a filled-in ## Spec section (from
the feature-spec skill), use it as the primary source for design decisions. Do
not re-derive design decisions that the spec already resolved — treat
those as settled. Only ask clarifying questions about implementation
phasing, not about design choices in the spec.For ambiguous or large-scope requests where the design approach is unclear, suggest using the feature-spec skill first to explore the problem space and produce a spec before committing to a plan.
If a plan file already exists (from feature-spec): Open it and add the implementation sections below the existing Spec section.
If no plan file exists: Create a new one.
dev/, docs/dev/, docs/). Place the plan in a plans/
subfolder there, creating it if needed.plan-<kebab-case-name>.md
plan-<kebab-case-name>-done.md — see the ship and
auto-implement skill for when this happens.references/plan-template.mdreferences/plan-example.mdIf creating both Spec and Plan from scratch (no feature-spec): Fill
in the full Spec section (Summary, Requirements, Design Decisions,
Scope, Architecture Overview, Constraints, Open Questions) and mark
Spec as DONE in the status table.
Key sections to get right:
/implement invocation or one
focused Claude Code conversation). A phase is independently shippable
if it can be merged without breaking existing functionality or leaving
dead code paths — no feature flags or temporary scaffolding needed.Review the plan in a loop until no new issues are found:
Review loop:
Spawn a review agent using the Agent tool
(subagent_type="feature-dev:code-architect") with this focus prompt:
"Review this feature plan against the existing codebase. Verify:
(1) feasibility — do the referenced files, APIs, and patterns exist,
(2) gaps — are there missing phases, dependencies, or edge cases,
(3) risks — could any phase break existing functionality,
(4) scope — is each phase independently shippable.
Cross-check any enum values, parameter names, and framework-specific
constants mentioned in the plan against actual codebase definitions —
verify against validators and class constructors.
For each finding, state severity (blocker/warning/suggestion)
and a concrete recommendation. End with: Review complete: X findings
(Y blockers, Z warnings)."
Use the default model — architectural reasoning requires deep context.
Handle feedback:
If any revisions were made in step 2, repeat the review loop: re-run step 1 on the updated plan. Prepend the reviewer prompt with: "This is iteration N. Changes since last review: [list the specific sections revised and what changed]." This helps the reviewer focus on the changes and avoid re-raising already-addressed issues.
Stop when no revisions were made in step 2 — i.e., all blockers have been addressed, all warnings have been either addressed or noted without requiring changes, and only suggestions (or no findings) remain.
Record the iteration count in the plan's "Review Feedback" section (e.g., "Plan reviewed in 2 iterations") so the user can gauge how contested the plan was.
Guard rail: Cap the loop at 3 total review iterations. If the 3rd review still returns blockers that would require more revisions, stop there, present the plan with those unresolved issues clearly flagged, and ask the user for guidance instead of starting a 4th cycle.
Fallback: If the Agent tool is unavailable, note in the plan that it was not independently reviewed and present it directly to the user.
Show the user the completed plan and ask for approval before moving to implementation. Highlight:
Update the status table:
Spec as DONE (if not already from feature-spec)Plan as DONEStatuses: TODO, IN_PROGRESS, DONE, IMPLEMENTED, COMMITTED, MERGED, SKIPPED
Once approved, the user can proceed with:
/auto-implement — implement and ship all phases (recommended)/implement — build a single phase without shippingSee ../../shared-references/todo-convention.md for the full convention
on tracking deferred and out-of-scope items.
npx claudepluginhub matthiaskloft/claude-skills --plugin workflow-automationGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.