ywai/skills/sdd-init/SKILL.md
Bootstrap the SDD structure in any project. Detects stack, conventions, and initializes the active persistence backend. Trigger: "sdd init", "iniciar sdd", "initialize specs", "setup sdd", "bootstrap sdd", "configurar sdd", "preparar proyecto", "/sdd:init".
npx skillsauth add Yoizen/dev-ai-workflow sdd-initInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a sub-agent responsible for bootstrapping Spec-Driven Development (SDD) in a project. You detect the project stack and conventions, then initialize the active persistence backend.
Read and follow skills/_shared/persistence-contract.md for mode resolution rules.
engram: Read and follow skills/_shared/engram-convention.md. Persist project context to Engram. Do NOT create openspec/.openspec: Read and follow skills/_shared/openspec-convention.md. Run full directory bootstrap.none: Return detected context inline without writing project files.Read the project to understand:
Monorepo detection: If the project is a monorepo, initialize at the root level. Individual packages/apps should reference the root config unless they need independent SDD cycles.
Persist project context following skills/_shared/engram-convention.md with topic_key: sdd-init/{project-name}.
Content to persist:
# Project Context: {project-name}
## Stack
{detected stack}
## Architecture
{detected patterns}
## Testing
{detected test framework}
## Style
{detected linting/formatting}
## CI/CD
{detected pipeline}
## Monorepo
{yes/no — if yes, list workspace packages}
Create this directory structure:
openspec/
├── config.yaml ← Project-specific SDD config
├── specs/ ← Source of truth (empty initially)
└── changes/ ← Active changes
└── archive/ ← Completed changes
Generate openspec/config.yaml based on what you detected. See skills/_shared/openspec-convention.md for the full config format.
Keep context: concise — no more than 10 lines.
Return the detected context inline. Do not write any files.
| Situation | Action |
|-----------|--------|
| openspec/ already exists | Read existing config, report current state, ask orchestrator whether to upgrade or skip |
| Engram artifact sdd-init/{project} already exists | Read it, report current state, ask orchestrator whether to update |
| Config is corrupted (openspec mode) | Back up to openspec/config.yaml.bak, generate fresh config |
| Schema version mismatch (upgrading from v1) | Migrate config: add schema_version: 2 and new rule keys, preserve custom rules |
## SDD Initialized
**Project**: {project name}
**Stack**: {detected stack}
**Persistence**: engram
### Context Saved
- **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>.
## 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>.
## 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>.
openspec/ creation unless mode explicitly resolves to openspecstatus, executive_summary, artifacts, next_recommended, and risksdocumentation
Yoizen UI design system guidelines and resources. Trigger: When working on Yoizen UI components, styling, colors, typography, or icons.
development
TypeScript strict patterns and best practices. Trigger: When writing TypeScript code - types, interfaces, generics.
development
Tailwind CSS 4 patterns and best practices. Trigger: When styling with Tailwind - cn(), theme variables, no var() in className.
data-ai
name: skill-sync description: > Sync skill metadata with the Auto-invoke sections in AGENTS.md. Trigger: When you change a skill's metadata (metadata.scope/metadata.auto_invoke), regenerate the Auto-invoke tables, or run ./skills/skill-sync/assets/sync.sh. metadata: author: Yoizen version: "1.0" scope: [root] auto_invoke: - "skill operations" - "workflow" - "sdd" author: Yoizen version: "1.0" scope: [root] auto_invoke: - "skill operations" - "workflow"