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,420 @@
1
+ ---
2
+ name: specweave-detector
3
+ description: Entry point for SpecWeave framework. Automatically activates when .specweave directory is detected in the project. Acts as a factory of agents, parsing user requests and routing to appropriate skills. Supports nested skill calls and context management. This skill should ALWAYS be loaded first in SpecWeave projects. Activates for ANY user request in a SpecWeave project (auto-detects .specweave/).
4
+ proactive: true
5
+ ---
6
+
7
+ # SpecWeave Detector & Entry Point
8
+
9
+ This skill is the **automatic entry point** for all SpecWeave operations. When Claude Code detects a `.specweave/config.yaml` file, this skill activates and orchestrates the SpecWeave framework.
10
+
11
+ ## Purpose
12
+
13
+ Act as the "factory of agents" that:
14
+ 1. Detects SpecWeave projects automatically
15
+ 2. Parses user requests
16
+ 3. Routes to appropriate skills
17
+ 4. Orchestrates nested skill calls
18
+ 5. Manages context loading
19
+
20
+ ## Detection Logic
21
+
22
+ ```javascript
23
+ // Pseudo-code for detection
24
+ if (fileExists('.specweave/config.yaml')) {
25
+ activateSpecWeaveMode();
26
+ loadConfiguration();
27
+ parseUserIntent();
28
+ routeToSkills();
29
+ }
30
+ ```
31
+
32
+ ## Auto-Activation
33
+
34
+ **Key Feature**: This skill uses Claude Code's `proactive: true` feature to load automatically.
35
+
36
+ When a user opens a project with `.specweave/` directory:
37
+ 1. Claude Code detects the directory
38
+ 2. This skill loads proactively (no user action needed)
39
+ 3. SpecWeave mode activates silently
40
+ 4. User requests are automatically routed to appropriate skills
41
+
42
+ **User Experience**:
43
+ ```
44
+ # User doesn't know SpecWeave is active
45
+ User: "I want to add payment processing"
46
+
47
+ # Behind the scenes:
48
+ # 1. specweave-detector intercepts request
49
+ # 2. Parses request: "add feature" + "payment processing"
50
+ # 3. Routes to: increment-planner skill
51
+ # 4. increment-planner creates Feature 002
52
+ # 5. Returns result to user
53
+
54
+ # User sees:
55
+ ✅ Feature created: 002-payment-processing
56
+ ```
57
+
58
+ ## Request Parsing & Routing
59
+
60
+ ### Simple Request (Single Skill)
61
+
62
+ | User Says | Request Type | Route To |
63
+ |-----------|--------|----------|
64
+ | "Plan a feature for..." | feature_planning | `increment-planner` |
65
+ | "Load context for..." | context_loading | `context-loader` |
66
+ | "Document this code..." | documentation | `docs-updater` |
67
+ | "Create a spec for..." | specification | `spec-author` |
68
+ | "Design architecture for..." | architecture | `architect` |
69
+ | "Implement feature 001" | development | `developer` |
70
+ | "Test this feature" | testing | `qa-engineer` |
71
+
72
+ ### Complex Request (Multiple Skills)
73
+
74
+ **Example**: "Create and implement a new payment feature"
75
+
76
+ **Request Breakdown**:
77
+ 1. Create feature → `increment-planner`
78
+ 2. Implement code → Load context via `context-loader`
79
+ 3. Implement code → `developer`
80
+ 4. Generate tests → `qa-engineer`
81
+ 5. Update docs → `docs-updater`
82
+
83
+ **Execution Flow**:
84
+ ```
85
+ User: "Create and implement a new payment feature"
86
+
87
+ specweave-detector parses: CREATE + IMPLEMENT + FEATURE + PAYMENT
88
+
89
+ Orchestrate nested skills:
90
+
91
+ increment-planner: Create 003-payment-processing/
92
+
93
+ context-loader: Load specs/modules/payments/**
94
+
95
+ developer: Implement based on tasks.md
96
+
97
+ qa-engineer: Generate test cases
98
+
99
+ docs-updater: Update README, docs/
100
+
101
+ Result: "✅ Feature 003 implemented and documented"
102
+ ```
103
+
104
+ ### Ambiguous Request
105
+
106
+ When request is unclear:
107
+ ```
108
+ User: "Help me with the authentication"
109
+
110
+ specweave-detector: Ambiguous (help = ?)
111
+
112
+ Route to skill-router for clarification
113
+
114
+ skill-router asks:
115
+ "What would you like to do with authentication?
116
+ 1. Create a specification
117
+ 2. Plan implementation
118
+ 3. Implement code
119
+ 4. Document existing code"
120
+ ```
121
+
122
+ ## Context Management
123
+
124
+ ### Automatic Context Loading
125
+
126
+ When a user is working on a feature:
127
+
128
+ ```javascript
129
+ // Detect active work
130
+ const activeIssue = detectActiveIssue(); // work/issues/###-xxx/
131
+
132
+ if (activeIssue) {
133
+ const manifest = loadManifest(`${activeIssue}/context-manifest.yaml`);
134
+ const context = await contextLoader.load(manifest);
135
+ // Context now available for all skills
136
+ }
137
+ ```
138
+
139
+ ### Context Prioritization
140
+
141
+ When multiple contexts are relevant:
142
+
143
+ 1. **Active work item** (in `work/issues/`)
144
+ 2. **Current feature** (referenced in git branch)
145
+ 3. **User-specified** context
146
+ 4. **Global** context (specs/overview.md, principles.md)
147
+
148
+ ## Skill Orchestration
149
+
150
+ ### Parallel Execution
151
+
152
+ Some skills can run in parallel:
153
+
154
+ ```
155
+ User: "Create tests and update documentation"
156
+
157
+ Parallel execution:
158
+ ├─ qa-engineer: Generate tests
159
+ └─ docs-updater: Update docs
160
+
161
+ Wait for both to complete
162
+
163
+ Result: "✅ Tests generated (15 test cases) and docs updated"
164
+ ```
165
+
166
+ ### Sequential Execution
167
+
168
+ Some skills must run sequentially:
169
+
170
+ ```
171
+ User: "Plan and implement feature 001"
172
+
173
+ Sequential execution:
174
+ 1. increment-planner: Create plan (MUST complete first)
175
+ 2. context-loader: Load relevant specs (uses plan output)
176
+ 3. developer: Implement (uses loaded context)
177
+
178
+ Each step waits for previous to complete
179
+ ```
180
+
181
+ ### Error Handling
182
+
183
+ If a skill fails:
184
+
185
+ ```
186
+ User: "Implement feature 005"
187
+
188
+ specweave-detector: Route to developer
189
+
190
+ developer: ERROR - Feature 005 not found
191
+
192
+ specweave-detector: Catch error, suggest:
193
+ "Feature 005 doesn't exist. Would you like to:
194
+ 1. Create it first (increment-planner)
195
+ 2. List existing features
196
+ 3. Implement a different feature"
197
+ ```
198
+
199
+ ## Configuration Awareness
200
+
201
+ Load and respect `.specweave/config.yaml`:
202
+
203
+ ```yaml
204
+ # .specweave/config.yaml
205
+ principles:
206
+ auto_role_routing: true # Enable auto-routing
207
+ context_precision: true # Use context manifests
208
+ routing_accuracy_target: 0.90 # Accuracy threshold
209
+
210
+ skills:
211
+ install_location: "local" # Where skills are installed
212
+ auto_install: true # Auto-install missing skills
213
+
214
+ integrations:
215
+ github:
216
+ enabled: true
217
+ sync_issues: true # Sync features ↔ GitHub issues
218
+ ```
219
+
220
+ When `auto_role_routing: false`, this skill still activates but prompts user for explicit skill selection.
221
+
222
+ ## SpecWeave Mode Indicator
223
+
224
+ When SpecWeave is active, include a subtle indicator in responses:
225
+
226
+ ```
227
+ 🔷 SpecWeave Active
228
+
229
+ [Normal response here]
230
+ ```
231
+
232
+ This helps users know SpecWeave framework is orchestrating their request.
233
+
234
+ ## Skill Discovery
235
+
236
+ List available skills:
237
+
238
+ ```bash
239
+ User: "What can SpecWeave do?"
240
+
241
+ specweave-detector: List installed skills
242
+
243
+ SpecWeave Skills:
244
+ ✅ increment-planner - Plan implementation features
245
+ ✅ context-loader - Selective specification loading
246
+ ✅ skill-router - Route ambiguous intents
247
+ 📦 spec-author - Create specifications (install with: npx specweave install spec-author)
248
+ 📦 architect - System design (install with: npx specweave install architect)
249
+
250
+ Custom Skills:
251
+ ✅ newrelic-monitor - New Relic integration
252
+ ✅ cqrs-implementer - CQRS pattern implementation
253
+ ```
254
+
255
+ ## Nested Skill Example
256
+
257
+ **User Request**: "I want to build a real-time chat feature"
258
+
259
+ **SpecWeave Detector Processing**:
260
+
261
+ ```
262
+ 1. Parse Request: BUILD + FEATURE + REAL_TIME_CHAT
263
+ Request: feature_creation + complex_feature
264
+
265
+ 2. Route to increment-planner:
266
+ Input: "Real-time chat feature"
267
+ Output: features/004-realtime-chat/
268
+ - spec.md (5 user stories)
269
+ - plan.md (WebSocket architecture)
270
+ - tasks.md (78 tasks)
271
+ - tests.md (20 test cases)
272
+
273
+ 3. Detect next request: User likely wants to implement
274
+ Prompt: "Feature 004 created. Would you like to:
275
+ 1. Review the plan
276
+ 2. Start implementation
277
+ 3. Load context for this feature"
278
+
279
+ 4. User chooses 2 (Start implementation)
280
+
281
+ 5. Route to context-loader:
282
+ Load: features/004-realtime-chat/context-manifest.yaml
283
+ Output: Loaded specs/modules/realtime/**, architecture/websockets.md
284
+
285
+ 6. Route to developer:
286
+ Input: features/004-realtime-chat/tasks.md
287
+ Context: Loaded specs
288
+ Output: Implement Phase 1 (Setup WebSocket server)
289
+
290
+ 7. After implementation, route to qa-engineer:
291
+ Input: features/004-realtime-chat/tests.md
292
+ Output: Generate test suite
293
+
294
+ 8. Finally, route to docs-updater:
295
+ Update: docs/reference/api.md (add WebSocket endpoints)
296
+
297
+ 9. Return to user:
298
+ ✅ Feature 004 implemented, tested, and documented
299
+ ```
300
+
301
+ ## Best Practices
302
+
303
+ ### 1. Transparent Routing
304
+
305
+ Always inform user which skill is being activated:
306
+
307
+ ```
308
+ 🔷 SpecWeave Active
309
+
310
+ Routing to increment-planner skill to create your payment feature...
311
+
312
+ [increment-planner output]
313
+ ```
314
+
315
+ ### 2. Confirm Complex Operations
316
+
317
+ For multi-step operations, confirm before proceeding:
318
+
319
+ ```
320
+ You want to "create and implement a payment feature".
321
+
322
+ This will:
323
+ 1. Create Feature 003 (increment-planner)
324
+ 2. Load relevant specs (context-loader)
325
+ 3. Implement code (developer)
326
+ 4. Generate tests (qa-engineer)
327
+ 5. Update documentation (docs-updater)
328
+
329
+ Estimated time: 15-30 minutes
330
+
331
+ Proceed? (yes/no)
332
+ ```
333
+
334
+ ### 3. Fail Gracefully
335
+
336
+ If SpecWeave can't handle a request:
337
+
338
+ ```
339
+ I detected this is a SpecWeave project, but I'm not sure how to handle:
340
+ "What's the weather like?"
341
+
342
+ This seems outside SpecWeave's domain (software development).
343
+ Would you like me to answer as regular Claude instead?
344
+ ```
345
+
346
+ ### 4. Learn from Usage
347
+
348
+ Track routing decisions to improve accuracy:
349
+
350
+ ```javascript
351
+ // Log for analysis
352
+ logRoutingDecision({
353
+ userInput: "Add Stripe payments",
354
+ parsedRequest: "feature_creation + payments",
355
+ routedTo: "increment-planner",
356
+ wasCorrect: true, // User feedback
357
+ timestamp: Date.now()
358
+ });
359
+ ```
360
+
361
+ ## Integration with Other Skills
362
+
363
+ All SpecWeave skills should check if `specweave-detector` is active:
364
+
365
+ ```javascript
366
+ // In any skill
367
+ if (specweaveDetectorActive()) {
368
+ // Access loaded context
369
+ const context = getSpecWeaveContext();
370
+ // Use centralized routing
371
+ routeToSkill('context-loader', params);
372
+ }
373
+ ```
374
+
375
+ ## Testing
376
+
377
+ ### TC-001: Detect SpecWeave Project
378
+ - Given: Directory with `.specweave/config.yaml`
379
+ - When: Claude Code opens directory
380
+ - Then: specweave-detector activates automatically
381
+
382
+ ### TC-002: Route Simple Request
383
+ - Given: User says "Plan a feature for authentication"
384
+ - When: specweave-detector parses request
385
+ - Then: Routes to increment-planner
386
+ - And: increment-planner creates Feature 00X
387
+
388
+ ### TC-003: Route Complex Request
389
+ - Given: User says "Create and implement payment feature"
390
+ - When: specweave-detector parses request
391
+ - Then: Orchestrates: increment-planner → context-loader → developer → qa-engineer → docs-updater
392
+ - And: All steps complete successfully
393
+
394
+ ### TC-004: Handle Ambiguous Request
395
+ - Given: User says "Help with auth"
396
+ - When: specweave-detector cannot determine clear request
397
+ - Then: Routes to skill-router for clarification
398
+ - And: Presents options to user
399
+
400
+ ### TC-005: Graceful Degradation
401
+ - Given: SpecWeave project
402
+ - When: User asks non-development question ("What's for lunch?")
403
+ - Then: specweave-detector recognizes out-of-domain
404
+ - And: Falls back to regular Claude
405
+
406
+ ---
407
+
408
+ ## Summary
409
+
410
+ The `specweave-detector` skill is the **invisible orchestrator** that:
411
+ - ✅ Auto-activates in SpecWeave projects
412
+ - ✅ Parses user requests intelligently
413
+ - ✅ Routes to appropriate skills automatically
414
+ - ✅ Orchestrates nested skill calls
415
+ - ✅ Manages context loading
416
+ - ✅ Provides seamless user experience
417
+
418
+ **User benefit**: Just describe what you want, SpecWeave figures out how to do it.
419
+
420
+ **No more manual `@role` selection** - SpecWeave is your intelligent development assistant that knows which expert to call!
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: "Basic SpecWeave Project Detection"
3
+ description: "Tests if specweave-detector can identify a SpecWeave project by presence of .specweave/ directory"
4
+ input:
5
+ prompt: "User opens Claude Code in a SpecWeave project directory"
6
+ files:
7
+ - ".specweave/config.yaml"
8
+ context:
9
+ cwd: "/path/to/specweave-project"
10
+ files_present:
11
+ - ".specweave/"
12
+ - ".specweave/config.yaml"
13
+ - "features/"
14
+ - "specifications/"
15
+ expected_output:
16
+ type: "skill_activation"
17
+ activates: true
18
+ reason: "Detected .specweave/config.yaml"
19
+ actions:
20
+ - "Load project configuration"
21
+ - "Enable SpecWeave-specific commands"
22
+ - "Activate SpecWeave workflow"
23
+ contains:
24
+ - "SpecWeave project detected"
25
+ - "Loading configuration"
26
+ validation:
27
+ - "Skill activates proactively (without user request)"
28
+ - "Detects .specweave/ directory"
29
+ - "Reads config.yaml successfully"
30
+ - "Enables SpecWeave commands"
31
+ - "Does not activate in non-SpecWeave projects"
32
+ success_criteria:
33
+ - "Proactive activation works (proactive: true in SKILL.md)"
34
+ - "Configuration loaded correctly"
35
+ - "SpecWeave workflows enabled"
36
+ - "No false positives (activates only in SpecWeave projects)"
37
+ ---
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: "Detection with Missing Configuration"
3
+ description: "Tests edge case where .specweave/ exists but config.yaml is missing or invalid"
4
+ input:
5
+ prompt: "User opens Claude Code in directory with incomplete SpecWeave setup"
6
+ files:
7
+ - ".specweave/" # directory exists but empty
8
+ context:
9
+ cwd: "/path/to/incomplete-project"
10
+ files_present:
11
+ - ".specweave/"
12
+ files_missing:
13
+ - ".specweave/config.yaml"
14
+ expected_output:
15
+ type: "error_handling"
16
+ activates: true
17
+ reason: "Detected .specweave/ but missing config"
18
+ actions:
19
+ - "Warn user about missing config.yaml"
20
+ - "Offer to initialize SpecWeave project"
21
+ - "Provide sample config.yaml"
22
+ contains:
23
+ - "SpecWeave directory detected"
24
+ - "Missing config.yaml"
25
+ - "Initialize project?"
26
+ validation:
27
+ - "Detects incomplete setup"
28
+ - "Provides helpful error message"
29
+ - "Offers initialization option"
30
+ - "Does not crash or fail silently"
31
+ - "Suggests next steps"
32
+ success_criteria:
33
+ - "Graceful error handling"
34
+ - "User-friendly error message"
35
+ - "Actionable recommendations"
36
+ - "No silent failures"
37
+ ---
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: "No Activation in Non-SpecWeave Projects"
3
+ description: "Tests that specweave-detector does NOT activate in regular projects without .specweave/"
4
+ input:
5
+ prompt: "User opens Claude Code in a regular Node.js project"
6
+ files:
7
+ - "package.json"
8
+ - "src/"
9
+ - "README.md"
10
+ context:
11
+ cwd: "/path/to/regular-project"
12
+ files_present:
13
+ - "package.json"
14
+ - "src/"
15
+ files_missing:
16
+ - ".specweave/"
17
+ - ".specweave/config.yaml"
18
+ expected_output:
19
+ type: "no_activation"
20
+ activates: false
21
+ reason: "No .specweave/ directory found"
22
+ actions: []
23
+ contains: []
24
+ validation:
25
+ - "Does NOT activate in non-SpecWeave projects"
26
+ - "No false positives"
27
+ - "No unnecessary warnings"
28
+ - "Does not interfere with normal Claude Code operation"
29
+ success_criteria:
30
+ - "Zero false positives"
31
+ - "Only activates when .specweave/ present"
32
+ - "Silent when not applicable"
33
+ - "No performance impact on non-SpecWeave projects"
34
+ ---