cc-sdd is a spec-driven development workflow for coding agents: it turns approved software specifications into requirements, designs, task plans, and extended autonomous implementation. Developers use it across several AI coding agents, with independent review and task-level continuation for long-running work. The catalogue entries provide commands, skills, agents, and instructions for using this workflow.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/gotalab/cc-sddWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/commands/gotalab/cc-sdd/kiro-spec-init)<a href="https://agentmods.dev/commands/gotalab/cc-sdd/kiro-spec-init"><img src="https://agentmods.dev/badge/commands/gotalab/cc-sdd/kiro-spec-init.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00682 |
| Opus 5 | $0.00000 | $0.00341 |
| Sonnet 5 | $0.00000 | $0.00136 |
| Haiku 4.5 | $0.00000 | $0.00068 |
Grade A, and why
kiro-spec-init scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
This is a copy
94% identical to spec-init — 11 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.
How it starts
The opening of the file, as written. The whole thing — 68 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Spec Initialization
<background_information>
- Mission: Initialize the first phase of spec-driven development by creating directory structure and metadata for a new specification
- Success Criteria:
- Generate appropriate feature name from project description
- Create unique spec structure without conflicts
- Provide clear path to next phase (requirements generation) </background_information>
Execution Steps
- Check Uniqueness: Verify
{{KIRO_DIR}}/specs/for naming conflicts (append number suffix if needed) - Create Directory:
{{KIRO_DIR}}/specs/[feature-name]/ - Initialize Files Using Templates:
- Read
{{KIRO_DIR}}/settings/templates/specs/init.json - Read
{{KIRO_DIR}}/settings/templates/specs/requirements-init.md - Replace placeholders:
{{FEATURE_NAME}}→ generated feature name{{TIMESTAMP}}→ current ISO 8601 timestamp{{PROJECT_DESCRIPTION}}→ $ARGUMENTS
- Write
spec.jsonandrequirements.mdto spec directory
- Read
Important Constraints
- DO NOT generate requirements/design/tasks at this stage
- Follow stage-by-stage development principles
- Maintain strict phase separation
- Only initialization is performed in this phase
Tool Guidance
- Use Glob to check existing spec directories for name uniqueness
- Use Read to fetch templates:
init.jsonandrequirements-init.md - Use Write to create spec.json and requirements.md after placeholder replacement
- Perform validation before any file write operation
Output Description
Provide output in the language specified in spec.json with the following structure:
- Generated Feature Name:
feature-nameformat with 1-2 sentence rationale - Project Summary: Brief summary (1 sentence)
- Created Files: Bullet list with full paths
- Next Step: Command block showing
/prompts:kiro-spec-requirements <feature-name> - Notes: Explain why only initialization was performed (2-3 sentences on phase separation)
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 68 lines · 0 tokens per session scan A abba6aaf3a81
kiro-spec-init is a command published in the GitHub repository gotalab/cc-sdd (3,653 stars, last pushed 3mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 682 tokens. A static security scan graded it A with 0 findings. It is 94% identical to spec-init, differing in 11 lines, and is treated as a copy.
Other commands, from other repositories
implementation-plan
Define an incremental, reviewable, production-safe implementation plan for the active task and persist it as IMPLEMENTATIONPLAN.md plus a TASKSTATE.md update. Breaks work into the smallest safe slices with objective, exact scope, ordering rationale, key risks, validation approach, exit criteria, and work complexity…
release-plan
Design a pre-deploy release and rollout strategy for a change: pick the rollout pattern (feature flag, canary, blue-green, or full progressive delivery) by risk and infra, then specify the exposure ramp, the promotion metric and threshold that advances each step, and the rollback trigger and mechanism. Produces…
repo-consistency-sweep
Proactive defect-class detection that handles the lower-value half of code review (per Bacchelli and Bird 2013) so human reviewers stay focused on design, intent, and knowledge transfer. Catches convention drift, ordering bugs, type-safety gaps, security and multi-tenant invariants (CWE-grounded), and operability…
slice-closure
Decide whether the current slice is ready to close, distinguishing slice completion from full task completion, then persist the result in slice notes and TASKSTATE.md as explicit reviewable closure notes. For single-slice tasks may route directly to delivery. Returns no-op when slice memory would not materially…
task-close
Perform the terminal task lifecycle transition for a finished task: verify the spec done-conditions, set TASKSTATE.md to its final closed state, and move the task folder from active/ to archive/. The symmetric counterpart to task-init and the only official way to close a whole task. Use when every slice is closed, the…
task-init
Initialize the official task folder and base task memory inside projects/ /active/YYYY-MM-DD /. Creates README.md, TASKSTATE.md, SOURCEOFTRUTH.md, DECISIONS.md, IMPLEMENTATIONPLAN.md; seeds from PROJECTCHARTER.md when present; emits a multi-repo.