Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Initialize Spec-Driven Development context — detects tech stack, conventions, architecture patterns, and bootstraps persistence backends. Triggers on 'sdd-init', 'init sdd', 'setup sdd', 'initialize sdd', 'setup project', 'initialize project context'. Creates/updates docs/specs/architecture.md & ontology.md (Constitution), and populates knowledge-graph.json.
.claude/skills/giuseppe-trisciuoglio-sdd-init/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | 52% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 22% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 38% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 25% | 0% |
Initialize Spec-Driven Development (SDD) in the current project. Detects tech stack, conventions, architecture patterns, and bootstraps all persistence backends (Constitution + Knowledge Graph).
Trigger phrases:
1. Detect Project Context
├── Scan tech stack (languages, frameworks, tools)
├── Identify conventions (folder structure, patterns, configs)
└── Detect architecture (monolith, microservices, serverless)
2. Bootstrap Constitution
├── Check if docs/specs/architecture.md exists
├── If missing → ask user to create with constitution skill
└── If exists → show current state
3. Bootstrap Knowledge Graph
├── Check if docs/specs/knowledge-graph.json exists
├── Create with initial discoveries (stack, patterns, conventions)
└── Link to Constitution
4. Return Structured Result
└── status, executive_summary, artifacts, next_recommendedDetect the primary language and framework:
bash# Detect language (priority order) ls *.go *.rs *.ts *.js *.py *.java *.cs *.rb *.php *.cpp *.c 2>/dev/null | head -1 # Detect framework/type ls package.json pyproject.toml Cargo.toml go.mod pom.xml *.csproj Gemfile composer.json 2>/dev/null # Detect project type ls -la src/ lib/ app/ cmd/ internal/ pkg/ services/ 2>/dev/null
Scan for existing patterns:
bash# Folder structure find . -maxdepth 2 -type d -name "src" -o -name "lib" -o -name "app" -o -name "cmd" | head -10 # Config files ls -la *.yaml *.yml *.toml *.json *.env* Makefile 2>/dev/null # Testing patterns find . -name "*_test.*" -o -name "test_*.py" -o -name "*_test.go" -o -name "*.spec.ts" 2>/dev/null | head -10 # Build system ls Makefile Dockerfile docker-compose*.yml *.mk 2>/dev/null # CI/CD ls .github/workflows/ .gitlab-ci.yml .circleci/ 2>/dev/null
Analyze project structure for architectural patterns:
bash# Microservices vs Monolith ls services/ microservices/ cmd/ api/ internal/ 2>/dev/null # Serverless ls functions/ lambda/ handlers/ 2>/dev/null # Layered architecture ls controllers/ services/ repositories/ models/ 2>/dev/null # Hexagonal/Ports & Adapters ls ports/ adapters/ domain/ infrastructure/ 2>/dev/null
bash# Check if Constitution files exist [ -f docs/specs/architecture.md ] && echo "architecture:exists" || echo "architecture:missing" [ -f docs/specs/ontology.md ] && echo "ontology:exists" || echo "ontology:missing"
Use AskUserQuestion to prompt:
> The Constitution files (architecture.md, ontology.md) don't exist yet. > > Option 1: Create both (Recommended) - Sets up architectural DNA and domain language > Option 2: Create architecture.md only > Option 3: Create ontology.md only > Option 4: Skip for now - I'll detect context but skip Constitution
If user chooses option 1-3, delegate to /developer-kit-specs:constitution create with the detected context.
Read and display current Constitution files with detected context as comparison.
bash# Check if KG exists ls docs/specs/knowledge-graph.json 2>/dev/null
Create or update docs/specs/knowledge-graph.json with initial discoveries:
json{ "metadata": { "spec_id": "project-init", "version": "1.0.0", "created": "{{ISO_DATE}}", "project": "{{PROJECT_NAME}}", "type": "initial-discovery" }, "context": { "workingDirectory": "{{PWD}}", "projectName": "{{PROJECT_NAME}}" }, "stack": { "primaryLanguage": "{{DETECTED_LANGUAGE}}", "framework": "{{DETECTED_FRAMEWORK}}", "buildSystem": "{{DETECTED_BUILD_SYSTEM}}" }, "conventions": { "folderStructure": ["{{FOLDERS}}"], "namingPatterns": ["{{PATTERNS}}"], "configFiles": ["{{CONFIGS}}"], "testingPattern": "{{TESTING_PATTERN}}" }, "architecture": { "style": "{{MONOLITH|MICROSERVICE|SERVERLESS|LAYERED|HEXAGONAL}}", "layers": ["{{LAYERS}}"], "patterns": ["{{ARCHITECTURAL_PATTERNS}}"] }, "references": { "constitution": "docs/specs/architecture.md", "ontology": "docs/specs/ontology.md" }, "source": "sdd-init" }
After creating KG, validate it exists and has valid JSON:
bash# Validate KG cat docs/specs/knowledge-graph.json | python3 -m json.tool > /dev/null && echo "KG:valid" || echo "KG:invalid"
Return a JSON object with:
json{ "status": "success|partial|skipped", "executive_summary": "Brief description of what was detected and initialized", "artifacts": [ { "path": "docs/specs/architecture.md", "action": "created|existing|skipped", "summary": "What this file contains" }, { "path": "docs/specs/ontology.md", "action": "created|existing|skipped", "summary": "What this file contains" }, { "path": "docs/specs/knowledge-graph.json", "action": "created|updated", "summary": "What was discovered and stored" } ], "next_recommended": [ "Review Constitution if just created", "Run brainstorm to start first spec", "Check knowledge-graph.json for detected patterns" ] }
Display result in a structured format:
══════════════════════════════════════════════════
SDD Init — {{PROJECT_NAME}}
══════════════════════════════════════════════════
STATUS: {{status}}
TECH STACK DETECTED:
Language: {{language}}
Framework: {{framework}}
Build: {{build_system}}
ARCHITECTURE:
Style: {{architecture_style}}
Patterns: {{patterns}}
ARTIFACTS:
✓ Constitution (architecture.md) — {{status}}
✓ Constitution (ontology.md) — {{status}}
✓ Knowledge Graph — {{status}}
NEXT STEPS:
{{next_recommended}}
══════════════════════════════════════════════════| Skill | Integration Point | |-------|-------------------| | constitution | Created/updated by sdd-init if missing | | knowledge-graph | Populated by sdd-init with initial discoveries | | brainstorm | Should read Constitution before starting | | spec-to-tasks | Should validate against KG and Constitution | | task-implementation | Should check KG for existing patterns |
| Error | Recovery | |-------|----------| | Cannot create docs/specs/ | Ask user to create directory manually | | KG JSON invalid | Show error, keep raw file, suggest validation | | Constitution delegate fails | Fall back to inline creation with template |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-03 | fail→fail | 5,452 | 6,781 | +24% | 1 | 1 | 0% | 306 | 2,317 | +657% | 0 | 0 | — |
case-01 | fail→fail | 18,175 | 7,639 | -58% | 1 | 1 | 0% | 3,051 | 2,369 | -22% | 0 | 0 | — |
case-02 | fail→fail | 13,510 | 6,066 | -55% | 1 | 1 | 0% | 2,077 | 2,411 | +16% | 0 | 0 | — |
case-04 | fail→fail | 9,734 | 5,865 | -40% | 1 | 1 | 0% | 1,420 | 3,023 | +113% | 0 | 0 | — |
case-05 | fail→pass | 13,552 | 7,199 | -47% | 1 | 1 | 0% | 2,103 | 3,198 | +52% | 0 | 0 | — |
case-06 | fail→fail | 12,522 | 4,189 | -67% | 1 | 1 | 0% | 2,425 | 2,773 | +14% | 0 | 0 | — |
case-07 | pass→pass | 13,162 | 7,933 | -40% | 1 | 1 | 0% | 2,501 | 3,405 | +36% | 0 | 0 | — |
case-08 | pass→pass | 11,025 | 4,280 | -61% | 1 | 1 | 0% | 1,722 | 2,630 | +53% | 0 | 0 | — |
case-09 | pass→pass | 13,503 | 7,269 | -46% | 1 | 1 | 0% | 2,290 | 3,209 | +40% | 0 | 0 | — |
case-10 | fail→pass | 11,443 | 3,709 | -68% | 1 | 1 | 0% | 1,768 | 2,670 | +51% | 0 | 0 | — |
case-11 | fail→pass | 13,112 | 3,045 | -77% | 1 | 1 | 0% | 2,128 | 2,596 | +22% | 0 | 0 | — |
case-12 | pass→pass | 16,669 | 9,369 | -44% | 1 | 1 | 0% | 2,715 | 3,637 | +34% | 0 | 0 | — |
case-13 | pass→pass | 7,975 | 3,472 | -56% | 1 | 1 | 0% | 1,440 | 2,633 | +83% | 0 | 0 | — |
case-14 | fail→pass | 15,291 | 6,459 | -58% | 1 | 1 | 0% | 2,381 | 3,285 | +38% | 0 | 0 | — |
case-15 | pass→pass | 15,252 | 6,533 | -57% | 1 | 1 | 0% | 2,774 | 3,125 | +13% | 0 | 0 | — |
case-16 | pass→pass | 17,515 | 7,816 | -55% | 1 | 1 | 0% | 2,885 | 3,526 | +22% | 0 | 0 | — |
case-17 | fail→pass | 12,018 | 3,749 | -69% | 1 | 1 | 0% | 2,151 | 2,685 | +25% | 0 | 0 | — |
case-18 | pass→pass | 9,643 | 5,579 | -42% | 1 | 1 | 0% | 1,468 | 2,863 | +95% | 0 | 0 | — |
case-19 | fail→pass | 11,193 | 4,681 | -58% | 1 | 1 | 0% | 1,723 | 2,691 | +56% | 0 | 0 | — |
case-20 | fail→pass | 11,569 | 5,191 | -55% | 1 | 1 | 0% | 1,791 | 2,919 | +63% | 0 | 0 | — |
case-21 | fail→pass | 10,267 | 2,364 | -77% | 1 | 1 | 0% | 1,718 | 2,342 | +36% | 0 | 0 | — |
case-22 | fail→pass | 11,586 | 2,394 | -79% | 1 | 1 | 0% | 1,947 | 2,457 | +26% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 19 counted toward the lift figure. The other 3 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +41 percentage points is the difference between those two pass rates over the 19 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.