specky-sdd 3.7.3 → 3.8.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} +2 -2
- package/.apm/agents/specky-onboarding.agent.md +1 -1
- package/.apm/agents/specky-orchestrator.agent.md +10 -10
- package/.apm/agents/{quality-reviewer.agent.md → specky-quality-reviewer.agent.md} +2 -2
- package/.apm/agents/{release-engineer.agent.md → specky-release-engineer.agent.md} +4 -4
- package/.apm/agents/{requirements-engineer.agent.md → specky-requirements-engineer.agent.md} +2 -2
- package/.apm/agents/{research-analyst.agent.md → specky-research-analyst.agent.md} +2 -2
- package/.apm/agents/{sdd-clarify.agent.md → specky-sdd-clarify.agent.md} +2 -2
- 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/instructions/copilot-instructions.instructions.md +17 -17
- 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-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/{implementer → specky-implementer}/SKILL.md +3 -3
- package/.apm/skills/specky-onboarding/SKILL.md +29 -29
- package/.apm/skills/specky-orchestrator/SKILL.md +28 -28
- 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/{sdd-markdown-standard → specky-sdd-markdown-standard}/SKILL.md +2 -2
- package/.apm/skills/{sdd-pipeline → specky-sdd-pipeline}/SKILL.md +30 -30
- package/.apm/skills/{test-verifier → specky-test-verifier}/SKILL.md +2 -2
- package/CHANGELOG.md +29 -0
- package/README.md +22 -19
- package/apm-policy.yml +12 -0
- package/apm.lock.yaml +59 -59
- package/apm.yml +9 -6
- package/config.yml +31 -31
- 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 +106 -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 +35 -13
- package/dist/cli/commands/doctor.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 +114 -15
- 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 +38 -0
- 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 +10 -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 +27 -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 +15 -0
- package/dist/cli/lib/paths.d.ts.map +1 -1
- package/dist/cli/lib/paths.js +17 -0
- package/dist/cli/lib/paths.js.map +1 -1
- package/dist/copilot-hooks.json +46 -46
- 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 +2 -2
- /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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: design-architect
|
|
2
|
+
name: specky-design-architect
|
|
3
3
|
description: Phase 4 agent that writes DESIGN.md with system architecture, API contracts, data models, and Mermaid diagrams. All design decisions trace to specification requirements.
|
|
4
4
|
|
|
5
5
|
color: blue
|
|
@@ -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 `sdd-pipeline` SKILL.md for design standards and artifact format.
|
|
29
|
+
**First step:** Read the `specky-sdd-pipeline` 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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: implementer
|
|
2
|
+
name: specky-implementer
|
|
3
3
|
description: Use this agent to generate implementation plans, quality checklists, test stubs, and infrastructure scaffolding from specifications.
|
|
4
4
|
|
|
5
5
|
color: blue
|
|
@@ -29,7 +29,7 @@ You are a senior implementation engineer. You bridge the gap between specificati
|
|
|
29
29
|
**You generate — you never write production code.**
|
|
30
30
|
|
|
31
31
|
**Workflow:**
|
|
32
|
-
1. Read the `implementer` SKILL.md for implementation patterns and tool reference
|
|
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
34
|
2. Verify TASKS.md and DESIGN.md exist for the feature
|
|
35
35
|
3. Call sdd_implement — ordered plan (Foundation → Core → Integration → Polish)
|
|
@@ -51,7 +51,7 @@ You are the Specky SDD onboarding wizard. You are the **default entry point** wh
|
|
|
51
51
|
|
|
52
52
|
**Step 4 — Ask Work Mode:**
|
|
53
53
|
- **Full Pipeline** → Route to @specky-orchestrator (all 10 phases automated)
|
|
54
|
-
- **Agent-by-agent** → Show agent catalog, let user pick (e.g., @sdd-init)
|
|
54
|
+
- **Agent-by-agent** → Show agent catalog, let user pick (e.g., @specky-sdd-init)
|
|
55
55
|
- **Direct MCP tools** → Show tool reference by category, user calls directly
|
|
56
56
|
|
|
57
57
|
**Step 5 — Branch Setup:**
|
|
@@ -36,16 +36,16 @@ You are the Specky SDD pipeline orchestrator. You coordinate the full 10-phase p
|
|
|
36
36
|
- Phase 9: must be on `stage` branch
|
|
37
37
|
3. Check prerequisite artifacts exist for current phase
|
|
38
38
|
4. Route to the correct phase agent:
|
|
39
|
-
- Phase 0 → @sdd-init
|
|
40
|
-
- Phase 1 → @research-analyst
|
|
41
|
-
- Phase 2 → @spec-engineer
|
|
42
|
-
- Phase 3 → @sdd-clarify
|
|
43
|
-
- Phase 4 → @design-architect
|
|
44
|
-
- Phase 5 → @task-planner
|
|
45
|
-
- Phase 6 → @quality-reviewer
|
|
46
|
-
- Phase 7 → @implementer
|
|
47
|
-
- Phase 8 → @test-verifier
|
|
48
|
-
- Phase 9 → @release-engineer
|
|
39
|
+
- Phase 0 → @specky-sdd-init
|
|
40
|
+
- Phase 1 → @specky-research-analyst
|
|
41
|
+
- Phase 2 → @specky-spec-engineer
|
|
42
|
+
- Phase 3 → @specky-sdd-clarify
|
|
43
|
+
- Phase 4 → @specky-design-architect
|
|
44
|
+
- Phase 5 → @specky-task-planner
|
|
45
|
+
- Phase 6 → @specky-quality-reviewer
|
|
46
|
+
- Phase 7 → @specky-implementer
|
|
47
|
+
- Phase 8 → @specky-test-verifier
|
|
48
|
+
- Phase 9 → @specky-release-engineer
|
|
49
49
|
5. After agent completes: verify output artifact was created
|
|
50
50
|
6. If LGTM phase (2, 4, 5): pause and ask human "LGTM?" before advancing
|
|
51
51
|
7. Call sdd_checkpoint → snapshot the approved phase before transition
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: quality-reviewer
|
|
2
|
+
name: specky-quality-reviewer
|
|
3
3
|
description: Phase 6 agent that runs completeness audit, cross-analysis, and compliance checks. Produces ANALYSIS.md with gate decision (APPROVE/CONDITIONAL/REJECT) and COMPLIANCE.md.
|
|
4
4
|
|
|
5
5
|
color: red
|
|
@@ -26,7 +26,7 @@ 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 `sdd-pipeline` SKILL.md for review criteria and gate decisions.
|
|
29
|
+
**First step:** Read the `specky-sdd-pipeline` SKILL.md for review criteria and gate decisions.
|
|
30
30
|
|
|
31
31
|
**Workflow:**
|
|
32
32
|
1. Read all artifacts: SPECIFICATION.md, DESIGN.md, TASKS.md, VERIFICATION.md
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: release-engineer
|
|
2
|
+
name: specky-release-engineer
|
|
3
3
|
description: Use this agent to prepare features for release — run blocking gates, generate documentation, create PR, and export work items.
|
|
4
4
|
|
|
5
5
|
color: green
|
|
@@ -27,15 +27,15 @@ PR creation requires passing blocking gates first.
|
|
|
27
27
|
You are a senior release engineer. You prepare features for delivery.
|
|
28
28
|
|
|
29
29
|
**Workflow:**
|
|
30
|
-
1. Read the `release-engineer` SKILL.md for gate criteria and PR templates
|
|
30
|
+
1. Read the `specky-release-engineer` SKILL.md for gate criteria and PR templates
|
|
31
31
|
2. Verify work is on the correct branch for the merge target:
|
|
32
32
|
- `spec/NNN-*` → PR targets `develop`
|
|
33
33
|
- `develop` → PR targets `stage`
|
|
34
34
|
- `stage` → PR targets `main`
|
|
35
35
|
2. Verify ANALYSIS.md gate = APPROVE and VERIFICATION.md pass rate ≥90%
|
|
36
36
|
3. Run blocking gates:
|
|
37
|
-
- security-scan.sh (BLOCKING: exit 2 = cannot release)
|
|
38
|
-
- release-gate.sh (BLOCKING: exit 2 = cannot release)
|
|
37
|
+
- specky-security-scan.sh (BLOCKING: exit 2 = cannot release)
|
|
38
|
+
- specky-release-gate.sh (BLOCKING: exit 2 = cannot release)
|
|
39
39
|
4. If either fails: explain what failed, suggest fix. Do NOT proceed.
|
|
40
40
|
5. Call sdd_generate_all_docs — parallel documentation generation
|
|
41
41
|
6. Call sdd_create_pr — PR payload with spec summary and correct target branch
|
package/.apm/agents/{requirements-engineer.agent.md → specky-requirements-engineer.agent.md}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: requirements-engineer
|
|
2
|
+
name: specky-requirements-engineer
|
|
3
3
|
description: Use this agent to analyze raw input and produce validated FRD and NFRD documents ready for sdd_init.
|
|
4
4
|
|
|
5
5
|
color: magenta
|
|
@@ -31,7 +31,7 @@ You are a senior requirements engineer. You transform unstructured input into va
|
|
|
31
31
|
- NFRD_{ProjectName}_v1_0_0_{YYYY-MM-DD}.md — Non-Functional Requirements Document
|
|
32
32
|
|
|
33
33
|
**Workflow:**
|
|
34
|
-
1. Read the `sdd-markdown-standard` SKILL.md for artifact formatting rules
|
|
34
|
+
1. Read the `specky-sdd-markdown-standard` SKILL.md for artifact formatting rules
|
|
35
35
|
2. Read existing workspace files for context
|
|
36
36
|
2. Detect project type and domain
|
|
37
37
|
3. Run gap detector — ask max 3 questions for CRITICAL gaps only
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: research-analyst
|
|
2
|
+
name: specky-research-analyst
|
|
3
3
|
description: Use this agent to gather technical context before specification. Scans codebases, imports documents, and produces RESEARCH.md.
|
|
4
4
|
|
|
5
5
|
color: cyan
|
|
@@ -27,7 +27,7 @@ Document import feeds into research context.
|
|
|
27
27
|
You are a technical research analyst. You gather all context needed before the specification phase begins.
|
|
28
28
|
|
|
29
29
|
**Workflow:**
|
|
30
|
-
1. Read the `research-analyst` SKILL.md for research methodology and tool reference
|
|
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
32
|
2. For brownfield/modernization: call sdd_scan_codebase
|
|
33
33
|
3. Import any external documents or transcripts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: sdd-clarify
|
|
2
|
+
name: specky-sdd-clarify
|
|
3
3
|
description: Use this agent to find and resolve ambiguities in requirements, validate EARS patterns, and produce a clarification log.
|
|
4
4
|
|
|
5
5
|
color: yellow
|
|
@@ -27,7 +27,7 @@ EARS validation is a core responsibility of this agent.
|
|
|
27
27
|
You are a clarification specialist. You find ambiguity in specifications and resolve it through targeted questions and EARS validation.
|
|
28
28
|
|
|
29
29
|
**Workflow:**
|
|
30
|
-
1. Read the `sdd-pipeline` SKILL.md for EARS patterns and clarification rules
|
|
30
|
+
1. Read the `specky-sdd-pipeline` SKILL.md for EARS patterns and clarification rules
|
|
31
31
|
2. Read SPECIFICATION.md for the feature
|
|
32
32
|
2. Call sdd_clarify — up to 5 disambiguation questions per round
|
|
33
33
|
3. Present questions and wait for developer answers
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: sdd-init
|
|
2
|
+
name: specky-sdd-init
|
|
3
3
|
description: Use this agent to initialize the SDD pipeline for a new feature. Creates the .specs/ directory structure and CONSTITUTION.md.
|
|
4
4
|
|
|
5
5
|
color: green
|
|
@@ -27,14 +27,14 @@ 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 `sdd-pipeline` SKILL.md for pipeline context and phase rules
|
|
30
|
+
1. Read the `specky-sdd-pipeline` SKILL.md for pipeline context and phase 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
|
|
34
34
|
5. Call `sdd_create_branch` to create `spec/NNN-feature-name` from `develop` for all pipeline work
|
|
35
35
|
6. For brownfield projects, call `sdd_scan_codebase` to detect the tech stack
|
|
36
36
|
7. Present CONSTITUTION.md to the developer for review
|
|
37
|
-
8. Suggest handoff to `@research-analyst`
|
|
37
|
+
8. Suggest handoff to `@specky-research-analyst`
|
|
38
38
|
|
|
39
39
|
**Hard rules:**
|
|
40
40
|
- Never assign your own sequence number (NNN) — let sdd_init handle it
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: spec-engineer
|
|
2
|
+
name: specky-spec-engineer
|
|
3
3
|
description: Phase 2 agent that writes SPECIFICATION.md using EARS notation. Every requirement gets a unique REQ-ID, one of the 6 EARS patterns, and measurable acceptance criteria.
|
|
4
4
|
|
|
5
5
|
color: magenta
|
|
@@ -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 `sdd-pipeline` SKILL.md for EARS notation patterns and specification rules.
|
|
29
|
+
**First step:** Read the `specky-sdd-pipeline` 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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: task-planner
|
|
2
|
+
name: specky-task-planner
|
|
3
3
|
description: Phase 5 agent that writes TASKS.md with dependency-resolved task sequences, REQ-ID traceability, complexity estimates, and parallel markers. Also generates CHECKLIST.md.
|
|
4
4
|
|
|
5
5
|
color: orange
|
|
@@ -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 `sdd-pipeline` SKILL.md for task breakdown standards.
|
|
29
|
+
**First step:** Read the `specky-sdd-pipeline` SKILL.md for task breakdown standards.
|
|
30
30
|
|
|
31
31
|
**Workflow:**
|
|
32
32
|
1. Read DESIGN.md for architecture and API contracts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name: test-verifier
|
|
2
|
+
name: specky-test-verifier
|
|
3
3
|
description: Use this agent to verify test coverage, detect phantom completions, and check spec-code drift.
|
|
4
4
|
|
|
5
5
|
color: yellow
|
|
@@ -27,7 +27,7 @@ Phantom detection prevents false confidence in test results.
|
|
|
27
27
|
You are a test verification specialist. You verify that implementation satisfies specification with evidence.
|
|
28
28
|
|
|
29
29
|
**Workflow:**
|
|
30
|
-
1. Read the `test-verifier` SKILL.md for verification criteria and gate thresholds
|
|
30
|
+
1. Read the `specky-test-verifier` SKILL.md for verification criteria and gate thresholds
|
|
31
31
|
2. Call sdd_verify_tests — parse results, map to REQ-IDs, build coverage report
|
|
32
32
|
3. Call sdd_verify_tasks — detect phantom completions
|
|
33
33
|
4. Call sdd_check_sync — detect spec-code drift
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# artifact-validator.sh — Validate prerequisite .md artifacts before tool execution
|
|
2
|
+
# specky-artifact-validator.sh — Validate prerequisite .md artifacts before tool execution
|
|
3
3
|
# Type: BLOCKING (exit 2) | Trigger: PreToolUse | All phases
|
|
4
4
|
# Ensures required artifacts exist before a phase tool runs
|
|
5
5
|
|
|
@@ -11,7 +11,7 @@ FAILS=0
|
|
|
11
11
|
|
|
12
12
|
if [ -z "$LATEST" ]; then
|
|
13
13
|
if [ "$TOOL" != "sdd_init" ]; then
|
|
14
|
-
echo "❌ No .specs/ directory found. Run @sdd-init first."
|
|
14
|
+
echo "❌ No .specs/ directory found. Run @specky-sdd-init first."
|
|
15
15
|
exit 2
|
|
16
16
|
fi
|
|
17
17
|
exit 0
|
|
@@ -45,24 +45,24 @@ case "$TOOL" in
|
|
|
45
45
|
echo " ✅ No prerequisites for sdd_init"
|
|
46
46
|
;;
|
|
47
47
|
sdd_discover|sdd_research|sdd_import_document|sdd_import_transcript|sdd_batch_import)
|
|
48
|
-
check_exists "CONSTITUTION.md" "CONSTITUTION.md" "Run @sdd-init or /specky-greenfield"
|
|
48
|
+
check_exists "CONSTITUTION.md" "CONSTITUTION.md" "Run @specky-sdd-init or /specky-greenfield"
|
|
49
49
|
;;
|
|
50
50
|
sdd_clarify|sdd_validate_ears)
|
|
51
|
-
check_exists "CONSTITUTION.md" "CONSTITUTION.md" "Run @sdd-init"
|
|
51
|
+
check_exists "CONSTITUTION.md" "CONSTITUTION.md" "Run @specky-sdd-init"
|
|
52
52
|
;;
|
|
53
53
|
sdd_write_spec|sdd_turnkey_spec|sdd_figma_to_spec)
|
|
54
|
-
check_exists "CONSTITUTION.md" "CONSTITUTION.md" "Run @sdd-init"
|
|
54
|
+
check_exists "CONSTITUTION.md" "CONSTITUTION.md" "Run @specky-sdd-init"
|
|
55
55
|
;;
|
|
56
56
|
sdd_write_design|sdd_generate_all_diagrams)
|
|
57
|
-
check_exists "SPECIFICATION.md" "SPECIFICATION.md" "Run @spec-engineer or /specky-specify"
|
|
57
|
+
check_exists "SPECIFICATION.md" "SPECIFICATION.md" "Run @specky-spec-engineer or /specky-specify"
|
|
58
58
|
check_content "SPECIFICATION.md" "REQ-[A-Z]+-[0-9]+" "EARS requirements with REQ-IDs"
|
|
59
59
|
;;
|
|
60
60
|
sdd_write_tasks|sdd_checklist)
|
|
61
|
-
check_exists "DESIGN.md" "DESIGN.md" "Run @design-architect or /specky-design"
|
|
61
|
+
check_exists "DESIGN.md" "DESIGN.md" "Run @specky-design-architect or /specky-design"
|
|
62
62
|
check_exists "SPECIFICATION.md" "SPECIFICATION.md" "Run /specky-specify first"
|
|
63
63
|
;;
|
|
64
64
|
sdd_implement|sdd_generate_tests|sdd_generate_pbt)
|
|
65
|
-
check_exists "TASKS.md" "TASKS.md" "Run @task-planner or /specky-tasks"
|
|
65
|
+
check_exists "TASKS.md" "TASKS.md" "Run @specky-task-planner or /specky-tasks"
|
|
66
66
|
check_exists "DESIGN.md" "DESIGN.md" "Run /specky-design first"
|
|
67
67
|
;;
|
|
68
68
|
sdd_verify_tests|sdd_verify_tasks|sdd_check_sync)
|
|
@@ -70,7 +70,7 @@ case "$TOOL" in
|
|
|
70
70
|
check_exists "TASKS.md" "TASKS.md" "Run /specky-tasks"
|
|
71
71
|
;;
|
|
72
72
|
sdd_run_analysis|sdd_cross_analyze)
|
|
73
|
-
check_exists "VERIFICATION.md" "VERIFICATION.md" "Run @test-verifier or /specky-verify"
|
|
73
|
+
check_exists "VERIFICATION.md" "VERIFICATION.md" "Run @specky-test-verifier or /specky-verify"
|
|
74
74
|
check_exists "SPECIFICATION.md" "SPECIFICATION.md" "Run /specky-specify"
|
|
75
75
|
check_exists "DESIGN.md" "DESIGN.md" "Run /specky-design"
|
|
76
76
|
check_exists "TASKS.md" "TASKS.md" "Run /specky-tasks"
|
|
@@ -79,8 +79,8 @@ case "$TOOL" in
|
|
|
79
79
|
check_exists "SPECIFICATION.md" "SPECIFICATION.md" "Run /specky-specify"
|
|
80
80
|
;;
|
|
81
81
|
sdd_create_pr|sdd_export_work_items)
|
|
82
|
-
check_exists "ANALYSIS.md" "ANALYSIS.md" "Run @quality-reviewer"
|
|
83
|
-
check_exists "VERIFICATION.md" "VERIFICATION.md" "Run @test-verifier"
|
|
82
|
+
check_exists "ANALYSIS.md" "ANALYSIS.md" "Run @specky-quality-reviewer"
|
|
83
|
+
check_exists "VERIFICATION.md" "VERIFICATION.md" "Run @specky-test-verifier"
|
|
84
84
|
;;
|
|
85
85
|
sdd_generate_all_docs|sdd_generate_docs|sdd_generate_api_docs|sdd_generate_runbook|sdd_generate_onboarding)
|
|
86
86
|
check_exists "SPECIFICATION.md" "SPECIFICATION.md" "Run /specky-specify"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# auto-checkpoint.sh — Suggest checkpoint when spec artifacts are written
|
|
2
|
+
# specky-auto-checkpoint.sh — Suggest checkpoint when spec artifacts are written
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 0,3,4,5
|
|
5
5
|
# Paper: arXiv:2602.20478 — artifact preservation
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# branch-validator.sh — Validate git branch matches expected pattern for current tool.
|
|
2
|
+
# specky-branch-validator.sh — Validate git branch matches expected pattern for current tool.
|
|
3
3
|
#
|
|
4
4
|
# Type: Mixed (see below) | Trigger: PreToolUse | All phases
|
|
5
5
|
# • Advisory (exit 0, warn) for sdd_* pipeline tools (always).
|
|
@@ -42,13 +42,13 @@ if [[ "$TOOL" == "Write" || "$TOOL" == "Edit" || "$TOOL" == "MultiEdit" ]]; then
|
|
|
42
42
|
local expected="$1"
|
|
43
43
|
if [ "$SPECKY_GUARD_MODE" = "strict" ]; then
|
|
44
44
|
echo "" >&2
|
|
45
|
-
echo "🚫 [branch-validator] BLOCKED — $TOOL on '$CURRENT_BRANCH' (phase $PHASE expects $expected) [SPECKY_GUARD=strict]" >&2
|
|
45
|
+
echo "🚫 [specky-branch-validator] BLOCKED — $TOOL on '$CURRENT_BRANCH' (phase $PHASE expects $expected) [SPECKY_GUARD=strict]" >&2
|
|
46
46
|
echo " Feature: $FEATURE" >&2
|
|
47
47
|
echo " Fix: git checkout $expected (or: git checkout -b spec/$FEATURE)" >&2
|
|
48
48
|
echo " Disable: unset SPECKY_GUARD" >&2
|
|
49
49
|
exit 2
|
|
50
50
|
fi
|
|
51
|
-
echo "⚠️ [branch-validator] $TOOL on '$CURRENT_BRANCH' during phase $PHASE (expected $expected). Enforce with: export SPECKY_GUARD=strict" >&2
|
|
51
|
+
echo "⚠️ [specky-branch-validator] $TOOL on '$CURRENT_BRANCH' during phase $PHASE (expected $expected). Enforce with: export SPECKY_GUARD=strict" >&2
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
case "$PHASE" in
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# cognitive-debt-alert.sh — Alert when LGTM-without-modification rate is high
|
|
2
|
+
# specky-cognitive-debt-alert.sh — Alert when LGTM-without-modification rate is high
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 8
|
|
5
5
|
# Paper: arXiv:2603.22106 — cognitive surrender measurement
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# drift-monitor.sh — Monitor CONSTITUTION.md drift from spec artifacts
|
|
2
|
+
# specky-drift-monitor.sh — Monitor CONSTITUTION.md drift from spec artifacts
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 8
|
|
5
5
|
# Paper: arXiv:2602.20478, arXiv:2603.22106
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# ears-validator.sh — Validate EARS pattern compliance
|
|
2
|
+
# specky-ears-validator.sh — Validate EARS pattern compliance
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 2,3
|
|
5
5
|
# Paper: arXiv:2601.03878 — EARS quality
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# lgtm-gate.sh — Prompt human review at LGTM checkpoints (Phases 3, 4, 5)
|
|
2
|
+
# specky-lgtm-gate.sh — Prompt human review at LGTM checkpoints (Phases 3, 4, 5)
|
|
3
3
|
# Type: Advisory (exit 0) | Trigger: PostToolUse | sdd_write_spec, sdd_write_design, sdd_write_tasks
|
|
4
4
|
# Summarizes artifact and prompts for LGTM before phase advancement
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# metrics-dashboard.sh — Generate metrics dashboard reminder
|
|
2
|
+
# specky-metrics-dashboard.sh — Generate metrics dashboard reminder
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 8
|
|
5
5
|
# Paper: arXiv:2507.09089 — AI productivity paradox
|
|
@@ -10,7 +10,7 @@ LATEST=$(ls -td .specs/*/ 2>/dev/null | head -1 || true)
|
|
|
10
10
|
[ -z "$LATEST" ] && exit 0
|
|
11
11
|
|
|
12
12
|
# Check if analysis is done but metrics not generated
|
|
13
|
-
if [ -f "$LATEST/ANALYSIS.md" ] && [ ! -f "$LATEST/metrics-dashboard.html" ]; then
|
|
13
|
+
if [ -f "$LATEST/ANALYSIS.md" ] && [ ! -f "$LATEST/specky-metrics-dashboard.html" ]; then
|
|
14
14
|
echo "📊 ANALYSIS.md complete but no metrics dashboard generated."
|
|
15
15
|
echo " Run sdd_metrics to generate the HTML dashboard with:"
|
|
16
16
|
echo " - Cognitive debt score"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# phase-gate.sh — Validate output artifact was created after tool execution
|
|
2
|
+
# specky-phase-gate.sh — Validate output artifact was created after tool execution
|
|
3
3
|
# Type: BLOCKING (exit 2) | Trigger: PostToolUse | Artifact-writing tools
|
|
4
4
|
# Ensures phase artifacts exist and meet minimum quality after creation
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# pipeline-guard.sh — Remind about Rule #8: all work flows through @specky-orchestrator.
|
|
2
|
+
# specky-pipeline-guard.sh — Remind about Rule #8: all work flows through @specky-orchestrator.
|
|
3
3
|
# Target: Claude Code (.claude/hooks/) + GitHub Copilot (.github/hooks/specky/)
|
|
4
4
|
# Type: ADVISORY by default (warn, exit 0) | Trigger: UserPromptSubmit
|
|
5
5
|
# Phase: any — runs on every user prompt when .specs/ has an active pipeline
|
|
@@ -105,7 +105,7 @@ fi
|
|
|
105
105
|
if echo "$PROMPT_LC" | grep -qE '(^|[^a-z0-9])(implement|create|build|write|code|fix|add|refactor|deploy|release|merge|commit|push|test|install|setup|configure)([^a-z0-9]|$)'; then
|
|
106
106
|
if [ "$SPECKY_GUARD_MODE" = "strict" ]; then
|
|
107
107
|
echo "" >&2
|
|
108
|
-
echo "🚫 [pipeline-guard] BLOCKED — active Specky pipeline detected (SPECKY_GUARD=strict)" >&2
|
|
108
|
+
echo "🚫 [specky-pipeline-guard] BLOCKED — active Specky pipeline detected (SPECKY_GUARD=strict)" >&2
|
|
109
109
|
echo "" >&2
|
|
110
110
|
echo " Feature: $FEATURE" >&2
|
|
111
111
|
echo " Phase: $PHASE" >&2
|
|
@@ -125,7 +125,7 @@ if echo "$PROMPT_LC" | grep -qE '(^|[^a-z0-9])(implement|create|build|write|code
|
|
|
125
125
|
fi
|
|
126
126
|
|
|
127
127
|
# Advisory mode (default): warn but allow.
|
|
128
|
-
echo "⚠️ [pipeline-guard] active Specky pipeline ($FEATURE, phase $PHASE) — consider routing through @specky-orchestrator." >&2
|
|
128
|
+
echo "⚠️ [specky-pipeline-guard] active Specky pipeline ($FEATURE, phase $PHASE) — consider routing through @specky-orchestrator." >&2
|
|
129
129
|
echo " Enforce blocking with: export SPECKY_GUARD=strict" >&2
|
|
130
130
|
fi
|
|
131
131
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# release-gate.sh — Verify VERIFICATION.md + 90% pass rate before PR
|
|
2
|
+
# specky-release-gate.sh — Verify VERIFICATION.md + 90% pass rate before PR
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: BLOCKING (exit 2) | Trigger: before sdd_create_pr | Phase: 9
|
|
5
5
|
# Paper: arXiv:2601.03878 — human-in-loop gate
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# security-scan.sh — OWASP + secrets scan
|
|
2
|
+
# specky-security-scan.sh — OWASP + secrets scan
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: BLOCKING (exit 2) | Trigger: Stop | Phase: 9
|
|
5
5
|
# Paper: arXiv:2503.23278 — security enforcement
|
|
6
6
|
#
|
|
7
7
|
# Claude Code settings.json:
|
|
8
|
-
# "hooks": { "Stop": ["bash .claude/hooks/security-scan.sh"] }
|
|
8
|
+
# "hooks": { "Stop": ["bash .claude/hooks/specky-security-scan.sh"] }
|
|
9
9
|
|
|
10
10
|
set -euo pipefail
|
|
11
11
|
FAILS=0
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# session-banner.sh — Show Specky pipeline status at session start.
|
|
2
|
+
# specky-session-banner.sh — Show Specky pipeline status at session start.
|
|
3
3
|
# Target: Claude Code + GitHub Copilot
|
|
4
4
|
# Type: Advisory (exit 0 always) | Trigger: SessionStart
|
|
5
5
|
#
|
|
@@ -60,20 +60,20 @@ echo ""
|
|
|
60
60
|
case "$PHASE" in
|
|
61
61
|
init|discover|specify|clarify|design|tasks|analyze|implement)
|
|
62
62
|
if [[ ! "$BRANCH" =~ ^spec/ ]]; then
|
|
63
|
-
echo "⚠️ [session-banner] Phase $PHASE expects branch spec/NNN-* — you are on '$BRANCH'"
|
|
63
|
+
echo "⚠️ [specky-session-banner] Phase $PHASE expects branch spec/NNN-* — you are on '$BRANCH'"
|
|
64
64
|
echo " Consider: git checkout -b spec/$FEATURE (or let @specky-orchestrator handle it)"
|
|
65
65
|
echo ""
|
|
66
66
|
fi
|
|
67
67
|
;;
|
|
68
68
|
verify)
|
|
69
69
|
if [ "$BRANCH" != "develop" ]; then
|
|
70
|
-
echo "⚠️ [session-banner] Phase 'verify' expects branch 'develop' — you are on '$BRANCH'"
|
|
70
|
+
echo "⚠️ [specky-session-banner] Phase 'verify' expects branch 'develop' — you are on '$BRANCH'"
|
|
71
71
|
echo ""
|
|
72
72
|
fi
|
|
73
73
|
;;
|
|
74
74
|
release)
|
|
75
75
|
if [ "$BRANCH" != "stage" ]; then
|
|
76
|
-
echo "⚠️ [session-banner] Phase 'release' expects branch 'stage' — you are on '$BRANCH'"
|
|
76
|
+
echo "⚠️ [specky-session-banner] Phase 'release' expects branch 'stage' — you are on '$BRANCH'"
|
|
77
77
|
echo ""
|
|
78
78
|
fi
|
|
79
79
|
;;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# spec-quality.sh — Validate specification quality after sdd_write_spec
|
|
2
|
+
# specky-spec-quality.sh — Validate specification quality after sdd_write_spec
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 3
|
|
5
5
|
# Paper: arXiv:2601.03878 — EARS quality
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# spec-sync.sh — Detect spec-code drift
|
|
2
|
+
# specky-spec-sync.sh — Detect spec-code drift
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 6
|
|
5
5
|
# Paper: arXiv:2602.20478 — anti-context-collapse
|
|
6
6
|
#
|
|
7
7
|
# Claude Code settings.json:
|
|
8
|
-
# "hooks": { "PostToolUse": ["bash .claude/hooks/spec-sync.sh"] }
|
|
8
|
+
# "hooks": { "PostToolUse": ["bash .claude/hooks/specky-spec-sync.sh"] }
|
|
9
9
|
|
|
10
10
|
set -euo pipefail
|
|
11
11
|
SPECS_DIR=".specs"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
|
-
# task-tracer.sh — Detect tasks missing REQ-* traceability
|
|
2
|
+
# specky-task-tracer.sh — Detect tasks missing REQ-* traceability
|
|
3
3
|
# Target: Claude Code (.claude/hooks/)
|
|
4
4
|
# Type: Advisory | Trigger: PostToolUse | Phase: 5
|
|
5
5
|
# Paper: arXiv:2602.00180 — SDD traceability
|