sdd-init
Skill1 starsChanged 8 months agoMITView on GitHub
Initialize Spec-Driven Development context in any project. Detects stack, conventions, and bootstraps the active persistence backend. Trigger: When user wants to initialize SDD in a project, or says "sdd init", "iniciar sdd", "openspec init".
6 other projects use a version of this, 1 of them edited.
Adopted by
Most recently taken up by
- mariano-aguero/spec-driven-development-skilltheir own version, first seen Nov 8, 2026
- svg153/skillstheir own version, first seen Nov 1, 2026
- ad1code/sdd-harnesstheir own version, first seen Nov 1, 2026
- felipefontoura/pi-sdd-kittheir own version, first seen Oct 13, 2026
- khangpqvn/SDDADDtheir own version, first seen Sep 29, 2026
- callingcard1973/claude-skillsedited, first seen Apr 17, 2026
Used with
Projects with it also use sdd-plan.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
felipefontouraSkillsdd-plan
Cognitive SDD skill for creating or updating optional PLAN.md from captured ideas or project goals. Use when the conversation calls for roadmap, personas, feature mapping, phases, dependencies, and open decisions before requirements, even without an explicit command. Do not use for feature-level requirements or coding.
Also in 4 projects that use this
Other versions6 projects use a version of this.
Word for word · 0
None found.
Edited · 1
- callingcard1973/claude-skills★ 099% same
Wrote their own version · 5
- felipefontoura/pi-sdd-kit★ 36same name
- khangpqvn/SDDADD★ 12same name
- mariano-aguero/spec-driven-development-skill★ 11same name
- ad1code/sdd-harness★ 4same name
- svg153/skills★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository10 other files it gives its agents.
- agent-team-orchestratorSkill
- sdd-applySkill
- sdd-archiveSkill
- sdd-designSkill
- sdd-exploreSkill
- sdd-proposeSkill
- sdd-specSkill
- sdd-tasksSkill
- sdd-verifySkill
- skill-registrySkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 3 are distinctive, and 13 are very specific to this project.
0
Common
Most of the 6 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
13
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 18
Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
- Very specific: line 20
If mode is engram: Do NOT create openspec/ directory.
- Very specific: line 21
Do NOT create openspec/ directory.
- Very specific: line 36
If mode is openspec: Read and follow skills/_shared/openspec-convention.md.
- Very specific: line 37
If mode is hybrid: Read and follow BOTH convention files.
- Very specific: line 38
If mode is none: Return detected context without writing project files.
- Distinctive: line 44
Read the project to understand:
- Very specific: line 51
If mode resolves to openspec, create this directory structure:
- Very specific: line 101
Follow the same logic as the skill-registry skill (skills/skill-registry/SKILL.md):
- Very specific: line 106
If engram is available, ALSO save to engram: mem_save(title: "skill-registry", topic_key: "skill-registry", type: "config", project: …
- Very specific: line 125
If mode is openspec or hybrid: the config was already written in Step 3.
- Very specific: line 127
If mode is hybrid: also call mem_save as above (write to BOTH backends).
- Distinctive: line 193
NEVER create placeholder spec files - specs are created via sdd-spec during a change
- Distinctive: line 194
ALWAYS detect the real tech stack, don't guess
- Very specific: line 195
If the project already has an openspec/ directory, report what exists and ask the orchestrator if it should be updated
- Very specific: line 196
Keep config.yaml context CONCISE - no more than 10 lines
“Common” is measured: kept by at least 6 in 10 of the 6 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Purpose
You are a sub-agent responsible for initializing the Spec-Driven Development (SDD) context in a project. You detect the project stack and conventions, then bootstrap the active persistence backend.
Execution and Persistence Contract
Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
If mode is
engram: Do NOT createopenspec/directory.Save project context:
mem_save( title: "sdd-init/{project-name}", topic_key: "sdd-init/{project-name}", type: "architecture", project: "{project-name}", content: "{detected project context markdown}" )topic_keyenables upserts — re-running init updates the existing context, not duplicates.(See
skills/_shared/engram-convention.mdfor full naming conventions.)- If mode is
openspec: Read and followskills/_shared/openspec-convention.md. Run full bootstrap. - If mode is
hybrid: Read and follow BOTH convention files. Run openspec bootstrap AND persist context to Engram. - If mode is
none: Return detected context without writing project files.
What to Do
Step 1: Detect Project Context
Read the project to understand:
- Tech stack (check package.json, go.mod, pyproject.toml, etc.)
- Existing conventions (linters, test frameworks, CI)
- Architecture patterns in use
Step 2: Initialize Persistence Backend
If mode resolves to openspec, create this directory structure:
openspec/
├── config.yaml ← Project-specific SDD config
├── specs/ ← Source of truth (empty initially)
└── changes/ ← Active changes
└── archive/ ← Completed changesStep 3: Generate Config (openspec mode)
Based on what you detected, create the config when in openspec mode:
# openspec/config.yaml
schema: spec-driven
context: |
Tech stack: {detected stack}
Architecture: {detected patterns}
Testing: {detected test framework}
Style: {detected linting/formatting}
rules:
proposal:
- Include rollback plan for risky changes
- Identify affected modules/packages
specs:
- Use Given/When/Then format for scenarios
- Use RFC 2119 keywords (MUST, SHALL, SHOULD, MAY)
design:
- Include sequence diagrams for complex flows
- Document architecture decisions with rationale
tasks:
- Group tasks by phase (infrastructure, implementation, testing)
- Use hierarchical numbering (1.1, 1.2, etc.)
- Keep tasks small enough to complete in one session
apply:
- Follow existing code patterns and conventions
- Load relevant coding skills for the project stack
verify:
- Run tests if test infrastructure exists
- Compare implementation against every spec scenario
archive:
- Warn before merging destructive deltas (large removals)Step 4: Build Skill Registry
Follow the same logic as the skill-registry skill (skills/skill-registry/SKILL.md):
- Scan user skills: glob
*/SKILL.mdacross ALL known skill directories. User-level:~/.claude/skills/,~/.config/opencode/skills/,~/.gemini/skills/,~/.cursor/skills/,~/.copilot/skills/, parent of this skill file. Project-level:.claude/skills/,.gemini/skills/,.agent/skills/,skills/. Skipsdd-*,_shared,skill-registry. Deduplicate by name (project-level wins). Read frontmatter triggers. - Scan project conventions: check for
agents.md,AGENTS.md,CLAUDE.md(project-level),.cursorrules,GEMINI.md,copilot-instructions.mdin the project root. If an index file is found (e.g.,agents.md), READ it and extract all referenced file paths — include both the index and its referenced files in the registry. - ALWAYS write
.atl/skill-registry.mdin the project root (create.atl/if needed). This file is mode-independent — it's infrastructure, not an SDD artifact. - If engram is available, ALSO save to engram:
mem_save(title: "skill-registry", topic_key: "skill-registry", type: "config", project: "{project}", content: "{registry markdown}")
See skills/skill-registry/SKILL.md for the full registry format and scanning details.
Step 5: Persist Project Context
This step is MANDATORY — do NOT skip it.
If mode is engram:
mem_save(
title: "sdd-init/{project-name}",
topic_key: "sdd-init/{project-name}",
type: "architecture",
project: "{project-name}",
content: "{your detected project context from Steps 1-4}"
)If mode is openspec or hybrid: the config was already written in Step 3.
If mode is hybrid: also call mem_save as above (write to BOTH backends).
Step 6: Return Summary
Return a structured summary adapted to the resolved mode:
If mode is engram:
Persist project context following skills/_shared/engram-convention.md with title and topic_key sdd-init/{project-name}.
Return:
## SDD Initialized
**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: engram
### Context Saved
Project context persisted to Engram.
- **Engram ID**: #{observation-id}
- **Topic key**: sdd-init/{project-name}
No project files created.
### Next Steps
Ready for /sdd-explore <topic> or /sdd-new <change-name>.If mode is openspec:
## SDD Initialized
**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: openspec
### Structure Created
- openspec/config.yaml ← Project config with detected context
- openspec/specs/ ← Ready for specifications
- openspec/changes/ ← Ready for change proposals
### Next Steps
Ready for /sdd-explore <topic> or /sdd-new <change-name>.If mode is none:
## SDD Initialized
**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: none (ephemeral)
### Context Detected
{summary of detected stack and conventions}
### Recommendation
Enable `engram` or `openspec` for artifact persistence across sessions. Without persistence, all SDD artifacts will be lost when the conversation ends.
### Next Steps
Ready for /sdd-explore <topic> or /sdd-new <change-name>.Rules
- NEVER create placeholder spec files - specs are created via sdd-spec during a change
- ALWAYS detect the real tech stack, don't guess
- If the project already has an
openspec/directory, report what exists and ask the orchestrator if it should be updated - Keep config.yaml context CONCISE - no more than 10 lines
- Return a structured envelope with:
status,executive_summary,detailed_report(optional),artifacts,next_recommended, andrisks
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

