specky-sdd 3.8.0 → 3.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/.apm/agents/specky-design-architect.agent.md +1 -1
  2. package/.apm/agents/specky-implementer.agent.md +7 -7
  3. package/.apm/agents/specky-onboarding.agent.md +1 -1
  4. package/.apm/agents/specky-quality-reviewer.agent.md +5 -5
  5. package/.apm/agents/specky-release-engineer.agent.md +7 -7
  6. package/.apm/agents/specky-requirements-engineer.agent.md +6 -6
  7. package/.apm/agents/specky-research-analyst.agent.md +7 -7
  8. package/.apm/agents/specky-sdd-clarify.agent.md +3 -2
  9. package/.apm/agents/specky-sdd-init.agent.md +1 -1
  10. package/.apm/agents/specky-spec-engineer.agent.md +1 -1
  11. package/.apm/agents/specky-task-planner.agent.md +1 -1
  12. package/.apm/hooks/specky-run.sh +32 -0
  13. package/.apm/instructions/claude-instructions.instructions.md +74 -0
  14. package/.apm/instructions/copilot-instructions.instructions.md +3 -9
  15. package/.apm/instructions/cursor-instructions.instructions.md +69 -0
  16. package/.apm/instructions/opencode-instructions.instructions.md +45 -0
  17. package/.apm/prompts/specky-onboarding.prompt.md +1 -0
  18. package/.apm/prompts/specky-pipeline-status.prompt.md +1 -0
  19. package/.apm/skills/specky-design-architect/SKILL.md +21 -0
  20. package/.apm/skills/specky-onboarding/SKILL.md +8 -2
  21. package/.apm/skills/specky-quality-reviewer/SKILL.md +28 -0
  22. package/.apm/skills/specky-sdd-clarify/SKILL.md +25 -0
  23. package/.apm/skills/specky-sdd-init/SKILL.md +28 -0
  24. package/.apm/skills/specky-sdd-pipeline/SKILL.md +20 -19
  25. package/.apm/skills/specky-spec-engineer/SKILL.md +27 -0
  26. package/.apm/skills/specky-task-planner/SKILL.md +20 -0
  27. package/CHANGELOG.md +64 -0
  28. package/README.md +177 -82
  29. package/apm-policy.yml +7 -0
  30. package/apm.lock.yaml +29 -19
  31. package/apm.yml +2 -2
  32. package/config.yml +5 -3
  33. package/dist/cli/commands/compile.d.ts.map +1 -1
  34. package/dist/cli/commands/compile.js +36 -14
  35. package/dist/cli/commands/compile.js.map +1 -1
  36. package/dist/cli/commands/doctor.d.ts.map +1 -1
  37. package/dist/cli/commands/doctor.js +220 -12
  38. package/dist/cli/commands/doctor.js.map +1 -1
  39. package/dist/cli/commands/hooks.js +2 -2
  40. package/dist/cli/commands/hooks.js.map +1 -1
  41. package/dist/cli/commands/init.d.ts.map +1 -1
  42. package/dist/cli/commands/init.js +8 -5
  43. package/dist/cli/commands/init.js.map +1 -1
  44. package/dist/cli/lib/apm/lock.js +2 -2
  45. package/dist/cli/lib/apm/lock.js.map +1 -1
  46. package/dist/cli/lib/asset-copier.d.ts.map +1 -1
  47. package/dist/cli/lib/asset-copier.js +73 -36
  48. package/dist/cli/lib/asset-copier.js.map +1 -1
  49. package/dist/cli/lib/gitignore-writer.d.ts.map +1 -1
  50. package/dist/cli/lib/gitignore-writer.js +2 -1
  51. package/dist/cli/lib/gitignore-writer.js.map +1 -1
  52. package/dist/cli/lib/harness/compilers/claude.d.ts.map +1 -1
  53. package/dist/cli/lib/harness/compilers/claude.js +2 -2
  54. package/dist/cli/lib/harness/compilers/claude.js.map +1 -1
  55. package/dist/cli/lib/harness/compilers/common.d.ts +2 -0
  56. package/dist/cli/lib/harness/compilers/common.d.ts.map +1 -1
  57. package/dist/cli/lib/harness/compilers/common.js +6 -0
  58. package/dist/cli/lib/harness/compilers/common.js.map +1 -1
  59. package/dist/cli/lib/harness/compilers/cursor.d.ts.map +1 -1
  60. package/dist/cli/lib/harness/compilers/cursor.js +3 -2
  61. package/dist/cli/lib/harness/compilers/cursor.js.map +1 -1
  62. package/dist/cli/lib/harness/tool-map.js +2 -2
  63. package/dist/cli/lib/harness/tool-map.js.map +1 -1
  64. package/dist/cli/lib/mcp-writer.d.ts.map +1 -1
  65. package/dist/cli/lib/mcp-writer.js +2 -0
  66. package/dist/cli/lib/mcp-writer.js.map +1 -1
  67. package/dist/cli/lib/paths.d.ts +4 -0
  68. package/dist/cli/lib/paths.d.ts.map +1 -1
  69. package/dist/cli/lib/paths.js +4 -0
  70. package/dist/cli/lib/paths.js.map +1 -1
  71. package/dist/cursor-hooks.json +288 -0
  72. package/dist/index.js +2 -3
  73. package/dist/index.js.map +1 -1
  74. package/dist/services/state-machine.d.ts +22 -1
  75. package/dist/services/state-machine.d.ts.map +1 -1
  76. package/dist/services/state-machine.js +95 -5
  77. package/dist/services/state-machine.js.map +1 -1
  78. package/dist/templates/specification.md +2 -0
  79. package/dist/tools/pipeline.d.ts.map +1 -1
  80. package/dist/tools/pipeline.js +96 -42
  81. package/dist/tools/pipeline.js.map +1 -1
  82. package/dist/tools/tool-enforcement.d.ts.map +1 -1
  83. package/dist/tools/tool-enforcement.js +13 -0
  84. package/dist/tools/tool-enforcement.js.map +1 -1
  85. package/package.json +5 -6
  86. package/site/specky-icon.png +0 -0
  87. package/templates/specification.md +2 -0
@@ -26,7 +26,7 @@ Diagram generation can run standalone.
26
26
 
27
27
  You are a senior system architect. You transform specifications into implementable designs.
28
28
 
29
- **First step:** Read the `specky-sdd-pipeline` SKILL.md for design standards and artifact format.
29
+ **First step:** Read the `specky-design-architect` SKILL.md for design standards and artifact format.
30
30
 
31
31
  **Workflow:**
32
32
  1. Read SPECIFICATION.md for all requirements and acceptance criteria
@@ -31,13 +31,13 @@ You are a senior implementation engineer. You bridge the gap between specificati
31
31
  **Workflow:**
32
32
  1. Read the `specky-implementer` SKILL.md for implementation patterns and tool reference
33
33
  2. Verify you are on the correct `spec/NNN-*` branch (not develop/stage/main)
34
- 2. Verify TASKS.md and DESIGN.md exist for the feature
35
- 3. Call sdd_implement — ordered plan (Foundation → Core → Integration → Polish)
36
- 4. Call sdd_checklist for security + testing + relevant NFR domains
37
- 5. Detect test framework, call sdd_generate_tests — every stub has REQ-XXX traceability
38
- 6. If EARS invariants exist, call sdd_generate_pbt for property-based tests
39
- 7. If deployment architecture exists, generate IaC and Docker configs
40
- 8. Deliver implementation handoff summary
34
+ 3. Verify TASKS.md and DESIGN.md exist for the feature
35
+ 4. Call sdd_implement — ordered plan (Foundation → Core → Integration → Polish)
36
+ 5. Call sdd_checklist for security + testing + relevant NFR domains
37
+ 6. Detect test framework, call sdd_generate_tests — every stub has REQ-XXX traceability
38
+ 7. If EARS invariants exist, call sdd_generate_pbt for property-based tests
39
+ 8. If deployment architecture exists, generate IaC and Docker configs
40
+ 9. Deliver implementation handoff summary
41
41
 
42
42
  **Hard rules:**
43
43
  - Never enable extended thinking (arXiv:2502.08235: +43% cost, -30% quality)
@@ -64,7 +64,7 @@ You are the Specky SDD onboarding wizard. You are the **default entry point** wh
64
64
  **If user asks "what can Specky do?":** Show the full reference:
65
65
  - 13 agents with purpose and phase
66
66
  - 22 prompts grouped by use case
67
- - 8 skills with trigger conditions
67
+ - 14 skills with trigger conditions
68
68
  - 58 MCP tools by category
69
69
  - 16 hook scripts (12 advisory + 4 blocking)
70
70
 
@@ -7,7 +7,7 @@ tools: ["search", "specky/sdd_run_analysis", "specky/sdd_cross_analyze", "specky
7
7
  ---
8
8
 
9
9
  <example>
10
- Context: Verification phase has passed
10
+ Context: Tasks and checklist are complete, ready for analysis
11
11
  user: "Run the quality review for feature 001"
12
12
  assistant: "I'll audit completeness, check alignment, and run compliance validation."
13
13
  <commentary>
@@ -26,10 +26,10 @@ Compliance checking can run standalone.
26
26
 
27
27
  You are a senior quality reviewer. You audit specification completeness, verify alignment across artifacts, and validate compliance.
28
28
 
29
- **First step:** Read the `specky-sdd-pipeline` SKILL.md for review criteria and gate decisions.
29
+ **First step:** Read the `specky-quality-reviewer` SKILL.md for review criteria and gate decisions.
30
30
 
31
31
  **Workflow:**
32
- 1. Read all artifacts: SPECIFICATION.md, DESIGN.md, TASKS.md, VERIFICATION.md
32
+ 1. Read all artifacts: SPECIFICATION.md, DESIGN.md, TASKS.md, CHECKLIST.md (VERIFICATION.md only if re-running after Phase 8)
33
33
  2. Call sdd_run_analysis — completeness audit:
34
34
  - Orphaned requirements (in spec but not in tasks/tests)
35
35
  - Missing acceptance criteria coverage
@@ -41,7 +41,7 @@ You are a senior quality reviewer. You audit specification completeness, verify
41
41
  4. Call sdd_check_sync — spec-code drift detection
42
42
  5. Call sdd_compliance_check if compliance framework specified (SOC2, HIPAA, GDPR, PCI-DSS, ISO 27001, FedRAMP)
43
43
  6. Write ANALYSIS.md with gate_decision:
44
- - **APPROVE** — all checks pass, pipeline can proceed to release
44
+ - **APPROVE** — all checks pass, pipeline can proceed to implementation
45
45
  - **CONDITIONAL** — minor issues found, list specific fixes required
46
46
  - **REJECT** — critical issues, pipeline blocked until resolved
47
47
  7. Write COMPLIANCE.md if compliance check ran
@@ -52,4 +52,4 @@ You are a senior quality reviewer. You audit specification completeness, verify
52
52
  - REJECT blocks the pipeline completely — must fix and re-review
53
53
  - CONDITIONAL requires listed fixes before APPROVE
54
54
  - Never approve if pass rate < 90% or critical drift detected
55
- - Branch must be develop (after merge from spec/NNN-*)
55
+ - Branch must be spec/NNN-* unless re-running post-merge analysis on develop
@@ -32,15 +32,15 @@ You are a senior release engineer. You prepare features for delivery.
32
32
  - `spec/NNN-*` → PR targets `develop`
33
33
  - `develop` → PR targets `stage`
34
34
  - `stage` → PR targets `main`
35
- 2. Verify ANALYSIS.md gate = APPROVE and VERIFICATION.md pass rate ≥90%
36
- 3. Run blocking gates:
35
+ 3. Verify ANALYSIS.md gate = APPROVE and VERIFICATION.md pass rate ≥90%
36
+ 4. Run blocking gates:
37
37
  - specky-security-scan.sh (BLOCKING: exit 2 = cannot release)
38
38
  - specky-release-gate.sh (BLOCKING: exit 2 = cannot release)
39
- 4. If either fails: explain what failed, suggest fix. Do NOT proceed.
40
- 5. Call sdd_generate_all_docs — parallel documentation generation
41
- 6. Call sdd_create_pr — PR payload with spec summary and correct target branch
42
- 7. Optionally call sdd_export_work_items — update external trackers
43
- 8. Deliver release summary with branch, target, and merge instructions
39
+ 5. If either fails: explain what failed, suggest fix. Do NOT proceed.
40
+ 6. Call sdd_generate_all_docs — parallel documentation generation
41
+ 7. Call sdd_create_pr — PR payload with spec summary and correct target branch
42
+ 8. Optionally call sdd_export_work_items — update external trackers
43
+ 9. Deliver release summary with branch, target, and merge instructions
44
44
 
45
45
  **Branching rules:**
46
46
  - `spec/NNN-feature-name` → `develop` (after Phase 8 verification passes)
@@ -33,12 +33,12 @@ You are a senior requirements engineer. You transform unstructured input into va
33
33
  **Workflow:**
34
34
  1. Read the `specky-sdd-markdown-standard` SKILL.md for artifact formatting rules
35
35
  2. Read existing workspace files for context
36
- 2. Detect project type and domain
37
- 3. Run gap detector — ask max 3 questions for CRITICAL gaps only
38
- 4. Write FRD with EARS notation for every requirement
39
- 5. Write NFRD with measurable quality constraints
40
- 6. Run 24 validation checks — fix every failure
41
- 7. Deliver Specky Handoff block confirming readiness for sdd_init
36
+ 3. Detect project type and domain
37
+ 4. Run gap detector — ask max 3 questions for CRITICAL gaps only
38
+ 5. Write FRD with EARS notation for every requirement
39
+ 6. Write NFRD with measurable quality constraints
40
+ 7. Run 24 validation checks — fix every failure
41
+ 8. Deliver Specky Handoff block confirming readiness for sdd_init
42
42
 
43
43
  **Hard rules:**
44
44
  - Every requirement must use EARS notation
@@ -29,12 +29,12 @@ You are a technical research analyst. You gather all context needed before the s
29
29
  **Workflow:**
30
30
  1. Read the `specky-research-analyst` SKILL.md for research methodology and tool reference
31
31
  2. Read CONSTITUTION.md for project scope and constraints
32
- 2. For brownfield/modernization: call sdd_scan_codebase
33
- 3. Import any external documents or transcripts
34
- 4. Call sdd_discover — present 7 structured discovery questions
35
- 5. Call sdd_research — investigate technical unknowns
36
- 6. Call sdd_check_ecosystem — identify recommended MCP servers
37
- 7. Produce RESEARCH.md with all findings
38
- 8. Suggest handoff to specification
32
+ 3. For brownfield/modernization: call sdd_scan_codebase
33
+ 4. Import any external documents or transcripts
34
+ 5. Call sdd_discover — present 7 structured discovery questions
35
+ 6. Call sdd_research — investigate technical unknowns
36
+ 7. Call sdd_check_ecosystem — identify recommended MCP servers
37
+ 8. Produce RESEARCH.md with all findings
38
+ 9. Suggest handoff to specification
39
39
 
40
40
  **Output:** RESEARCH.md with tech stack, dependencies, API surface, integration points, and discovery findings.
@@ -26,9 +26,10 @@ EARS validation is a core responsibility of this agent.
26
26
 
27
27
  You are a clarification specialist. You find ambiguity in specifications and resolve it through targeted questions and EARS validation.
28
28
 
29
+ **First step:** Read the `specky-sdd-clarify` SKILL.md for clarification workflow and EARS validation rules.
30
+
29
31
  **Workflow:**
30
- 1. Read the `specky-sdd-pipeline` SKILL.md for EARS patterns and clarification rules
31
- 2. Read SPECIFICATION.md for the feature
32
+ 1. Read SPECIFICATION.md for the feature
32
33
  2. Call sdd_clarify — up to 5 disambiguation questions per round
33
34
  3. Present questions and wait for developer answers
34
35
  4. Call sdd_validate_ears — validate all 6 EARS patterns
@@ -27,7 +27,7 @@ Brownfield setup needs sdd_init plus sdd_scan_codebase.
27
27
  You are the SDD pipeline initializer. Your only job is to scaffold the spec pipeline so every downstream phase has the structure it needs.
28
28
 
29
29
  **Responsibilities:**
30
- 1. Read the `specky-sdd-pipeline` SKILL.md for pipeline context and phase rules
30
+ 1. Read the `specky-sdd-init` SKILL.md for pipeline context and Phase 0 rules
31
31
  2. Gather feature name, project type (greenfield/brownfield/migration/API), and constraints
32
32
  3. Read existing FRD/NFRD from `docs/requirements/` if they exist
33
33
  4. Call `sdd_init` to create `.specs/NNN-feature/` with CONSTITUTION.md and .sdd-state.json
@@ -26,7 +26,7 @@ Incremental spec refinement is also this agent's job.
26
26
 
27
27
  You are a senior specification engineer. You transform research findings into precise, testable requirements.
28
28
 
29
- **First step:** Read the `specky-sdd-pipeline` SKILL.md for EARS notation patterns and specification rules.
29
+ **First step:** Read the `specky-spec-engineer` SKILL.md for EARS notation patterns and specification rules.
30
30
 
31
31
  **Workflow:**
32
32
  1. Read CONSTITUTION.md for project scope and constraints
@@ -26,7 +26,7 @@ Checklist generation can run standalone.
26
26
 
27
27
  You are a senior technical planner. You transform designs into actionable implementation plans.
28
28
 
29
- **First step:** Read the `specky-sdd-pipeline` SKILL.md for task breakdown standards.
29
+ **First step:** Read the `specky-task-planner` SKILL.md for task breakdown standards.
30
30
 
31
31
  **Workflow:**
32
32
  1. Read DESIGN.md for architecture and API contracts
@@ -0,0 +1,32 @@
1
+ #!/usr/bin/env bash
2
+ # specky-run.sh - Cursor hook adapter -> Specky hook scripts.
3
+ set -euo pipefail
4
+
5
+ SCRIPT="${1:?usage: specky-run.sh <script-name> [--blocking]}"
6
+ BLOCKING="${2:-}"
7
+ HOOK=".cursor/hooks/scripts/${SCRIPT}"
8
+ INPUT=$(cat || true)
9
+
10
+ if command -v jq >/dev/null 2>&1 && [ -n "$INPUT" ]; then
11
+ RAW=$(echo "$INPUT" | jq -r '
12
+ .tool_name // .toolName // .tool // .mcpTool // .mcp_tool // .name // empty
13
+ ' 2>/dev/null || true)
14
+ case "$RAW" in
15
+ mcp__specky__*) export SDD_TOOL_NAME="${RAW#mcp__specky__}" ;;
16
+ MCP:*|*mcp__specky__*) export SDD_TOOL_NAME="$(echo "$RAW" | sed -n 's/.*sdd_/sdd_/p')" ;;
17
+ Write|Edit|MultiEdit) export SDD_TOOL_NAME="$RAW" ;;
18
+ esac
19
+
20
+ PROMPT=$(echo "$INPUT" | jq -r '.prompt // .user_prompt // .text // empty' 2>/dev/null || true)
21
+ [ -n "$PROMPT" ] && export CLAUDE_USER_PROMPT="$PROMPT"
22
+ fi
23
+
24
+ set +e
25
+ bash "$HOOK"
26
+ CODE=$?
27
+ set -e
28
+
29
+ if [ "$BLOCKING" = "--blocking" ] && [ "$CODE" -eq 2 ]; then
30
+ echo '{"permission":"deny","user_message":"Specky quality gate blocked this action."}'
31
+ fi
32
+ exit "$CODE"
@@ -0,0 +1,74 @@
1
+ ---
2
+ applyTo: '**'
3
+ ---
4
+
5
+ # Specky SDD
6
+
7
+ This project uses Spec-Driven Development (SDD) via the Specky pipeline.
8
+
9
+ ## Key Rules
10
+
11
+ 1. **EARS notation is mandatory.** Every requirement must follow one of the 6 EARS patterns.
12
+ 2. **REQ-ID traceability is non-negotiable.** Every test, task, and design decision traces to a REQ-ID.
13
+ 3. **Model routing matters.** Use a fast model class for lightweight scaffolding (Phase 0, 9), a balanced model class for iterative delivery (Phase 1, 5-7), and a reasoning-focused model class for complex analysis and design (Phase 2-4, 8). The user chooses any available model.
14
+ 4. **Never skip hooks.** Blocking hooks (specky-security-scan, specky-release-gate) must pass before release.
15
+ 5. **Artifacts live in `.specs/NNN-feature/`.** CONSTITUTION.md, RESEARCH.md, SPECIFICATION.md, DESIGN.md, TASKS.md, VERIFICATION.md, ANALYSIS.md.
16
+ 6. **One branch per spec.** Create `spec/NNN-feature-name` from `develop` for all pipeline work (Phases 0-7). All `.specs/` artifacts are created on this branch. Merge to `develop` after verification, then `stage` for QA and release gates, then `main` for production. Never commit spec work directly to develop, stage, or main.
17
+ 7. **Load companion SKILL.md first.** Every agent reads its companion skill file (`.claude/skills/{skill-name}/SKILL.md`) as the first workflow step. Phase agents have dedicated skills (specky-sdd-init, specky-spec-engineer, specky-sdd-clarify, specky-design-architect, specky-task-planner, specky-quality-reviewer); shared pipeline context lives in specky-sdd-pipeline.
18
+ 8. **Orchestrator is the single entry point.** When `.specs/` exists with an active pipeline (`.sdd-state.json` present), ALL work — code, branches, commits, PRs — MUST flow through `@specky-orchestrator`. Direct calls to phase agents, manual branch creation outside `spec/NNN-*`, or free-form edits bypass the quality gates and are pipeline violations. If unsure where to start, invoke `@specky-onboarding`. Starting in v3.5, `specky-pipeline-guard` hook enforces this automatically.
19
+
20
+ ## Available Agents
21
+
22
+ - @specky-onboarding — Interactive wizard and default entry point
23
+ - @specky-orchestrator — Full pipeline coordinator (all 10 phases)
24
+ - @specky-sdd-init — Initialize pipeline (Phase 0)
25
+ - @specky-requirements-engineer — Produce FRD + NFRD
26
+ - @specky-research-analyst — Technical research (Phase 1)
27
+ - @specky-spec-engineer — Write SPECIFICATION.md with EARS (Phase 2)
28
+ - @specky-sdd-clarify — Resolve ambiguities (Phase 3)
29
+ - @specky-design-architect — Write DESIGN.md + diagrams (Phase 4)
30
+ - @specky-task-planner — Write TASKS.md + CHECKLIST.md (Phase 5)
31
+ - @specky-quality-reviewer — Completeness audit + compliance (Phase 6)
32
+ - @specky-implementer — Implementation scaffolding (Phase 7)
33
+ - @specky-test-verifier — Coverage verification (Phase 8)
34
+ - @specky-release-engineer — Release preparation (Phase 9)
35
+
36
+ ## Available Commands
37
+
38
+ Use slash commands in Claude Code (`/prompt-name`):
39
+
40
+ **Quick Start:** /specky-onboarding, /specky-orchestrate, /specky-greenfield, /specky-brownfield, /specky-migration, /specky-api
41
+ **Pipeline:** /specky-research, /specky-clarify, /specky-specify, /specky-design, /specky-tasks, /specky-implement, /specky-verify, /specky-release, /specky-deploy
42
+ **Special:** /specky-from-figma, /specky-from-meeting, /specky-check-drift, /specky-resolve-conflict
43
+ **Debug:** /specky-debug-hook, /specky-pipeline-status, /specky-reset-phase
44
+
45
+ ## Quality Gates
46
+
47
+ Claude Code enforces gates natively via `.claude/settings.json` hook registration and the scripts in `.claude/hooks/scripts/`:
48
+
49
+ - **Pre-tool:** specky-artifact-validator (BLOCKING) + specky-branch-validator (advisory) before every phase tool
50
+ - **Post-tool:** specky-phase-gate (BLOCKING) + specky-lgtm-gate (advisory) + quality hooks after artifact writes
51
+ - **LGTM gates:** Phases 2 (Specify), 4 (Design), 5 (Tasks) pause for human review
52
+ - **Blocking gates:** specky-security-scan + specky-release-gate before PR creation
53
+
54
+ ## Work Modes
55
+
56
+ - **Full Pipeline:** Use @specky-orchestrator or /specky-orchestrate for automated end-to-end
57
+ - **Agent-by-agent:** Call individual agents (@specky-spec-engineer, @specky-implementer, etc.)
58
+ - **Direct MCP tools:** Call sdd_* tools directly for maximum control
59
+ - **Use /specky-onboarding to choose your mode**
60
+
61
+ ## MCP Server
62
+
63
+ The specky-sdd MCP server (58 tools) is configured in .mcp.json and runs via npx.
64
+
65
+ ## EARS Patterns
66
+
67
+ | Pattern | Format |
68
+ |---------|--------|
69
+ | Ubiquitous | The system shall... |
70
+ | Event-driven | When [event], the system shall... |
71
+ | State-driven | While [state], the system shall... |
72
+ | Optional | Where [condition], the system shall... |
73
+ | Unwanted | If [condition], then the system shall... |
74
+ | Complex | While [state], when [event], the system shall... |
@@ -14,6 +14,8 @@ This project uses Spec-Driven Development (SDD) via the Specky pipeline.
14
14
  4. **Never skip hooks.** Blocking hooks (specky-security-scan, specky-release-gate) must pass before release.
15
15
  5. **Artifacts live in `.specs/NNN-feature/`.** CONSTITUTION.md, RESEARCH.md, SPECIFICATION.md, DESIGN.md, TASKS.md, VERIFICATION.md, ANALYSIS.md.
16
16
  6. **One branch per spec.** Create `spec/NNN-feature-name` from `develop` for all pipeline work (Phases 0-7). All `.specs/` artifacts are created on this branch. Merge to `develop` after verification, then `stage` for QA and release gates, then `main` for production. Never commit spec work directly to develop, stage, or main.
17
+ 7. **Load companion SKILL.md first.** Every agent reads its companion skill file (`.github/skills/{skill-name}/SKILL.md`) as the first workflow step. Phase agents have dedicated skills (specky-sdd-init, specky-spec-engineer, specky-sdd-clarify, specky-design-architect, specky-task-planner, specky-quality-reviewer); shared pipeline context lives in specky-sdd-pipeline.
18
+ 8. **Orchestrator is the single entry point.** When `.specs/` exists with an active pipeline (`.sdd-state.json` present), ALL work — code, branches, commits, PRs — MUST flow through `@specky-orchestrator`. Direct calls to phase agents, manual branch creation outside `spec/NNN-*`, or free-form edits bypass the quality gates and are pipeline violations. If unsure where to start, invoke `@specky-onboarding`. Starting in v3.5, `specky-pipeline-guard` hook enforces this automatically.
17
19
 
18
20
  ## Available Agents
19
21
 
@@ -33,7 +35,7 @@ This project uses Spec-Driven Development (SDD) via the Specky pipeline.
33
35
 
34
36
  ## Available Prompts
35
37
 
36
- Use in Copilot Chat with `@workspace /prompt-name`:
38
+ Use slash commands in Copilot Chat (`/prompt-name`):
37
39
 
38
40
  **Quick Start:** /specky-onboarding, /specky-orchestrate, /specky-greenfield, /specky-brownfield, /specky-migration, /specky-api
39
41
  **Pipeline:** /specky-research, /specky-clarify, /specky-specify, /specky-design, /specky-tasks, /specky-implement, /specky-verify, /specky-release, /specky-deploy
@@ -55,14 +57,6 @@ Hooks fire automatically on MCP tool calls:
55
57
  - **Direct MCP tools:** Call sdd_* tools directly for maximum control
56
58
  - **Use /specky-onboarding to choose your mode**
57
59
 
58
- ## Rule #7
59
-
60
- 7. **Load companion SKILL.md first.** Every agent must read its companion skill file as the first workflow step.
61
-
62
- ## Rule #8
63
-
64
- 8. **Orchestrator is the single entry point.** When `.specs/` exists with an active pipeline (`.sdd-state.json` present), ALL work — code, branches, commits, PRs — MUST flow through `@specky-orchestrator`. Direct calls to phase agents, manual branch creation outside `spec/NNN-*`, or free-form edits bypass the quality gates and are pipeline violations. If unsure where to start, invoke `@specky-onboarding`. The orchestrator validates branch, artifacts, phase prerequisites, and routes to the correct phase agent. Starting in v3.5, `specky-pipeline-guard` hook enforces this automatically.
65
-
66
60
  ## MCP Server
67
61
 
68
62
  The specky-sdd MCP server (58 tools) is configured in .vscode/mcp.json and runs via npx.
@@ -0,0 +1,69 @@
1
+ ---
2
+ applyTo: '**'
3
+ ---
4
+
5
+ # Specky SDD — Cursor Instructions
6
+
7
+ This project uses Spec-Driven Development (SDD) via the Specky pipeline.
8
+
9
+ ## Key Rules
10
+
11
+ 1. **EARS notation is mandatory.** Every requirement must follow one of the 6 EARS patterns (see `.agents/skills/specky-sdd-pipeline/references/ears-notation.md`).
12
+ 2. **REQ-ID traceability is non-negotiable.** Every test, task, and design decision traces to a REQ-ID.
13
+ 3. **Model routing matters.** Use a fast model class for lightweight scaffolding (Phase 0, 9), a balanced model class for iterative delivery (Phase 1, 5-7), and a reasoning-focused model class for complex analysis and design (Phase 2-4, 8).
14
+ 4. **Never skip hooks.** Blocking hooks (specky-security-scan, specky-release-gate, specky-artifact-validator, specky-phase-gate) must pass before release.
15
+ 5. **Artifacts live in `.specs/NNN-feature/`.** CONSTITUTION.md, RESEARCH.md, SPECIFICATION.md, DESIGN.md, TASKS.md, VERIFICATION.md, ANALYSIS.md.
16
+ 6. **One branch per spec.** Create `spec/NNN-feature-name` from `develop` for all pipeline work (Phases 0-7). Merge to `develop` after verification, then `stage` for QA, then `main` for production.
17
+ 7. **Load companion SKILL.md first.** Every agent reads `.agents/skills/{skill-name}/SKILL.md` as the first workflow step. Phase agents have dedicated skills (specky-sdd-init, specky-spec-engineer, specky-sdd-clarify, specky-design-architect, specky-task-planner, specky-quality-reviewer); shared pipeline context lives in specky-sdd-pipeline.
18
+ 8. **Orchestrator is the single entry point.** When `.specs/` exists with an active pipeline (`.sdd-state.json` present), ALL work MUST flow through `@specky-orchestrator`. If unsure where to start, invoke `@specky-onboarding`.
19
+
20
+ ## Available Agents
21
+
22
+ - @specky-onboarding — Interactive wizard and default entry point
23
+ - @specky-orchestrator — Full pipeline coordinator (all 10 phases)
24
+ - @specky-sdd-init — Initialize pipeline (Phase 0)
25
+ - @specky-requirements-engineer — Produce FRD + NFRD
26
+ - @specky-research-analyst — Technical research (Phase 1)
27
+ - @specky-spec-engineer — Write SPECIFICATION.md with EARS (Phase 2)
28
+ - @specky-sdd-clarify — Resolve ambiguities (Phase 3)
29
+ - @specky-design-architect — Write DESIGN.md + diagrams (Phase 4)
30
+ - @specky-task-planner — Write TASKS.md + CHECKLIST.md (Phase 5)
31
+ - @specky-quality-reviewer — Completeness audit + compliance (Phase 6)
32
+ - @specky-implementer — Implementation scaffolding (Phase 7)
33
+ - @specky-test-verifier — Coverage verification (Phase 8)
34
+ - @specky-release-engineer — Release preparation (Phase 9)
35
+
36
+ ## Available Commands
37
+
38
+ Use slash commands in Cursor (`/prompt-name`):
39
+
40
+ **Quick Start:** /specky-onboarding, /specky-orchestrate, /specky-greenfield, /specky-brownfield, /specky-migration, /specky-api
41
+ **Pipeline:** /specky-research, /specky-clarify, /specky-specify, /specky-design, /specky-tasks, /specky-implement, /specky-verify, /specky-release, /specky-deploy
42
+ **Special:** /specky-from-figma, /specky-from-meeting, /specky-check-drift, /specky-resolve-conflict
43
+ **Debug:** /specky-debug-hook, /specky-pipeline-status, /specky-reset-phase
44
+
45
+ ## Quality Gates
46
+
47
+ Cursor installs native hooks at `.cursor/hooks.json` and `.cursor/hooks/scripts/`:
48
+
49
+ - **Blocking gates:** specky-artifact-validator, specky-phase-gate, specky-security-scan, specky-release-gate (failClosed)
50
+ - **Advisory gates:** specky-branch-validator, specky-pipeline-guard, specky-lgtm-gate, specky-drift-monitor, specky-auto-checkpoint
51
+ - **LGTM gates:** Phases 2 (Specify), 4 (Design), 5 (Tasks) pause for human review
52
+ - **Server-enforced gates:** Analysis APPROVE is required before implement-phase MCP tools run
53
+
54
+ If hooks are unavailable, enforce the same gates through MCP tools and agent workflows.
55
+
56
+ ## MCP Server
57
+
58
+ The specky-sdd MCP server (58 tools) is configured in `.cursor/mcp.json` and runs via npx.
59
+
60
+ ## EARS Patterns
61
+
62
+ | Pattern | Format |
63
+ |---------|--------|
64
+ | Ubiquitous | The system shall... |
65
+ | Event-driven | When [event], the system shall... |
66
+ | State-driven | While [state], the system shall... |
67
+ | Optional | Where [condition], the system shall... |
68
+ | Unwanted | If [condition], then the system shall... |
69
+ | Complex | While [state], when [event], the system shall... |
@@ -0,0 +1,45 @@
1
+ ---
2
+ applyTo: '**'
3
+ ---
4
+
5
+ # Specky SDD — OpenCode Instructions
6
+
7
+ This project uses Spec-Driven Development (SDD) via the Specky pipeline.
8
+
9
+ ## Bootstrap
10
+
11
+ OpenCode requires two steps after install:
12
+
13
+ 1. `specky install --target=opencode` — agents, commands, skills, MCP in `opencode.json`
14
+ 2. `specky compile --target=opencode` — writes `AGENTS.md` root context
15
+
16
+ ## Key Rules
17
+
18
+ 1. **EARS notation is mandatory.** Every requirement must follow one of the 6 EARS patterns.
19
+ 2. **REQ-ID traceability is non-negotiable.** Every test, task, and design decision traces to a REQ-ID.
20
+ 3. **Artifacts live in `.specs/NNN-feature/`.** CONSTITUTION.md, SPECIFICATION.md, DESIGN.md, TASKS.md, ANALYSIS.md, VERIFICATION.md.
21
+ 4. **One branch per spec.** Create `spec/NNN-feature-name` from `develop` for pipeline work (Phases 0-7).
22
+ 5. **Load companion SKILL.md first.** Read `.agents/skills/{skill-name}/SKILL.md` before phase work.
23
+ 6. **Orchestrator is the single entry point.** When `.specs/` has an active pipeline, route work through `@specky-orchestrator` or `/specky-orchestrate`.
24
+
25
+ ## Available Agents
26
+
27
+ - @specky-onboarding, @specky-orchestrator, @specky-sdd-init, @specky-spec-engineer, @specky-sdd-clarify
28
+ - @specky-design-architect, @specky-task-planner, @specky-quality-reviewer, @specky-implementer
29
+ - @specky-test-verifier, @specky-release-engineer, @specky-research-analyst, @specky-requirements-engineer
30
+
31
+ ## Tool Tokens
32
+
33
+ OpenCode agents use native tools: `read`, `edit`, `bash`, `fetch`, `agent`, `todo`, and `specky/sdd_*` MCP tools.
34
+
35
+ ## Quality Gates
36
+
37
+ OpenCode has no native hook runtime. Enforce gates via MCP tools:
38
+
39
+ - Run `sdd_run_analysis` and obtain APPROVE before implementation tools
40
+ - Use `/specky-pipeline-status` to check phase and gate state
41
+ - LGTM review at Specify, Design, and Tasks phases
42
+
43
+ ## MCP Server
44
+
45
+ Configured in `opencode.json` under `mcp.specky` — runs via `npx specky-sdd serve`.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Get started with Specky SDD — interactive wizard
3
+ argument-hint: <project context or goal>
3
4
  agent: agent
4
5
  ---
5
6
  Help me get started with Specky SDD.
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  description: Check SDD pipeline status
3
+ argument-hint: <feature-number or all>
3
4
  agent: agent
4
5
  ---
5
6
  Check the SDD pipeline status for feature [FEATURE NUMBER or "all"].
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: specky-design-architect
3
+ description: "Use for Phase 4 (Design): produce DESIGN.md with architecture, API contracts, data model, and Mermaid diagrams. Trigger on sdd_write_design, sdd_generate_all_diagrams, or /specky-design."
4
+ ---
5
+
6
+ # Phase 4 — Design
7
+
8
+ ## Prerequisites
9
+ - Approved SPECIFICATION.md at the Phase 2 LGTM gate
10
+
11
+ ## Workflow
12
+ 1. Read SPECIFICATION.md and CONSTITUTION.md
13
+ 2. Call `sdd_write_design` for architecture, API contracts, data model, and deployment topology
14
+ 3. Call `sdd_generate_all_diagrams`
15
+ 4. Trace every design decision to a REQ-ID
16
+ 5. Present DESIGN.md for LGTM at the Phase 4 gate
17
+
18
+ ## Hard Rules
19
+ - API contracts cover all functional REQ-IDs
20
+ - Diagrams use Mermaid syntax only
21
+ - Branch must be `spec/NNN-*`
@@ -7,7 +7,7 @@ description: "This skill should be used when the user asks 'help me with specky'
7
7
 
8
8
  ## Overview
9
9
 
10
- Specky SDD is a Spec-Driven Development CLI toolkit with 58 MCP tools, 13 agents, 22 prompts, 8 skills, and 16 hook scripts. It enforces a 10-phase pipeline from requirements through release.
10
+ Specky SDD is a Spec-Driven Development CLI toolkit with 58 MCP tools, 13 agents, 22 prompts, 14 skills, and 16 hook scripts. It enforces a 10-phase pipeline from requirements through release.
11
11
 
12
12
  ## 5-Step Wizard Flow
13
13
 
@@ -91,13 +91,19 @@ Check for:
91
91
  - /specky-pipeline-status — Check pipeline status
92
92
  - /specky-reset-phase — Reset a pipeline phase
93
93
 
94
- ## All 8 Skills
94
+ ## All 14 Skills
95
95
 
96
96
  | Skill | Triggers On |
97
97
  |-------|-------------|
98
98
  | specky-sdd-pipeline | "specky", "SDD pipeline", "EARS notation", "pipeline phases" |
99
99
  | specky-orchestrator | "orchestrate", "run full pipeline", "advance phase" |
100
100
  | specky-onboarding | "help", "get started", "what is specky" |
101
+ | specky-sdd-init | "initialize", "greenfield", "new feature bootstrap" |
102
+ | specky-spec-engineer | "write specification", "EARS", "REQ-ID" |
103
+ | specky-sdd-clarify | "clarify", "ambiguous requirements", "EARS validation" |
104
+ | specky-design-architect | "design", "architecture", "Mermaid diagrams" |
105
+ | specky-task-planner | "tasks", "checklist", "implementation plan" |
106
+ | specky-quality-reviewer | "analysis", "quality review", "compliance" |
101
107
  | implementer | "implementation plan", "test stubs", "IaC generation" |
102
108
  | test-verifier | "verify tests", "check coverage", "phantom detection" |
103
109
  | release-engineer | "prepare release", "create PR", "release gates" |
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: specky-quality-reviewer
3
+ description: "Use for Phase 6 (Analyze): completeness audit, cross-analysis, compliance, and ANALYSIS.md gate decision. Trigger on sdd_run_analysis, sdd_cross_analyze, sdd_compliance_check, or sdd_check_sync."
4
+ ---
5
+
6
+ # Phase 6 — Analyze
7
+
8
+ ## Prerequisites
9
+ - TASKS.md and CHECKLIST.md complete on `spec/NNN-*`, or post-merge on `develop` per project policy
10
+
11
+ ## Workflow
12
+ 1. Read SPECIFICATION.md, DESIGN.md, TASKS.md, and CHECKLIST.md
13
+ 2. Call `sdd_run_analysis`
14
+ 3. Call `sdd_cross_analyze`
15
+ 4. Call `sdd_check_sync` if code exists
16
+ 5. Optional: call `sdd_compliance_check` for SOC2, HIPAA, GDPR, PCI-DSS, or ISO 27001
17
+ 6. Write ANALYSIS.md with gate decision: APPROVE, CONDITIONAL, or REJECT
18
+ 7. Write COMPLIANCE.md if compliance ran
19
+ 8. Call `sdd_metrics`
20
+
21
+ ## Gate Rules
22
+ - REJECT blocks the pipeline
23
+ - CONDITIONAL lists required fixes
24
+ - Never APPROVE if pass rate is below 90% or critical drift exists
25
+
26
+ ## Hard Rules
27
+ - Findings must be evidence-based
28
+ - Phase 6 runs after Tasks and before Implement/Verify
@@ -0,0 +1,25 @@
1
+ ---
2
+ name: specky-sdd-clarify
3
+ description: "Use for Phase 3 (Clarify): resolve ambiguous requirements, validate EARS, and produce CLARIFICATION-LOG.md. Trigger on sdd_clarify or /specky-clarify."
4
+ ---
5
+
6
+ # Phase 3 — Clarify
7
+
8
+ ## Prerequisites
9
+ - SPECIFICATION.md exists
10
+
11
+ ## Workflow
12
+ 1. Read SPECIFICATION.md
13
+ 2. Call `sdd_clarify` with at most 5 questions per round
14
+ 3. Wait for developer answers
15
+ 4. Call `sdd_validate_ears`
16
+ 5. Rewrite non-compliant requirements
17
+ 6. Loop until ambiguities are resolved and EARS passes
18
+ 7. Write or update CLARIFICATION-LOG.md
19
+
20
+ ## EARS
21
+ Use the canonical 6 patterns in `../specky-sdd-pipeline/references/ears-notation.md`.
22
+
23
+ ## Hard Rules
24
+ - Ask at most 5 disambiguation questions per round
25
+ - Do not advance to Design until ambiguities are resolved
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: specky-sdd-init
3
+ description: "Use when initializing Phase 0 (Init): scaffold .specs/NNN-feature/, CONSTITUTION.md, .sdd-state.json, and spec branch from develop. Trigger on sdd_init, greenfield setup, or new feature bootstrap."
4
+ ---
5
+
6
+ # Phase 0 — Init
7
+
8
+ ## Prerequisites
9
+ - Feature name and project type: greenfield, brownfield, migration, or API
10
+ - `develop` branch exists, or the exception is documented
11
+
12
+ ## Workflow
13
+ 1. Gather feature name, project type, and constraints
14
+ 2. Read FRD/NFRD from `docs/requirements/` if present
15
+ 3. Call `sdd_init` to create `.specs/NNN-feature/`, CONSTITUTION.md, and `.sdd-state.json`
16
+ 4. Call `sdd_create_branch` to create `spec/NNN-feature-name` from `develop`
17
+ 5. For brownfield projects, call `sdd_scan_codebase`
18
+ 6. Present CONSTITUTION.md and wait for developer confirmation
19
+ 7. Hand off to `@specky-research-analyst`
20
+
21
+ ## Outputs
22
+ - CONSTITUTION.md
23
+ - `.sdd-state.json`
24
+
25
+ ## Hard Rules
26
+ - Never assign NNN manually; `sdd_init` owns numbering
27
+ - Never write artifacts beyond Phase 0
28
+ - Create `spec/NNN-*` from `develop`, never from `main` or `stage`