specky-sdd 3.8.0 → 3.9.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.
- package/.apm/agents/specky-design-architect.agent.md +1 -1
- package/.apm/agents/specky-implementer.agent.md +7 -7
- package/.apm/agents/specky-onboarding.agent.md +1 -1
- package/.apm/agents/specky-quality-reviewer.agent.md +5 -5
- package/.apm/agents/specky-release-engineer.agent.md +7 -7
- package/.apm/agents/specky-requirements-engineer.agent.md +6 -6
- package/.apm/agents/specky-research-analyst.agent.md +7 -7
- package/.apm/agents/specky-sdd-clarify.agent.md +3 -2
- package/.apm/agents/specky-sdd-init.agent.md +1 -1
- package/.apm/agents/specky-spec-engineer.agent.md +1 -1
- package/.apm/agents/specky-task-planner.agent.md +1 -1
- package/.apm/hooks/specky-run.sh +32 -0
- package/.apm/instructions/claude-instructions.instructions.md +74 -0
- package/.apm/instructions/copilot-instructions.instructions.md +3 -9
- package/.apm/instructions/cursor-instructions.instructions.md +20 -0
- package/.apm/prompts/specky-onboarding.prompt.md +1 -0
- package/.apm/prompts/specky-pipeline-status.prompt.md +1 -0
- package/.apm/skills/specky-design-architect/SKILL.md +21 -0
- package/.apm/skills/specky-onboarding/SKILL.md +8 -2
- package/.apm/skills/specky-quality-reviewer/SKILL.md +28 -0
- package/.apm/skills/specky-sdd-clarify/SKILL.md +25 -0
- package/.apm/skills/specky-sdd-init/SKILL.md +28 -0
- package/.apm/skills/specky-sdd-pipeline/SKILL.md +12 -19
- package/.apm/skills/specky-spec-engineer/SKILL.md +27 -0
- package/.apm/skills/specky-task-planner/SKILL.md +20 -0
- package/CHANGELOG.md +28 -0
- package/README.md +169 -79
- package/apm-policy.yml +7 -0
- package/apm.lock.yaml +28 -19
- package/apm.yml +2 -2
- package/config.yml +5 -3
- package/dist/cli/commands/compile.d.ts.map +1 -1
- package/dist/cli/commands/compile.js +35 -14
- package/dist/cli/commands/compile.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +134 -7
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/hooks.js +2 -2
- package/dist/cli/commands/hooks.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +8 -5
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/lib/asset-copier.d.ts.map +1 -1
- package/dist/cli/lib/asset-copier.js +71 -34
- package/dist/cli/lib/asset-copier.js.map +1 -1
- package/dist/cli/lib/gitignore-writer.d.ts.map +1 -1
- package/dist/cli/lib/gitignore-writer.js +2 -1
- package/dist/cli/lib/gitignore-writer.js.map +1 -1
- package/dist/cli/lib/harness/compilers/cursor.d.ts.map +1 -1
- package/dist/cli/lib/harness/compilers/cursor.js +2 -1
- package/dist/cli/lib/harness/compilers/cursor.js.map +1 -1
- package/dist/cli/lib/paths.d.ts +4 -0
- package/dist/cli/lib/paths.d.ts.map +1 -1
- package/dist/cli/lib/paths.js +4 -0
- package/dist/cli/lib/paths.js.map +1 -1
- package/dist/cursor-hooks.json +288 -0
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/package.json +5 -6
- package/site/specky-icon.png +0 -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-
|
|
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
-
|
|
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:
|
|
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-
|
|
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
|
|
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
|
|
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
|
-
|
|
36
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
applyTo: '**'
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Specky SDD - Cursor Instructions
|
|
6
|
+
|
|
7
|
+
1. EARS notation is mandatory: use the 6 canonical patterns from `.agents/skills/specky-sdd-pipeline/references/ears-notation.md`.
|
|
8
|
+
2. REQ-ID traceability is required on every requirement, task, design decision, and test.
|
|
9
|
+
3. Pipeline artifacts live in `.specs/NNN-feature/`; Phases 0-7 run on `spec/NNN-*` branches from `develop`.
|
|
10
|
+
4. Active pipeline (`.sdd-state.json`) routes through `@specky-orchestrator`; otherwise start with `@specky-onboarding`.
|
|
11
|
+
5. Load the companion SKILL.md before phase work: `.agents/skills/{agent-name}/SKILL.md`.
|
|
12
|
+
6. Cursor MCP is configured in `.cursor/mcp.json` with the `specky` server.
|
|
13
|
+
|
|
14
|
+
## Quality Gates
|
|
15
|
+
|
|
16
|
+
Cursor installs native hooks at `.cursor/hooks.json` and `.cursor/hooks/scripts/` when `dist/cursor-hooks.json` is available. Blocking gates deny unsafe artifact, phase, security, and release actions; advisory gates warn for branch, pipeline, LGTM, drift, and checkpoint workflows.
|
|
17
|
+
|
|
18
|
+
If hooks are unavailable, enforce the same gates through MCP tools, agent workflows, and this rule. Do not claim non-Cursor hook or MCP locations are Cursor runtime paths.
|
|
19
|
+
|
|
20
|
+
For the full phase workflow, invoke `/specky-onboarding` or read `.agents/skills/specky-sdd-pipeline/SKILL.md`.
|
|
@@ -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,
|
|
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
|
|
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`
|
|
@@ -29,27 +29,20 @@ The SDD pipeline consists of 10 sequential phases designed to transform feature
|
|
|
29
29
|
|
|
30
30
|
**Phase 9: Release** — Release gate execution, documentation generation, PR creation, work item export, and changelog preparation.
|
|
31
31
|
|
|
32
|
-
## EARS Notation (
|
|
32
|
+
## EARS Notation (Canonical 6 Patterns)
|
|
33
33
|
|
|
34
|
-
EARS (Easy Approach to Requirements Syntax)
|
|
34
|
+
EARS (Easy Approach to Requirements Syntax) uses six requirement patterns. Should/May express priority or obligation level inside a requirement; they are not separate Specky EARS patterns.
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
| Pattern | Format |
|
|
37
|
+
|---------|--------|
|
|
38
|
+
| Ubiquitous | The system shall... |
|
|
39
|
+
| Event-driven | When [event], the system shall... |
|
|
40
|
+
| State-driven | While [state], the system shall... |
|
|
41
|
+
| Optional | Where [condition], the system shall... |
|
|
42
|
+
| Unwanted | If [condition], then the system shall... |
|
|
43
|
+
| Complex | While [state], when [event], the system shall... |
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
- Example: "The system should display results within 2 seconds."
|
|
41
|
-
|
|
42
|
-
3. **May** — Optional enhancements. Format: "The system may [action]."
|
|
43
|
-
- Example: "The system may support bulk import operations."
|
|
44
|
-
|
|
45
|
-
4. **If...Then...** — Conditional requirements. Format: "If [condition] then [action]."
|
|
46
|
-
- Example: "If user is admin then system shall grant access to configuration panel."
|
|
47
|
-
|
|
48
|
-
5. **When...Then...** — Trigger-based requirements. Format: "When [event] then [action]."
|
|
49
|
-
- Example: "When form is submitted then system shall validate all required fields."
|
|
50
|
-
|
|
51
|
-
6. **Complex** — Combination patterns for intricate business logic.
|
|
52
|
-
- Example: "If user role is editor, when publish button is clicked, then system shall validate content and if valid shall queue for approval."
|
|
45
|
+
See `references/ears-notation.md` for examples and validation guidance.
|
|
53
46
|
|
|
54
47
|
## Model Recommendation Table
|
|
55
48
|
|
|
@@ -132,7 +125,7 @@ Hooks are configured in `sdd-hooks.json` with PreToolUse and PostToolUse matcher
|
|
|
132
125
|
@specky-implementer (Phase 7 — scaffold code + tests)
|
|
133
126
|
```
|
|
134
127
|
|
|
135
|
-
See
|
|
128
|
+
See the target-specific instruction rule for the full runtime entry point guidance.
|
|
136
129
|
|
|
137
130
|
## Workflow Entry Points
|
|
138
131
|
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specky-spec-engineer
|
|
3
|
+
description: "Use for Phase 2 (Specify): write SPECIFICATION.md with EARS, REQ-IDs, and acceptance criteria. Trigger on sdd_write_spec, sdd_turnkey_spec, sdd_validate_ears, or /specky-specify."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Phase 2 — Specify
|
|
7
|
+
|
|
8
|
+
## Prerequisites
|
|
9
|
+
- CONSTITUTION.md and RESEARCH.md exist on `spec/NNN-*`
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
1. Read CONSTITUTION.md and RESEARCH.md
|
|
13
|
+
2. Call `sdd_write_spec` or `sdd_turnkey_spec`
|
|
14
|
+
3. Optional: call `sdd_figma_to_spec`
|
|
15
|
+
4. Call `sdd_validate_ears` and fix every failure
|
|
16
|
+
5. Present SPECIFICATION.md for LGTM at the Phase 2 gate
|
|
17
|
+
|
|
18
|
+
## EARS
|
|
19
|
+
Use the canonical 6 patterns in `../specky-sdd-pipeline/references/ears-notation.md`.
|
|
20
|
+
|
|
21
|
+
## REQ-ID Format
|
|
22
|
+
`REQ-{DOMAIN}-{NNN}` — unique, uppercase domain, zero-padded sequence.
|
|
23
|
+
|
|
24
|
+
## Hard Rules
|
|
25
|
+
- Every requirement needs an EARS pattern, REQ-ID, and measurable acceptance criteria
|
|
26
|
+
- Always run `sdd_validate_ears` before presenting
|
|
27
|
+
- Branch must be `spec/NNN-*`
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specky-task-planner
|
|
3
|
+
description: "Use for Phase 5 (Tasks): produce TASKS.md and CHECKLIST.md with dependencies, REQ traceability, and complexity. Trigger on sdd_write_tasks, sdd_checklist, or /specky-tasks."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Phase 5 — Tasks
|
|
7
|
+
|
|
8
|
+
## Prerequisites
|
|
9
|
+
- Approved DESIGN.md at the Phase 4 LGTM gate
|
|
10
|
+
|
|
11
|
+
## Workflow
|
|
12
|
+
1. Read DESIGN.md and SPECIFICATION.md
|
|
13
|
+
2. Call `sdd_write_tasks` to create TASK-NNN items with [P], S/M/L/XL, dependencies, and REQ links
|
|
14
|
+
3. Call `sdd_checklist` for security, testing, and NFR checks
|
|
15
|
+
4. Present TASKS.md and CHECKLIST.md for LGTM at the Phase 5 gate
|
|
16
|
+
|
|
17
|
+
## Hard Rules
|
|
18
|
+
- Every task traces to at least one REQ-ID
|
|
19
|
+
- Parallel tasks are marked `[P]`
|
|
20
|
+
- Dependencies are explicit
|