specweave 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/INSTALL.md +848 -0
  2. package/LICENSE +21 -0
  3. package/README.md +675 -0
  4. package/SPECWEAVE.md +665 -0
  5. package/bin/install-agents.sh +57 -0
  6. package/bin/install-all.sh +49 -0
  7. package/bin/install-commands.sh +56 -0
  8. package/bin/install-skills.sh +57 -0
  9. package/bin/specweave.js +81 -0
  10. package/dist/adapters/adapter-base.d.ts +50 -0
  11. package/dist/adapters/adapter-base.d.ts.map +1 -0
  12. package/dist/adapters/adapter-base.js +146 -0
  13. package/dist/adapters/adapter-base.js.map +1 -0
  14. package/dist/adapters/adapter-interface.d.ts +108 -0
  15. package/dist/adapters/adapter-interface.d.ts.map +1 -0
  16. package/dist/adapters/adapter-interface.js +9 -0
  17. package/dist/adapters/adapter-interface.js.map +1 -0
  18. package/dist/adapters/claude/adapter.d.ts +54 -0
  19. package/dist/adapters/claude/adapter.d.ts.map +1 -0
  20. package/dist/adapters/claude/adapter.js +184 -0
  21. package/dist/adapters/claude/adapter.js.map +1 -0
  22. package/dist/adapters/copilot/adapter.d.ts +42 -0
  23. package/dist/adapters/copilot/adapter.d.ts.map +1 -0
  24. package/dist/adapters/copilot/adapter.js +239 -0
  25. package/dist/adapters/copilot/adapter.js.map +1 -0
  26. package/dist/adapters/cursor/adapter.d.ts +42 -0
  27. package/dist/adapters/cursor/adapter.d.ts.map +1 -0
  28. package/dist/adapters/cursor/adapter.js +297 -0
  29. package/dist/adapters/cursor/adapter.js.map +1 -0
  30. package/dist/adapters/generic/adapter.d.ts +40 -0
  31. package/dist/adapters/generic/adapter.d.ts.map +1 -0
  32. package/dist/adapters/generic/adapter.js +155 -0
  33. package/dist/adapters/generic/adapter.js.map +1 -0
  34. package/dist/cli/commands/init.d.ts +6 -0
  35. package/dist/cli/commands/init.d.ts.map +1 -0
  36. package/dist/cli/commands/init.js +247 -0
  37. package/dist/cli/commands/init.js.map +1 -0
  38. package/dist/cli/commands/install.d.ts +7 -0
  39. package/dist/cli/commands/install.d.ts.map +1 -0
  40. package/dist/cli/commands/install.js +160 -0
  41. package/dist/cli/commands/install.js.map +1 -0
  42. package/dist/cli/commands/list.d.ts +6 -0
  43. package/dist/cli/commands/list.d.ts.map +1 -0
  44. package/dist/cli/commands/list.js +154 -0
  45. package/dist/cli/commands/list.js.map +1 -0
  46. package/package.json +90 -0
  47. package/src/adapters/README.md +312 -0
  48. package/src/adapters/adapter-base.ts +146 -0
  49. package/src/adapters/adapter-interface.ts +120 -0
  50. package/src/adapters/claude/README.md +241 -0
  51. package/src/adapters/claude/adapter.ts +157 -0
  52. package/src/adapters/copilot/.github/copilot/instructions.md +376 -0
  53. package/src/adapters/copilot/README.md +200 -0
  54. package/src/adapters/copilot/adapter.ts +210 -0
  55. package/src/adapters/cursor/.cursor/context/docs-context.md +62 -0
  56. package/src/adapters/cursor/.cursor/context/increments-context.md +71 -0
  57. package/src/adapters/cursor/.cursor/context/strategy-context.md +73 -0
  58. package/src/adapters/cursor/.cursor/context/tests-context.md +89 -0
  59. package/src/adapters/cursor/.cursorrules +325 -0
  60. package/src/adapters/cursor/README.md +243 -0
  61. package/src/adapters/cursor/adapter.ts +268 -0
  62. package/src/adapters/generic/README.md +277 -0
  63. package/src/adapters/generic/SPECWEAVE-MANUAL.md +676 -0
  64. package/src/adapters/generic/adapter.ts +159 -0
  65. package/src/adapters/registry.yaml +126 -0
  66. package/src/agents/architect/AGENT.md +416 -0
  67. package/src/agents/devops/AGENT.md +1738 -0
  68. package/src/agents/docs-writer/AGENT.md +239 -0
  69. package/src/agents/performance/AGENT.md +228 -0
  70. package/src/agents/pm/AGENT.md +751 -0
  71. package/src/agents/qa-lead/AGENT.md +150 -0
  72. package/src/agents/security/AGENT.md +179 -0
  73. package/src/agents/sre/AGENT.md +582 -0
  74. package/src/agents/sre/modules/backend-diagnostics.md +481 -0
  75. package/src/agents/sre/modules/database-diagnostics.md +509 -0
  76. package/src/agents/sre/modules/infrastructure.md +561 -0
  77. package/src/agents/sre/modules/monitoring.md +439 -0
  78. package/src/agents/sre/modules/security-incidents.md +421 -0
  79. package/src/agents/sre/modules/ui-diagnostics.md +302 -0
  80. package/src/agents/sre/playbooks/01-high-cpu-usage.md +204 -0
  81. package/src/agents/sre/playbooks/02-database-deadlock.md +241 -0
  82. package/src/agents/sre/playbooks/03-memory-leak.md +252 -0
  83. package/src/agents/sre/playbooks/04-slow-api-response.md +269 -0
  84. package/src/agents/sre/playbooks/05-ddos-attack.md +293 -0
  85. package/src/agents/sre/playbooks/06-disk-full.md +314 -0
  86. package/src/agents/sre/playbooks/07-service-down.md +333 -0
  87. package/src/agents/sre/playbooks/08-data-corruption.md +337 -0
  88. package/src/agents/sre/playbooks/09-cascade-failure.md +430 -0
  89. package/src/agents/sre/playbooks/10-rate-limit-exceeded.md +464 -0
  90. package/src/agents/sre/scripts/health-check.sh +230 -0
  91. package/src/agents/sre/scripts/log-analyzer.py +213 -0
  92. package/src/agents/sre/scripts/metrics-collector.sh +294 -0
  93. package/src/agents/sre/scripts/trace-analyzer.js +257 -0
  94. package/src/agents/sre/templates/incident-report.md +249 -0
  95. package/src/agents/sre/templates/mitigation-plan.md +375 -0
  96. package/src/agents/sre/templates/post-mortem.md +418 -0
  97. package/src/agents/sre/templates/runbook-template.md +412 -0
  98. package/src/agents/tech-lead/AGENT.md +263 -0
  99. package/src/commands/add-tasks.md +176 -0
  100. package/src/commands/close-increment.md +347 -0
  101. package/src/commands/create-increment.md +223 -0
  102. package/src/commands/create-project.md +528 -0
  103. package/src/commands/generate-docs.md +623 -0
  104. package/src/commands/list-increments.md +180 -0
  105. package/src/commands/review-docs.md +331 -0
  106. package/src/commands/start-increment.md +139 -0
  107. package/src/commands/sync-github.md +115 -0
  108. package/src/commands/validate-increment.md +800 -0
  109. package/src/hooks/README.md +252 -0
  110. package/src/hooks/docs-changed.sh +59 -0
  111. package/src/hooks/human-input-required.sh +55 -0
  112. package/src/hooks/post-task-completion.sh +57 -0
  113. package/src/hooks/pre-implementation.sh +47 -0
  114. package/src/skills/ado-sync/README.md +449 -0
  115. package/src/skills/ado-sync/SKILL.md +245 -0
  116. package/src/skills/ado-sync/test-cases/test-1.yaml +9 -0
  117. package/src/skills/ado-sync/test-cases/test-2.yaml +8 -0
  118. package/src/skills/ado-sync/test-cases/test-3.yaml +9 -0
  119. package/src/skills/bmad-method-expert/SKILL.md +628 -0
  120. package/src/skills/bmad-method-expert/scripts/analyze-project.js +318 -0
  121. package/src/skills/bmad-method-expert/scripts/check-setup.js +208 -0
  122. package/src/skills/bmad-method-expert/scripts/generate-template.js +1149 -0
  123. package/src/skills/bmad-method-expert/scripts/validate-documents.js +340 -0
  124. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +12 -0
  125. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +12 -0
  126. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +12 -0
  127. package/src/skills/brownfield-analyzer/SKILL.md +523 -0
  128. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +48 -0
  129. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +12 -0
  130. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +12 -0
  131. package/src/skills/brownfield-onboarder/SKILL.md +625 -0
  132. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +12 -0
  133. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +12 -0
  134. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +12 -0
  135. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +12 -0
  136. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +12 -0
  137. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +12 -0
  138. package/src/skills/context-loader/SKILL.md +734 -0
  139. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +39 -0
  140. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +44 -0
  141. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +45 -0
  142. package/src/skills/context-optimizer/SKILL.md +618 -0
  143. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +97 -0
  144. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +109 -0
  145. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +98 -0
  146. package/src/skills/cost-optimizer/SKILL.md +190 -0
  147. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +75 -0
  148. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +52 -0
  149. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +63 -0
  150. package/src/skills/cost-optimizer/test-results/README.md +46 -0
  151. package/src/skills/design-system-architect/SKILL.md +107 -0
  152. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +23 -0
  153. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +24 -0
  154. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +23 -0
  155. package/src/skills/diagrams-architect/SKILL.md +763 -0
  156. package/src/skills/diagrams-generator/SKILL.md +25 -0
  157. package/src/skills/diagrams-generator/test-cases/test-1.yaml +9 -0
  158. package/src/skills/diagrams-generator/test-cases/test-2.yaml +9 -0
  159. package/src/skills/diagrams-generator/test-cases/test-3.yaml +8 -0
  160. package/src/skills/docs-updater/README.md +48 -0
  161. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +12 -0
  162. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +12 -0
  163. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +12 -0
  164. package/src/skills/dotnet-backend/SKILL.md +250 -0
  165. package/src/skills/e2e-playwright/README.md +506 -0
  166. package/src/skills/e2e-playwright/SKILL.md +457 -0
  167. package/src/skills/e2e-playwright/execute.js +373 -0
  168. package/src/skills/e2e-playwright/lib/utils.js +514 -0
  169. package/src/skills/e2e-playwright/package.json +33 -0
  170. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +54 -0
  171. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +64 -0
  172. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +74 -0
  173. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +98 -0
  174. package/src/skills/figma-designer/SKILL.md +149 -0
  175. package/src/skills/figma-implementer/SKILL.md +148 -0
  176. package/src/skills/figma-mcp-connector/SKILL.md +136 -0
  177. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +22 -0
  178. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +21 -0
  179. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +18 -0
  180. package/src/skills/figma-to-code/SKILL.md +128 -0
  181. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +29 -0
  182. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +27 -0
  183. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +28 -0
  184. package/src/skills/frontend/SKILL.md +177 -0
  185. package/src/skills/github-sync/SKILL.md +252 -0
  186. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +12 -0
  187. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +12 -0
  188. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +12 -0
  189. package/src/skills/hetzner-provisioner/README.md +308 -0
  190. package/src/skills/hetzner-provisioner/SKILL.md +251 -0
  191. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +71 -0
  192. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +85 -0
  193. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +126 -0
  194. package/src/skills/hetzner-provisioner/test-results/README.md +259 -0
  195. package/src/skills/increment-planner/SKILL.md +889 -0
  196. package/src/skills/increment-planner/scripts/feature-utils.js +250 -0
  197. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +27 -0
  198. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +30 -0
  199. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +24 -0
  200. package/src/skills/increment-quality-judge/SKILL.md +566 -0
  201. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +95 -0
  202. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +108 -0
  203. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +87 -0
  204. package/src/skills/jira-sync/README.md +328 -0
  205. package/src/skills/jira-sync/SKILL.md +209 -0
  206. package/src/skills/jira-sync/test-cases/test-1.yaml +9 -0
  207. package/src/skills/jira-sync/test-cases/test-2.yaml +9 -0
  208. package/src/skills/jira-sync/test-cases/test-3.yaml +10 -0
  209. package/src/skills/nextjs/SKILL.md +176 -0
  210. package/src/skills/nodejs-backend/SKILL.md +181 -0
  211. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +12 -0
  212. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +12 -0
  213. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +12 -0
  214. package/src/skills/python-backend/SKILL.md +226 -0
  215. package/src/skills/role-orchestrator/README.md +197 -0
  216. package/src/skills/role-orchestrator/SKILL.md +1184 -0
  217. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +98 -0
  218. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +73 -0
  219. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +121 -0
  220. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +145 -0
  221. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +149 -0
  222. package/src/skills/skill-creator/LICENSE.txt +202 -0
  223. package/src/skills/skill-creator/SKILL.md +209 -0
  224. package/src/skills/skill-creator/scripts/init_skill.py +303 -0
  225. package/src/skills/skill-creator/scripts/package_skill.py +110 -0
  226. package/src/skills/skill-creator/scripts/quick_validate.py +65 -0
  227. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +12 -0
  228. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +12 -0
  229. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +12 -0
  230. package/src/skills/skill-router/SKILL.md +497 -0
  231. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +33 -0
  232. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +42 -0
  233. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +50 -0
  234. package/src/skills/spec-driven-brainstorming/README.md +264 -0
  235. package/src/skills/spec-driven-brainstorming/SKILL.md +439 -0
  236. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +148 -0
  237. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +190 -0
  238. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +233 -0
  239. package/src/skills/spec-driven-debugging/README.md +479 -0
  240. package/src/skills/spec-driven-debugging/SKILL.md +652 -0
  241. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +212 -0
  242. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +461 -0
  243. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +366 -0
  244. package/src/skills/spec-kit-expert/SKILL.md +1012 -0
  245. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +12 -0
  246. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +12 -0
  247. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +12 -0
  248. package/src/skills/specweave-ado-mapper/SKILL.md +501 -0
  249. package/src/skills/specweave-detector/SKILL.md +420 -0
  250. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +37 -0
  251. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +37 -0
  252. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +34 -0
  253. package/src/skills/specweave-jira-mapper/SKILL.md +500 -0
  254. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +12 -0
  255. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +12 -0
  256. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +12 -0
  257. package/src/skills/task-builder/README.md +90 -0
  258. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +12 -0
  259. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +12 -0
  260. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +12 -0
  261. package/src/templates/.env.example +144 -0
  262. package/src/templates/.gitignore.template +81 -0
  263. package/src/templates/CLAUDE.md.template +383 -0
  264. package/src/templates/README.md.template +240 -0
  265. package/src/templates/config.yaml +333 -0
  266. package/src/templates/docs/README.md +124 -0
  267. package/src/templates/docs/adr-template.md +118 -0
  268. package/src/templates/docs/hld-template.md +220 -0
  269. package/src/templates/docs/lld-template.md +580 -0
  270. package/src/templates/docs/prd-template.md +132 -0
  271. package/src/templates/docs/rfc-template.md +229 -0
  272. package/src/templates/docs/runbook-template.md +298 -0
  273. package/src/templates/environments/minimal/.env.production +16 -0
  274. package/src/templates/environments/minimal/README.md +54 -0
  275. package/src/templates/environments/minimal/deploy-production.yml +52 -0
  276. package/src/templates/environments/progressive/.env.qa +28 -0
  277. package/src/templates/environments/progressive/README.md +129 -0
  278. package/src/templates/environments/progressive/deploy-production.yml +93 -0
  279. package/src/templates/environments/progressive/deploy-qa.yml +62 -0
  280. package/src/templates/environments/progressive/deploy-staging.yml +67 -0
  281. package/src/templates/environments/standard/.env.development +20 -0
  282. package/src/templates/environments/standard/.env.production +30 -0
  283. package/src/templates/environments/standard/.env.staging +23 -0
  284. package/src/templates/environments/standard/README.md +97 -0
  285. package/src/templates/environments/standard/deploy-production.yml +68 -0
  286. package/src/templates/environments/standard/deploy-staging.yml +61 -0
  287. package/src/templates/environments/standard/docker-compose.yml +43 -0
  288. package/src/templates/increment-metadata-template.yaml +138 -0
@@ -0,0 +1,800 @@
1
+ ---
2
+ name: validate-increment
3
+ description: Validate SpecWeave increment with rule-based checks and optional AI quality assessment
4
+ ---
5
+
6
+ # Validate Increment
7
+
8
+ You are helping the user validate a SpecWeave increment with optional AI-powered quality assessment.
9
+
10
+ ## Usage
11
+
12
+ ```bash
13
+ /validate-increment <increment-id> [--quality] [--export] [--fix] [--always]
14
+ ```
15
+
16
+ ## Arguments
17
+
18
+ - `<increment-id>`: Required. Increment ID (e.g., "001", "0001", "1", "0042")
19
+
20
+ ## Flags
21
+
22
+ - `--quality`: Run AI quality assessment (LLM-as-judge, ~2k tokens, 1-2 minutes)
23
+ - `--export`: Export AI suggestions to tasks.md automatically
24
+ - `--fix`: Auto-fix HIGH priority issues (experimental, requires confirmation)
25
+ - `--always`: Save quality assessment as default in config.yaml
26
+
27
+ ## Workflow
28
+
29
+ ### Step 1: Parse and Validate Arguments
30
+
31
+ 1. **Extract increment ID**:
32
+ - Parse from command: `/validate-increment 001` → "001"
33
+ - Normalize to 4-digit format: "0001"
34
+ - Support formats: "1", "01", "001", "0001"
35
+
36
+ 2. **Extract flags**:
37
+ - Check for `--quality` flag
38
+ - Check for `--export` flag
39
+ - Check for `--fix` flag
40
+ - Check for `--always` flag
41
+
42
+ 3. **Validate increment exists**:
43
+ - List directories in `.specweave/increments/`
44
+ - Find matching increment (e.g., `0001-authentication`, `0001-auth`, etc.)
45
+ - If not found: Show error with available increments
46
+
47
+ **Example output if not found**:
48
+ ```
49
+ ❌ Error: Increment 0001 not found
50
+
51
+ Available increments:
52
+ • 0002-core-enhancements
53
+ • 0003-payment-processing
54
+ • 0004-reporting-dashboard
55
+
56
+ Usage: /validate-increment <id> [--quality] [--export] [--fix] [--always]
57
+ ```
58
+
59
+ ### Step 2: Run Rule-Based Validation (Always)
60
+
61
+ Run 120 validation rules across 4 categories:
62
+
63
+ 1. **Consistency Rules (47 checks)**:
64
+ - User stories in spec.md → sections in plan.md
65
+ - Components in plan.md → tasks in tasks.md
66
+ - Test cases (TC-0001) in spec.md → tests.md coverage
67
+ - Cross-document consistency (IDs, priorities, dependencies)
68
+
69
+ 2. **Completeness Rules (23 checks)**:
70
+ - spec.md: Frontmatter, problem statement, user stories, acceptance criteria
71
+ - plan.md: Architecture, components, data model, API contracts, security
72
+ - tasks.md: Task IDs, descriptions, priorities, estimates
73
+
74
+ 3. **Quality Rules (31 checks)**:
75
+ - spec.md: Technology-agnostic, testable acceptance criteria
76
+ - plan.md: Technical details, ADRs exist, security addressed
77
+ - tasks.md: Actionable, reasonable estimates (<1 day)
78
+
79
+ 4. **Traceability Rules (19 checks)**:
80
+ - TC-0001 format, sequential numbering
81
+ - ADR references exist
82
+ - Diagram references valid
83
+
84
+ **Display results**:
85
+ ```
86
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
87
+ VALIDATION RESULTS: Increment 0001-authentication
88
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
89
+
90
+ ✅ Rule-Based Validation: PASSED (120/120 checks)
91
+ ✓ Consistency (47/47)
92
+ ✓ Completeness (23/23)
93
+ ✓ Quality (31/31)
94
+ ✓ Traceability (19/19)
95
+
96
+ Files validated:
97
+ • spec.md (250 lines, 6 user stories)
98
+ • plan.md (480 lines, 8 components)
99
+ • tasks.md (42 tasks, P0-P2)
100
+ • tests.md (12 test cases, 85% coverage)
101
+
102
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
103
+ ```
104
+
105
+ **If errors found**:
106
+ ```
107
+ ❌ Rule-Based Validation: FAILED (115/120 checks)
108
+ ✓ Consistency (45/47) - 2 errors
109
+ ✓ Completeness (23/23)
110
+ ⚠️ Quality (28/31) - 3 warnings
111
+ ✓ Traceability (19/19)
112
+
113
+ ERRORS (2):
114
+ 🔴 spec.md:45 - Missing acceptance criteria for US-003
115
+ 🔴 Inconsistency: spec.md mentions "real-time updates" but plan.md doesn't address it
116
+
117
+ WARNINGS (3):
118
+ 🟡 Task T012 exceeds size guideline (5 days, should be <1 day)
119
+ 🟡 No security considerations in plan.md
120
+ 🟡 ADR-0005 referenced but doesn't exist (plan.md:89)
121
+
122
+ Action required:
123
+ 1. Fix missing acceptance criteria for US-003
124
+ 2. Address "real-time updates" in plan.md or remove from spec.md
125
+ 3. Consider breaking down T012 into smaller tasks
126
+
127
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
128
+ ```
129
+
130
+ ### Step 3: Determine If Quality Assessment Should Run
131
+
132
+ **Check in this order**:
133
+
134
+ 1. **If `--quality` flag provided**: Run quality assessment (skip prompt)
135
+ 2. **Else if `config.yaml` has `validation.quality_judge.always_run: true`**: Run quality assessment (skip prompt)
136
+ 3. **Else**: Prompt user
137
+
138
+ **Prompt format** (if needed):
139
+ ```
140
+ 🤔 Run AI Quality Assessment? (Optional)
141
+
142
+ This will:
143
+ • Evaluate spec clarity, testability, edge cases
144
+ • Provide detailed improvement suggestions
145
+ • Use ~2,000 tokens (1-2 minutes)
146
+ • Cost: ~$0.02 (Claude Sonnet 4.5)
147
+
148
+ Your choice:
149
+ [Y] Yes, assess quality
150
+ [N] No, skip (default)
151
+ [A] Always run (save to config)
152
+
153
+ Choice: _
154
+ ```
155
+
156
+ ### Step 4: Run AI Quality Assessment (If Approved)
157
+
158
+ **Invoke `increment-quality-judge` skill** with these parameters:
159
+ - increment_id: "0001"
160
+ - files: ["spec.md", "plan.md", "tests.md"]
161
+ - dimensions: ["clarity", "testability", "completeness", "feasibility", "maintainability", "edge_cases"]
162
+
163
+ **Quality judge evaluates 6 dimensions**:
164
+
165
+ 1. **Clarity** (weight: 0.20)
166
+ - Is problem statement clear?
167
+ - Are objectives well-defined?
168
+ - Is terminology consistent?
169
+
170
+ 2. **Testability** (weight: 0.25)
171
+ - Are acceptance criteria testable?
172
+ - Can success be measured objectively?
173
+ - Are edge cases identifiable?
174
+
175
+ 3. **Completeness** (weight: 0.20)
176
+ - All requirements addressed?
177
+ - Error handling specified?
178
+ - Non-functional requirements included?
179
+
180
+ 4. **Feasibility** (weight: 0.15)
181
+ - Architecture scalable?
182
+ - Technical constraints realistic?
183
+ - Timeline achievable?
184
+
185
+ 5. **Maintainability** (weight: 0.10)
186
+ - Design modular?
187
+ - Extension points identified?
188
+ - Technical debt addressed?
189
+
190
+ 6. **Edge Cases** (weight: 0.10)
191
+ - Failure scenarios covered?
192
+ - Performance limits specified?
193
+ - Security considerations included?
194
+
195
+ **Display quality results**:
196
+ ```
197
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
198
+ AI QUALITY ASSESSMENT
199
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
200
+
201
+ Overall Score: 87/100 (GOOD) ✓
202
+
203
+ Dimension Scores:
204
+ Clarity: 92/100 ✓✓
205
+ Testability: 78/100 ✓ (Needs improvement)
206
+ Completeness: 90/100 ✓✓
207
+ Feasibility: 88/100 ✓✓
208
+ Maintainability: 85/100 ✓
209
+ Edge Cases: 72/100 ⚠️ (Action needed)
210
+
211
+ Confidence: 92%
212
+
213
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
214
+ ISSUES FOUND (3)
215
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
216
+
217
+ 🔴 MAJOR: Acceptance criteria not fully testable
218
+ Dimension: Testability
219
+ Location: spec.md, section "Success Criteria" (line 78)
220
+ Issue: "User can log in successfully" is vague
221
+ Impact: QA won't know when feature is complete
222
+
223
+ 🔴 MAJOR: Rate limiting edge case not addressed
224
+ Dimension: Edge Cases
225
+ Location: plan.md, section "Security" (line 145)
226
+ Issue: No mention of brute-force protection
227
+ Impact: Security vulnerability risk (OWASP A07:2021)
228
+
229
+ 🔸 MINOR: Performance requirements missing
230
+ Dimension: Completeness
231
+ Location: spec.md, section "Non-Functional Requirements"
232
+ Issue: No latency or throughput targets specified
233
+ Impact: Hard to measure success objectively
234
+
235
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
236
+ SUGGESTIONS (3)
237
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
238
+
239
+ 🎯 HIGH PRIORITY: Make acceptance criteria measurable
240
+
241
+ Current:
242
+ "User can log in successfully"
243
+
244
+ Improved:
245
+ "User can log in with valid credentials within 2 seconds,
246
+ receiving a JWT token with 24h expiry. Success rate >99.9%."
247
+
248
+ Why: Testable criteria = clear success definition
249
+
250
+ 🎯 HIGH PRIORITY: Specify edge case handling
251
+
252
+ Add section: "Error Scenarios"
253
+ - Rate limiting: 5 failed attempts → 15 min lockout
254
+ - Invalid token: Return 401 with error code AUTH_INVALID
255
+ - Expired session: Redirect to login with message
256
+ - Network timeout: Retry 3 times with exponential backoff
257
+
258
+ Why: Edge cases cause 60% of production bugs
259
+
260
+ 🔹 MEDIUM PRIORITY: Add performance requirements
261
+
262
+ Suggested addition to spec.md:
263
+ - Login latency: p95 < 500ms, p99 < 1s
264
+ - Concurrent logins: Support 100 requests/sec
265
+ - Token validation: < 10ms per request
266
+ - Uptime SLA: 99.9% (43 min downtime/month)
267
+
268
+ Why: Performance is a feature, not an afterthought
269
+
270
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
271
+ SUMMARY
272
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
273
+
274
+ ✅ This specification is GOOD (87/100)
275
+
276
+ Strengths:
277
+ • Clear problem statement and objectives
278
+ • Architecture is sound and scalable
279
+ • Good coverage of functional requirements
280
+ • Strong maintainability score
281
+
282
+ Areas for improvement:
283
+ • Make acceptance criteria more testable (2 items)
284
+ • Address edge cases (rate limiting, errors)
285
+ • Add performance requirements
286
+
287
+ Recommendation: Address HIGH priority suggestions before
288
+ implementation. MEDIUM priority can be added incrementally.
289
+
290
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
291
+ ```
292
+
293
+ ### Step 5: Handle Export Flag
294
+
295
+ **If `--export` flag OR user chooses "Export"**:
296
+
297
+ 1. Parse all suggestions from quality assessment
298
+ 2. Add to `.specweave/increments/0001-name/tasks.md`
299
+ 3. Format as tasks with priority labels
300
+
301
+ **Example tasks.md addition**:
302
+ ```markdown
303
+ ## Quality Improvement Tasks (from AI assessment)
304
+
305
+ - [ ] **[HIGH]** Make acceptance criteria measurable (spec.md:78)
306
+ Current: "User can log in successfully"
307
+ Improved: "User can log in with valid credentials within 2 seconds, receiving JWT with 24h expiry"
308
+ Estimated: 1h
309
+
310
+ - [ ] **[HIGH]** Specify edge case handling for rate limiting (plan.md:145)
311
+ Add: Rate limiting (5 attempts → 15min lockout), invalid token handling, session expiry flow
312
+ Estimated: 2h
313
+
314
+ - [ ] **[MEDIUM]** Add performance requirements (spec.md:120)
315
+ Add: Login latency (p95 <500ms), concurrent logins (100/sec), token validation (<10ms)
316
+ Estimated: 1h
317
+ ```
318
+
319
+ **Display confirmation**:
320
+ ```
321
+ ✅ Exported 3 suggestions to tasks.md
322
+
323
+ Added tasks:
324
+ • Make acceptance criteria measurable (HIGH, 1h)
325
+ • Specify edge case handling (HIGH, 2h)
326
+ • Add performance requirements (MEDIUM, 1h)
327
+
328
+ Total estimated effort: 4 hours
329
+ ```
330
+
331
+ ### Step 6: Handle Fix Flag (Experimental)
332
+
333
+ **If `--fix` flag provided**:
334
+
335
+ **Warning**: Auto-fix is experimental. Always show diff and ask confirmation.
336
+
337
+ 1. **Identify fixable issues**:
338
+ - Only attempt to fix HIGH priority issues
339
+ - Only fix issues with clear, unambiguous improvements
340
+ - Skip issues requiring domain knowledge
341
+
342
+ 2. **Generate fixes**:
343
+ - Use Edit tool to apply suggestions
344
+ - Show diff before applying
345
+
346
+ 3. **Show diff and ask confirmation**:
347
+ ```
348
+ 🔧 Auto-Fix Available (2/3 suggestions)
349
+
350
+ Fix 1: Make acceptance criteria measurable
351
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
352
+ File: spec.md (line 78)
353
+
354
+ - User can log in successfully
355
+ + User can log in with valid credentials within 2 seconds,
356
+ + receiving a JWT token with 24h expiry. Success rate >99.9%.
357
+
358
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
359
+
360
+ Fix 2: Add performance requirements
361
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
362
+ File: spec.md (line 120)
363
+
364
+ + ## Performance Requirements
365
+ +
366
+ + - Login latency: p95 < 500ms, p99 < 1s
367
+ + - Concurrent logins: Support 100 requests/sec
368
+ + - Token validation: < 10ms per request
369
+ + - Uptime SLA: 99.9% (43 min downtime/month)
370
+
371
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
372
+
373
+ Apply these fixes?
374
+ [Y] Yes, apply all
375
+ [S] Show more details
376
+ [N] No, cancel
377
+ [E] Export to tasks instead
378
+
379
+ Choice: _
380
+ ```
381
+
382
+ 4. **If user approves**:
383
+ - Apply fixes using Edit tool
384
+ - Re-run validation to confirm improvements
385
+ - Show summary
386
+
387
+ **After applying fixes**:
388
+ ```
389
+ ✅ Applied 2 fixes successfully
390
+
391
+ Changes:
392
+ • spec.md: Made acceptance criteria measurable (+3 lines)
393
+ • spec.md: Added performance requirements section (+8 lines)
394
+
395
+ Re-validating...
396
+
397
+ ✅ Rule-Based Validation: PASSED (120/120)
398
+ 🔍 AI Quality Score: 92/100 (EXCELLENT) ✓✓
399
+
400
+ Improvement: 87 → 92 (+5 points)
401
+
402
+ Remaining issues: 1 (requires manual review)
403
+ ```
404
+
405
+ ### Step 7: Handle Always Flag
406
+
407
+ **If `--always` flag OR user selects "Always run"**:
408
+
409
+ 1. Update `.specweave/config.yaml`:
410
+ ```yaml
411
+ validation:
412
+ quality_judge:
413
+ enabled: true
414
+ always_run: true # ← Set to true
415
+ auto_prompt: false # ← Disable prompt
416
+ thresholds:
417
+ excellent: 90
418
+ good: 80
419
+ acceptable: 70
420
+ dimensions:
421
+ clarity: true
422
+ testability: true
423
+ completeness: true
424
+ feasibility: true
425
+ maintainability: true
426
+ edge_cases: true
427
+ max_tokens: 2000
428
+ export_to_tasks: false # User can still use --export flag
429
+ ```
430
+
431
+ 2. **Display confirmation**:
432
+ ```
433
+ ✅ Configuration updated
434
+
435
+ Quality assessment will now run automatically for all future validations.
436
+
437
+ To disable:
438
+ 1. Edit .specweave/config.yaml
439
+ 2. Set validation.quality_judge.always_run: false
440
+
441
+ Or run: /validate-increment <id> (quality will run automatically)
442
+ ```
443
+
444
+ ### Step 8: Generate Validation Report
445
+
446
+ **Always generate detailed report** at:
447
+ `.specweave/increments/0001-name/reports/validation-report.md`
448
+
449
+ **Report structure**:
450
+ ```markdown
451
+ # Validation Report: Increment 0001-authentication
452
+
453
+ Generated: 2025-10-28 14:32:15 UTC
454
+ Command: /validate-increment 001 --quality
455
+
456
+ ## Executive Summary
457
+
458
+ **Overall Status**: ✅ PASSED (with recommendations)
459
+
460
+ - Rule-Based Validation: 120/120 checks passed
461
+ - AI Quality Score: 87/100 (GOOD)
462
+ - Issues Found: 3 (2 major, 1 minor)
463
+ - Suggestions: 3 (2 high, 1 medium priority)
464
+
465
+ ## Rule-Based Validation Results
466
+
467
+ ### Consistency (47/47) ✓
468
+ - User story → plan alignment: ✓
469
+ - Plan → tasks alignment: ✓
470
+ - Spec → tests traceability: ✓
471
+ - Cross-document consistency: ✓
472
+
473
+ ### Completeness (23/23) ✓
474
+ - spec.md sections: ✓
475
+ - plan.md sections: ✓
476
+ - tasks.md structure: ✓
477
+
478
+ ### Quality (31/31) ✓
479
+ - Technology-agnostic spec: ✓
480
+ - Testable acceptance criteria: ✓
481
+ - Actionable tasks: ✓
482
+
483
+ ### Traceability (19/19) ✓
484
+ - TC-0001 format: ✓
485
+ - ADR references: ✓
486
+ - Diagram references: ✓
487
+
488
+ ## AI Quality Assessment
489
+
490
+ ### Overall Score: 87/100 (GOOD)
491
+
492
+ ### Dimension Scores
493
+
494
+ | Dimension | Score | Grade | Status |
495
+ |-----------|-------|-------|--------|
496
+ | Clarity | 92/100 | ✓✓ | Excellent |
497
+ | Testability | 78/100 | ✓ | Needs improvement |
498
+ | Completeness | 90/100 | ✓✓ | Excellent |
499
+ | Feasibility | 88/100 | ✓✓ | Excellent |
500
+ | Maintainability | 85/100 | ✓ | Good |
501
+ | Edge Cases | 72/100 | ⚠️ | Action needed |
502
+
503
+ ### Issues Found
504
+
505
+ #### 🔴 MAJOR: Acceptance criteria not fully testable
506
+ - **Dimension**: Testability
507
+ - **Location**: spec.md:78, section "Success Criteria"
508
+ - **Issue**: "User can log in successfully" is vague
509
+ - **Impact**: QA won't know when feature is complete
510
+ - **Recommendation**: Make criteria measurable with specific metrics
511
+
512
+ #### 🔴 MAJOR: Rate limiting edge case not addressed
513
+ - **Dimension**: Edge Cases
514
+ - **Location**: plan.md:145, section "Security"
515
+ - **Issue**: No mention of brute-force protection
516
+ - **Impact**: Security vulnerability risk (OWASP A07:2021)
517
+ - **Recommendation**: Add rate limiting (5 attempts → 15min lockout)
518
+
519
+ #### 🔸 MINOR: Performance requirements missing
520
+ - **Dimension**: Completeness
521
+ - **Location**: spec.md:120
522
+ - **Issue**: No latency or throughput targets
523
+ - **Impact**: Hard to measure success objectively
524
+ - **Recommendation**: Add p95 latency, concurrent users, SLA targets
525
+
526
+ ### Suggestions
527
+
528
+ [Full suggestions with before/after examples]
529
+
530
+ ## Recommendations
531
+
532
+ ### Before Implementation
533
+ 1. ✅ Fix 2 major issues (testability, edge cases)
534
+ 2. ✅ Estimated effort: 3-4 hours
535
+
536
+ ### During Implementation
537
+ 1. Monitor testability of acceptance criteria
538
+ 2. Add security tests for rate limiting
539
+ 3. Set up performance monitoring
540
+
541
+ ### Post-Implementation
542
+ 1. Re-validate to confirm improvements
543
+ 2. Update documentation with actual performance metrics
544
+ 3. Create runbook for handling edge cases
545
+
546
+ ## Files Validated
547
+
548
+ - spec.md (250 lines, 6 user stories, 15 requirements)
549
+ - plan.md (480 lines, 8 components, 3 ADRs)
550
+ - tasks.md (42 tasks, estimated 3-4 weeks)
551
+ - tests.md (12 test cases, 85% coverage)
552
+
553
+ ## Validation History
554
+
555
+ | Date | Rule-Based | Quality Score | Command |
556
+ |------|------------|---------------|---------|
557
+ | 2025-10-28 | 120/120 | 87/100 | /validate-increment 001 --quality |
558
+ | 2025-10-25 | 115/120 | N/A | Auto-validation on save |
559
+ | 2025-10-24 | 110/120 | N/A | Auto-validation on save |
560
+
561
+ ---
562
+
563
+ Generated by SpecWeave validation system
564
+ For details: .specweave/docs/internal/delivery/guides/increment-validation.md
565
+ ```
566
+
567
+ **Notify user**:
568
+ ```
569
+ 📋 Full validation report saved:
570
+ .specweave/increments/0001-authentication/reports/validation-report.md
571
+ ```
572
+
573
+ ## Examples
574
+
575
+ ### Example 1: Basic Validation (Rule-Based Only)
576
+
577
+ ```bash
578
+ /validate-increment 001
579
+ ```
580
+
581
+ **Output**:
582
+ ```
583
+ ✅ Rule-Based Validation: PASSED (120/120 checks)
584
+
585
+ 🤔 Run AI Quality Assessment? [Y/n]: _
586
+ ```
587
+
588
+ ### Example 2: Validation with Quality Assessment
589
+
590
+ ```bash
591
+ /validate-increment 001 --quality
592
+ ```
593
+
594
+ **Output**:
595
+ ```
596
+ ✅ Rule-Based: 120/120
597
+ 🔍 AI Quality: 87/100 (GOOD)
598
+
599
+ Issues: 2 major, 1 minor
600
+ Suggestions: 3 (2 high, 1 medium)
601
+
602
+ 📋 Full report: .specweave/increments/0001-auth/reports/validation-report.md
603
+ ```
604
+
605
+ ### Example 3: Validate and Export Suggestions
606
+
607
+ ```bash
608
+ /validate-increment 001 --quality --export
609
+ ```
610
+
611
+ **Output**:
612
+ ```
613
+ ✅ Rule-Based: 120/120
614
+ 🔍 AI Quality: 87/100
615
+
616
+ ✅ Exported 3 suggestions to tasks.md
617
+ • Make acceptance criteria measurable (HIGH)
618
+ • Specify edge case handling (HIGH)
619
+ • Add performance requirements (MEDIUM)
620
+ ```
621
+
622
+ ### Example 4: Auto-Fix Issues
623
+
624
+ ```bash
625
+ /validate-increment 001 --quality --fix
626
+ ```
627
+
628
+ **Output**:
629
+ ```
630
+ ✅ Rule-Based: 120/120
631
+ 🔍 AI Quality: 87/100
632
+
633
+ 🔧 Auto-fix available for 2/3 issues
634
+
635
+ [Shows diff]
636
+
637
+ Apply fixes? [Y/s/n/e]: Y
638
+
639
+ ✅ Applied 2 fixes
640
+ Re-validated: 92/100 (improvement: +5)
641
+ ```
642
+
643
+ ### Example 5: Make Quality Assessment Default
644
+
645
+ ```bash
646
+ /validate-increment 001 --always
647
+ ```
648
+
649
+ **Output**:
650
+ ```
651
+ ✅ Rule-Based: 120/120
652
+ 🔍 AI Quality: 87/100
653
+
654
+ ✅ Configuration updated
655
+ Quality assessment will run automatically for future validations.
656
+ ```
657
+
658
+ ## Error Handling
659
+
660
+ ### Increment Not Found
661
+ ```
662
+ ❌ Error: Increment 0001 not found
663
+
664
+ Available increments:
665
+ • 0002-core-enhancements
666
+ • 0003-payment-processing
667
+
668
+ Usage: /validate-increment <id> [--quality] [--export] [--fix] [--always]
669
+ ```
670
+
671
+ ### Invalid Flags
672
+ ```
673
+ ❌ Error: Invalid flag '--qualitty'
674
+
675
+ Valid flags:
676
+ --quality Run AI quality assessment
677
+ --export Export suggestions to tasks.md
678
+ --fix Auto-fix issues (experimental)
679
+ --always Make quality assessment default
680
+
681
+ Usage: /validate-increment <id> [--quality] [--export] [--fix] [--always]
682
+ ```
683
+
684
+ ### Quality Assessment Failed
685
+ ```
686
+ ⚠️ Warning: AI quality assessment failed (API error)
687
+
688
+ ✅ Rule-based validation completed successfully (120/120)
689
+
690
+ You can:
691
+ 1. Try again: /validate-increment 001 --quality
692
+ 2. Continue with rule-based results
693
+ 3. Check logs: .specweave/increments/0001-name/logs/validation.log
694
+ ```
695
+
696
+ ### No Fixable Issues
697
+ ```
698
+ ℹ️ No auto-fixable issues found
699
+
700
+ All issues require manual review:
701
+ • Architectural decision (requires ADR)
702
+ • Domain-specific requirement (requires expertise)
703
+ • Ambiguous context (requires clarification)
704
+
705
+ Export suggestions to tasks? [Y/n]: _
706
+ ```
707
+
708
+ ## Integration with Hooks
709
+
710
+ This command can be triggered by:
711
+
712
+ 1. **Manual execution**: `/validate-increment 001 --quality`
713
+ 2. **Post-document-save hook**: Auto-runs rule-based validation
714
+ 3. **Pre-implementation hook**: Validates before starting tasks
715
+ 4. **CI/CD pipeline**: Automated validation in GitHub Actions
716
+
717
+ **Hook integration** (`.claude/hooks/post-document-save.sh`):
718
+ ```bash
719
+ #!/bin/bash
720
+ # Auto-validate on save
721
+
722
+ if [[ "$FILE" =~ spec\.md|plan\.md|tasks\.md|tests\.md ]]; then
723
+ # Extract increment ID from path
724
+ INCREMENT_ID=$(echo "$FILE" | grep -oP '(?<=increments/)\d{4}')
725
+
726
+ # Run validation (rule-based only, no quality unless config says so)
727
+ /validate-increment "$INCREMENT_ID"
728
+ fi
729
+ ```
730
+
731
+ ## Configuration
732
+
733
+ **File**: `.specweave/config.yaml`
734
+
735
+ ```yaml
736
+ validation:
737
+ enabled: true
738
+ auto_validate: true
739
+ severity_threshold: warning
740
+
741
+ # Quality judge settings
742
+ quality_judge:
743
+ enabled: true
744
+ always_run: false # Set to true with --always flag
745
+ auto_prompt: true # Prompt user if always_run is false
746
+ thresholds:
747
+ excellent: 90
748
+ good: 80
749
+ acceptable: 70
750
+ needs_work: 0
751
+ dimensions:
752
+ clarity: true
753
+ testability: true
754
+ completeness: true
755
+ feasibility: true
756
+ maintainability: true
757
+ edge_cases: true
758
+ max_tokens: 2000
759
+ export_to_tasks: false # Set to true to auto-export suggestions
760
+
761
+ # Auto-fix settings
762
+ auto_fix:
763
+ enabled: true
764
+ require_confirmation: true # Always ask before applying fixes
765
+ max_fixes_per_run: 5 # Limit fixes to avoid large changes
766
+
767
+ # Report settings
768
+ reports:
769
+ save_to: "reports/validation-report.md"
770
+ format: markdown
771
+ include_line_numbers: true
772
+ include_suggestions: true
773
+ include_history: true
774
+
775
+ # Hooks
776
+ hooks:
777
+ post_document_save: true
778
+ pre_implementation: true
779
+ ```
780
+
781
+ ## Related Commands
782
+
783
+ - `/create-increment`: Create new increment (auto-validates on creation)
784
+ - `/review-docs`: Review strategic documentation before implementation
785
+ - `/close-increment`: Close increment (validates before closing)
786
+ - `/sync-github`: Sync to GitHub (validates before sync)
787
+
788
+ ## Related Skills
789
+
790
+ - `increment-quality-judge`: AI-powered quality assessment
791
+ - `increment-validator`: Rule-based validation (120 checks)
792
+ - `increment-planner`: Creates increments with validation built-in
793
+
794
+ ---
795
+
796
+ **Important**: This command works alongside intent-based validation. Users can say:
797
+ - "Validate quality of increment 001" (intent-based)
798
+ - `/validate-increment 001 --quality` (slash command)
799
+
800
+ Both routes activate the same validation logic for consistency.