specweave 0.1.8 → 0.3.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 (294) hide show
  1. package/CLAUDE.md +600 -0
  2. package/README.md +263 -88
  3. package/bin/install-all.sh +1 -1
  4. package/bin/install-commands.sh +3 -3
  5. package/bin/specweave.js +39 -9
  6. package/dist/adapters/adapter-base.d.ts +1 -1
  7. package/dist/adapters/adapter-base.d.ts.map +1 -1
  8. package/dist/adapters/adapter-base.js +6 -41
  9. package/dist/adapters/adapter-base.js.map +1 -1
  10. package/dist/adapters/adapter-interface.js +1 -2
  11. package/dist/adapters/adapter-interface.js.map +1 -1
  12. package/dist/adapters/adapter-loader.d.ts +86 -0
  13. package/dist/adapters/adapter-loader.d.ts.map +1 -0
  14. package/dist/adapters/adapter-loader.js +216 -0
  15. package/dist/adapters/adapter-loader.js.map +1 -0
  16. package/dist/adapters/agents-md-generator.d.ts +48 -0
  17. package/dist/adapters/agents-md-generator.d.ts.map +1 -0
  18. package/dist/adapters/agents-md-generator.js +132 -0
  19. package/dist/adapters/agents-md-generator.js.map +1 -0
  20. package/dist/adapters/claude/adapter.d.ts +2 -2
  21. package/dist/adapters/claude/adapter.d.ts.map +1 -1
  22. package/dist/adapters/claude/adapter.js +5 -42
  23. package/dist/adapters/claude/adapter.js.map +1 -1
  24. package/dist/adapters/claude-md-generator.d.ts +78 -0
  25. package/dist/adapters/claude-md-generator.d.ts.map +1 -0
  26. package/dist/adapters/claude-md-generator.js +246 -0
  27. package/dist/adapters/claude-md-generator.js.map +1 -0
  28. package/dist/adapters/codex/adapter.d.ts +50 -0
  29. package/dist/adapters/codex/adapter.d.ts.map +1 -0
  30. package/dist/adapters/codex/adapter.js +316 -0
  31. package/dist/adapters/codex/adapter.js.map +1 -0
  32. package/dist/adapters/copilot/adapter.d.ts +10 -9
  33. package/dist/adapters/copilot/adapter.d.ts.map +1 -1
  34. package/dist/adapters/copilot/adapter.js +35 -100
  35. package/dist/adapters/copilot/adapter.js.map +1 -1
  36. package/dist/adapters/cursor/adapter.d.ts +8 -6
  37. package/dist/adapters/cursor/adapter.d.ts.map +1 -1
  38. package/dist/adapters/cursor/adapter.js +47 -130
  39. package/dist/adapters/cursor/adapter.js.map +1 -1
  40. package/dist/adapters/doc-generator.d.ts +69 -0
  41. package/dist/adapters/doc-generator.d.ts.map +1 -0
  42. package/dist/adapters/doc-generator.js +247 -0
  43. package/dist/adapters/doc-generator.js.map +1 -0
  44. package/dist/adapters/gemini/adapter.d.ts +50 -0
  45. package/dist/adapters/gemini/adapter.d.ts.map +1 -0
  46. package/dist/adapters/gemini/adapter.js +281 -0
  47. package/dist/adapters/gemini/adapter.js.map +1 -0
  48. package/dist/adapters/generic/adapter.d.ts +7 -4
  49. package/dist/adapters/generic/adapter.d.ts.map +1 -1
  50. package/dist/adapters/generic/adapter.js +60 -59
  51. package/dist/adapters/generic/adapter.js.map +1 -1
  52. package/dist/cli/commands/init.d.ts +3 -1
  53. package/dist/cli/commands/init.d.ts.map +1 -1
  54. package/dist/cli/commands/init.js +272 -170
  55. package/dist/cli/commands/init.js.map +1 -1
  56. package/dist/cli/commands/install.d.ts.map +1 -1
  57. package/dist/cli/commands/install.js +22 -58
  58. package/dist/cli/commands/install.js.map +1 -1
  59. package/dist/cli/commands/list.d.ts.map +1 -1
  60. package/dist/cli/commands/list.js +27 -64
  61. package/dist/cli/commands/list.js.map +1 -1
  62. package/dist/core/credentials-manager.d.ts +90 -0
  63. package/dist/core/credentials-manager.d.ts.map +1 -0
  64. package/dist/core/credentials-manager.js +271 -0
  65. package/dist/core/credentials-manager.js.map +1 -0
  66. package/dist/core/project-structure-detector.d.ts +92 -0
  67. package/dist/core/project-structure-detector.d.ts.map +1 -0
  68. package/dist/core/project-structure-detector.js +289 -0
  69. package/dist/core/project-structure-detector.js.map +1 -0
  70. package/dist/core/rfc-generator-v2.d.ts +149 -0
  71. package/dist/core/rfc-generator-v2.d.ts.map +1 -0
  72. package/dist/core/rfc-generator-v2.js +399 -0
  73. package/dist/core/rfc-generator-v2.js.map +1 -0
  74. package/dist/core/rfc-generator.d.ts +147 -0
  75. package/dist/core/rfc-generator.d.ts.map +1 -0
  76. package/dist/core/rfc-generator.js +434 -0
  77. package/dist/core/rfc-generator.js.map +1 -0
  78. package/dist/integrations/ado/ado-client.d.ts +123 -0
  79. package/dist/integrations/ado/ado-client.d.ts.map +1 -0
  80. package/dist/integrations/ado/ado-client.js +398 -0
  81. package/dist/integrations/ado/ado-client.js.map +1 -0
  82. package/dist/integrations/jira/jira-client.d.ts +139 -0
  83. package/dist/integrations/jira/jira-client.d.ts.map +1 -0
  84. package/dist/integrations/jira/jira-client.js +386 -0
  85. package/dist/integrations/jira/jira-client.js.map +1 -0
  86. package/dist/integrations/jira/jira-incremental-mapper.d.ts +75 -0
  87. package/dist/integrations/jira/jira-incremental-mapper.d.ts.map +1 -0
  88. package/dist/integrations/jira/jira-incremental-mapper.js +474 -0
  89. package/dist/integrations/jira/jira-incremental-mapper.js.map +1 -0
  90. package/dist/integrations/jira/jira-mapper.d.ts +105 -0
  91. package/dist/integrations/jira/jira-mapper.d.ts.map +1 -0
  92. package/dist/integrations/jira/jira-mapper.js +494 -0
  93. package/dist/integrations/jira/jira-mapper.js.map +1 -0
  94. package/dist/testing/test-generator.d.ts +117 -0
  95. package/dist/testing/test-generator.d.ts.map +1 -0
  96. package/dist/testing/test-generator.js +370 -0
  97. package/dist/testing/test-generator.js.map +1 -0
  98. package/dist/utils/auto-install.d.ts +3 -0
  99. package/dist/utils/auto-install.d.ts.map +1 -1
  100. package/dist/utils/auto-install.js +16 -82
  101. package/dist/utils/auto-install.js.map +1 -1
  102. package/dist/utils/esm-helpers.d.ts +50 -0
  103. package/dist/utils/esm-helpers.d.ts.map +1 -0
  104. package/dist/utils/esm-helpers.js +57 -0
  105. package/dist/utils/esm-helpers.js.map +1 -0
  106. package/package.json +16 -7
  107. package/src/adapters/README.md +1 -2
  108. package/src/adapters/adapter-base.ts +6 -3
  109. package/src/adapters/adapter-loader.ts +261 -0
  110. package/src/adapters/agents-md-generator.ts +162 -0
  111. package/src/adapters/claude/README.md +6 -14
  112. package/src/adapters/claude/adapter.ts +4 -4
  113. package/src/adapters/claude-md-generator.ts +311 -0
  114. package/src/adapters/codex/README.md +105 -0
  115. package/src/adapters/codex/adapter.ts +333 -0
  116. package/src/adapters/copilot/adapter.ts +36 -65
  117. package/src/adapters/cursor/README.md +0 -2
  118. package/src/adapters/cursor/adapter.ts +46 -92
  119. package/src/adapters/doc-generator.ts +331 -0
  120. package/src/adapters/gemini/README.md +97 -0
  121. package/src/adapters/gemini/adapter.ts +298 -0
  122. package/src/adapters/generic/adapter.ts +61 -57
  123. package/src/adapters/registry.yaml +86 -25
  124. package/src/agents/devops/AGENT.md +16 -18
  125. package/src/agents/docs-writer/AGENT.md +2 -2
  126. package/src/agents/pm/AGENT.md +1 -50
  127. package/src/commands/README.md +134 -111
  128. package/src/commands/{build.md → specweave.do.md} +185 -72
  129. package/src/commands/{done.md → specweave.done.md} +3 -3
  130. package/src/commands/{inc.md → specweave.inc.md} +4 -4
  131. package/src/commands/specweave.increment.md +383 -0
  132. package/src/commands/specweave.md +430 -0
  133. package/src/commands/specweave.next.md +495 -0
  134. package/src/commands/specweave.progress.md +258 -0
  135. package/src/commands/specweave.sync-docs.md +665 -0
  136. package/src/commands/specweave.sync-github.md +269 -0
  137. package/src/commands/specweave.sync-jira.md +197 -0
  138. package/src/commands/{validate.md → specweave.validate.md} +4 -4
  139. package/src/hooks/README.md +19 -29
  140. package/src/hooks/post-task-completion.sh +25 -30
  141. package/src/skills/ado-sync/README.md +1 -36
  142. package/src/skills/bmad-method-expert/SKILL.md +1 -3
  143. package/src/skills/brownfield-analyzer/SKILL.md +429 -23
  144. package/src/skills/brownfield-onboarder/SKILL.md +221 -8
  145. package/src/skills/context-loader/SKILL.md +239 -617
  146. package/src/skills/context-optimizer/SKILL.md +0 -30
  147. package/src/skills/github-sync/SKILL.md +1 -19
  148. package/src/skills/increment-planner/SKILL.md +64 -18
  149. package/src/skills/increment-quality-judge/SKILL.md +1 -36
  150. package/src/skills/jira-sync/README.md +1 -38
  151. package/src/skills/role-orchestrator/README.md +1 -22
  152. package/src/skills/role-orchestrator/SKILL.md +1 -59
  153. package/src/skills/skill-router/SKILL.md +0 -18
  154. package/src/skills/spec-kit-expert/SKILL.md +1 -3
  155. package/src/skills/specweave-detector/SKILL.md +225 -275
  156. package/src/skills/task-builder/README.md +1 -7
  157. package/src/templates/AGENTS.md.template +334 -0
  158. package/src/templates/CLAUDE.md.template +131 -297
  159. package/src/templates/README.md.template +115 -23
  160. package/src/templates/environments/minimal/README.md +0 -1
  161. package/INSTALL.md +0 -848
  162. package/SPECWEAVE.md +0 -711
  163. package/src/adapters/copilot/.github/copilot/instructions.md +0 -376
  164. package/src/adapters/cursor/.cursorrules +0 -325
  165. package/src/adapters/generic/SPECWEAVE-MANUAL.md +0 -676
  166. package/src/commands/create-project.md +0 -528
  167. package/src/commands/generate-docs.md +0 -623
  168. package/src/commands/increment.md +0 -223
  169. package/src/commands/review-docs.md +0 -331
  170. package/src/commands/sync-github.md +0 -115
  171. package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
  172. package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
  173. package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
  174. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
  175. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
  176. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
  177. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
  178. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
  179. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
  180. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
  181. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
  182. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
  183. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
  184. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
  185. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
  186. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
  187. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
  188. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
  189. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
  190. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
  191. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
  192. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
  193. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
  194. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
  195. package/src/skills/cost-optimizer/test-results/README.md +0 -46
  196. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
  197. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
  198. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
  199. package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
  200. package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
  201. package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
  202. package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
  203. package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
  204. package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
  205. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
  206. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
  207. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
  208. package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
  209. package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
  210. package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
  211. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
  212. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
  213. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
  214. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
  215. package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
  216. package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
  217. package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
  218. package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
  219. package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
  220. package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
  221. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
  222. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
  223. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
  224. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
  225. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
  226. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
  227. package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
  228. package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
  229. package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
  230. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
  231. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
  232. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
  233. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
  234. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
  235. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
  236. package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
  237. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
  238. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
  239. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
  240. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
  241. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
  242. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
  243. package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
  244. package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
  245. package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
  246. package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
  247. package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
  248. package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
  249. package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
  250. package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
  251. package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
  252. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
  253. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
  254. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
  255. package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
  256. package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
  257. package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
  258. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
  259. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
  260. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
  261. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
  262. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
  263. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
  264. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
  265. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
  266. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
  267. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
  268. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
  269. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
  270. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
  271. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
  272. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
  273. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
  274. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
  275. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
  276. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
  277. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
  278. package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
  279. package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
  280. package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
  281. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
  282. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
  283. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
  284. package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
  285. package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
  286. package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
  287. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
  288. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
  289. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
  290. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
  291. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
  292. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
  293. package/src/templates/config.yaml +0 -351
  294. /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
@@ -1,145 +0,0 @@
1
- ---
2
- name: "Parallel Agent Execution with Sync Points"
3
- description: "Tests role-orchestrator's ability to execute agents in parallel and synchronize at key points"
4
- priority: P2
5
- test_type: integration
6
-
7
- input:
8
- prompt: "Build a real-time chat application with message history and notifications"
9
- project_context:
10
- type: "greenfield"
11
- complexity: "high"
12
- requires_parallel_work: true
13
-
14
- expected_behavior:
15
- - orchestrator_pattern: "parallel_with_sync_points"
16
-
17
- - execution_phases:
18
- - phase: 1
19
- name: "Architecture Design"
20
- agent: "architect-agent"
21
- output:
22
- components:
23
- - "WebSocket Server (Backend)"
24
- - "React Chat UI (Frontend)"
25
- - "Notification Service (Backend)"
26
- - "Message Storage (Database)"
27
-
28
- - phase: 2
29
- name: "Parallel Implementation"
30
- pattern: "parallel"
31
- agents:
32
- - agent: "nodejs-backend"
33
- task: "Implement WebSocket server and message API"
34
- files:
35
- - "src/backend/websocket-server.ts"
36
- - "src/backend/message-service.ts"
37
- - "src/backend/message-repository.ts"
38
-
39
- - agent: "frontend-agent"
40
- task: "Implement chat UI components"
41
- files:
42
- - "src/frontend/components/ChatWindow.tsx"
43
- - "src/frontend/components/MessageList.tsx"
44
- - "src/frontend/hooks/useWebSocket.ts"
45
-
46
- - agent: "nodejs-backend" # Different instance/task
47
- task: "Implement notification service"
48
- files:
49
- - "src/backend/notification-service.ts"
50
- - "src/backend/notification-queue.ts"
51
-
52
- sync_point: "api_contract"
53
- shared_artifacts:
54
- - "features/002-chat-app/api-contracts.md" # All agents reference this
55
-
56
- - phase: 3
57
- name: "Integration Point"
58
- agent: "tech-lead-agent"
59
- task: "Verify all components integrate correctly"
60
- validation:
61
- - "WebSocket API matches frontend expectations"
62
- - "Notification service integrates with message service"
63
- - "Database schema supports all features"
64
-
65
- - phase: 4
66
- name: "Parallel Testing"
67
- pattern: "parallel"
68
- agents:
69
- - agent: "qa-lead-agent"
70
- task: "E2E tests for chat functionality"
71
- files:
72
- - "tests/e2e/chat-flow.spec.ts"
73
-
74
- - agent: "qa-lead-agent" # Different task
75
- task: "Integration tests for notification service"
76
- files:
77
- - "tests/integration/notification.test.ts"
78
-
79
- - agent: "performance-agent"
80
- task: "Load testing for WebSocket server"
81
- files:
82
- - "tests/performance/websocket-load.test.ts"
83
-
84
- sync_point: "all_tests_pass"
85
-
86
- - phase: 5
87
- name: "Deployment"
88
- agent: "devops-agent"
89
- task: "Deploy with infrastructure for WebSocket support"
90
-
91
- expected_output:
92
- success: true
93
- parallel_executions: 2 # Phase 2 and Phase 4
94
-
95
- phase_2_timing:
96
- backend_websocket: "started: 0s, completed: 45s"
97
- frontend_ui: "started: 0s, completed: 40s" # Finished before backend
98
- backend_notifications: "started: 0s, completed: 35s"
99
- all_completed: "45s" # Waited for slowest
100
- time_saved: "80s" # vs sequential (45 + 40 + 35 = 120s)
101
-
102
- sync_point_1:
103
- artifact: "features/002-chat-app/api-contracts.md"
104
- all_agents_referenced: true
105
- conflicts_detected: false
106
-
107
- phase_4_timing:
108
- e2e_tests: "started: 0s, completed: 30s"
109
- integration_tests: "started: 0s, completed: 20s"
110
- load_tests: "started: 0s, completed: 40s"
111
- all_completed: "40s"
112
- all_tests_passed: true
113
-
114
- files_created:
115
- backend:
116
- - "src/backend/websocket-server.ts"
117
- - "src/backend/message-service.ts"
118
- - "src/backend/notification-service.ts"
119
- frontend:
120
- - "src/frontend/components/ChatWindow.tsx"
121
- - "src/frontend/hooks/useWebSocket.ts"
122
- tests:
123
- - "tests/e2e/chat-flow.spec.ts"
124
- - "tests/integration/notification.test.ts"
125
- - "tests/performance/websocket-load.test.ts"
126
-
127
- total_time: "~150s"
128
- time_vs_sequential: "saved ~90s (60% faster)"
129
-
130
- validation:
131
- - "Agents started in parallel successfully"
132
- - "No file conflicts between parallel agents"
133
- - "Shared API contract respected by all"
134
- - "Sync points enforced correctly"
135
- - "All agents waited at sync points"
136
- - "Integration validated before proceeding"
137
- - "Parallel execution significantly faster"
138
-
139
- success_criteria:
140
- - parallel_execution_successful: true
141
- - no_conflicts: true
142
- - sync_points_enforced: true
143
- - time_savings: ">50%"
144
- - all_tests_passed: true
145
- ---
@@ -1,149 +0,0 @@
1
- ---
2
- name: "Feedback Loops - PM Agent Auto-Refinement"
3
- description: "Test automatic quality improvement through iterative refinement with feedback"
4
- skill: role-orchestrator
5
- priority: P1
6
- estimated_time: "5-7 minutes"
7
-
8
- input:
9
- user_request: "Create requirements for user authentication feature"
10
-
11
- config:
12
- feedback_loops:
13
- enabled: true
14
- max_retries: 3
15
- stop_on_improvement: true
16
- quality_threshold: 0.80
17
-
18
- validation:
19
- use_llm_judge: true
20
- combine_with_rules: true
21
- judge_weight: 0.5
22
-
23
- agent: "pm-agent"
24
- task: "Define requirements for user authentication"
25
-
26
- expected_output:
27
- # Attempt 1: Initial generation (below threshold)
28
- attempt_1:
29
- output: "Initial requirements spec"
30
- validation:
31
- rule_based_score: 1.00 # All structural rules pass
32
- llm_judge_score: 0.60-0.70
33
- combined_score: 0.70-0.85
34
- threshold: 0.80
35
-
36
- issues_found:
37
- - severity: "major"
38
- description: "Acceptance criteria not testable"
39
- location: "Success Criteria section"
40
-
41
- - severity: "major"
42
- description: "Security requirements too vague"
43
- location: "Security section"
44
-
45
- - severity: "minor"
46
- description: "No rate limiting specified"
47
- location: "Requirements"
48
-
49
- below_threshold: true
50
- triggers_refinement: true
51
-
52
- # Attempt 2: Refinement with feedback
53
- attempt_2:
54
- feedback_provided: |
55
- Issues from previous attempt:
56
- • MAJOR: Acceptance criteria not testable
57
- Location: Success Criteria section
58
- Suggestion: Use measurable metrics (e.g., "Login completes in <2s")
59
-
60
- • MAJOR: Security requirements too vague
61
- Location: Security section
62
- Suggestion: Specify encryption, hashing, rate limiting
63
-
64
- • MINOR: No rate limiting specified
65
- Location: Requirements
66
- Suggestion: Add brute-force protection (5 attempts, 15min lockout)
67
-
68
- output: "Improved requirements spec with feedback incorporated"
69
- validation:
70
- rule_based_score: 1.00
71
- llm_judge_score: 0.80-0.90
72
- combined_score: 0.85-0.95
73
- threshold: 0.80
74
-
75
- improvements:
76
- - "Acceptance criteria now measurable with metrics"
77
- - "Security requirements detailed (bcrypt, JWT, rate limiting)"
78
- - "Rate limiting specified (5 attempts, 15min lockout)"
79
-
80
- above_threshold: true
81
- stops_refinement: true
82
-
83
- final_result:
84
- total_attempts: 2
85
- final_score: 0.85-0.95
86
- met_threshold: true
87
- output_quality: "good"
88
-
89
- remaining_issues:
90
- count: 0-1
91
- severity: "minor"
92
- examples:
93
- - "Performance requirements could be more specific (p95/p99 targets)"
94
-
95
- validation:
96
- # Attempt 1 validation
97
- - "Initial attempt produces output"
98
- - "Rule-based validation passes (1.00)"
99
- - "LLM judge score < 0.80"
100
- - "Combined score may or may not be < 0.80 depending on weights"
101
- - "At least 2 major issues found"
102
- - "Triggers refinement"
103
-
104
- # Attempt 2 validation
105
- - "Feedback generated from issues"
106
- - "PM agent receives feedback prompt"
107
- - "Second attempt incorporates feedback"
108
- - "LLM judge score improves (>= 0.80)"
109
- - "Combined score >= 0.80"
110
- - "Stops after reaching threshold"
111
-
112
- # Overall validation
113
- - "Total attempts <= 3"
114
- - "Final score >= 0.80"
115
- - "Quality improvement measurable"
116
- - "Progress shown to user"
117
-
118
- success_criteria:
119
- - "Feedback loop triggers on low quality"
120
- - "Agent successfully incorporates feedback"
121
- - "Quality score improves significantly"
122
- - "Stops when threshold met (doesn't waste retries)"
123
- - "User sees progress updates"
124
- - "Final output meets quality standards"
125
-
126
- workflow_steps:
127
- 1. "PM agent generates initial requirements"
128
- 2. "Validate with rule-based + LLM-as-judge"
129
- 3. "Detect score below threshold (0.80)"
130
- 4. "Generate feedback from issues"
131
- 5. "Reinvoke PM agent with feedback"
132
- 6. "Validate improved output"
133
- 7. "Detect score above threshold"
134
- 8. "Stop refinement, return final output"
135
-
136
- edge_cases:
137
- max_retries_reached:
138
- description: "If quality doesn't improve after 3 attempts"
139
- expected: "Return best attempt with warning"
140
-
141
- stop_on_improvement:
142
- description: "If score improves but doesn't reach threshold"
143
- config: "stop_on_improvement: true"
144
- expected: "Stop early if improvement detected"
145
-
146
- first_attempt_passes:
147
- description: "If initial attempt >= threshold"
148
- expected: "No refinement needed, accept immediately"
149
- ---
@@ -1,12 +0,0 @@
1
- ---
2
- name: "Placeholder Test"
3
- description: "TODO: Add actual test case for this skill"
4
- input:
5
- prompt: "Test prompt"
6
- expected_output:
7
- type: "validation"
8
- validation:
9
- - "Placeholder validation"
10
- success_criteria:
11
- - "Test passes"
12
- ---
@@ -1,12 +0,0 @@
1
- ---
2
- name: "Placeholder Test"
3
- description: "TODO: Add actual test case for this skill"
4
- input:
5
- prompt: "Test prompt"
6
- expected_output:
7
- type: "validation"
8
- validation:
9
- - "Placeholder validation"
10
- success_criteria:
11
- - "Test passes"
12
- ---
@@ -1,12 +0,0 @@
1
- ---
2
- name: "Placeholder Test"
3
- description: "TODO: Add actual test case for this skill"
4
- input:
5
- prompt: "Test prompt"
6
- expected_output:
7
- type: "validation"
8
- validation:
9
- - "Placeholder validation"
10
- success_criteria:
11
- - "Test passes"
12
- ---
@@ -1,33 +0,0 @@
1
- ---
2
- name: "Basic Request Routing"
3
- description: "Tests if skill-router correctly routes user request to appropriate skill"
4
- input:
5
- prompt: "Plan a new feature for user authentication"
6
- context:
7
- available_skills:
8
- - "increment-planner"
9
- - "spec-author"
10
- - "developer"
11
- user_intent: "plan feature"
12
- expected_output:
13
- type: "skill_routing"
14
- routes_to: "increment-planner"
15
- confidence: "high"
16
- reason: "User request contains 'plan' and 'feature' keywords"
17
- alternatives: []
18
- actions:
19
- - "Activate increment-planner skill"
20
- - "Pass user request to increment-planner"
21
- - "Log routing decision"
22
- validation:
23
- - "Routes to correct skill (increment-planner)"
24
- - "Confidence level is high (>0.9)"
25
- - "No ambiguity detected"
26
- - "Logs routing decision"
27
- - "Activates target skill"
28
- success_criteria:
29
- - "Correct skill selected"
30
- - ">90% routing accuracy"
31
- - "Fast routing (<100ms)"
32
- - "Logging works"
33
- ---
@@ -1,42 +0,0 @@
1
- ---
2
- name: "Ambiguous Request Handling"
3
- description: "Tests how skill-router handles requests that could match multiple skills"
4
- input:
5
- prompt: "Create documentation for the API"
6
- context:
7
- available_skills:
8
- - "spec-author" # Could create API specification
9
- - "architect" # Could document API architecture
10
- - "docs-updater" # Could update API docs
11
- user_intent: "create documentation"
12
- expected_output:
13
- type: "clarification_required"
14
- routes_to: null
15
- confidence: "low"
16
- reason: "Multiple skills match: spec-author, architect, docs-updater"
17
- alternatives:
18
- - skill: "spec-author"
19
- match_score: 0.65
20
- reason: "Can create API specifications"
21
- - skill: "architect"
22
- match_score: 0.60
23
- reason: "Can document API architecture"
24
- - skill: "docs-updater"
25
- match_score: 0.55
26
- reason: "Can update API documentation"
27
- actions:
28
- - "Ask user for clarification"
29
- - "Present alternatives with descriptions"
30
- - "Wait for user selection"
31
- validation:
32
- - "Detects ambiguity (confidence <0.7)"
33
- - "Lists all matching skills"
34
- - "Provides match scores"
35
- - "Asks user to clarify"
36
- - "Does not make incorrect assumption"
37
- success_criteria:
38
- - "Ambiguity detected"
39
- - "User presented with options"
40
- - "No forced routing when uncertain"
41
- - "Helpful context for each option"
42
- ---
@@ -1,50 +0,0 @@
1
- ---
2
- name: "Nested Skill Orchestration"
3
- description: "Tests skill-router's ability to handle one skill calling another skill"
4
- input:
5
- prompt: "Implement the user authentication feature"
6
- context:
7
- available_skills:
8
- - "developer"
9
- - "context-loader"
10
- - "spec-author"
11
- current_skill: "developer"
12
- workflow:
13
- - step: 1
14
- skill: "developer"
15
- action: "Needs to load context from specification"
16
- calls: "context-loader"
17
- - step: 2
18
- skill: "context-loader"
19
- action: "Load authentication spec"
20
- returns_to: "developer"
21
- - step: 3
22
- skill: "developer"
23
- action: "Implement based on loaded context"
24
- expected_output:
25
- type: "nested_routing"
26
- primary_skill: "developer"
27
- sub_skills:
28
- - "context-loader"
29
- orchestration:
30
- - "developer activates"
31
- - "developer calls context-loader"
32
- - "context-loader loads spec"
33
- - "context returns to developer"
34
- - "developer implements"
35
- contains:
36
- - "Orchestrating skills: developer -> context-loader"
37
- - "Context loaded successfully"
38
- - "Returning to developer"
39
- validation:
40
- - "Primary skill (developer) activated correctly"
41
- - "Sub-skill (context-loader) called when needed"
42
- - "Context passed between skills"
43
- - "Control returns to primary skill"
44
- - "Workflow completes successfully"
45
- success_criteria:
46
- - "Nested skill calls work"
47
- - "Context preserved across skills"
48
- - "No infinite loops"
49
- - "Proper error handling in chain"
50
- ---
@@ -1,148 +0,0 @@
1
- ---
2
- name: "Simple Idea to Validated Design"
3
- description: "Transform a simple rough idea into a validated design ready for increment creation"
4
- skill: spec-driven-brainstorming
5
- priority: P1
6
- estimated_time: "10-15 minutes"
7
-
8
- input:
9
- prompt: "I want to add user authentication to my app"
10
- context:
11
- existing_project: true
12
- tech_stack: "Next.js 14, TypeScript"
13
- existing_files:
14
- - "package.json"
15
- - "src/app/page.tsx"
16
- - "src/components/"
17
- database: "PostgreSQL"
18
-
19
- expected_output:
20
- phase_1_understanding:
21
- questions_asked:
22
- - "What's your primary authentication goal?" # user login, API keys, SSO
23
- - "Who are the users?" # internal team, public, B2B customers
24
- - "Any compliance requirements?" # GDPR, HIPAA, SOC2
25
-
26
- gathered_requirements:
27
- purpose: "Secure user login for public SaaS application"
28
- constraints:
29
- - "Must work with existing PostgreSQL database"
30
- - "Budget-friendly (prefer open-source)"
31
- success_criteria:
32
- - "Users can register and login securely"
33
- - "Session management across devices"
34
- - "Password reset functionality"
35
-
36
- phase_2_tech_stack:
37
- detected_stack:
38
- framework: "Next.js 14"
39
- language: "TypeScript"
40
- database: "PostgreSQL"
41
-
42
- skills_activated:
43
- - nextjs
44
- - nodejs-backend
45
-
46
- recommendation: "Use NextAuth.js v5 (Auth.js) - native Next.js integration"
47
-
48
- phase_3_exploration:
49
- approaches_proposed: 3
50
-
51
- approach_1:
52
- name: "NextAuth.js with Credentials Provider"
53
- architecture: "Session-based with JWT"
54
- trade_offs:
55
- pros:
56
- - "Simple setup, well-documented"
57
- - "Built-in session management"
58
- cons:
59
- - "Basic features only"
60
- - "Custom UI needed"
61
- complexity: "Low"
62
-
63
- approach_2:
64
- name: "Clerk Integration"
65
- architecture: "Third-party auth SaaS"
66
- trade_offs:
67
- pros:
68
- - "Pre-built UI components"
69
- - "Advanced features (MFA, social login)"
70
- cons:
71
- - "Monthly cost ($25+)"
72
- - "Vendor lock-in"
73
- complexity: "Very Low"
74
-
75
- approach_3:
76
- name: "Custom JWT + Refresh Tokens"
77
- architecture: "Stateless authentication"
78
- trade_offs:
79
- pros:
80
- - "Full control, no dependencies"
81
- - "Scalable, stateless"
82
- cons:
83
- - "More code to maintain"
84
- - "Security risks if done wrong"
85
- complexity: "High"
86
-
87
- user_selection: "Approach 1" # NextAuth.js
88
-
89
- phase_4_design_validation:
90
- sections_presented:
91
- - title: "Architecture Overview"
92
- content: "NextAuth.js integration with PostgreSQL adapter, session-based auth"
93
- validated: true
94
-
95
- - title: "Components"
96
- content: "Auth API routes (/api/auth/*), session provider, protected middleware"
97
- validated: true
98
-
99
- - title: "Data Flow"
100
- content: "Login → credentials check → session creation → JWT cookie → protected routes"
101
- validated: true
102
-
103
- - title: "Error Handling"
104
- content: "Invalid credentials, session expiry, token refresh logic"
105
- validated: true
106
-
107
- - title: "Testing Strategy"
108
- content: "Unit tests (auth logic), integration tests (API routes), E2E (Playwright login flow)"
109
- validated: true
110
-
111
- design_complete: true
112
-
113
- phase_5_specweave_handoff:
114
- handoff_type: "Full Increment Creation"
115
- skill_invoked: "increment-planner"
116
-
117
- expected_increment:
118
- directory: ".specweave/increments/0001-user-authentication/"
119
- files:
120
- - "spec.md"
121
- - "plan.md"
122
- - "tasks.md"
123
- - "tests.md"
124
- - "context-manifest.yaml"
125
-
126
- agents_invoked:
127
- - "pm" # Creates strategy docs
128
- - "architect" # Creates architecture docs
129
- - "qa-lead" # Creates test strategy
130
-
131
- validation:
132
- - "Phase 1: At least 3 understanding questions asked"
133
- - "Phase 2: Tech stack detected from package.json"
134
- - "Phase 3: Exactly 3 architectural approaches proposed"
135
- - "Phase 4: Design presented in <300 word sections"
136
- - "Phase 5: increment-planner skill invoked"
137
- - "All phases completed in sequence"
138
- - "AskUserQuestion tool used for structured choices"
139
- - "Open-ended questions used for validation"
140
-
141
- expected_errors: []
142
-
143
- success_criteria:
144
- - "Validated design produced"
145
- - "Ready for increment creation"
146
- - "User confirmed design alignment"
147
- - "No skipped phases (unless explicitly revisited)"
148
- ---