agents-standards
Standards for authoring SDD plugin agents — frontmatter, self-containment, skill references, and no-user-interaction rules.
Create change specification and implementation plan with dynamic phase generation. Supports feature, bugfix, refactor, and epic types.
$ npx -y skills add LiorCohen/sdd --skill change-creation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/change-creationContext preview
The summary Claude sees to decide when to auto-load this skill.
Create change specification and implementation plan with dynamic phase generation. Supports feature, bugfix, refactor, and epic types.
name: change-creation description: Create change specification and implementation plan with dynamic phase generation. Supports feature, bugfix, refactor, and epic types. user-invocable: false
Create a complete change specification package consisting of:
| Context | Responsibility | |---------|----------------| | **Skills** (main context) | All planning, spec creation, domain docs - interactive, needs user input | | **Agents** (subagent) | Execution only - non-interactive, implements approved plans |
This skill handles all spec and plan creation. Implementation agents only execute the approved plan.
Domain documentation is specified **in SPEC.md during planning**, not discovered during implementation:
Implementation simply executes these specifications.
Plans are generated dynamically based on: 1. Project components from `sdd/sdd-settings.yaml` (delegate to the `project-settings` skill for the settings schema — it returns the component list with `name`, `type`, and type-specific settings) 2. Which components are affected by the change 3. Dependency order between components 4. Contextual agent assignment
Schema: [`schemas/input.schema.json`](./schemas/input.schema.json)
Accepts change metadata (name, type, title, domain), optional workflow context, and content from spec solicitation or external integration.
Schema: [`schemas/output.schema.json`](./schemas/output.schema.json)
Returns paths to created SPEC.md and PLAN.md files, and whether the index was updated.
1. Validate `name` is a valid directory name:
2. Validate `type` is one of: `feature`, `bugfix`, `refactor`, `epic`
3. Ensure required parameters are provided:
1. Get current date 2. Format as `YYYY/MM/DD` 3. Full path: `changes/YYYY/MM/DD/<name>/`
1. Read SDD plugin version from `.claude-plugin/plugin.json` 2. Read project components from `sdd/sdd-settings.yaml` 3. Identify affected components (from input or infer from description)
mkdir -p changes/YYYY/MM/DD/<name>/
Create `changes/YYYY/MM/DD/<name>/SPEC.md` using type-specific template.
--- title: <title> type: <type> status: active domain: <domain> issue: <issue or "TBD"> created: YYYY-MM-DD updated: YYYY-MM-DD sdd_version: <plugin_version> affected_components: - <component-1> - <component-2> decomposition_id: <uuid> # Only if provided ---
Use the template for the change type. Each template is a complete markdown document to use as the SPEC.md body (after the frontmatter above).
| Type | Template | Notes | |------|----------|-------| | `feature` | [`templates/spec-feature.md`](./templates/spec-feature.md) | Thorough, self-sufficient technical spec | | `bugfix` | [`templates/spec-bugfix.md`](./templates/spec-bugfix.md) | Focused on symptoms, root cause, and fix | | `refactor` | [`templates/spec-refactor.md`](./templates/spec-refactor.md) | Current state, proposed design, behavior preservation | | `epic` | [`templates/spec-epic.md`](./templates/spec-epic.md) | Parent spec with child change breakdown |
**Epic Directory Structure:**
After creating the epic's own SPEC.md and PLAN.md, create child change directories:
changes/YYYY/MM/DD/<epic-name>/
├── SPEC.md
├── PLAN.md
└── changes/
├── <child-change-1>/
│ ├── SPEC.md
│ └── PLAN.md
└── <child-change-2>/
├── SPEC.md
└── PLAN.mdEach child change uses the standard feature spec template with `parent_epic: ../SPEC.md` in frontmatter.
Create `changes/YYYY/MM/DD/<name>/PLAN.md` using dynamic phase generation.
1. **Read project components** from `sdd/sdd-settings.yaml` 2. **Filter to affected components** (from SPEC.md `affected_components`) 3. **Order by dependency graph:** Invoke `techpacks.dependencyOrder` for the active tech pack to get the topological order of component types. Filter to only affected components while preserving dependency order. 4. **Assign agents:** Invoke `techpacks.readManifest` and read `components.<type>.agent` for each affected component type. For standards, invoke `techpacks.routeSkills(phase: plan-generation, component_type: <type>)`. 5. **Add final phases:** Read `lifecycle.testing.agent` and `lifecycle.verification.agent` from the manifest.
--- title: <title> - Implementation Plan change: <name> type: <type> spec: ./SPEC.md status: draft created: YYYY-MM-DD sdd_version: <plugin_version> ---
Use the template for the change type. Each template is a complete markdown document to use as the PLAN.md body (after the frontmatter above).
| Type | Template | Notes | |------|----------|-------| | `feature` | [`templates/plan-feature.md`](./templates/plan-feature.md) | Dynamic phases based on affected components | | `bugfix` | [`templates/plan-bugfix.md`](./templates/plan-bugfix.md) | 4 phases: investigation, fix, test, review | | `refactor` | [`templates/plan-refactor.md`](./templates/plan-refactor.md) | 4 phases: preparation, refactor,
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.