agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Templates and guidance for implementation plans with dynamic phase generation.
$ npx -y skills add LiorCohen/sdd --skill planning --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/planningContext preview
The summary Claude sees to decide when to auto-load this skill.
Templates and guidance for implementation plans with dynamic phase generation.
name: planning description: Templates and guidance for implementation plans with dynamic phase generation. user-invocable: false
Plans are stored alongside their specs:
`changes/YYYY/MM/DD/<id>-<name>/<NN-change-name>/PLAN.md`
This keeps all change documentation (spec + plan) together in one location.
Plans are created as part of the `/sdd` workflow:
1. User creates or imports a change via `/sdd I want to create a new feature` 2. Spec solicitation creates SPEC.md 3. User reviews and approves spec via `/sdd I want to approve the spec` 4. **This skill creates PLAN.md** immediately after spec approval 5. User reviews and approves plan via `/sdd I want to approve the plan` 6. Implementation can begin via `/sdd I want to start implementing`
**Plan creation requires an approved SPEC.md** as input — it does not run independently.
Schema: [`schemas/input.schema.json`](./schemas/input.schema.json)
Accepts change ID, path to approved SPEC.md, and workflow ID.
Schema: [`schemas/output.schema.json`](./schemas/output.schema.json)
Returns path to created PLAN.md and review status.
| File | Purpose | Contains | Does NOT Contain | |------|---------|----------|------------------| | **SPEC.md** | What to build and how | Requirements, design, API contracts, implementation details, test cases | Execution order, agent assignments | | **PLAN.md** | Execution coordination | Phases, agent assignments, dependencies, expected files, progress tracking | Implementation details, code patterns, specific coding tasks |
> **Key principle:** Because plans focus on execution coordination (not implementation details), the SPEC.md must be comprehensive enough that an implementer can complete each phase by reading only the spec. Plans reference specs; they don't duplicate them.
**Acceptable in plans:**
**Not appropriate in plans:**
SPEC.md is a **complete technical specification**. It must be:
Key sections:
Domain documentation is specified **in SPEC.md during planning**, not discovered during implementation.
The SPEC.md file includes a `## Domain Updates` section that explicitly lists:
The SPEC.md file includes a `## Testing Strategy` section that defines:
This approach ensures: 1. All requirements (domain, tests, verification) are fully understood before implementation 2. Implementation simply executes the specified updates (no discovery) 3. Clear traceability from spec to implementation
Plans are generated dynamically based on the SPEC.md's Components section.
**SPEC.md is the source of truth for required components.**
The planning skill: 1. Reads the `## Components` section from SPEC.md 2. May read `sdd/sdd-settings.yaml` for existing component details (delegate to the `project-settings` skill for the settings schema — it returns typed component objects with `name`, `type`, and type-specific `settings` like `server_type`, `databases`, `provides_contracts`) 3. Does NOT ask about tech stack or which components to use
If SPEC.md says a component is needed but it's not in `sdd-settings.yaml` yet, that's expected - the component will be created during implementation.
**DO NOT ask tech stack questions during planning.** Component discovery already determined what's needed.
1. **Read required components** from SPEC.md `## Components` section 2. **Reference existing components** from `sdd/sdd-settings.yaml` for details 3. **Check for new components:** If SPEC.md `## Components` lists new components not yet in `sdd-settings.yaml`, prepend a "Phase 1: Component Scaffolding" phase and shift subsequent phase numbers. If all components already exist, omit the scaffolding phase. This applies to all change types (feature, refactor). 4. **Order by dependency graph:** Invoke `techpacks.dependencyOrder` for the active tech pack namespace to get the topological order of component types. Use this order for phase sequencing. 5. **Assign
Structure for AI-assisted development AI coding assistants are powerful but chaotic. You prompt, you get code, but then what?
Repo: LiorCohen/sdd
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Standards for authoring SDD plugin commands — frontmatter, user interaction, skill/agent invocation, CLI integration, and output formatting.
Create a commit following repository guidelines with proper versioning and changelog updates.
Two-step self-review at every task lifecycle phase. Step 1 (this skill) runs in-context to gather session signals — files read vs grepped, user pushback, build…
D2 diagramming language reference for architecture diagrams, sequence diagrams, grid layouts, SQL tables, and class diagrams. Produces .d2 files rendered via…
Writes and maintains user-facing documentation for the SDD plugin. Proactively detects when docs are out of sync with plugin capabilities.