specweave 0.1.9 → 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 (293) hide show
  1. package/CLAUDE.md +600 -0
  2. package/README.md +245 -81
  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} +141 -69
  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/{increment.md → specweave.increment.md} +143 -76
  132. package/src/commands/specweave.md +430 -0
  133. package/src/commands/specweave.next.md +495 -0
  134. package/src/commands/{progress.md → specweave.progress.md} +12 -12
  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 -298
  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 -743
  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/review-docs.md +0 -331
  169. package/src/commands/sync-github.md +0 -115
  170. package/src/skills/ado-sync/test-cases/test-1.yaml +0 -9
  171. package/src/skills/ado-sync/test-cases/test-2.yaml +0 -8
  172. package/src/skills/ado-sync/test-cases/test-3.yaml +0 -9
  173. package/src/skills/bmad-method-expert/test-cases/test-1-placeholder.yaml +0 -12
  174. package/src/skills/bmad-method-expert/test-cases/test-2-placeholder.yaml +0 -12
  175. package/src/skills/bmad-method-expert/test-cases/test-3-placeholder.yaml +0 -12
  176. package/src/skills/brownfield-analyzer/test-cases/test-1-basic-analysis.yaml +0 -48
  177. package/src/skills/brownfield-analyzer/test-cases/test-2-placeholder.yaml +0 -12
  178. package/src/skills/brownfield-analyzer/test-cases/test-3-placeholder.yaml +0 -12
  179. package/src/skills/brownfield-onboarder/test-cases/test-1-placeholder.yaml +0 -12
  180. package/src/skills/brownfield-onboarder/test-cases/test-2-placeholder.yaml +0 -12
  181. package/src/skills/brownfield-onboarder/test-cases/test-3-placeholder.yaml +0 -12
  182. package/src/skills/calendar-system/test-cases/test-1-placeholder.yaml +0 -12
  183. package/src/skills/calendar-system/test-cases/test-2-placeholder.yaml +0 -12
  184. package/src/skills/calendar-system/test-cases/test-3-placeholder.yaml +0 -12
  185. package/src/skills/context-loader/test-cases/test-1-basic-loading.yaml +0 -39
  186. package/src/skills/context-loader/test-cases/test-2-token-budget-exceeded.yaml +0 -44
  187. package/src/skills/context-loader/test-cases/test-3-section-anchors.yaml +0 -45
  188. package/src/skills/context-optimizer/test-cases/test-1-bug-fix-narrow.yaml +0 -97
  189. package/src/skills/context-optimizer/test-cases/test-2-feature-focused.yaml +0 -109
  190. package/src/skills/context-optimizer/test-cases/test-3-architecture-broad.yaml +0 -98
  191. package/src/skills/cost-optimizer/test-cases/test-1-basic-comparison.yaml +0 -75
  192. package/src/skills/cost-optimizer/test-cases/test-2-budget-constraint.yaml +0 -52
  193. package/src/skills/cost-optimizer/test-cases/test-3-scale-requirement.yaml +0 -63
  194. package/src/skills/cost-optimizer/test-results/README.md +0 -46
  195. package/src/skills/design-system-architect/test-cases/test-1-token-structure.yaml +0 -23
  196. package/src/skills/design-system-architect/test-cases/test-2-component-hierarchy.yaml +0 -24
  197. package/src/skills/design-system-architect/test-cases/test-3-accessibility-checklist.yaml +0 -23
  198. package/src/skills/diagrams-architect/test-cases/test-1-c4-context.yaml +0 -13
  199. package/src/skills/diagrams-architect/test-cases/test-2-sequence-diagram.yaml +0 -13
  200. package/src/skills/diagrams-architect/test-cases/test-3-er-diagram.yaml +0 -13
  201. package/src/skills/diagrams-generator/test-cases/test-1.yaml +0 -9
  202. package/src/skills/diagrams-generator/test-cases/test-2.yaml +0 -9
  203. package/src/skills/diagrams-generator/test-cases/test-3.yaml +0 -8
  204. package/src/skills/docs-updater/test-cases/test-1-placeholder.yaml +0 -12
  205. package/src/skills/docs-updater/test-cases/test-2-placeholder.yaml +0 -12
  206. package/src/skills/docs-updater/test-cases/test-3-placeholder.yaml +0 -12
  207. package/src/skills/dotnet-backend/test-cases/test-1-rest-api.yaml +0 -14
  208. package/src/skills/dotnet-backend/test-cases/test-2-authentication.yaml +0 -13
  209. package/src/skills/dotnet-backend/test-cases/test-3-minimal-api.yaml +0 -13
  210. package/src/skills/e2e-playwright/test-cases/TC-001-basic-navigation.yaml +0 -54
  211. package/src/skills/e2e-playwright/test-cases/TC-002-form-interaction.yaml +0 -64
  212. package/src/skills/e2e-playwright/test-cases/TC-003-specweave-integration.yaml +0 -74
  213. package/src/skills/e2e-playwright/test-cases/TC-004-accessibility-check.yaml +0 -98
  214. package/src/skills/figma-designer/test-cases/test-1-design-system.yaml +0 -13
  215. package/src/skills/figma-designer/test-cases/test-2-component-library.yaml +0 -13
  216. package/src/skills/figma-designer/test-cases/test-3-responsive-layout.yaml +0 -13
  217. package/src/skills/figma-implementer/test-cases/test-1-design-to-react.yaml +0 -13
  218. package/src/skills/figma-implementer/test-cases/test-2-storybook.yaml +0 -13
  219. package/src/skills/figma-implementer/test-cases/test-3-design-tokens.yaml +0 -13
  220. package/src/skills/figma-mcp-connector/test-cases/test-1-read-file-desktop.yaml +0 -22
  221. package/src/skills/figma-mcp-connector/test-cases/test-2-read-file-framelink.yaml +0 -21
  222. package/src/skills/figma-mcp-connector/test-cases/test-3-error-handling.yaml +0 -18
  223. package/src/skills/figma-to-code/test-cases/test-1-token-generation.yaml +0 -29
  224. package/src/skills/figma-to-code/test-cases/test-2-component-generation.yaml +0 -27
  225. package/src/skills/figma-to-code/test-cases/test-3-typescript-generation.yaml +0 -28
  226. package/src/skills/frontend/test-cases/test-1-react-component.yaml +0 -13
  227. package/src/skills/frontend/test-cases/test-2-form-validation.yaml +0 -13
  228. package/src/skills/frontend/test-cases/test-3-state-management.yaml +0 -13
  229. package/src/skills/github-sync/test-cases/test-1-placeholder.yaml +0 -12
  230. package/src/skills/github-sync/test-cases/test-2-placeholder.yaml +0 -12
  231. package/src/skills/github-sync/test-cases/test-3-placeholder.yaml +0 -12
  232. package/src/skills/hetzner-provisioner/test-cases/test-1-basic-provision.yaml +0 -71
  233. package/src/skills/hetzner-provisioner/test-cases/test-2-postgres-provision.yaml +0 -85
  234. package/src/skills/hetzner-provisioner/test-cases/test-3-ssl-config.yaml +0 -126
  235. package/src/skills/hetzner-provisioner/test-results/README.md +0 -259
  236. package/src/skills/increment-planner/test-cases/test-1-basic-feature.yaml +0 -27
  237. package/src/skills/increment-planner/test-cases/test-2-complex-feature.yaml +0 -30
  238. package/src/skills/increment-planner/test-cases/test-3-auto-numbering.yaml +0 -24
  239. package/src/skills/increment-quality-judge/test-cases/test-1-good-spec.yaml +0 -95
  240. package/src/skills/increment-quality-judge/test-cases/test-2-poor-spec.yaml +0 -108
  241. package/src/skills/increment-quality-judge/test-cases/test-3-export-suggestions.yaml +0 -87
  242. package/src/skills/jira-sync/test-cases/test-1.yaml +0 -9
  243. package/src/skills/jira-sync/test-cases/test-2.yaml +0 -9
  244. package/src/skills/jira-sync/test-cases/test-3.yaml +0 -10
  245. package/src/skills/nextjs/test-cases/test-1-app-router.yaml +0 -13
  246. package/src/skills/nextjs/test-cases/test-2-server-actions.yaml +0 -13
  247. package/src/skills/nextjs/test-cases/test-3-api-routes.yaml +0 -13
  248. package/src/skills/nodejs-backend/test-cases/test-1-express-api.yaml +0 -13
  249. package/src/skills/nodejs-backend/test-cases/test-2-prisma-orm.yaml +0 -13
  250. package/src/skills/nodejs-backend/test-cases/test-3-authentication.yaml +0 -13
  251. package/src/skills/notification-system/test-cases/test-1-placeholder.yaml +0 -12
  252. package/src/skills/notification-system/test-cases/test-2-placeholder.yaml +0 -12
  253. package/src/skills/notification-system/test-cases/test-3-placeholder.yaml +0 -12
  254. package/src/skills/python-backend/test-cases/test-1-fastapi-crud.yaml +0 -13
  255. package/src/skills/python-backend/test-cases/test-2-sqlalchemy.yaml +0 -13
  256. package/src/skills/python-backend/test-cases/test-3-authentication.yaml +0 -13
  257. package/src/skills/role-orchestrator/test-cases/test-1-simple-product.yaml +0 -98
  258. package/src/skills/role-orchestrator/test-cases/test-2-quality-gate-failure.yaml +0 -73
  259. package/src/skills/role-orchestrator/test-cases/test-3-security-workflow.yaml +0 -121
  260. package/src/skills/role-orchestrator/test-cases/test-4-parallel-execution.yaml +0 -145
  261. package/src/skills/role-orchestrator/test-cases/test-5-feedback-loops.yaml +0 -149
  262. package/src/skills/skill-creator/test-cases/test-1-placeholder.yaml +0 -12
  263. package/src/skills/skill-creator/test-cases/test-2-placeholder.yaml +0 -12
  264. package/src/skills/skill-creator/test-cases/test-3-placeholder.yaml +0 -12
  265. package/src/skills/skill-router/test-cases/test-1-basic-routing.yaml +0 -33
  266. package/src/skills/skill-router/test-cases/test-2-ambiguous-request.yaml +0 -42
  267. package/src/skills/skill-router/test-cases/test-3-nested-orchestration.yaml +0 -50
  268. package/src/skills/spec-driven-brainstorming/test-cases/TC-001-simple-idea-to-design.yaml +0 -148
  269. package/src/skills/spec-driven-brainstorming/test-cases/TC-002-complex-ultrathink-design.yaml +0 -190
  270. package/src/skills/spec-driven-brainstorming/test-cases/TC-003-unclear-requirements-socratic.yaml +0 -233
  271. package/src/skills/spec-driven-debugging/test-cases/TC-001-simple-auth-bug.yaml +0 -212
  272. package/src/skills/spec-driven-debugging/test-cases/TC-002-race-condition-ultrathink.yaml +0 -461
  273. package/src/skills/spec-driven-debugging/test-cases/TC-003-brownfield-missing-spec.yaml +0 -366
  274. package/src/skills/spec-kit-expert/test-cases/test-1-placeholder.yaml +0 -12
  275. package/src/skills/spec-kit-expert/test-cases/test-2-placeholder.yaml +0 -12
  276. package/src/skills/spec-kit-expert/test-cases/test-3-placeholder.yaml +0 -12
  277. package/src/skills/specweave-ado-mapper/test-cases/test-1-export-to-ado.yaml +0 -13
  278. package/src/skills/specweave-ado-mapper/test-cases/test-2-import-from-ado.yaml +0 -13
  279. package/src/skills/specweave-ado-mapper/test-cases/test-3-bidirectional-sync.yaml +0 -13
  280. package/src/skills/specweave-detector/test-cases/test-1-basic-detection.yaml +0 -37
  281. package/src/skills/specweave-detector/test-cases/test-2-missing-config.yaml +0 -37
  282. package/src/skills/specweave-detector/test-cases/test-3-non-specweave-project.yaml +0 -34
  283. package/src/skills/specweave-jira-mapper/test-cases/test-1-export-to-jira.yaml +0 -13
  284. package/src/skills/specweave-jira-mapper/test-cases/test-2-import-from-jira.yaml +0 -13
  285. package/src/skills/specweave-jira-mapper/test-cases/test-3-sync-status.yaml +0 -13
  286. package/src/skills/stripe-integrator/test-cases/test-1-placeholder.yaml +0 -12
  287. package/src/skills/stripe-integrator/test-cases/test-2-placeholder.yaml +0 -12
  288. package/src/skills/stripe-integrator/test-cases/test-3-placeholder.yaml +0 -12
  289. package/src/skills/task-builder/test-cases/test-1-placeholder.yaml +0 -12
  290. package/src/skills/task-builder/test-cases/test-2-placeholder.yaml +0 -12
  291. package/src/skills/task-builder/test-cases/test-3-placeholder.yaml +0 -12
  292. package/src/templates/config.yaml +0 -351
  293. /package/src/commands/{list-increments.md → specweave.list-increments.md} +0 -0
@@ -1,24 +0,0 @@
1
- ---
2
- name: "Component Hierarchy Validation"
3
- description: "Test validation of Atomic Design hierarchy"
4
- input:
5
- components:
6
- atoms:
7
- - "Button"
8
- - "Input"
9
- molecules:
10
- - "FormField"
11
- organisms:
12
- - "Navigation"
13
- expected_output:
14
- type: "validation_result"
15
- valid: true
16
- hierarchy_correct: true
17
- validation:
18
- - "Atoms are smallest components"
19
- - "Molecules compose atoms"
20
- - "Organisms compose molecules/atoms"
21
- success_criteria:
22
- - "Hierarchy follows Atomic Design"
23
- - "No circular dependencies"
24
- ---
@@ -1,23 +0,0 @@
1
- ---
2
- name: "Accessibility Checklist Validation"
3
- description: "Test validation of accessibility requirements"
4
- input:
5
- component: "Button"
6
- accessibility:
7
- aria_label: true
8
- keyboard_navigation: true
9
- color_contrast: 4.6
10
- touch_target: "44x44"
11
- expected_output:
12
- type: "validation_result"
13
- valid: true
14
- wcag_compliant: true
15
- validation:
16
- - "ARIA labels present"
17
- - "Keyboard navigation supported"
18
- - "Color contrast >= 4.5:1"
19
- - "Touch targets >= 44x44px"
20
- success_criteria:
21
- - "WCAG 2.1 AA compliance"
22
- - "No accessibility violations"
23
- ---
@@ -1,13 +0,0 @@
1
- name: "Create C4 Context Diagram"
2
- description: "Test creating a C4 Level 1 context diagram for a system"
3
- user_input: "Create a C4 context diagram for an e-commerce platform"
4
- expected_behavior:
5
- - Generates valid Mermaid C4Context diagram
6
- - Includes system boundary
7
- - Shows external actors (users, external systems)
8
- - Shows relationships and dependencies
9
- validation:
10
- - Diagram starts with C4Context keyword
11
- - Contains Person/System elements
12
- - Includes Boundary definition
13
- - Has BiRel or Rel relationship arrows
@@ -1,13 +0,0 @@
1
- name: "Create Sequence Diagram"
2
- description: "Test creating a sequence diagram for API authentication flow"
3
- user_input: "Create a sequence diagram for OAuth 2.0 authentication flow"
4
- expected_behavior:
5
- - Generates valid Mermaid sequence diagram
6
- - Shows participants (client, auth server, resource server)
7
- - Includes authentication steps in correct order
8
- - Shows token exchange flow
9
- validation:
10
- - Diagram starts with sequenceDiagram keyword
11
- - Contains participant declarations
12
- - Has sequential messages (->>, -->)
13
- - Includes notes for clarity
@@ -1,13 +0,0 @@
1
- name: "Create Entity Relationship Diagram"
2
- description: "Test creating an ER diagram for database schema"
3
- user_input: "Create an ER diagram for a multi-tenant SaaS database"
4
- expected_behavior:
5
- - Generates valid Mermaid ER diagram
6
- - Shows entities (tables)
7
- - Shows relationships with cardinality
8
- - Includes key attributes
9
- validation:
10
- - Diagram starts with erDiagram keyword
11
- - Contains entity definitions
12
- - Has relationships (||--o{, etc.)
13
- - Shows primary/foreign key fields
@@ -1,9 +0,0 @@
1
- ---
2
- name: "Detect Diagram Request"
3
- description: "Tests if diagrams-generator activates for diagram creation"
4
- input:
5
- prompt: "Create C4 context diagram"
6
- expected_output:
7
- skill_activated: true
8
- agent_invoked: "diagrams-architect"
9
- ---
@@ -1,9 +0,0 @@
1
- ---
2
- name: "Detect C4 Level 3 (LLD)"
3
- description: "Tests if diagrams-generator correctly identifies LLD component diagrams"
4
- input:
5
- prompt: "Create component diagram for Auth Service"
6
- expected_output:
7
- diagram_type: "C4Component"
8
- document_type: "LLD"
9
- ---
@@ -1,8 +0,0 @@
1
- ---
2
- name: "Save to Correct Location"
3
- description: "Tests if diagrams are saved to correct paths (HLD vs LLD)"
4
- input:
5
- prompt: "Create component diagram for Payment Service"
6
- expected_output:
7
- file_location: ".specweave/docs/internal/architecture/diagrams/payments/component-payment-service.mmd"
8
- ---
@@ -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,14 +0,0 @@
1
- name: "Create ASP.NET Core REST API"
2
- description: "Test creating a REST API controller with Entity Framework"
3
- user_input: "Create a REST API for managing products with CRUD operations"
4
- expected_behavior:
5
- - Generates ASP.NET Core controller with appropriate attributes
6
- - Includes Entity Framework DbContext integration
7
- - Implements CRUD endpoints (GET, POST, PUT, DELETE)
8
- - Includes async/await pattern
9
- - Adds proper HTTP status codes
10
- validation:
11
- - Uses [ApiController] and [Route] attributes
12
- - Controller inherits from ControllerBase
13
- - Methods use async Task<ActionResult> pattern
14
- - Includes dependency injection for DbContext
@@ -1,13 +0,0 @@
1
- name: "Implement JWT Authentication"
2
- description: "Test implementing JWT authentication in ASP.NET Core"
3
- user_input: "Add JWT token-based authentication to my API"
4
- expected_behavior:
5
- - Configures JWT authentication in Program.cs/Startup.cs
6
- - Creates login endpoint that generates JWT tokens
7
- - Includes claims-based authorization
8
- - Protects endpoints with [Authorize] attribute
9
- validation:
10
- - Uses Microsoft.AspNetCore.Authentication.JwtBearer
11
- - Configures token validation parameters
12
- - Generates tokens with claims
13
- - Implements token refresh logic
@@ -1,13 +0,0 @@
1
- name: "Create Minimal API"
2
- description: "Test creating .NET 6+ minimal API endpoints"
3
- user_input: "Create a minimal API for user management"
4
- expected_behavior:
5
- - Uses app.MapGet/MapPost/MapPut/MapDelete
6
- - Implements endpoints in Program.cs
7
- - Includes route parameters and query strings
8
- - Uses dependency injection
9
- validation:
10
- - No controller classes needed
11
- - Uses lambda expressions for endpoints
12
- - Implements proper HTTP verbs
13
- - Includes validation and error handling
@@ -1,54 +0,0 @@
1
- id: TC-001
2
- name: Basic Navigation Test
3
- description: Verify that the skill can navigate to a webpage and capture a screenshot
4
- priority: high
5
- category: functional
6
-
7
- preconditions:
8
- - Playwright is installed
9
- - Chromium browser is available
10
- - Development server is running on localhost:3000
11
-
12
- test_steps:
13
- - step: 1
14
- action: Create test script that navigates to localhost:3000
15
- expected: Test script is created in /tmp/
16
-
17
- - step: 2
18
- action: Execute test script via execute.js
19
- expected: Browser launches and navigates to homepage
20
-
21
- - step: 3
22
- action: Capture full-page screenshot
23
- expected: Screenshot is saved to /tmp/ with timestamp
24
-
25
- - step: 4
26
- action: Verify page title
27
- expected: Page title is captured and logged to console
28
-
29
- - step: 5
30
- action: Close browser
31
- expected: Browser closes cleanly without errors
32
-
33
- acceptance_criteria:
34
- - Browser launches in visible mode (headless: false)
35
- - Navigation completes successfully
36
- - Screenshot file is created with correct naming pattern
37
- - Console output shows execution steps
38
- - No errors are thrown during execution
39
-
40
- test_data:
41
- url: http://localhost:3000
42
- expected_title: SpecWeave
43
- screenshot_pattern: /tmp/homepage-*.png
44
-
45
- expected_results:
46
- - Browser opens visibly
47
- - Page loads within 10 seconds
48
- - Screenshot file exists and is valid PNG
49
- - Console shows "✅ Test passed" message
50
- - Process exits with code 0
51
-
52
- notes: |
53
- This is the most basic test case to verify core functionality.
54
- All other tests depend on this working correctly.
@@ -1,64 +0,0 @@
1
- id: TC-002
2
- name: Form Interaction Test
3
- description: Verify that the skill can interact with form elements using helper utilities
4
- priority: high
5
- category: functional
6
-
7
- preconditions:
8
- - TC-001 passes
9
- - Test page has a login form with email and password fields
10
- - safeType and safeClick utilities are available
11
-
12
- test_steps:
13
- - step: 1
14
- action: Navigate to login page
15
- expected: Login form is visible
16
-
17
- - step: 2
18
- action: Use safeType() to enter email address
19
- expected: Email field is filled with test email
20
-
21
- - step: 3
22
- action: Use safeType() to enter password
23
- expected: Password field is filled (masked)
24
-
25
- - step: 4
26
- action: Use safeClick() to submit form
27
- expected: Form submission is triggered
28
-
29
- - step: 5
30
- action: Wait for navigation or success message
31
- expected: User is redirected or sees success state
32
-
33
- - step: 6
34
- action: Capture screenshot of result
35
- expected: Screenshot shows post-login state
36
-
37
- acceptance_criteria:
38
- - safeType() handles focus and clearing automatically
39
- - safeType() verifies text was entered correctly
40
- - safeClick() waits for element to be visible
41
- - Form submission completes without timeout
42
- - Screenshots capture both pre and post submission states
43
-
44
- test_data:
45
- email: test@example.com
46
- password: testpassword123
47
- login_url: http://localhost:3000/login
48
- expected_redirect: /dashboard
49
-
50
- expected_results:
51
- - Email field contains entered value
52
- - Password field is masked
53
- - Form submits successfully
54
- - Navigation completes within 10 seconds
55
- - Success state is reached
56
-
57
- error_scenarios:
58
- - If email field not found: Error message with selector details
59
- - If click times out: Retry up to 3 times
60
- - If verification fails: Clear error about mismatch
61
-
62
- notes: |
63
- Tests the core interaction utilities that make Playwright easier to use.
64
- safeType() and safeClick() should handle common edge cases automatically.
@@ -1,74 +0,0 @@
1
- id: TC-003
2
- name: SpecWeave Integration Test
3
- description: Verify that the skill detects SpecWeave context and generates test reports in increment folders
4
- priority: medium
5
- category: integration
6
-
7
- preconditions:
8
- - TC-001 and TC-002 pass
9
- - Running in a SpecWeave project (.specweave/ directory exists)
10
- - Active increment with in-progress status exists
11
- - Increment has reports/ directory
12
-
13
- test_steps:
14
- - step: 1
15
- action: Execute test from within SpecWeave project
16
- expected: Executor detects SpecWeave context
17
-
18
- - step: 2
19
- action: Check console output for SpecWeave detection message
20
- expected: "🔷 SpecWeave project detected" is logged
21
-
22
- - step: 3
23
- action: Verify active increment detection
24
- expected: "📦 Active increment: 0001-feature-name" is logged
25
-
26
- - step: 4
27
- action: Run test that generates results
28
- expected: Test executes and collects results
29
-
30
- - step: 5
31
- action: Generate test report using generateTestReport()
32
- expected: Markdown report is created
33
-
34
- - step: 6
35
- action: Save report using saveTestReport()
36
- expected: Report is saved to .specweave/increments/{id}/reports/
37
-
38
- acceptance_criteria:
39
- - detectSpecWeaveContext() correctly identifies SpecWeave projects
40
- - Active increment is detected by checking tasks.md status
41
- - Test reports follow SpecWeave format (see SKILL.md)
42
- - Reports are saved to correct increment folder
43
- - Report includes all sections (summary, results, performance, accessibility)
44
-
45
- test_data:
46
- project_root: /path/to/specweave-project
47
- increment_id: "0001-test-feature"
48
- increment_status: in-progress
49
- report_filename: e2e-test-report.md
50
-
51
- expected_results:
52
- - isSpecweaveProject: true
53
- - activeIncrement: "0001-test-feature"
54
- - Report file exists at: .specweave/increments/0001-test-feature/reports/e2e-test-report.md
55
- - Report contains proper Markdown formatting
56
- - Report includes timestamp and test results
57
-
58
- report_sections_required:
59
- - Test Summary (total, passed, failed, skipped)
60
- - Test Results (individual test details)
61
- - Performance Metrics (page load, interactions)
62
- - Accessibility Issues (grouped by type)
63
- - Recommendations (actionable items)
64
-
65
- edge_cases:
66
- - No active increment: Should still work, just without increment context
67
- - Multiple in-progress increments: Use the first one found
68
- - reports/ directory missing: Create it automatically
69
- - Running outside SpecWeave: Should work normally without SpecWeave features
70
-
71
- notes: |
72
- This test verifies the SpecWeave-specific enhancements that differentiate
73
- this skill from the original playwright-skill. The ability to automatically
74
- detect context and generate reports in the right place is a key feature.
@@ -1,98 +0,0 @@
1
- id: TC-004
2
- name: Accessibility Check Test
3
- description: Verify that the skill can perform basic accessibility checks on web pages
4
- priority: medium
5
- category: accessibility
6
-
7
- preconditions:
8
- - TC-001 passes
9
- - Test page has various HTML elements (images, forms, buttons, links)
10
- - checkAccessibility() utility is available
11
-
12
- test_steps:
13
- - step: 1
14
- action: Navigate to test page
15
- expected: Page loads successfully
16
-
17
- - step: 2
18
- action: Call checkAccessibility(page)
19
- expected: Function runs without errors
20
-
21
- - step: 3
22
- action: Verify detection of images without alt text
23
- expected: Missing alt text issues are reported
24
-
25
- - step: 4
26
- action: Verify detection of form inputs without labels
27
- expected: Missing label issues are reported
28
-
29
- - step: 5
30
- action: Verify detection of buttons without accessible text
31
- expected: Missing button text issues are reported
32
-
33
- - step: 6
34
- action: Log all accessibility issues to console
35
- expected: Clear, actionable issue descriptions are shown
36
-
37
- acceptance_criteria:
38
- - All four accessibility checks run successfully
39
- - Issues are grouped by type (missing-alt, missing-label, etc.)
40
- - Each issue includes element HTML snippet
41
- - Each issue includes clear message explaining the problem
42
- - Function returns array of issue objects
43
-
44
- test_data:
45
- test_scenarios:
46
- - scenario: Image without alt
47
- html: <img src="test.png">
48
- expected_issue: missing-alt
49
-
50
- - scenario: Input without label
51
- html: <input type="text" name="test">
52
- expected_issue: missing-label
53
-
54
- - scenario: Button without text
55
- html: <button></button>
56
- expected_issue: missing-button-text
57
-
58
- - scenario: Link without text
59
- html: <a href="/test"></a>
60
- expected_issue: missing-link-text
61
-
62
- expected_results:
63
- - checkAccessibility() returns array
64
- - Each issue has: type, element, message
65
- - Element snippets are truncated to 100 chars
66
- - Hidden inputs are ignored
67
- - ARIA labels are recognized as valid alternatives
68
-
69
- issue_format:
70
- type: string # e.g., "missing-alt"
71
- element: string # HTML snippet (max 100 chars)
72
- message: string # Human-readable description
73
-
74
- valid_alternatives:
75
- for_images:
76
- - alt attribute
77
- - aria-label attribute
78
-
79
- for_inputs:
80
- - Wrapped in <label>
81
- - Associated via <label for="id">
82
- - aria-label attribute
83
- - aria-labelledby attribute
84
-
85
- for_buttons:
86
- - Text content
87
- - aria-label attribute
88
- - Alt text on child image
89
-
90
- for_links:
91
- - Text content
92
- - aria-label attribute
93
- - Alt text on child image
94
-
95
- notes: |
96
- Basic accessibility checks help catch common issues early.
97
- This is not a replacement for full accessibility audits but provides
98
- quick feedback during development.
@@ -1,13 +0,0 @@
1
- name: "Create Design System Foundation"
2
- description: "Test creating design tokens and base components in Figma"
3
- user_input: "Create a design system with color palette, typography, and spacing"
4
- expected_behavior:
5
- - Defines color tokens (primary, secondary, neutral, semantic)
6
- - Sets up typography scale (headings, body, captions)
7
- - Creates spacing tokens (4px, 8px, 16px, etc.)
8
- - Organizes tokens in Figma variables
9
- validation:
10
- - Uses Figma variables for colors
11
- - Defines text styles for typography
12
- - Creates spacing components
13
- - Follows naming conventions (color/primary/500)
@@ -1,13 +0,0 @@
1
- name: "Build Component Library"
2
- description: "Test creating reusable UI components using atomic design"
3
- user_input: "Create a button component library with all variants"
4
- expected_behavior:
5
- - Creates button component with variants (primary, secondary, ghost)
6
- - Implements states (default, hover, active, disabled)
7
- - Uses auto-layout for responsive sizing
8
- - Includes icon support
9
- validation:
10
- - Component uses variants
11
- - States implemented as component properties
12
- - Uses auto-layout
13
- - Properly linked to design tokens
@@ -1,13 +0,0 @@
1
- name: "Design Responsive Layout"
2
- description: "Test creating responsive layouts with constraints"
3
- user_input: "Design a responsive dashboard layout for desktop and mobile"
4
- expected_behavior:
5
- - Creates frames for different breakpoints (mobile, tablet, desktop)
6
- - Uses auto-layout for flexible content
7
- - Implements proper constraints
8
- - Shows responsive behavior
9
- validation:
10
- - Multiple frames for breakpoints
11
- - Auto-layout on parent containers
12
- - Constraints set appropriately
13
- - Components adapt to different widths
@@ -1,13 +0,0 @@
1
- name: "Convert Figma Design to React Component"
2
- description: "Test converting a Figma component to production React code"
3
- user_input: "Convert this Figma button component to React with TypeScript"
4
- expected_behavior:
5
- - Extracts design tokens (colors, spacing, typography)
6
- - Generates React component with proper props
7
- - Implements all variants from Figma
8
- - Includes Tailwind CSS or CSS modules
9
- validation:
10
- - Component matches Figma design pixel-perfect
11
- - Props match Figma variants
12
- - Uses design tokens correctly
13
- - Includes TypeScript interfaces
@@ -1,13 +0,0 @@
1
- name: "Create Storybook Stories for Figma Components"
2
- description: "Test generating Storybook stories from Figma components"
3
- user_input: "Create Storybook stories for my button component from Figma"
4
- expected_behavior:
5
- - Generates .stories.tsx file
6
- - Creates stories for each variant
7
- - Includes controls for interactive props
8
- - Matches Figma design exactly
9
- validation:
10
- - Stories show all variants
11
- - Controls allow testing different states
12
- - Visual regression tests possible
13
- - Documentation includes usage examples
@@ -1,13 +0,0 @@
1
- name: "Extract and Implement Design Tokens"
2
- description: "Test extracting design tokens from Figma and generating code"
3
- user_input: "Extract all design tokens from this Figma file"
4
- expected_behavior:
5
- - Extracts colors, typography, spacing, shadows, borders
6
- - Generates token files (JSON, CSS variables, or TypeScript)
7
- - Creates Tailwind config if needed
8
- - Maintains consistency with Figma
9
- validation:
10
- - All token categories extracted
11
- - Proper naming conventions
12
- - Values match Figma exactly
13
- - Tokens are importable and usable
@@ -1,22 +0,0 @@
1
- ---
2
- name: "Read Figma File - Official Desktop MCP"
3
- description: "Test reading Figma file via official desktop MCP"
4
- input:
5
- figma_url: "https://figma.com/file/ABC123"
6
- mcp_type: "official_desktop"
7
- mcp_url: "http://127.0.0.1:3845/mcp"
8
- expected_output:
9
- type: "figma_file_metadata"
10
- fields:
11
- - "fileId"
12
- - "name"
13
- - "components"
14
- - "variables"
15
- validation:
16
- - "File ID extracted correctly"
17
- - "Components array populated"
18
- - "Variables object exists"
19
- success_criteria:
20
- - "File read successfully"
21
- - "No authentication errors"
22
- ---
@@ -1,21 +0,0 @@
1
- ---
2
- name: "Read Figma File - Community Framelink MCP"
3
- description: "Test reading Figma file via community Framelink MCP"
4
- input:
5
- figma_url: "https://figma.com/file/ABC123"
6
- mcp_type: "community_framelink"
7
- expected_output:
8
- type: "figma_file_metadata"
9
- fields:
10
- - "fileId"
11
- - "name"
12
- - "components"
13
- - "variables"
14
- validation:
15
- - "File ID extracted correctly"
16
- - "Components array populated"
17
- - "Framelink-specific optimizations applied"
18
- success_criteria:
19
- - "File read successfully"
20
- - "Context reduced for AI accuracy"
21
- ---
@@ -1,18 +0,0 @@
1
- ---
2
- name: "Error Handling - Invalid Token"
3
- description: "Test error handling for invalid Figma token"
4
- input:
5
- figma_url: "https://figma.com/file/ABC123"
6
- token: "invalid_token"
7
- expected_output:
8
- type: "error"
9
- error_code: "AUTHENTICATION_FAILED"
10
- message: "Invalid Figma access token"
11
- validation:
12
- - "Error detected correctly"
13
- - "Clear error message provided"
14
- - "Suggests solution (check FIGMA_ACCESS_TOKEN)"
15
- success_criteria:
16
- - "Error handled gracefully"
17
- - "User guidance provided"
18
- ---