specky-sdd 3.7.3 → 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/{design-architect.agent.md → specky-design-architect.agent.md} +2 -2
- package/.apm/agents/{implementer.agent.md → specky-implementer.agent.md} +9 -9
- package/.apm/agents/specky-onboarding.agent.md +2 -2
- package/.apm/agents/specky-orchestrator.agent.md +10 -10
- package/.apm/agents/{quality-reviewer.agent.md → specky-quality-reviewer.agent.md} +6 -6
- package/.apm/agents/{release-engineer.agent.md → specky-release-engineer.agent.md} +11 -11
- package/.apm/agents/{requirements-engineer.agent.md → specky-requirements-engineer.agent.md} +8 -8
- package/.apm/agents/{research-analyst.agent.md → specky-research-analyst.agent.md} +9 -9
- package/.apm/agents/{sdd-clarify.agent.md → specky-sdd-clarify.agent.md} +4 -3
- package/.apm/agents/{sdd-init.agent.md → specky-sdd-init.agent.md} +3 -3
- package/.apm/agents/{spec-engineer.agent.md → specky-spec-engineer.agent.md} +2 -2
- package/.apm/agents/{task-planner.agent.md → specky-task-planner.agent.md} +2 -2
- package/.apm/agents/{test-verifier.agent.md → specky-test-verifier.agent.md} +2 -2
- package/.apm/hooks/scripts/{artifact-validator.sh → specky-artifact-validator.sh} +11 -11
- package/.apm/hooks/scripts/{auto-checkpoint.sh → specky-auto-checkpoint.sh} +1 -1
- package/.apm/hooks/scripts/{branch-validator.sh → specky-branch-validator.sh} +3 -3
- package/.apm/hooks/scripts/{cognitive-debt-alert.sh → specky-cognitive-debt-alert.sh} +1 -1
- package/.apm/hooks/scripts/{drift-monitor.sh → specky-drift-monitor.sh} +1 -1
- package/.apm/hooks/scripts/{ears-validator.sh → specky-ears-validator.sh} +1 -1
- package/.apm/hooks/scripts/{lgtm-gate.sh → specky-lgtm-gate.sh} +1 -1
- package/.apm/hooks/scripts/{metrics-dashboard.sh → specky-metrics-dashboard.sh} +2 -2
- package/.apm/hooks/scripts/{phase-gate.sh → specky-phase-gate.sh} +1 -1
- package/.apm/hooks/scripts/{pipeline-guard.sh → specky-pipeline-guard.sh} +3 -3
- package/.apm/hooks/scripts/{release-gate.sh → specky-release-gate.sh} +1 -1
- package/.apm/hooks/scripts/{security-scan.sh → specky-security-scan.sh} +2 -2
- package/.apm/hooks/scripts/{session-banner.sh → specky-session-banner.sh} +4 -4
- package/.apm/hooks/scripts/{spec-quality.sh → specky-spec-quality.sh} +1 -1
- package/.apm/hooks/scripts/{spec-sync.sh → specky-spec-sync.sh} +2 -2
- package/.apm/hooks/scripts/{task-tracer.sh → specky-task-tracer.sh} +1 -1
- package/.apm/hooks/sdd-hooks.json +51 -51
- package/.apm/hooks/specky-run.sh +32 -0
- package/.apm/instructions/claude-instructions.instructions.md +74 -0
- package/.apm/instructions/copilot-instructions.instructions.md +19 -25
- package/.apm/instructions/cursor-instructions.instructions.md +20 -0
- package/.apm/prompts/specky-api.prompt.md +2 -2
- package/.apm/prompts/specky-brownfield.prompt.md +2 -2
- package/.apm/prompts/specky-clarify.prompt.md +1 -1
- package/.apm/prompts/specky-debug-hook.prompt.md +1 -1
- package/.apm/prompts/specky-deploy.prompt.md +1 -1
- package/.apm/prompts/specky-design.prompt.md +1 -1
- package/.apm/prompts/specky-from-meeting.prompt.md +1 -1
- package/.apm/prompts/specky-greenfield.prompt.md +2 -2
- package/.apm/prompts/specky-implement.prompt.md +1 -1
- package/.apm/prompts/specky-migration.prompt.md +3 -3
- package/.apm/prompts/specky-onboarding.prompt.md +1 -0
- package/.apm/prompts/specky-pipeline-status.prompt.md +1 -0
- package/.apm/prompts/specky-release.prompt.md +1 -1
- package/.apm/prompts/specky-research.prompt.md +1 -1
- package/.apm/prompts/specky-specify.prompt.md +1 -1
- package/.apm/prompts/specky-tasks.prompt.md +1 -1
- package/.apm/prompts/specky-verify.prompt.md +1 -1
- package/.apm/skills/specky-design-architect/SKILL.md +21 -0
- package/.apm/skills/{implementer → specky-implementer}/SKILL.md +3 -3
- package/.apm/skills/specky-onboarding/SKILL.md +37 -31
- package/.apm/skills/specky-orchestrator/SKILL.md +28 -28
- package/.apm/skills/specky-quality-reviewer/SKILL.md +28 -0
- package/.apm/skills/{release-engineer → specky-release-engineer}/SKILL.md +7 -7
- package/.apm/skills/{research-analyst → specky-research-analyst}/SKILL.md +2 -2
- package/.apm/skills/specky-sdd-clarify/SKILL.md +25 -0
- package/.apm/skills/specky-sdd-init/SKILL.md +28 -0
- package/.apm/skills/{sdd-markdown-standard → specky-sdd-markdown-standard}/SKILL.md +2 -2
- package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/SKILL.md +42 -49
- package/.apm/skills/specky-spec-engineer/SKILL.md +27 -0
- package/.apm/skills/specky-task-planner/SKILL.md +20 -0
- package/.apm/skills/{test-verifier → specky-test-verifier}/SKILL.md +2 -2
- package/CHANGELOG.md +57 -0
- package/README.md +189 -96
- package/apm-policy.yml +19 -0
- package/apm.lock.yaml +70 -61
- package/apm.yml +10 -7
- package/config.yml +35 -33
- package/dist/claude-hooks.json +51 -51
- package/dist/cli/commands/compile.d.ts +7 -0
- package/dist/cli/commands/compile.d.ts.map +1 -0
- package/dist/cli/commands/compile.js +127 -0
- package/dist/cli/commands/compile.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +167 -18
- 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 +1 -0
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +121 -19
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/upgrade.d.ts.map +1 -1
- package/dist/cli/commands/upgrade.js +5 -2
- package/dist/cli/commands/upgrade.js.map +1 -1
- package/dist/cli/index.js +21 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/lib/apm/policy.d.ts.map +1 -1
- package/dist/cli/lib/apm/policy.js +47 -33
- package/dist/cli/lib/apm/policy.js.map +1 -1
- package/dist/cli/lib/asset-copier.d.ts +13 -0
- package/dist/cli/lib/asset-copier.d.ts.map +1 -1
- package/dist/cli/lib/asset-copier.js +107 -32
- 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 +11 -0
- package/dist/cli/lib/gitignore-writer.js.map +1 -1
- package/dist/cli/lib/harness/compilers/agent-skills.d.ts +7 -0
- package/dist/cli/lib/harness/compilers/agent-skills.d.ts.map +1 -0
- package/dist/cli/lib/harness/compilers/agent-skills.js +23 -0
- package/dist/cli/lib/harness/compilers/agent-skills.js.map +1 -0
- package/dist/cli/lib/harness/compilers/cursor.d.ts +8 -0
- package/dist/cli/lib/harness/compilers/cursor.d.ts.map +1 -0
- package/dist/cli/lib/harness/compilers/cursor.js +28 -0
- package/dist/cli/lib/harness/compilers/cursor.js.map +1 -0
- package/dist/cli/lib/harness/compilers/opencode.d.ts +7 -0
- package/dist/cli/lib/harness/compilers/opencode.d.ts.map +1 -0
- package/dist/cli/lib/harness/compilers/opencode.js +26 -0
- package/dist/cli/lib/harness/compilers/opencode.js.map +1 -0
- package/dist/cli/lib/harness/index.d.ts.map +1 -1
- package/dist/cli/lib/harness/index.js +6 -0
- package/dist/cli/lib/harness/index.js.map +1 -1
- package/dist/cli/lib/harness/tool-map.d.ts.map +1 -1
- package/dist/cli/lib/harness/tool-map.js +23 -1
- package/dist/cli/lib/harness/tool-map.js.map +1 -1
- package/dist/cli/lib/harness/types.d.ts +2 -2
- package/dist/cli/lib/harness/types.d.ts.map +1 -1
- package/dist/cli/lib/mcp-writer.d.ts +1 -0
- package/dist/cli/lib/mcp-writer.d.ts.map +1 -1
- package/dist/cli/lib/mcp-writer.js +5 -1
- package/dist/cli/lib/mcp-writer.js.map +1 -1
- package/dist/cli/lib/paths.d.ts +19 -0
- package/dist/cli/lib/paths.d.ts.map +1 -1
- package/dist/cli/lib/paths.js +21 -0
- package/dist/cli/lib/paths.js.map +1 -1
- package/dist/copilot-hooks.json +46 -46
- package/dist/cursor-hooks.json +288 -0
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/services/state-machine.d.ts +4 -3
- package/dist/services/state-machine.d.ts.map +1 -1
- package/dist/services/state-machine.js +17 -9
- package/dist/services/state-machine.js.map +1 -1
- package/package.json +6 -7
- package/site/specky-icon.png +0 -0
- /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/ears-notation.md +0 -0
- /package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/references/model-routing.md +0 -0
|
@@ -5,4 +5,4 @@ argument-hint: <feature-number>
|
|
|
5
5
|
---
|
|
6
6
|
Run the SDD implementation phase for feature [FEATURE NUMBER].
|
|
7
7
|
|
|
8
|
-
@implementer — generate implementation plan, quality checklists, test stubs with REQ-* traceability, and infrastructure scaffolding.
|
|
8
|
+
@specky-implementer — generate implementation plan, quality checklists, test stubs with REQ-* traceability, and infrastructure scaffolding.
|
|
@@ -11,6 +11,6 @@ Plan a system migration using the Specky SDD pipeline.
|
|
|
11
11
|
**Timeline:** [Migration deadline or phases]
|
|
12
12
|
|
|
13
13
|
Please:
|
|
14
|
-
1. Call @requirements-engineer to capture migration requirements as FRD + NFRD
|
|
15
|
-
2. Call @sdd-init with project_type=migration
|
|
16
|
-
3. Call @research-analyst to scan both source and target
|
|
14
|
+
1. Call @specky-requirements-engineer to capture migration requirements as FRD + NFRD
|
|
15
|
+
2. Call @specky-sdd-init with project_type=migration
|
|
16
|
+
3. Call @specky-research-analyst to scan both source and target
|
|
@@ -8,4 +8,4 @@ Run the SDD release phase for feature [FEATURE NUMBER].
|
|
|
8
8
|
**Branch:** [current spec/NNN-* branch]
|
|
9
9
|
**Target:** develop (then stage → main after gates pass)
|
|
10
10
|
|
|
11
|
-
@release-engineer — verify branch, run blocking gates (security-scan + release-gate), generate documentation, create PR targeting the correct branch.
|
|
11
|
+
@specky-release-engineer — verify branch, run blocking gates (specky-security-scan + specky-release-gate), generate documentation, create PR targeting the correct branch.
|
|
@@ -5,4 +5,4 @@ argument-hint: <feature-number or research topic>
|
|
|
5
5
|
---
|
|
6
6
|
Run the SDD Discover phase (research) for feature [FEATURE NUMBER].
|
|
7
7
|
|
|
8
|
-
@research-analyst — scan the codebase, import relevant documents, run discovery questions, and produce RESEARCH.md.
|
|
8
|
+
@specky-research-analyst — scan the codebase, import relevant documents, run discovery questions, and produce RESEARCH.md.
|
|
@@ -5,4 +5,4 @@ argument-hint: <feature-number>
|
|
|
5
5
|
---
|
|
6
6
|
Run the SDD specification phase for feature [FEATURE NUMBER].
|
|
7
7
|
|
|
8
|
-
@spec-engineer — write SPECIFICATION.md using EARS notation. Every requirement must have a unique REQ-ID (REQ-DOMAIN-NNN), one of the 6 EARS patterns, and measurable acceptance criteria. Call sdd_write_spec then sdd_validate_ears.
|
|
8
|
+
@specky-spec-engineer — write SPECIFICATION.md using EARS notation. Every requirement must have a unique REQ-ID (REQ-DOMAIN-NNN), one of the 6 EARS patterns, and measurable acceptance criteria. Call sdd_write_spec then sdd_validate_ears.
|
|
@@ -5,4 +5,4 @@ argument-hint: <feature-number>
|
|
|
5
5
|
---
|
|
6
6
|
Run the SDD task breakdown phase for feature [FEATURE NUMBER].
|
|
7
7
|
|
|
8
|
-
@task-planner — produce TASKS.md with dependency-resolved task sequence, [P] parallel markers, REQ-* traceability on every task, and complexity estimates (S/M/L/XL). Call sdd_write_tasks then sdd_checklist.
|
|
8
|
+
@specky-task-planner — produce TASKS.md with dependency-resolved task sequence, [P] parallel markers, REQ-* traceability on every task, and complexity estimates (S/M/L/XL). Call sdd_write_tasks then sdd_checklist.
|
|
@@ -5,4 +5,4 @@ argument-hint: <feature-number>
|
|
|
5
5
|
---
|
|
6
6
|
Run the SDD verification phase for feature [FEATURE NUMBER].
|
|
7
7
|
|
|
8
|
-
@test-verifier — verify test coverage, detect phantom completions, check spec-code drift. Gate: ≥90% pass, all P0 covered, zero phantoms.
|
|
8
|
+
@specky-test-verifier — verify test coverage, detect phantom completions, check spec-code drift. Gate: ≥90% pass, all P0 covered, zero phantoms.
|
|
@@ -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-*`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: implementer
|
|
2
|
+
name: specky-implementer
|
|
3
3
|
description: "This skill should be used when the user asks to 'generate implementation plan', 'create test stubs', 'set up infrastructure', 'generate quality checklists', 'transition from spec to code', or needs guidance on Phase 7 implementation scaffolding. Also trigger on 'sdd implement', 'implementation handoff', 'IaC generation', or 'test framework selection'."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -119,7 +119,7 @@ Continuous synchronization between SPECIFICATION.md and implementation:
|
|
|
119
119
|
- When code deviates from SPECIFICATION.md, flag as spec drift
|
|
120
120
|
- When implementation discovers missing requirement, update SPECIFICATION.md
|
|
121
121
|
- If design changes needed mid-implementation, update DESIGN.md and notify stakeholders
|
|
122
|
-
- Daily spec-sync report comparing implemented features to SPECIFICATION.md
|
|
122
|
+
- Daily specky-spec-sync report comparing implemented features to SPECIFICATION.md
|
|
123
123
|
|
|
124
124
|
## Implementation Handoff Template
|
|
125
125
|
|
|
@@ -168,4 +168,4 @@ Reference: **arXiv:2502.08235** — Use standard inference (no extended thinking
|
|
|
168
168
|
|
|
169
169
|
## Companion Agent
|
|
170
170
|
|
|
171
|
-
**@implementer** — Phase 7 agent that calls these tools in sequence. Load this skill as first step.
|
|
171
|
+
**@specky-implementer** — Phase 7 agent that calls these tools in sequence. Load this skill as first step.
|
|
@@ -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
|
|
|
@@ -47,17 +47,17 @@ Check for:
|
|
|
47
47
|
|-------|-------|---------|
|
|
48
48
|
| @specky-onboarding | Pre | Interactive wizard and help |
|
|
49
49
|
| @specky-orchestrator | All | Full pipeline coordinator |
|
|
50
|
-
| @sdd-init | 0 | Initialize pipeline + create spec branch |
|
|
51
|
-
| @research-analyst | 1 | Codebase scan + discovery |
|
|
52
|
-
| @spec-engineer | 2 | Write SPECIFICATION.md with EARS |
|
|
53
|
-
| @sdd-clarify | 3 | Resolve ambiguities + EARS validation |
|
|
54
|
-
| @design-architect | 4 | Write DESIGN.md + diagrams |
|
|
55
|
-
| @task-planner | 5 | Write TASKS.md + CHECKLIST.md |
|
|
56
|
-
| @quality-reviewer | 6 | Completeness audit + compliance |
|
|
57
|
-
| @implementer | 7 | Implementation plan + test stubs + IaC |
|
|
58
|
-
| @test-verifier | 8 | Coverage + drift + phantom detection |
|
|
59
|
-
| @requirements-engineer | Pre | FRD + NFRD from raw input |
|
|
60
|
-
| @release-engineer | 9 | Gates + PR + docs + work items |
|
|
50
|
+
| @specky-sdd-init | 0 | Initialize pipeline + create spec branch |
|
|
51
|
+
| @specky-research-analyst | 1 | Codebase scan + discovery |
|
|
52
|
+
| @specky-spec-engineer | 2 | Write SPECIFICATION.md with EARS |
|
|
53
|
+
| @specky-sdd-clarify | 3 | Resolve ambiguities + EARS validation |
|
|
54
|
+
| @specky-design-architect | 4 | Write DESIGN.md + diagrams |
|
|
55
|
+
| @specky-task-planner | 5 | Write TASKS.md + CHECKLIST.md |
|
|
56
|
+
| @specky-quality-reviewer | 6 | Completeness audit + compliance |
|
|
57
|
+
| @specky-implementer | 7 | Implementation plan + test stubs + IaC |
|
|
58
|
+
| @specky-test-verifier | 8 | Coverage + drift + phantom detection |
|
|
59
|
+
| @specky-requirements-engineer | Pre | FRD + NFRD from raw input |
|
|
60
|
+
| @specky-release-engineer | 9 | Gates + PR + docs + work items |
|
|
61
61
|
|
|
62
62
|
## All 22 Prompts
|
|
63
63
|
|
|
@@ -91,18 +91,24 @@ 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
|
-
| sdd-pipeline | "specky", "SDD pipeline", "EARS notation", "pipeline phases" |
|
|
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" |
|
|
104
110
|
| research-analyst | "research codebase", "scan tech stack", "import documents" |
|
|
105
|
-
| sdd-markdown-standard | "artifact format", "spec formatting" |
|
|
111
|
+
| specky-sdd-markdown-standard | "artifact format", "spec formatting" |
|
|
106
112
|
|
|
107
113
|
## 58 MCP Tools by Category
|
|
108
114
|
|
|
@@ -135,21 +141,21 @@ Check for:
|
|
|
135
141
|
## 16 Hook Scripts
|
|
136
142
|
|
|
137
143
|
**Blocking (exit 2 = halt):**
|
|
138
|
-
- artifact-validator.sh — Prerequisite .md files exist
|
|
139
|
-
- phase-gate.sh — Output artifact created with quality
|
|
140
|
-
- security-scan.sh — OWASP + secrets scan
|
|
141
|
-
- release-gate.sh — 90% pass rate + artifact checks
|
|
144
|
+
- specky-artifact-validator.sh — Prerequisite .md files exist
|
|
145
|
+
- specky-phase-gate.sh — Output artifact created with quality
|
|
146
|
+
- specky-security-scan.sh — OWASP + secrets scan
|
|
147
|
+
- specky-release-gate.sh — 90% pass rate + artifact checks
|
|
142
148
|
|
|
143
149
|
**Advisory (exit 0 = warn):**
|
|
144
|
-
- branch-validator.sh — Branch matches phase expectations
|
|
145
|
-
- pipeline-guard.sh — Pipeline ordering / phase-skip guard
|
|
146
|
-
- lgtm-gate.sh — Human review reminder at Phases 2/4/5
|
|
147
|
-
- session-banner.sh — Session start pipeline-status banner
|
|
148
|
-
- spec-sync.sh — Detect spec-code drift
|
|
149
|
-
- auto-checkpoint.sh — Suggest checkpoint after writes
|
|
150
|
-
- spec-quality.sh — Specification quality metrics
|
|
151
|
-
- ears-validator.sh — EARS pattern compliance
|
|
152
|
-
- task-tracer.sh — Task dependency graph
|
|
153
|
-
- drift-monitor.sh — CONSTITUTION drift detection
|
|
154
|
-
- cognitive-debt-alert.sh — Cognitive surrender detection
|
|
155
|
-
- metrics-dashboard.sh — Quality metrics collection
|
|
150
|
+
- specky-branch-validator.sh — Branch matches phase expectations
|
|
151
|
+
- specky-pipeline-guard.sh — Pipeline ordering / phase-skip guard
|
|
152
|
+
- specky-lgtm-gate.sh — Human review reminder at Phases 2/4/5
|
|
153
|
+
- specky-session-banner.sh — Session start pipeline-status banner
|
|
154
|
+
- specky-spec-sync.sh — Detect spec-code drift
|
|
155
|
+
- specky-auto-checkpoint.sh — Suggest checkpoint after writes
|
|
156
|
+
- specky-spec-quality.sh — Specification quality metrics
|
|
157
|
+
- specky-ears-validator.sh — EARS pattern compliance
|
|
158
|
+
- specky-task-tracer.sh — Task dependency graph
|
|
159
|
+
- specky-drift-monitor.sh — CONSTITUTION drift detection
|
|
160
|
+
- specky-cognitive-debt-alert.sh — Cognitive surrender detection
|
|
161
|
+
- specky-metrics-dashboard.sh — Quality metrics collection
|
|
@@ -15,16 +15,16 @@ Model guidance is capability-based: fast, balanced, and reasoning-focused. Do no
|
|
|
15
15
|
|
|
16
16
|
| Phase | Agent | Recommended Class | MCP Tools | Required Input | Output Artifact |
|
|
17
17
|
|-------|-------|-------------------|-----------|----------------|-----------------|
|
|
18
|
-
| 0 Init | @sdd-init | Fast | sdd_init, sdd_scan_codebase | — | CONSTITUTION.md, .sdd-state.json |
|
|
19
|
-
| 1 Discover | @research-analyst | Balanced | sdd_discover, sdd_research, sdd_import_document, sdd_import_transcript, sdd_check_ecosystem | CONSTITUTION.md | RESEARCH.md |
|
|
20
|
-
| 2 Specify | @spec-engineer | Reasoning-focused | sdd_write_spec, sdd_turnkey_spec, sdd_validate_ears, sdd_figma_to_spec | RESEARCH.md | SPECIFICATION.md |
|
|
21
|
-
| 3 Clarify | @sdd-clarify | Reasoning-focused | sdd_clarify, sdd_validate_ears, sdd_turnkey_spec | SPECIFICATION.md | Updates to SPECIFICATION.md |
|
|
22
|
-
| 4 Design | @design-architect | Reasoning-focused | sdd_write_design, sdd_generate_all_diagrams, sdd_generate_diagram | SPECIFICATION.md | DESIGN.md |
|
|
23
|
-
| 5 Tasks | @task-planner | Balanced | sdd_write_tasks, sdd_checklist | DESIGN.md | TASKS.md, CHECKLIST.md |
|
|
24
|
-
| 6 Analyze | @quality-reviewer | Balanced | sdd_run_analysis, sdd_cross_analyze, sdd_compliance_check, sdd_check_sync | TASKS.md, CHECKLIST.md | ANALYSIS.md, COMPLIANCE.md |
|
|
25
|
-
| 7 Implement | @implementer | Balanced | sdd_implement, sdd_generate_tests, sdd_generate_pbt, sdd_generate_iac, sdd_generate_dockerfile | ANALYSIS.md | Code scaffolding, test stubs |
|
|
26
|
-
| 8 Verify | @test-verifier | Reasoning-focused | sdd_verify_tests, sdd_verify_tasks, sdd_check_sync, sdd_validate_ears | SPECIFICATION.md, TASKS.md | VERIFICATION.md, CROSS_ANALYSIS.md |
|
|
27
|
-
| 9 Release | @release-engineer | Fast | sdd_create_pr, sdd_generate_all_docs, sdd_export_work_items | ANALYSIS.md (APPROVE) | PR, docs, work items |
|
|
18
|
+
| 0 Init | @specky-sdd-init | Fast | sdd_init, sdd_scan_codebase | — | CONSTITUTION.md, .sdd-state.json |
|
|
19
|
+
| 1 Discover | @specky-research-analyst | Balanced | sdd_discover, sdd_research, sdd_import_document, sdd_import_transcript, sdd_check_ecosystem | CONSTITUTION.md | RESEARCH.md |
|
|
20
|
+
| 2 Specify | @specky-spec-engineer | Reasoning-focused | sdd_write_spec, sdd_turnkey_spec, sdd_validate_ears, sdd_figma_to_spec | RESEARCH.md | SPECIFICATION.md |
|
|
21
|
+
| 3 Clarify | @specky-sdd-clarify | Reasoning-focused | sdd_clarify, sdd_validate_ears, sdd_turnkey_spec | SPECIFICATION.md | Updates to SPECIFICATION.md |
|
|
22
|
+
| 4 Design | @specky-design-architect | Reasoning-focused | sdd_write_design, sdd_generate_all_diagrams, sdd_generate_diagram | SPECIFICATION.md | DESIGN.md |
|
|
23
|
+
| 5 Tasks | @specky-task-planner | Balanced | sdd_write_tasks, sdd_checklist | DESIGN.md | TASKS.md, CHECKLIST.md |
|
|
24
|
+
| 6 Analyze | @specky-quality-reviewer | Balanced | sdd_run_analysis, sdd_cross_analyze, sdd_compliance_check, sdd_check_sync | TASKS.md, CHECKLIST.md | ANALYSIS.md, COMPLIANCE.md |
|
|
25
|
+
| 7 Implement | @specky-implementer | Balanced | sdd_implement, sdd_generate_tests, sdd_generate_pbt, sdd_generate_iac, sdd_generate_dockerfile | ANALYSIS.md | Code scaffolding, test stubs |
|
|
26
|
+
| 8 Verify | @specky-test-verifier | Reasoning-focused | sdd_verify_tests, sdd_verify_tasks, sdd_check_sync, sdd_validate_ears | SPECIFICATION.md, TASKS.md | VERIFICATION.md, CROSS_ANALYSIS.md |
|
|
27
|
+
| 9 Release | @specky-release-engineer | Fast | sdd_create_pr, sdd_generate_all_docs, sdd_export_work_items | ANALYSIS.md (APPROVE) | PR, docs, work items |
|
|
28
28
|
|
|
29
29
|
## Hook Enforcement Matrix
|
|
30
30
|
|
|
@@ -32,34 +32,34 @@ Model guidance is capability-based: fast, balanced, and reasoning-focused. Do no
|
|
|
32
32
|
|
|
33
33
|
| Tool Matcher | Hooks | Type |
|
|
34
34
|
|-------------|-------|------|
|
|
35
|
-
| sdd_init | branch-validator | Advisory |
|
|
36
|
-
| sdd_discover, sdd_research, sdd_import_* | artifact-validator, branch-validator | Blocking + Advisory |
|
|
37
|
-
| sdd_write_spec, sdd_turnkey_spec, sdd_figma_to_spec | artifact-validator, branch-validator | Blocking + Advisory |
|
|
38
|
-
| sdd_write_design, sdd_generate_all_diagrams | artifact-validator, branch-validator | Blocking + Advisory |
|
|
39
|
-
| sdd_write_tasks, sdd_checklist | artifact-validator, branch-validator | Blocking + Advisory |
|
|
40
|
-
| sdd_implement, sdd_generate_tests | artifact-validator, branch-validator | Blocking + Advisory |
|
|
41
|
-
| sdd_verify_tests, sdd_verify_tasks | artifact-validator, branch-validator | Blocking + Advisory |
|
|
42
|
-
| sdd_run_analysis, sdd_cross_analyze | artifact-validator, branch-validator | Blocking + Advisory |
|
|
43
|
-
| sdd_create_pr | artifact-validator, branch-validator, security-scan, release-gate | All Blocking |
|
|
35
|
+
| sdd_init | specky-branch-validator | Advisory |
|
|
36
|
+
| sdd_discover, sdd_research, sdd_import_* | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
|
|
37
|
+
| sdd_write_spec, sdd_turnkey_spec, sdd_figma_to_spec | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
|
|
38
|
+
| sdd_write_design, sdd_generate_all_diagrams | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
|
|
39
|
+
| sdd_write_tasks, sdd_checklist | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
|
|
40
|
+
| sdd_implement, sdd_generate_tests | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
|
|
41
|
+
| sdd_verify_tests, sdd_verify_tasks | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
|
|
42
|
+
| sdd_run_analysis, sdd_cross_analyze | specky-artifact-validator, specky-branch-validator | Blocking + Advisory |
|
|
43
|
+
| sdd_create_pr | specky-artifact-validator, specky-branch-validator, specky-security-scan, specky-release-gate | All Blocking |
|
|
44
44
|
|
|
45
45
|
### Post-Phase Hooks (validate after tool runs)
|
|
46
46
|
|
|
47
47
|
| Tool Matcher | Hooks | Type |
|
|
48
48
|
|-------------|-------|------|
|
|
49
|
-
| sdd_init | phase-gate, auto-checkpoint | Blocking + Advisory |
|
|
50
|
-
| sdd_write_spec, sdd_turnkey_spec | phase-gate, spec-quality, ears-validator, lgtm-gate, spec-sync, auto-checkpoint | Mixed |
|
|
51
|
-
| sdd_write_design | phase-gate, spec-sync, lgtm-gate, auto-checkpoint | Mixed |
|
|
52
|
-
| sdd_write_tasks | phase-gate, task-tracer, lgtm-gate, spec-sync, auto-checkpoint | Mixed |
|
|
53
|
-
| sdd_implement, sdd_generate_tests | spec-sync, auto-checkpoint | Advisory |
|
|
54
|
-
| sdd_verify_tests, sdd_verify_tasks | phase-gate, drift-monitor | Mixed |
|
|
55
|
-
| sdd_run_analysis, sdd_cross_analyze | phase-gate, cognitive-debt-alert, metrics-dashboard, drift-monitor | Mixed |
|
|
49
|
+
| sdd_init | specky-phase-gate, specky-auto-checkpoint | Blocking + Advisory |
|
|
50
|
+
| sdd_write_spec, sdd_turnkey_spec | specky-phase-gate, specky-spec-quality, specky-ears-validator, specky-lgtm-gate, specky-spec-sync, specky-auto-checkpoint | Mixed |
|
|
51
|
+
| sdd_write_design | specky-phase-gate, specky-spec-sync, specky-lgtm-gate, specky-auto-checkpoint | Mixed |
|
|
52
|
+
| sdd_write_tasks | specky-phase-gate, specky-task-tracer, specky-lgtm-gate, specky-spec-sync, specky-auto-checkpoint | Mixed |
|
|
53
|
+
| sdd_implement, sdd_generate_tests | specky-spec-sync, specky-auto-checkpoint | Advisory |
|
|
54
|
+
| sdd_verify_tests, sdd_verify_tasks | specky-phase-gate, specky-drift-monitor | Mixed |
|
|
55
|
+
| sdd_run_analysis, sdd_cross_analyze | specky-phase-gate, specky-cognitive-debt-alert, specky-metrics-dashboard, specky-drift-monitor | Mixed |
|
|
56
56
|
|
|
57
57
|
## LGTM Gate Protocol
|
|
58
58
|
|
|
59
59
|
Phases 2 (Specify), 4 (Design), and 5 (Tasks) require human LGTM before advancing:
|
|
60
60
|
|
|
61
61
|
1. Phase agent completes and writes artifact
|
|
62
|
-
2. lgtm-gate.sh runs → prints artifact summary
|
|
62
|
+
2. specky-lgtm-gate.sh runs → prints artifact summary
|
|
63
63
|
3. Orchestrator asks: "Review [ARTIFACT]. Reply 'LGTM' to proceed."
|
|
64
64
|
4. If LGTM → call sdd_advance_phase → next agent
|
|
65
65
|
5. If feedback → route back to phase agent for revision
|
|
@@ -79,7 +79,7 @@ Phases 2 (Specify), 4 (Design), and 5 (Tasks) require human LGTM before advancin
|
|
|
79
79
|
|
|
80
80
|
Before calling sdd_advance_phase, verify:
|
|
81
81
|
1. ✅ Required artifact exists (PHASE_REQUIRED_FILES)
|
|
82
|
-
2. ✅ Artifact has minimum quality (phase-gate.sh passed)
|
|
82
|
+
2. ✅ Artifact has minimum quality (specky-phase-gate.sh passed)
|
|
83
83
|
3. ✅ LGTM received (if phase 2, 4, or 5)
|
|
84
84
|
4. ✅ Branch matches expectations
|
|
85
85
|
5. ✅ Checkpoint created (sdd_checkpoint)
|
|
@@ -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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: release-engineer
|
|
2
|
+
name: specky-release-engineer
|
|
3
3
|
description: "This skill should be used when the user asks to 'prepare release', 'create PR', 'generate documentation', 'run release gates', or needs guidance on Phase 9 release. Also trigger on 'sdd release', 'blocking gates', 'security scan', 'release gate', or 'export work items'."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -33,11 +33,11 @@ Missing prerequisites block release. Run `/specky:check-gates` to validate.
|
|
|
33
33
|
|
|
34
34
|
Two sequential blocking gates must pass before release:
|
|
35
35
|
|
|
36
|
-
### Gate 1: Security Gate (security-scan.sh)
|
|
36
|
+
### Gate 1: Security Gate (specky-security-scan.sh)
|
|
37
37
|
|
|
38
38
|
Execute security scanning:
|
|
39
39
|
```bash
|
|
40
|
-
./scripts/security-scan.sh --full
|
|
40
|
+
./scripts/specky-security-scan.sh --full
|
|
41
41
|
```
|
|
42
42
|
|
|
43
43
|
Checks performed:
|
|
@@ -56,11 +56,11 @@ Pass criteria:
|
|
|
56
56
|
|
|
57
57
|
Fail items block release completely.
|
|
58
58
|
|
|
59
|
-
### Gate 2: Release Gate (release-gate.sh)
|
|
59
|
+
### Gate 2: Release Gate (specky-release-gate.sh)
|
|
60
60
|
|
|
61
61
|
Execute final release checklist:
|
|
62
62
|
```bash
|
|
63
|
-
./scripts/release-gate.sh --version=X.Y.Z
|
|
63
|
+
./scripts/specky-release-gate.sh --version=X.Y.Z
|
|
64
64
|
```
|
|
65
65
|
|
|
66
66
|
Verifies:
|
|
@@ -260,7 +260,7 @@ Generate from commit history, SPECIFICATION.md, and VERIFICATION.md:
|
|
|
260
260
|
|
|
261
261
|
```
|
|
262
262
|
/specky:release --version=X.Y.Z # Full release workflow
|
|
263
|
-
/specky:release --security-scan # Run security gate only
|
|
263
|
+
/specky:release --specky-security-scan # Run security gate only
|
|
264
264
|
/specky:release --generate-docs # Generate docs only
|
|
265
265
|
/specky:release --create-pr --no-merge # Create PR, don't merge
|
|
266
266
|
/specky:release --export-items # Export to project mgmt
|
|
@@ -290,4 +290,4 @@ If post-release issues detected:
|
|
|
290
290
|
|
|
291
291
|
## Companion Agent
|
|
292
292
|
|
|
293
|
-
**@release-engineer** — Phase 9 agent that runs blocking gates and calls these tools. Load this skill as first step.
|
|
293
|
+
**@specky-release-engineer** — Phase 9 agent that runs blocking gates and calls these tools. Load this skill as first step.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: research-analyst
|
|
2
|
+
name: specky-research-analyst
|
|
3
3
|
description: "This skill should be used when the user asks to 'research codebase', 'scan tech stack', 'import documents', 'discovery questions', or needs guidance on Phase 1 research. Also trigger on 'sdd research', 'brownfield scan', 'import transcript', or 'check ecosystem'."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -283,4 +283,4 @@ Structure the research artifact as:
|
|
|
283
283
|
|
|
284
284
|
## Companion Agent
|
|
285
285
|
|
|
286
|
-
**@research-analyst** — Phase 1 agent that calls these tools to build the knowledge baseline. Load this skill as first step.
|
|
286
|
+
**@specky-research-analyst** — Phase 1 agent that calls these tools to build the knowledge baseline. Load this skill as first step.
|
|
@@ -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`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: sdd-markdown-standard
|
|
2
|
+
name: specky-sdd-markdown-standard
|
|
3
3
|
description: "This skill should be used when generating or formatting SDD artifacts (CONSTITUTION.md, SPECIFICATION.md, DESIGN.md, TASKS.md, VERIFICATION.md, ANALYSIS.md). Also trigger on 'sdd markdown', 'artifact format', or 'spec formatting'."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -279,4 +279,4 @@ Run markdown linter: `markdownlint sdd-artifacts/`
|
|
|
279
279
|
|
|
280
280
|
## Companion Agent
|
|
281
281
|
|
|
282
|
-
**@requirements-engineer** — Pre-pipeline agent that produces FRD/NFRD documents using this formatting standard. Load this skill as first step.
|
|
282
|
+
**@specky-requirements-engineer** — Pre-pipeline agent that produces FRD/NFRD documents using this formatting standard. Load this skill as first step.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: sdd-pipeline
|
|
2
|
+
name: specky-sdd-pipeline
|
|
3
3
|
description: "This skill should be used when the user asks about 'spec-driven development', 'SDD pipeline', 'specky', 'pipeline phases', 'EARS notation', 'requirements engineering', 'model routing', or needs guidance on the 10-phase SDD workflow (Init → Discover → Specify → Clarify → Design → Tasks → Analyze → Implement → Verify → Release). Also trigger on 'spec this', 'plan this feature', 'break into tasks', 'quality gate', 'constitution', or 'spec sync'."
|
|
4
4
|
---
|
|
5
5
|
|
|
@@ -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
|
|
|
@@ -79,22 +72,22 @@ For Phase 7 (Implementation), prioritize fast feedback loops over long reasoning
|
|
|
79
72
|
The pipeline includes 16 automation hooks for customization:
|
|
80
73
|
|
|
81
74
|
**Blocking Hooks** (workflow stops if hook fails — exit code 2):
|
|
82
|
-
1. `artifact-validator` — Pre-tool: blocks if required artifacts missing
|
|
83
|
-
2. `phase-gate` — Post-tool: blocks if output artifact wasn't created
|
|
84
|
-
3. `security-scan` — Pre-release: blocks if hardcoded secrets detected
|
|
85
|
-
4. `release-gate` — Pre-release: blocks if gate conditions not met
|
|
75
|
+
1. `specky-artifact-validator` — Pre-tool: blocks if required artifacts missing
|
|
76
|
+
2. `specky-phase-gate` — Post-tool: blocks if output artifact wasn't created
|
|
77
|
+
3. `specky-security-scan` — Pre-release: blocks if hardcoded secrets detected
|
|
78
|
+
4. `specky-release-gate` — Pre-release: blocks if gate conditions not met
|
|
86
79
|
|
|
87
80
|
**Advisory Hooks** (workflow continues; failures logged):
|
|
88
|
-
1. `branch-validator` — Pre-tool: warns if wrong branch for phase
|
|
89
|
-
2. `spec-sync` — Post-tool: checks spec-code drift
|
|
90
|
-
3. `auto-checkpoint` — Post-tool: suggests checkpoint after artifact changes
|
|
91
|
-
4. `spec-quality` — Post-spec: validates specification quality
|
|
92
|
-
5. `task-tracer` — Post-tasks: traces task dependencies
|
|
93
|
-
6. `ears-validator` — Post-spec: validates EARS notation patterns
|
|
94
|
-
7. `lgtm-gate` — Post-spec/design/tasks: pauses for human LGTM
|
|
95
|
-
8. `drift-monitor` — Post-verify/review: monitors specification drift
|
|
96
|
-
9. `cognitive-debt-alert` — Post-analysis: flags cognitive debt metrics
|
|
97
|
-
10. `metrics-dashboard` — Post-analysis: updates metrics dashboard
|
|
81
|
+
1. `specky-branch-validator` — Pre-tool: warns if wrong branch for phase
|
|
82
|
+
2. `specky-spec-sync` — Post-tool: checks spec-code drift
|
|
83
|
+
3. `specky-auto-checkpoint` — Post-tool: suggests checkpoint after artifact changes
|
|
84
|
+
4. `specky-spec-quality` — Post-spec: validates specification quality
|
|
85
|
+
5. `specky-task-tracer` — Post-tasks: traces task dependencies
|
|
86
|
+
6. `specky-ears-validator` — Post-spec: validates EARS notation patterns
|
|
87
|
+
7. `specky-lgtm-gate` — Post-spec/design/tasks: pauses for human LGTM
|
|
88
|
+
8. `specky-drift-monitor` — Post-verify/review: monitors specification drift
|
|
89
|
+
9. `specky-cognitive-debt-alert` — Post-analysis: flags cognitive debt metrics
|
|
90
|
+
10. `specky-metrics-dashboard` — Post-analysis: updates metrics dashboard
|
|
98
91
|
|
|
99
92
|
Hooks are configured in `sdd-hooks.json` with PreToolUse and PostToolUse matchers.
|
|
100
93
|
|
|
@@ -127,12 +120,12 @@ Hooks are configured in `sdd-hooks.json` with PreToolUse and PostToolUse matcher
|
|
|
127
120
|
**Agent-based:**
|
|
128
121
|
```
|
|
129
122
|
@specky-orchestrator (end-to-end pipeline coordinator)
|
|
130
|
-
@sdd-init feature-name (Phase 0 — initialize feature)
|
|
131
|
-
@spec-engineer (Phase 2 — write SPECIFICATION.md)
|
|
132
|
-
@implementer (Phase 7 — scaffold code + tests)
|
|
123
|
+
@specky-sdd-init feature-name (Phase 0 — initialize feature)
|
|
124
|
+
@specky-spec-engineer (Phase 2 — write SPECIFICATION.md)
|
|
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
|
|
|
@@ -179,7 +172,7 @@ spec/003-notifs ──→ ↑
|
|
|
179
172
|
git checkout develop
|
|
180
173
|
git pull origin develop
|
|
181
174
|
git checkout -b spec/001-user-authentication
|
|
182
|
-
# Run @sdd-init / /specky-greenfield
|
|
175
|
+
# Run @specky-sdd-init / /specky-greenfield
|
|
183
176
|
```
|
|
184
177
|
|
|
185
178
|
**After Phase 7 passes:**
|
|
@@ -195,7 +188,7 @@ git push origin develop
|
|
|
195
188
|
git checkout stage
|
|
196
189
|
git merge --no-ff develop
|
|
197
190
|
git push origin stage
|
|
198
|
-
# Run @release-engineer for blocking gates
|
|
191
|
+
# Run @specky-release-engineer for blocking gates
|
|
199
192
|
```
|
|
200
193
|
|
|
201
194
|
**Releasing to production:**
|
|
@@ -228,13 +221,13 @@ git push origin main --tags
|
|
|
228
221
|
|-------|-------|-------------------|
|
|
229
222
|
| Pre | @specky-onboarding | Fast |
|
|
230
223
|
| All | @specky-orchestrator | Balanced |
|
|
231
|
-
| 0 | @sdd-init | Fast |
|
|
232
|
-
| 1 | @research-analyst | Balanced |
|
|
233
|
-
| 2 | @spec-engineer | Reasoning-focused |
|
|
234
|
-
| 3 | @sdd-clarify | Reasoning-focused |
|
|
235
|
-
| 4 | @design-architect | Reasoning-focused |
|
|
236
|
-
| 5 | @task-planner | Balanced |
|
|
237
|
-
| 6 | @quality-reviewer | Balanced |
|
|
238
|
-
| 7 | @implementer | Balanced |
|
|
239
|
-
| 8 | @test-verifier | Reasoning-focused |
|
|
240
|
-
| 9 | @release-engineer | Fast |
|
|
224
|
+
| 0 | @specky-sdd-init | Fast |
|
|
225
|
+
| 1 | @specky-research-analyst | Balanced |
|
|
226
|
+
| 2 | @specky-spec-engineer | Reasoning-focused |
|
|
227
|
+
| 3 | @specky-sdd-clarify | Reasoning-focused |
|
|
228
|
+
| 4 | @specky-design-architect | Reasoning-focused |
|
|
229
|
+
| 5 | @specky-task-planner | Balanced |
|
|
230
|
+
| 6 | @specky-quality-reviewer | Balanced |
|
|
231
|
+
| 7 | @specky-implementer | Balanced |
|
|
232
|
+
| 8 | @specky-test-verifier | Reasoning-focused |
|
|
233
|
+
| 9 | @specky-release-engineer | Fast |
|