specky-sdd 3.7.1 → 3.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/.apm/agents/design-architect.agent.md +1 -1
  2. package/.apm/agents/implementer.agent.md +1 -1
  3. package/.apm/agents/quality-reviewer.agent.md +1 -1
  4. package/.apm/agents/release-engineer.agent.md +1 -1
  5. package/.apm/agents/requirements-engineer.agent.md +1 -1
  6. package/.apm/agents/research-analyst.agent.md +1 -1
  7. package/.apm/agents/sdd-clarify.agent.md +1 -1
  8. package/.apm/agents/sdd-init.agent.md +1 -1
  9. package/.apm/agents/spec-engineer.agent.md +1 -1
  10. package/.apm/agents/specky-onboarding.agent.md +1 -1
  11. package/.apm/agents/specky-orchestrator.agent.md +1 -1
  12. package/.apm/agents/task-planner.agent.md +1 -1
  13. package/.apm/agents/test-verifier.agent.md +1 -1
  14. package/.apm/prompts/specky-api.prompt.md +1 -1
  15. package/.apm/prompts/specky-brownfield.prompt.md +1 -1
  16. package/.apm/prompts/specky-check-drift.prompt.md +1 -1
  17. package/.apm/prompts/specky-clarify.prompt.md +1 -1
  18. package/.apm/prompts/specky-debug-hook.prompt.md +1 -1
  19. package/.apm/prompts/specky-deploy.prompt.md +1 -1
  20. package/.apm/prompts/specky-design.prompt.md +1 -1
  21. package/.apm/prompts/specky-from-figma.prompt.md +1 -1
  22. package/.apm/prompts/specky-from-meeting.prompt.md +1 -1
  23. package/.apm/prompts/specky-greenfield.prompt.md +1 -1
  24. package/.apm/prompts/specky-implement.prompt.md +1 -1
  25. package/.apm/prompts/specky-migration.prompt.md +1 -1
  26. package/.apm/prompts/specky-onboarding.prompt.md +1 -1
  27. package/.apm/prompts/specky-orchestrate.prompt.md +1 -1
  28. package/.apm/prompts/specky-pipeline-status.prompt.md +1 -1
  29. package/.apm/prompts/specky-release.prompt.md +1 -1
  30. package/.apm/prompts/specky-research.prompt.md +1 -1
  31. package/.apm/prompts/specky-reset-phase.prompt.md +1 -1
  32. package/.apm/prompts/specky-resolve-conflict.prompt.md +1 -1
  33. package/.apm/prompts/specky-specify.prompt.md +1 -1
  34. package/.apm/prompts/specky-tasks.prompt.md +1 -1
  35. package/.apm/prompts/specky-verify.prompt.md +1 -1
  36. package/CHANGELOG.md +47 -0
  37. package/README.md +4 -0
  38. package/apm-policy.yml +41 -0
  39. package/apm.lock.yaml +71 -0
  40. package/apm.yml +29 -2
  41. package/dist/cli/commands/apm.d.ts +2 -0
  42. package/dist/cli/commands/apm.d.ts.map +1 -0
  43. package/dist/cli/commands/apm.js +139 -0
  44. package/dist/cli/commands/apm.js.map +1 -0
  45. package/dist/cli/index.js +10 -1
  46. package/dist/cli/index.js.map +1 -1
  47. package/dist/cli/lib/apm/lock.d.ts +23 -0
  48. package/dist/cli/lib/apm/lock.d.ts.map +1 -0
  49. package/dist/cli/lib/apm/lock.js +90 -0
  50. package/dist/cli/lib/apm/lock.js.map +1 -0
  51. package/dist/cli/lib/apm/manifest.d.ts +31 -0
  52. package/dist/cli/lib/apm/manifest.d.ts.map +1 -0
  53. package/dist/cli/lib/apm/manifest.js +65 -0
  54. package/dist/cli/lib/apm/manifest.js.map +1 -0
  55. package/dist/cli/lib/apm/policy.d.ts +23 -0
  56. package/dist/cli/lib/apm/policy.d.ts.map +1 -0
  57. package/dist/cli/lib/apm/policy.js +85 -0
  58. package/dist/cli/lib/apm/policy.js.map +1 -0
  59. package/dist/cli/lib/asset-copier.d.ts.map +1 -1
  60. package/dist/cli/lib/asset-copier.js +36 -20
  61. package/dist/cli/lib/asset-copier.js.map +1 -1
  62. package/dist/cli/lib/harness/compilers/claude.d.ts +10 -0
  63. package/dist/cli/lib/harness/compilers/claude.d.ts.map +1 -0
  64. package/dist/cli/lib/harness/compilers/claude.js +29 -0
  65. package/dist/cli/lib/harness/compilers/claude.js.map +1 -0
  66. package/dist/cli/lib/harness/compilers/common.d.ts +14 -0
  67. package/dist/cli/lib/harness/compilers/common.d.ts.map +1 -0
  68. package/dist/cli/lib/harness/compilers/common.js +43 -0
  69. package/dist/cli/lib/harness/compilers/common.js.map +1 -0
  70. package/dist/cli/lib/harness/compilers/copilot.d.ts +10 -0
  71. package/dist/cli/lib/harness/compilers/copilot.d.ts.map +1 -0
  72. package/dist/cli/lib/harness/compilers/copilot.js +32 -0
  73. package/dist/cli/lib/harness/compilers/copilot.js.map +1 -0
  74. package/dist/cli/lib/harness/index.d.ts +12 -0
  75. package/dist/cli/lib/harness/index.d.ts.map +1 -0
  76. package/dist/cli/lib/harness/index.js +18 -0
  77. package/dist/cli/lib/harness/index.js.map +1 -0
  78. package/dist/cli/lib/harness/tool-map.d.ts +15 -0
  79. package/dist/cli/lib/harness/tool-map.d.ts.map +1 -0
  80. package/dist/cli/lib/harness/tool-map.js +92 -0
  81. package/dist/cli/lib/harness/tool-map.js.map +1 -0
  82. package/dist/cli/lib/harness/types.d.ts +42 -0
  83. package/dist/cli/lib/harness/types.d.ts.map +1 -0
  84. package/dist/cli/lib/harness/types.js +12 -0
  85. package/dist/cli/lib/harness/types.js.map +1 -0
  86. package/dist/cli/lib/paths.d.ts +1 -0
  87. package/dist/cli/lib/paths.d.ts.map +1 -1
  88. package/dist/cli/lib/paths.js +1 -0
  89. package/dist/cli/lib/paths.js.map +1 -1
  90. package/package.json +5 -3
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_write_design", "sdd_generate_all_diagrams", "sdd_generate_diagram"]
6
+ tools: ["search", "specky/sdd_write_design", "specky/sdd_generate_all_diagrams", "specky/sdd_generate_diagram"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_implement", "sdd_checklist", "sdd_generate_tests", "sdd_generate_pbt", "sdd_generate_iac", "sdd_generate_dockerfile", "sdd_generate_devcontainer", "sdd_setup_local_env", "sdd_setup_codespaces"]
6
+ tools: ["search", "specky/sdd_implement", "specky/sdd_checklist", "specky/sdd_generate_tests", "specky/sdd_generate_pbt", "specky/sdd_generate_iac", "specky/sdd_generate_dockerfile", "specky/sdd_generate_devcontainer", "specky/sdd_setup_local_env", "specky/sdd_setup_codespaces"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_run_analysis", "sdd_cross_analyze", "sdd_compliance_check", "sdd_check_sync", "sdd_metrics"]
6
+ tools: ["search", "specky/sdd_run_analysis", "specky/sdd_cross_analyze", "specky/sdd_compliance_check", "specky/sdd_check_sync", "specky/sdd_metrics"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_create_pr", "sdd_generate_all_docs", "sdd_generate_docs", "sdd_generate_api_docs", "sdd_generate_runbook", "sdd_generate_onboarding", "sdd_export_work_items"]
6
+ tools: ["search", "specky/sdd_create_pr", "specky/sdd_generate_all_docs", "specky/sdd_generate_docs", "specky/sdd_generate_api_docs", "specky/sdd_generate_runbook", "specky/sdd_generate_onboarding", "specky/sdd_export_work_items"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "Write", "Edit", "sdd_init", "sdd_discover", "sdd_import_document", "sdd_import_transcript", "sdd_batch_import", "sdd_validate_ears"]
6
+ tools: ["search", "edit", "specky/sdd_init", "specky/sdd_discover", "specky/sdd_import_document", "specky/sdd_import_transcript", "specky/sdd_batch_import", "specky/sdd_validate_ears"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "WebFetch", "WebSearch", "sdd_scan_codebase", "sdd_discover", "sdd_research", "sdd_import_document", "sdd_import_transcript", "sdd_check_ecosystem"]
6
+ tools: ["search", "fetch", "specky/sdd_scan_codebase", "specky/sdd_discover", "specky/sdd_research", "specky/sdd_import_document", "specky/sdd_import_transcript", "specky/sdd_check_ecosystem"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_clarify", "sdd_validate_ears", "sdd_turnkey_spec"]
6
+ tools: ["search", "specky/sdd_clarify", "specky/sdd_validate_ears", "specky/sdd_turnkey_spec"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_init", "sdd_scan_codebase", "sdd_create_branch"]
6
+ tools: ["search", "specky/sdd_init", "specky/sdd_scan_codebase", "specky/sdd_create_branch"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_write_spec", "sdd_turnkey_spec", "sdd_validate_ears", "sdd_figma_to_spec"]
6
+ tools: ["search", "specky/sdd_write_spec", "specky/sdd_turnkey_spec", "specky/sdd_validate_ears", "specky/sdd_figma_to_spec"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: specky-onboarding
3
3
  description: Default entry point and interactive wizard for Specky SDD. Detects project context, explains the plugin, guides through project type selection, work mode, and branch setup. Triggered when user says "specky" without specifics.
4
4
 
5
5
  color: green
6
- tools: ["Read", "Glob", "Grep", "sdd_get_status", "sdd_scan_codebase", "sdd_check_ecosystem", "sdd_context_status", "sdd_auto_pipeline", "sdd_batch_import", "sdd_create_branch", "sdd_discover", "sdd_figma_to_spec", "sdd_import_document", "sdd_import_transcript"]
6
+ tools: ["search", "specky/sdd_get_status", "specky/sdd_scan_codebase", "specky/sdd_check_ecosystem", "specky/sdd_context_status", "specky/sdd_auto_pipeline", "specky/sdd_batch_import", "specky/sdd_create_branch", "specky/sdd_discover", "specky/sdd_figma_to_spec", "specky/sdd_import_document", "specky/sdd_import_transcript"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: specky-orchestrator
3
3
  description: Master agent that coordinates the full SDD 10-phase pipeline end-to-end, routing to phase agents, validating artifacts between phases, and enforcing hooks and LGTM gates.
4
4
 
5
5
  color: purple
6
- tools: ["Read", "Glob", "Grep", "Task", "sdd_get_status", "sdd_checkpoint", "sdd_advance_phase", "sdd_validate_ears", "sdd_model_routing", "sdd_context_status"]
6
+ tools: ["search", "agent", "specky/sdd_get_status", "specky/sdd_checkpoint", "specky/sdd_advance_phase", "specky/sdd_validate_ears", "specky/sdd_model_routing", "specky/sdd_context_status"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_write_tasks", "sdd_checklist"]
6
+ tools: ["search", "specky/sdd_write_tasks", "specky/sdd_checklist"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -3,7 +3,7 @@ name: 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
6
- tools: ["Read", "Glob", "Grep", "sdd_verify_tests", "sdd_verify_tasks", "sdd_check_sync", "sdd_validate_ears", "sdd_get_status"]
6
+ tools: ["search", "specky/sdd_verify_tests", "specky/sdd_verify_tasks", "specky/sdd_check_sync", "specky/sdd_validate_ears", "specky/sdd_get_status"]
7
7
  ---
8
8
 
9
9
  <example>
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Design an API with SDD pipeline
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <API name and requirements>
5
5
  ---
6
6
  Design an API using the Specky SDD pipeline.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Add SDD pipeline to an existing codebase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature to add>
5
5
  ---
6
6
  Add the Specky SDD pipeline to this existing codebase.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Check spec-code drift for a feature
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Check spec-code drift for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD clarification phase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Run the SDD clarification phase for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Debug a failing SDD hook
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <hook name or error message>
5
5
  ---
6
6
  Debug a failing SDD hook.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Generate deployment artifacts from specifications
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Generate deployment artifacts for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD design phase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Run the SDD design phase for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Import Figma designs into SDD pipeline
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <Figma URL or export path>
5
5
  ---
6
6
  Import Figma designs into the SDD pipeline.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Import meeting transcript into SDD pipeline
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <transcript file path>
5
5
  ---
6
6
  Import a meeting transcript into the SDD pipeline.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Start a greenfield project with SDD pipeline
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <project idea>
5
5
  ---
6
6
  Start a greenfield project with the Specky SDD pipeline.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD implementation phase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Run the SDD implementation phase for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Plan a system migration with SDD pipeline
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <source system and target>
5
5
  ---
6
6
  Plan a system migration using the Specky SDD pipeline.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Get started with Specky SDD — interactive wizard
3
- mode: agent
3
+ agent: agent
4
4
  ---
5
5
  Help me get started with Specky SDD.
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run the full SDD pipeline end-to-end
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature description or number>
5
5
  ---
6
6
  Run the full SDD pipeline for feature [FEATURE NUMBER or NAME].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Check SDD pipeline status
3
- mode: agent
3
+ agent: agent
4
4
  ---
5
5
  Check the SDD pipeline status for feature [FEATURE NUMBER or "all"].
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD release phase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Run the SDD release phase for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD Discover phase (research)
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number or research topic>
5
5
  ---
6
6
  Run the SDD Discover phase (research) for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Reset an SDD pipeline phase by restoring the checkpoint taken before it
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number> <phase 0-9 or phase name>
5
5
  ---
6
6
  Reset an SDD pipeline phase for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Resolve a spec conflict
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Resolve a spec conflict for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD specification phase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Run the SDD specification phase for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD task breakdown phase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Run the SDD task breakdown phase for feature [FEATURE NUMBER].
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  description: Run SDD verification phase
3
- mode: agent
3
+ agent: agent
4
4
  argument-hint: <feature-number>
5
5
  ---
6
6
  Run the SDD verification phase for feature [FEATURE NUMBER].
package/CHANGELOG.md CHANGED
@@ -7,6 +7,53 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - APM governance commands: `specky apm validate`, `specky apm lock`, `specky apm verify-lock`, `specky apm policy`, `specky apm audit`, and `specky apm sbom`.
13
+ - `apm-policy.yml` and `apm.lock.yaml` package governance files. The lock pins SHA256 hashes for packaged primitives and the policy enforces MCP allowlists, allowed hook events, and per-harness tool-name isolation.
14
+ - Harness compiler registry (`src/cli/lib/harness`) and APM governance modules (`src/cli/lib/apm`) with regression coverage.
15
+
16
+ ### Changed
17
+
18
+ - `npm run build` now checks `apm.yml` name/version parity with `package.json` before compiling.
19
+ - `npm pack --dry-run` now includes `apm.yml`, `apm.lock.yaml`, `apm-policy.yml`, and the compiled `specky apm` command/modules.
20
+
21
+ ## [3.7.2] - 2026-07-06
22
+
23
+ Platform-native primitive generation for GitHub Copilot and Claude Code.
24
+
25
+ ### Changed
26
+
27
+ - `.apm` primitive source is now GitHub Copilot-native: agents use VS Code tool ids such as `search`, `agent`, and namespaced Specky MCP tools like `specky/sdd_get_status`; prompts use `agent: agent` frontmatter.
28
+ - `specky install --ide=claude` now transforms the shared source into Claude-native primitives at install time: agents use `Read`, `Glob`, `Grep`, `Task`, and `mcp__specky__sdd_*`; slash commands omit Copilot-only `agent:` metadata; Claude rules use `paths` instead of `applyTo`.
29
+ - `specky install --ide=copilot` keeps Copilot-native syntax in `.github/agents` and `.github/prompts` instead of copying Claude-style tool names.
30
+
31
+ ### Added
32
+
33
+ - Primitive audit coverage for Copilot-native tool names, namespaced Specky MCP tool ids, and prompt `agent:` frontmatter.
34
+ - Regression tests proving Copilot and Claude installs generate different platform-correct agent, prompt, and instruction frontmatter.
35
+
36
+ ### Fixed
37
+
38
+ - GitHub Copilot agents no longer receive Claude-only tool names such as `Read`, `Glob`, `Grep`, or `Task`.
39
+ - Claude Code agents no longer receive Copilot-only tool names such as `search`, `agent`, or `specky/sdd_*`.
40
+
41
+ ## [3.7.1] - 2026-07-04
42
+
43
+ GitHub Copilot primitive metadata and hook cleanup.
44
+
45
+ ### Changed
46
+
47
+ - Normalized Specky Agent Skill names to lowercase kebab-case matching their folder names.
48
+ - Added agent-mode prompt metadata and corrected reset-phase guidance to use checkpoint restore tools.
49
+ - Reduced native mutating tools in agents where Specky MCP tools perform the artifact writes.
50
+
51
+ ### Fixed
52
+
53
+ - Copilot instruction file now has `applyTo: '**'` frontmatter.
54
+ - Fixed branch-validator/session hooks to read `current_phase` and string phase names.
55
+ - Prevented Copilot hook manifests from falling back to unresolved Claude plugin paths.
56
+
10
57
  ## [3.7.0] - 2026-07-03
11
58
 
12
59
  Update awareness: users of old versions now find out — without the server ever
package/README.md CHANGED
@@ -115,6 +115,10 @@ npx specky install --ide=copilot
115
115
 
116
116
  The CLI installs 13 agents, 22 prompts, 8 skills, 16 hooks, the MCP server registration (`.mcp.json` + `.vscode/mcp.json`, pinned to the installed version), and pre-authorizes a **least-privilege** set of tools — the Specky MCP tools plus scoped `git`/`npm`/`npx` and file editing. It does **not** pre-authorize arbitrary shell, `rm`, or network access; those still prompt. Run `specky doctor` anytime to validate integrity and config.
117
117
 
118
+ Starting in v3.7.2, generated assets are platform-native. `specky install --ide=copilot` writes GitHub Copilot agents/prompts with VS Code tool names such as `search`, `agent`, and `specky/sdd_get_status`, plus prompt `agent: agent` frontmatter. `specky install --ide=claude` writes Claude Code agents/commands with `Read`, `Glob`, `Grep`, `Task`, and `mcp__specky__sdd_get_status`, with Copilot-only prompt metadata removed.
119
+
120
+ Specky also has an APM governance layer for enterprise package control. `apm.yml` declares the package primitives, targets, and MCP runtime; `apm.lock.yaml` pins primitive hashes; `apm-policy.yml` enforces MCP and tool-name policy. Maintainers and CI can run `specky apm validate`, `specky apm policy`, `specky apm verify-lock`, and `specky apm sbom` before publishing or installing.
121
+
118
122
  Full walkthroughs per OS, offline install, and CLI reference: [docs/INSTALL.md](docs/INSTALL.md) · [docs/CLI.md](docs/CLI.md).
119
123
 
120
124
 
package/apm-policy.yml ADDED
@@ -0,0 +1,41 @@
1
+ # apm-policy.yml — enterprise governance policy for Specky primitive packaging.
2
+ #
3
+ # Enforced by `specky apm policy check` (and in CI via .github/workflows).
4
+ # The goal is least-privilege, reproducible, harness-isolated primitives.
5
+
6
+ schemaVersion: 1
7
+
8
+ # Package sources that may be installed/trusted.
9
+ allowedSources:
10
+ - github.com/paulasilvatech/specky
11
+ - registry.npmjs.org/specky-sdd
12
+
13
+ # MCP governance. Only these servers may be declared in apm.yml, and
14
+ # transitive MCP servers are not auto-trusted.
15
+ mcp:
16
+ allowTransitive: false
17
+ allowedServers:
18
+ - specky
19
+
20
+ # Hook governance. Hook manifests may only register these event types.
21
+ hooks:
22
+ allowedEvents:
23
+ - SessionStart
24
+ - UserPromptSubmit
25
+ - PreToolUse
26
+ - PostToolUse
27
+ - Stop
28
+
29
+ # Per-target tool-name isolation. Compiled output for one harness must never
30
+ # contain another harness's native tool tokens.
31
+ targets:
32
+ github-copilot:
33
+ forbidToolTokens:
34
+ - Read
35
+ - Glob
36
+ - Grep
37
+ - Task
38
+ - mcp__specky__
39
+ claude-code:
40
+ forbidToolTokens:
41
+ - "specky/"
package/apm.lock.yaml ADDED
@@ -0,0 +1,71 @@
1
+ # Generated by `specky apm lock`. Do not edit by hand.
2
+ schemaVersion: 1
3
+ package:
4
+ name: specky-sdd
5
+ version: 3.7.3
6
+ primitives:
7
+ .apm/agents/design-architect.agent.md: sha256:b96b16fe04f68afb3b6c656a492603f143527ebe82089a9d4c0d2111f4446836
8
+ .apm/agents/implementer.agent.md: sha256:f78ffbbb4c4a69abb8b0c0158aea914ababd0036c51d7ed77138c21cd3d40979
9
+ .apm/agents/quality-reviewer.agent.md: sha256:deab4a84577f3256f87b7de7a48ff66093996e47570e134cf6cfa3a3d15db902
10
+ .apm/agents/release-engineer.agent.md: sha256:2e895fcfc3f5b42f7c58e3162e3f2b6dfcbeaa1be3b4f0d1f2bf3205bb447c70
11
+ .apm/agents/requirements-engineer.agent.md: sha256:d36a6e95a5612e4a38a1d77f03d3d654ad5c429edfdd01dc1847763cae2d69e3
12
+ .apm/agents/research-analyst.agent.md: sha256:2d9aee79aa46afd5c68f1bf154df3d4b84f313d8249a05b2ad41afa1a7c4822c
13
+ .apm/agents/sdd-clarify.agent.md: sha256:01b2322ba93d76aaf7e2268a90d08c8e0df220a679ec9817164ca71c47ade7fd
14
+ .apm/agents/sdd-init.agent.md: sha256:d674022d21c1c4f60f4cdc6fee7136ecb6f931b523377ed5b1263be284b9c434
15
+ .apm/agents/spec-engineer.agent.md: sha256:a51bfd89b823ba1f107e2c1b4cc56d016ab2f30cdba5881f3374d65556b5d273
16
+ .apm/agents/specky-onboarding.agent.md: sha256:061c2338b2ccafdbb8a41f33d8a6fbc191d5c0e17798057d28c1d4aa5e0a1ed8
17
+ .apm/agents/specky-orchestrator.agent.md: sha256:685753cfd1b70fc4ca26295242606e1f4c20689edae439d246071e447f72b71b
18
+ .apm/agents/task-planner.agent.md: sha256:b6db870691b87efd29ce3836fefe54f0a2f8324f6fc13edf6e7523dab8fd66c8
19
+ .apm/agents/test-verifier.agent.md: sha256:206eb184709ed53f5a35cfa6ab7c1943856a3da2e9310c10a4906ba267f318f3
20
+ .apm/hooks/scripts/artifact-validator.sh: sha256:0575406bbaa8e17a30407c6c1cdde20ffcaf13d2f7af784f7552d0c9766ce7b9
21
+ .apm/hooks/scripts/auto-checkpoint.sh: sha256:503e13b517dfe32ca2e96bcf3a8c36186bd0cde5c8f2e8a9bdda72117449f1dc
22
+ .apm/hooks/scripts/branch-validator.sh: sha256:06cf44594387a5b9088db7c92c2bcb7f4fddd8f96a87cb6815614c593108a5f6
23
+ .apm/hooks/scripts/cognitive-debt-alert.sh: sha256:4808b0d4686605861e209011115d000b2f1137d321f81fc49f17ed47db2f4dbe
24
+ .apm/hooks/scripts/drift-monitor.sh: sha256:5229c55640c521740391e5b4aeae87b332ab66f8d74fc697fc3d0f3972681da1
25
+ .apm/hooks/scripts/ears-validator.sh: sha256:58afda3b30ddc883d89122dc39a740bcde4d8ec43b96826aa03c0d9bf242a9d0
26
+ .apm/hooks/scripts/lgtm-gate.sh: sha256:7bfde5bb0d7ae29164b280634c5829d9c43580c7e4edeab13868aeba42f5571f
27
+ .apm/hooks/scripts/metrics-dashboard.sh: sha256:05dc1bf7a97eeaf1165851428dc2dadaabc7f368359e6cfe53cfa5362d5e4835
28
+ .apm/hooks/scripts/phase-gate.sh: sha256:5c7ddbba01f6444feb649e6f954689d9885835dfe25dabfa58efb6b604434cfc
29
+ .apm/hooks/scripts/pipeline-guard.sh: sha256:2137418c06fa94c99cc4182caad35736c559e90df26d78d56a4b449c183d78b7
30
+ .apm/hooks/scripts/release-gate.sh: sha256:8d1a3ab57bf73618e7c03eef9e3d6ab148e48e350b9ec374c07ef4ac6bc23bcf
31
+ .apm/hooks/scripts/security-scan.sh: sha256:dc8f58757064b6b1d469a2d14fed4e2dd7395f92c421ba88c36fced6f9babf38
32
+ .apm/hooks/scripts/session-banner.sh: sha256:618dece6577abb20591be9f2b9c5a910c4ff382e07fcdc43a40499e0d5474b5d
33
+ .apm/hooks/scripts/spec-quality.sh: sha256:c9f4b0a4356077e55ca39301af0d6c4ec2a96c47b29e31735f614176a4bfbc47
34
+ .apm/hooks/scripts/spec-sync.sh: sha256:5a72c59829ef2c484bc26b6cf413fb233ef54962ea736deed77d7db7afc62e7b
35
+ .apm/hooks/scripts/task-tracer.sh: sha256:2c9eab6dcb0fd24c5326ff799f69b71e64f9fc1b8622040a0687dde895494552
36
+ .apm/hooks/sdd-hooks.json: sha256:363939df17a54b8361ca6c0eb4e2fdd4637e79a36ad04ed948ebed5e59c1868f
37
+ .apm/instructions/copilot-instructions.instructions.md: sha256:57378a57344403f16e37221981414b0febe1b7719a874115be6caf746c840a0a
38
+ .apm/prompts/specky-api.prompt.md: sha256:8fe67a5c3eb5a9e5e3e886d1f146b337a76276ff91ad7cb57e304268d9bd4065
39
+ .apm/prompts/specky-brownfield.prompt.md: sha256:b5979f957ff630ca64f35d8e8d82f8685ee24047f53eecfba9e8d59e1c514da0
40
+ .apm/prompts/specky-check-drift.prompt.md: sha256:f3a04b00ef10167cbd1cdcf63f8b8595d3bc8196d107b48963f8b123f711f3af
41
+ .apm/prompts/specky-clarify.prompt.md: sha256:caaf14ffc4cd738323ecf76355286eb1537a3b1005f05f5829a8c37e3ce7c0cf
42
+ .apm/prompts/specky-debug-hook.prompt.md: sha256:f3b8bb30b841a764a497b51ab75dedea26b74ba022b67aae911f79504b7aac2a
43
+ .apm/prompts/specky-deploy.prompt.md: sha256:acbb188902f203815cddb15f36c1c47a9f2e2ffd9de836ba50a85a75b12cfbb6
44
+ .apm/prompts/specky-design.prompt.md: sha256:745dd294d7a1eeb47f3f6e46d682614d26fcc99fa147501f31a0f29e1b9f07d6
45
+ .apm/prompts/specky-from-figma.prompt.md: sha256:0ba1d4d4a9ced39ea89bae8fa98ae3449c2d973510e9a6cf80e3cfe9f29b1fce
46
+ .apm/prompts/specky-from-meeting.prompt.md: sha256:6c3c237f86e3bc786b490cb71e2e29964e073fbc95b15b77cc48436cd6e4b215
47
+ .apm/prompts/specky-greenfield.prompt.md: sha256:c981a25c67b06ee7a031298ca1e49184f324e0cfe636b66aa7f6c07d1b11cf37
48
+ .apm/prompts/specky-implement.prompt.md: sha256:7c9392a4bb24a1f88778a5c603cf5f851dfefb10d9577338cb8f2e72a3795b33
49
+ .apm/prompts/specky-migration.prompt.md: sha256:462aef852d5d59f65a09d576b387797f5671a08ef85f4154f4f55d506de142af
50
+ .apm/prompts/specky-onboarding.prompt.md: sha256:41e623d0730f7e9bfe5c30569149a4f7ecc925a256645b2b30eee058ffa1c5fc
51
+ .apm/prompts/specky-orchestrate.prompt.md: sha256:8b40cc61bed8f85103c0bf6ea5ff4fa4741b0b8af6a18ec71dc8a049434cf62e
52
+ .apm/prompts/specky-pipeline-status.prompt.md: sha256:aa0f65c88a190b02532125acef55174559d997ad0deb3336577fb61b7e7f6fed
53
+ .apm/prompts/specky-release.prompt.md: sha256:db9c58674fe8288b839f7768b3b786746c1c6c1c81650cfe6e157883db7c7954
54
+ .apm/prompts/specky-research.prompt.md: sha256:5d45a1aa5e343b382dcb0879f42f0b1a29a25f8fb2ce2877e0afc7d9f808378e
55
+ .apm/prompts/specky-reset-phase.prompt.md: sha256:81218d63f7d8fdd8b7b9de8e8115f180ced3086dc4bc0853c46268ce335361de
56
+ .apm/prompts/specky-resolve-conflict.prompt.md: sha256:785a60f9515f13a601e421049aeac1b519f65db6c83fdce061df9e19f1f5947f
57
+ .apm/prompts/specky-specify.prompt.md: sha256:0c5e0cb14e360efda2272e7cbd9ff314b1960e75fecc0e9e30137fa8b30fc3c5
58
+ .apm/prompts/specky-tasks.prompt.md: sha256:f1a5848d162feb11e1c09da373fc3c6941720ba38a8d6a531b3bb03999bf29c3
59
+ .apm/prompts/specky-verify.prompt.md: sha256:2d2ebd12276078445a50a16d2775f207eca20ca9a4118d56391a95df86b7e0ee
60
+ .apm/skills/implementer/SKILL.md: sha256:7afc5a235cd25c9757aa91653157291cc755bd9938e83a2d58068cbdb684ecbd
61
+ .apm/skills/release-engineer/SKILL.md: sha256:b52f5081d546e63de1becf53c67dbbf11b4848b94e31144951cb347a9e1c0157
62
+ .apm/skills/research-analyst/SKILL.md: sha256:b3346101b1784f173fda50731d81fb5831f6c9d28f8af58a7527fc167af739d0
63
+ .apm/skills/sdd-markdown-standard/SKILL.md: sha256:0d5f59773d1c965c5daf7e91638fe0019e593261eda2ab29c9dec82c00ee8d5b
64
+ .apm/skills/sdd-pipeline/references/ears-notation.md: sha256:580dc051802750904ef409b9f89873ad250326bc17c992bd53366b3b1a04f1c5
65
+ .apm/skills/sdd-pipeline/references/model-routing.md: sha256:6ca9bd5cde2a8d227c795d37c4d43b712dd183c10d5d87b987514b494f7c28f3
66
+ .apm/skills/sdd-pipeline/SKILL.md: sha256:7a8173d9882cafa303f35881fc88cc5482b97a287618dcb851959b704895340a
67
+ .apm/skills/specky-onboarding/SKILL.md: sha256:cdfb2dfaeb74d6ee33eee4773a80f00c0fc263c288853d3b6a966ce00b0fa442
68
+ .apm/skills/specky-orchestrator/SKILL.md: sha256:66af8f8fb882f70e2484d74bff974942f346874e957bbee520994804a2edd734
69
+ .apm/skills/test-verifier/SKILL.md: sha256:b0d3f66271508ab8015b6145dbc85906143662d2841685b55c177adbea7c2a78
70
+ apm-policy.yml: sha256:c7af3a9a0f73dc7addd88f92df93d93f1726aceb1671b298d0e397919ac5bf19
71
+ apm.yml: sha256:270e785f7a586c9c3f5c9839cf8b5b40c120a9558acec2f880dfd21ef7962503
package/apm.yml CHANGED
@@ -1,9 +1,36 @@
1
1
  name: specky-sdd
2
- version: 3.7.0
2
+ version: 3.7.3
3
3
  description: "Agentic Spec-Driven Development — 10-phase pipeline with 58 MCP tools, 13 agents, 22 prompts, 8 skills, 16 hooks, EARS notation, model routing, and enterprise security"
4
4
  author: Paula Silva
5
5
  license: MIT
6
- target: all
6
+
7
+ # Harness targets this package compiles to. Each target is rendered from the
8
+ # single canonical primitive source below via a Specky harness compiler
9
+ # (src/cli/lib/harness). `specky install --ide=<target>` and
10
+ # `specky compile --target=<target>` produce that harness's native layout.
11
+ targets:
12
+ - github-copilot
13
+ - claude-code
14
+
15
+ # Canonical, harness-agnostic primitive source. Authored once and compiled per
16
+ # target — never hand-edited per harness.
17
+ primitives:
18
+ agents: .apm/agents
19
+ prompts: .apm/prompts
20
+ skills: .apm/skills
21
+ instructions: .apm/instructions
22
+ hooks: .apm/hooks
23
+
24
+ # MCP runtime that backs the `specky/sdd_*` (Copilot) and `mcp__specky__sdd_*`
25
+ # (Claude) tool ids referenced by the primitives above.
26
+ mcp:
27
+ servers:
28
+ - name: specky
29
+ registry: false
30
+ transport: stdio
31
+ command: npx
32
+ args: ["-y", "specky-sdd@latest", "serve"]
33
+ tools: ["sdd_*"]
7
34
 
8
35
  dependencies:
9
36
  mcp:
@@ -0,0 +1,2 @@
1
+ export declare function apmCommand(argv: string[]): number;
2
+ //# sourceMappingURL=apm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apm.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/apm.ts"],"names":[],"mappings":"AAgHA,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAwCjD"}