From mm
Use when creating new applications or features, adding functionality that needs planning, or doing any structured software development work including: writing product requirements, feature specs, or application specs; creating architectural decision records (ADRs); writing design specs for UI/UX; writing technical specifications; decomposing specs into implementation tasks. Also use when the user mentions "plan", "spec", "requirements", "ADR", or "break down work".
How this skill is triggered — by the user, by Claude, or both
Slash command
/mm:planningThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A structured, collaborative process for planning software development work — from requirements through task decomposition.
references/collaboration-protocol.mdreferences/examples/adr-desktop-framework.mdreferences/examples/adr-domain-model.mdreferences/examples/adr-state-management.mdreferences/examples/app.mdreferences/examples/enhancement.mdreferences/examples/feature.mdreferences/roles.mdreferences/scaling-guide.mdreferences/stages/adrs.mdreferences/stages/bug-triage.mdreferences/stages/design-specs.mdreferences/stages/enhancements.mdreferences/stages/implementation-handoff.mdreferences/stages/product-requirements.mdreferences/stages/task-decomposition.mdreferences/stages/tech-specs.mdreferences/templates/adr.mdreferences/templates/api-contract.yamlreferences/templates/app.mdA structured, collaborative process for planning software development work — from requirements through task decomposition.
references/stages/bug-triage.md instead, which produces a GitHub issue with root cause analysis and a task list.After completing the workflow, return to step 1 for the next feature.
These apply across ALL stages. Stage documents reference back here.
Before starting design specs, tech specs, or any stage that builds on prior work:
.eng-docs/adrs/.eng-docs/wiki/.eng-docs/specs/If CRITICAL gaps exist (missing ADRs, no domain model, no database decisions):
If minor gaps exist: note them, ask whether to fill them first or document assumptions.
If no gaps exist: proceed normally, referencing existing artifacts.
Every stage follows this pattern:
Before presenting the first section of any artifact:
references/templates/After each section is approved, write it to the file immediately — do not wait for the session to end. The on-disk file is the canonical artifact. Chat output is a preview for discussion.
If the session ends unexpectedly mid-way through, the file should reflect all approved sections to that point.
Wiki documents in .eng-docs/wiki/ are the source of truth. When any stage produces new:
domain-model.mddatabase-schema.mdapi-contracts.mddesign-system.mdWhen first adding substantive content to a wiki document that has status: stub, update its frontmatter: set status: active and last_updated to today's date.
Key principles (see references/collaboration-protocol.md for full details):
When you identify which stage the user needs, read the corresponding stage document and follow it as your process for that stage:
| Stage | Read and follow | When |
|---|---|---|
| Create an app or feature requirements | references/stages/product-requirements.md | User wants to create an app, add a feature, write requirements |
| Write enhancement requirements | references/stages/enhancements.md | User wants to add to or improve an existing feature |
| Create ADRs | references/stages/adrs.md | Foundational decisions need documenting (technology, domain, schema) |
| Create design spec | references/stages/design-specs.md | Feature has UI elements that need design work |
| Write tech spec | references/stages/tech-specs.md | Translating requirements into technical architecture |
| Decompose tasks | references/stages/task-decomposition.md | Tech spec complete, need to break work into tasks |
| Implementation handoff | references/stages/implementation-handoff.md | Task list approved, ready to hand off to implementation system |
| Triage a bug and create a tracking issue | references/stages/bug-triage.md | A bug has been reported or discovered in feedback |
Feature vs. enhancement: If the work adds to or improves something that already exists (changing behavior, adding a capability to a known feature), use the enhancement stage. If it's new standalone functionality, use feature requirements.
These stage documents contain imperative process instructions. Read and follow them step-by-step — they are not optional reference material.
Default to creating design specs for any feature with UI elements. Only skip for truly backend-only work.
All artifacts are stored in .eng-docs/:
.eng-docs/
adrs/ # Architecture Decision Records
adr-001-*.md # Individual ADR files (numbered sequentially)
specs/ # Planning artifacts
app.md # Application-level artifact (one per project)
feature-*.md # Feature-level artifacts (one per feature)
enhancement-*.md # Enhancement-level artifacts (one per enhancement)
backlog/ # Unimplemented specs; moved to specs/ at implementation handoff
feature-*.md
enhancement-*.md
wiki/ # Technical documentation (source of truth)
domain-model.md # Core domain entities and relationships
database-schema.md # Database tables, columns, relationships
api-contracts.md # API endpoint definitions and contracts
design-system.md # UI components, design tokens, patterns
Frontmatter: All artifact files begin with a YAML frontmatter block. The status field reflects the artifact's lifecycle state. Skills populate and update frontmatter fields at each lifecycle event (creation, approval, implementation handoff, PR creation). See the technical changes in enhancement-spec-lifecycle-state.md for the full schema per file type.
Initial setup: When starting a new project, create stub files for wiki documents. These are populated as decisions are made and features are designed.
.eng-docs/.superpowers-plans/ is created by the implementation handoff stage and must be gitignored. It contains ephemeral implementation plans generated by superpowers and is not committed to the repository.
.eng-docs/.friction-logs/ is created by the mm:friction-log skill and must be gitignored. It contains friction log sessions and is not committed to the repository.
You play different roles during the process. Each role has specific goals and tone. See references/roles.md for complete definitions.
Common patterns by stage:
Adapt the process based on task size. See references/scaling-guide.md for the complete scaling table and decision tree.
Quick guide:
Task decomposition format is always required. Smaller work produces fewer tasks — not a flat checklist. Every task decomposition, regardless of feature size, must use the full hierarchical format: stories grouping leaf tasks, each with a description, acceptance criteria, and dependencies. A flat checklist without these fields is never an acceptable substitute.
When drafting content for any planning artifact, follow the mm:writing-guidelines skill for style guidance including anti-jargon principles, tone by artifact type, and common mistakes.
npx claudepluginhub markdstafford/micromanager --plugin mmOrchestrates spec-driven development workflow (Requirements → Design → Tasks → Implementation) with approval gates. Activates for structured feature planning or 'use spec-driven'.
Creates detailed implementation plans through interactive, iterative collaboration. Use when planning features, refactoring, or tasks with research and multi-agent analysis.
Guides feature development from idea to implementation: creates EARS requirements, design documents, and task lists in .kiro/specs/.