@arimakouyou/spec-workflow-mcp 2.2.7

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 (472) hide show
  1. package/.claude-plugin/.mcp.json +8 -0
  2. package/.claude-plugin/agents/code-simplifier.md +80 -0
  3. package/.claude-plugin/agents/integ-test-auditor.md +91 -0
  4. package/.claude-plugin/agents/integ-test-worker.md +73 -0
  5. package/.claude-plugin/agents/parallel-worker.md +136 -0
  6. package/.claude-plugin/agents/review-worker.md +279 -0
  7. package/.claude-plugin/agents/unit-test-engineer.md +148 -0
  8. package/.claude-plugin/agents/wave-harness-worker.md +158 -0
  9. package/.claude-plugin/hooks/hooks.json +16 -0
  10. package/.claude-plugin/hooks/tasks-read-guard.sh +17 -0
  11. package/.claude-plugin/marketplace.json +33 -0
  12. package/.claude-plugin/plugin.json +11 -0
  13. package/.claude-plugin/rules/axum.md +154 -0
  14. package/.claude-plugin/rules/cargo-toml.md +63 -0
  15. package/.claude-plugin/rules/context7.md +17 -0
  16. package/.claude-plugin/rules/design-conformance.md +82 -0
  17. package/.claude-plugin/rules/design-principles.md +53 -0
  18. package/.claude-plugin/rules/diesel.md +176 -0
  19. package/.claude-plugin/rules/feedback-loop.md +33 -0
  20. package/.claude-plugin/rules/leptos.md +319 -0
  21. package/.claude-plugin/rules/project-architecture.md +134 -0
  22. package/.claude-plugin/rules/quality-checks.md +265 -0
  23. package/.claude-plugin/rules/rust-style.md +242 -0
  24. package/.claude-plugin/rules/security.md +67 -0
  25. package/.claude-plugin/rules/spec-workflow-enforcement.md +47 -0
  26. package/.claude-plugin/rules/valkey.md +167 -0
  27. package/.claude-plugin/skills/integration-test/SKILL.md +230 -0
  28. package/.claude-plugin/skills/integration-test/references/auditor-prompt.md +78 -0
  29. package/.claude-plugin/skills/integration-test/references/external-api-mock.md +98 -0
  30. package/.claude-plugin/skills/integration-test/references/fixture-catalog.md +155 -0
  31. package/.claude-plugin/skills/integration-test/references/parallel-execution.md +124 -0
  32. package/.claude-plugin/skills/integration-test/references/quality-gate.md +80 -0
  33. package/.claude-plugin/skills/integration-test/references/test-case-design.md +88 -0
  34. package/.claude-plugin/skills/integration-test/references/test-patterns.md +215 -0
  35. package/.claude-plugin/skills/integration-test/references/whiteboard-template.md +81 -0
  36. package/.claude-plugin/skills/integration-test/references/worker-prompt.md +70 -0
  37. package/.claude-plugin/skills/knowhow-capture/SKILL.md +143 -0
  38. package/.claude-plugin/skills/phase-review-team/SKILL.md +380 -0
  39. package/.claude-plugin/skills/spec-design/SKILL.md +282 -0
  40. package/.claude-plugin/skills/spec-e2e-implement/SKILL.md +259 -0
  41. package/.claude-plugin/skills/spec-impl-code/SKILL.md +101 -0
  42. package/.claude-plugin/skills/spec-impl-review/SKILL.md +115 -0
  43. package/.claude-plugin/skills/spec-impl-test-run/SKILL.md +98 -0
  44. package/.claude-plugin/skills/spec-impl-test-write/SKILL.md +121 -0
  45. package/.claude-plugin/skills/spec-implement/SKILL.md +822 -0
  46. package/.claude-plugin/skills/spec-requirements/SKILL.md +130 -0
  47. package/.claude-plugin/skills/spec-review/SKILL.md +274 -0
  48. package/.claude-plugin/skills/spec-tasks/SKILL.md +372 -0
  49. package/.claude-plugin/skills/spec-test-design/SKILL.md +233 -0
  50. package/.claude-plugin/skills/tdd-skills/SKILL.md +95 -0
  51. package/.claude-plugin/skills/tdd-skills/references/advanced-techniques.md +49 -0
  52. package/.claude-plugin/skills/tdd-skills/references/green-strategies.md +70 -0
  53. package/.claude-plugin/skills/tdd-skills/references/tdd-and-design.md +48 -0
  54. package/.claude-plugin/skills/tdd-skills/references/test-design.md +43 -0
  55. package/.claude-plugin/skills/tdd-skills/references/test-doubles.md +53 -0
  56. package/.claude-plugin/skills/tdd-skills/references/test-patterns.md +40 -0
  57. package/.claude-plugin/skills/tdd-skills-rust/SKILL.md +128 -0
  58. package/.claude-plugin/skills/tdd-skills-rust/references/advanced-techniques.md +205 -0
  59. package/.claude-plugin/skills/tdd-skills-rust/references/green-strategies.md +166 -0
  60. package/.claude-plugin/skills/tdd-skills-rust/references/tdd-and-design.md +215 -0
  61. package/.claude-plugin/skills/tdd-skills-rust/references/test-design.md +128 -0
  62. package/.claude-plugin/skills/tdd-skills-rust/references/test-doubles.md +208 -0
  63. package/.claude-plugin/skills/tdd-skills-rust/references/test-patterns.md +223 -0
  64. package/.claude-plugin/with-dashboard/.mcp.json +8 -0
  65. package/.claude-plugin/with-dashboard/plugin.json +10 -0
  66. package/CHANGELOG.md +1007 -0
  67. package/LICENSE +674 -0
  68. package/README.ja.md +380 -0
  69. package/README.md +437 -0
  70. package/dist/__tests__/config.test.d.ts +2 -0
  71. package/dist/__tests__/config.test.d.ts.map +1 -0
  72. package/dist/__tests__/config.test.js +264 -0
  73. package/dist/__tests__/config.test.js.map +1 -0
  74. package/dist/__tests__/index-args.test.d.ts +2 -0
  75. package/dist/__tests__/index-args.test.d.ts.map +1 -0
  76. package/dist/__tests__/index-args.test.js +43 -0
  77. package/dist/__tests__/index-args.test.js.map +1 -0
  78. package/dist/__tests__/index-entrypoint.test.d.ts +2 -0
  79. package/dist/__tests__/index-entrypoint.test.d.ts.map +1 -0
  80. package/dist/__tests__/index-entrypoint.test.js +23 -0
  81. package/dist/__tests__/index-entrypoint.test.js.map +1 -0
  82. package/dist/config.d.ts +26 -0
  83. package/dist/config.d.ts.map +1 -0
  84. package/dist/config.js +188 -0
  85. package/dist/config.js.map +1 -0
  86. package/dist/core/__tests__/git-utils.test.d.ts +2 -0
  87. package/dist/core/__tests__/git-utils.test.d.ts.map +1 -0
  88. package/dist/core/__tests__/git-utils.test.js +179 -0
  89. package/dist/core/__tests__/git-utils.test.js.map +1 -0
  90. package/dist/core/__tests__/mdx-validator.test.d.ts +2 -0
  91. package/dist/core/__tests__/mdx-validator.test.d.ts.map +1 -0
  92. package/dist/core/__tests__/mdx-validator.test.js +42 -0
  93. package/dist/core/__tests__/mdx-validator.test.js.map +1 -0
  94. package/dist/core/__tests__/path-utils.test.d.ts +2 -0
  95. package/dist/core/__tests__/path-utils.test.d.ts.map +1 -0
  96. package/dist/core/__tests__/path-utils.test.js +342 -0
  97. package/dist/core/__tests__/path-utils.test.js.map +1 -0
  98. package/dist/core/__tests__/project-registry.test.d.ts +2 -0
  99. package/dist/core/__tests__/project-registry.test.d.ts.map +1 -0
  100. package/dist/core/__tests__/project-registry.test.js +62 -0
  101. package/dist/core/__tests__/project-registry.test.js.map +1 -0
  102. package/dist/core/__tests__/security-utils.test.d.ts +2 -0
  103. package/dist/core/__tests__/security-utils.test.d.ts.map +1 -0
  104. package/dist/core/__tests__/security-utils.test.js +657 -0
  105. package/dist/core/__tests__/security-utils.test.js.map +1 -0
  106. package/dist/core/__tests__/task-parser.test.d.ts +2 -0
  107. package/dist/core/__tests__/task-parser.test.d.ts.map +1 -0
  108. package/dist/core/__tests__/task-parser.test.js +222 -0
  109. package/dist/core/__tests__/task-parser.test.js.map +1 -0
  110. package/dist/core/__tests__/task-validator.test.d.ts +2 -0
  111. package/dist/core/__tests__/task-validator.test.d.ts.map +1 -0
  112. package/dist/core/__tests__/task-validator.test.js +308 -0
  113. package/dist/core/__tests__/task-validator.test.js.map +1 -0
  114. package/dist/core/archive-service.d.ts +10 -0
  115. package/dist/core/archive-service.d.ts.map +1 -0
  116. package/dist/core/archive-service.js +99 -0
  117. package/dist/core/archive-service.js.map +1 -0
  118. package/dist/core/dashboard-session.d.ts +49 -0
  119. package/dist/core/dashboard-session.d.ts.map +1 -0
  120. package/dist/core/dashboard-session.js +132 -0
  121. package/dist/core/dashboard-session.js.map +1 -0
  122. package/dist/core/git-utils.d.ts +25 -0
  123. package/dist/core/git-utils.d.ts.map +1 -0
  124. package/dist/core/git-utils.js +87 -0
  125. package/dist/core/git-utils.js.map +1 -0
  126. package/dist/core/global-dir.d.ts +44 -0
  127. package/dist/core/global-dir.d.ts.map +1 -0
  128. package/dist/core/global-dir.js +74 -0
  129. package/dist/core/global-dir.js.map +1 -0
  130. package/dist/core/implementation-log-migrator.d.ts +41 -0
  131. package/dist/core/implementation-log-migrator.d.ts.map +1 -0
  132. package/dist/core/implementation-log-migrator.js +258 -0
  133. package/dist/core/implementation-log-migrator.js.map +1 -0
  134. package/dist/core/mdx-validator.d.ts +14 -0
  135. package/dist/core/mdx-validator.d.ts.map +1 -0
  136. package/dist/core/mdx-validator.js +34 -0
  137. package/dist/core/mdx-validator.js.map +1 -0
  138. package/dist/core/parser.d.ts +11 -0
  139. package/dist/core/parser.d.ts.map +1 -0
  140. package/dist/core/parser.js +128 -0
  141. package/dist/core/parser.js.map +1 -0
  142. package/dist/core/path-utils.d.ts +68 -0
  143. package/dist/core/path-utils.d.ts.map +1 -0
  144. package/dist/core/path-utils.js +302 -0
  145. package/dist/core/path-utils.js.map +1 -0
  146. package/dist/core/project-registry.d.ts +94 -0
  147. package/dist/core/project-registry.d.ts.map +1 -0
  148. package/dist/core/project-registry.js +297 -0
  149. package/dist/core/project-registry.js.map +1 -0
  150. package/dist/core/security-utils.d.ts +99 -0
  151. package/dist/core/security-utils.d.ts.map +1 -0
  152. package/dist/core/security-utils.js +275 -0
  153. package/dist/core/security-utils.js.map +1 -0
  154. package/dist/core/task-parser.d.ts +90 -0
  155. package/dist/core/task-parser.d.ts.map +1 -0
  156. package/dist/core/task-parser.js +477 -0
  157. package/dist/core/task-parser.js.map +1 -0
  158. package/dist/core/task-validator.d.ts +37 -0
  159. package/dist/core/task-validator.d.ts.map +1 -0
  160. package/dist/core/task-validator.js +499 -0
  161. package/dist/core/task-validator.js.map +1 -0
  162. package/dist/core/workspace-initializer.d.ts +16 -0
  163. package/dist/core/workspace-initializer.d.ts.map +1 -0
  164. package/dist/core/workspace-initializer.js +168 -0
  165. package/dist/core/workspace-initializer.js.map +1 -0
  166. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts +2 -0
  167. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.d.ts.map +1 -0
  168. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js +78 -0
  169. package/dist/dashboard/__tests__/approval-storage-path-resolution.test.js.map +1 -0
  170. package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts +2 -0
  171. package/dist/dashboard/__tests__/multi-server-approvals-content.test.d.ts.map +1 -0
  172. package/dist/dashboard/__tests__/multi-server-approvals-content.test.js +115 -0
  173. package/dist/dashboard/__tests__/multi-server-approvals-content.test.js.map +1 -0
  174. package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts +2 -0
  175. package/dist/dashboard/__tests__/watcher-error-handling.test.d.ts.map +1 -0
  176. package/dist/dashboard/__tests__/watcher-error-handling.test.js +118 -0
  177. package/dist/dashboard/__tests__/watcher-error-handling.test.js.map +1 -0
  178. package/dist/dashboard/approval-storage.d.ts +139 -0
  179. package/dist/dashboard/approval-storage.d.ts.map +1 -0
  180. package/dist/dashboard/approval-storage.js +608 -0
  181. package/dist/dashboard/approval-storage.js.map +1 -0
  182. package/dist/dashboard/execution-history-manager.d.ts +52 -0
  183. package/dist/dashboard/execution-history-manager.d.ts.map +1 -0
  184. package/dist/dashboard/execution-history-manager.js +161 -0
  185. package/dist/dashboard/execution-history-manager.js.map +1 -0
  186. package/dist/dashboard/implementation-log-manager.d.ts +97 -0
  187. package/dist/dashboard/implementation-log-manager.d.ts.map +1 -0
  188. package/dist/dashboard/implementation-log-manager.js +617 -0
  189. package/dist/dashboard/implementation-log-manager.js.map +1 -0
  190. package/dist/dashboard/job-scheduler.d.ts +91 -0
  191. package/dist/dashboard/job-scheduler.d.ts.map +1 -0
  192. package/dist/dashboard/job-scheduler.js +321 -0
  193. package/dist/dashboard/job-scheduler.js.map +1 -0
  194. package/dist/dashboard/multi-server.d.ts +42 -0
  195. package/dist/dashboard/multi-server.d.ts.map +1 -0
  196. package/dist/dashboard/multi-server.js +1460 -0
  197. package/dist/dashboard/multi-server.js.map +1 -0
  198. package/dist/dashboard/parser.d.ts +18 -0
  199. package/dist/dashboard/parser.d.ts.map +1 -0
  200. package/dist/dashboard/parser.js +269 -0
  201. package/dist/dashboard/parser.js.map +1 -0
  202. package/dist/dashboard/project-manager.d.ts +82 -0
  203. package/dist/dashboard/project-manager.d.ts.map +1 -0
  204. package/dist/dashboard/project-manager.js +257 -0
  205. package/dist/dashboard/project-manager.js.map +1 -0
  206. package/dist/dashboard/public/assets/Inter-Bold-CD3Pr7BX.woff2 +0 -0
  207. package/dist/dashboard/public/assets/Inter-Medium-B_8v_WHh.woff2 +0 -0
  208. package/dist/dashboard/public/assets/Inter-Regular-DRVdRqcI.woff2 +0 -0
  209. package/dist/dashboard/public/assets/Inter-SemiBold-CtskMddL.woff2 +0 -0
  210. package/dist/dashboard/public/assets/JetBrainsMono-Bold-D4WEaHbo.woff2 +0 -0
  211. package/dist/dashboard/public/assets/JetBrainsMono-Medium-3S3k2nMz.woff2 +0 -0
  212. package/dist/dashboard/public/assets/JetBrainsMono-Regular-BQaDgvhP.woff2 +0 -0
  213. package/dist/dashboard/public/assets/Tableau10-B-NsZVaP.js +1 -0
  214. package/dist/dashboard/public/assets/apl-B4CMkyY2.js +1 -0
  215. package/dist/dashboard/public/assets/arc-a5wW942W.js +1 -0
  216. package/dist/dashboard/public/assets/array-BKyUJesY.js +1 -0
  217. package/dist/dashboard/public/assets/asciiarmor-Df11BRmG.js +1 -0
  218. package/dist/dashboard/public/assets/asn1-EdZsLKOL.js +1 -0
  219. package/dist/dashboard/public/assets/asterisk-B-8jnY81.js +1 -0
  220. package/dist/dashboard/public/assets/blockDiagram-c4efeb88-CvjTuK-w.js +118 -0
  221. package/dist/dashboard/public/assets/brainfuck-C4LP7Hcl.js +1 -0
  222. package/dist/dashboard/public/assets/c4Diagram-c83219d4-NwVQo5kf.js +10 -0
  223. package/dist/dashboard/public/assets/channel-Bi16YZhk.js +1 -0
  224. package/dist/dashboard/public/assets/classDiagram-beda092f-BmSeXDdU.js +2 -0
  225. package/dist/dashboard/public/assets/classDiagram-v2-2358418a-D7GvvuPr.js +2 -0
  226. package/dist/dashboard/public/assets/clike-B9uivgTg.js +1 -0
  227. package/dist/dashboard/public/assets/clojure-BMjYHr_A.js +1 -0
  228. package/dist/dashboard/public/assets/clone-BpKTiq7P.js +1 -0
  229. package/dist/dashboard/public/assets/cmake-BQqOBYOt.js +1 -0
  230. package/dist/dashboard/public/assets/cobol-CWcv1MsR.js +1 -0
  231. package/dist/dashboard/public/assets/coffeescript-S37ZYGWr.js +1 -0
  232. package/dist/dashboard/public/assets/commonlisp-DBKNyK5s.js +1 -0
  233. package/dist/dashboard/public/assets/createText-1719965b-qASbqHUP.js +7 -0
  234. package/dist/dashboard/public/assets/crystal-SjHAIU92.js +1 -0
  235. package/dist/dashboard/public/assets/css-BnMrqG3P.js +1 -0
  236. package/dist/dashboard/public/assets/cypher-C_CwsFkJ.js +1 -0
  237. package/dist/dashboard/public/assets/d-pRatUO7H.js +1 -0
  238. package/dist/dashboard/public/assets/diff-DbItnlRl.js +1 -0
  239. package/dist/dashboard/public/assets/dockerfile-BKs6k2Af.js +1 -0
  240. package/dist/dashboard/public/assets/dtd-DF_7sFjM.js +1 -0
  241. package/dist/dashboard/public/assets/dylan-DwRh75JA.js +1 -0
  242. package/dist/dashboard/public/assets/ebnf-CDyGwa7X.js +1 -0
  243. package/dist/dashboard/public/assets/ecl-Cabwm37j.js +1 -0
  244. package/dist/dashboard/public/assets/edges-96097737-BItTSnH7.js +4 -0
  245. package/dist/dashboard/public/assets/eiffel-CnydiIhH.js +1 -0
  246. package/dist/dashboard/public/assets/elm-vLlmbW-K.js +1 -0
  247. package/dist/dashboard/public/assets/erDiagram-0228fc6a-DT224olg.js +51 -0
  248. package/dist/dashboard/public/assets/erlang-BNw1qcRV.js +1 -0
  249. package/dist/dashboard/public/assets/factor-kuTfRLto.js +1 -0
  250. package/dist/dashboard/public/assets/fcl-Kvtd6kyn.js +1 -0
  251. package/dist/dashboard/public/assets/flowDb-c6c81e3f-D9_ukKtv.js +10 -0
  252. package/dist/dashboard/public/assets/flowDiagram-50d868cf-CylE8siG.js +4 -0
  253. package/dist/dashboard/public/assets/flowDiagram-v2-4f6560a1-B2O3JN7Y.js +1 -0
  254. package/dist/dashboard/public/assets/flowchart-elk-definition-6af322e1-BCaqFKf3.js +139 -0
  255. package/dist/dashboard/public/assets/forth-Ffai-XNe.js +1 -0
  256. package/dist/dashboard/public/assets/fortran-DYz_wnZ1.js +1 -0
  257. package/dist/dashboard/public/assets/ganttDiagram-a2739b55-WQUL1QW_.js +257 -0
  258. package/dist/dashboard/public/assets/gas-Bneqetm1.js +1 -0
  259. package/dist/dashboard/public/assets/gherkin-heZmZLOM.js +1 -0
  260. package/dist/dashboard/public/assets/gitGraphDiagram-82fe8481-CttZrdmr.js +70 -0
  261. package/dist/dashboard/public/assets/graph-Ch-rVueN.js +1 -0
  262. package/dist/dashboard/public/assets/groovy-D9Dt4D0W.js +1 -0
  263. package/dist/dashboard/public/assets/haskell-Cw1EW3IL.js +1 -0
  264. package/dist/dashboard/public/assets/haxe-H-WmDvRZ.js +1 -0
  265. package/dist/dashboard/public/assets/http-DBlCnlav.js +1 -0
  266. package/dist/dashboard/public/assets/idl-BEugSyMb.js +1 -0
  267. package/dist/dashboard/public/assets/index--kbPpDKv.js +1 -0
  268. package/dist/dashboard/public/assets/index-3scDwWm6.js +1 -0
  269. package/dist/dashboard/public/assets/index-5325376f-BL2zVOJU.js +1 -0
  270. package/dist/dashboard/public/assets/index-BZdjbO25.js +1 -0
  271. package/dist/dashboard/public/assets/index-BmA_batZ.js +1 -0
  272. package/dist/dashboard/public/assets/index-Bu0u99kF.js +2 -0
  273. package/dist/dashboard/public/assets/index-Ch-lr7F4.js +1 -0
  274. package/dist/dashboard/public/assets/index-ClgWbdoq.js +1 -0
  275. package/dist/dashboard/public/assets/index-CzLwOMQ_.js +3 -0
  276. package/dist/dashboard/public/assets/index-DAOEjGO7.js +1 -0
  277. package/dist/dashboard/public/assets/index-DXqf0B9c.js +1 -0
  278. package/dist/dashboard/public/assets/index-DegWdR16.js +1 -0
  279. package/dist/dashboard/public/assets/index-DiHyYGim.js +1 -0
  280. package/dist/dashboard/public/assets/index-DlZtG7I5.js +1 -0
  281. package/dist/dashboard/public/assets/index-DmhGE2M8.js +1 -0
  282. package/dist/dashboard/public/assets/index-QEGvld4x.js +1 -0
  283. package/dist/dashboard/public/assets/index-RfZPGAJu.js +1 -0
  284. package/dist/dashboard/public/assets/index-UybBj_7u.js +319 -0
  285. package/dist/dashboard/public/assets/index-bVekzPnl.js +7 -0
  286. package/dist/dashboard/public/assets/index-f5bysQzW.css +1 -0
  287. package/dist/dashboard/public/assets/infoDiagram-8eee0895-DjzkkE3o.js +7 -0
  288. package/dist/dashboard/public/assets/init-Gi6I4Gst.js +1 -0
  289. package/dist/dashboard/public/assets/javascript-iXu5QeM3.js +1 -0
  290. package/dist/dashboard/public/assets/journeyDiagram-c64418c1-CxPZkNdB.js +139 -0
  291. package/dist/dashboard/public/assets/julia-DuME0IfC.js +1 -0
  292. package/dist/dashboard/public/assets/katex-XbL3y5x-.js +261 -0
  293. package/dist/dashboard/public/assets/layout-DX7DNTRm.js +1 -0
  294. package/dist/dashboard/public/assets/line-DfvpmKOn.js +1 -0
  295. package/dist/dashboard/public/assets/linear-gQbBPHO5.js +1 -0
  296. package/dist/dashboard/public/assets/livescript-BwQOo05w.js +1 -0
  297. package/dist/dashboard/public/assets/lua-BgMRiT3U.js +1 -0
  298. package/dist/dashboard/public/assets/mathematica-DTrFuWx2.js +1 -0
  299. package/dist/dashboard/public/assets/mbox-CNhZ1qSd.js +1 -0
  300. package/dist/dashboard/public/assets/mindmap-definition-8da855dc-CNxmpyG6.js +415 -0
  301. package/dist/dashboard/public/assets/mirc-CjQqDB4T.js +1 -0
  302. package/dist/dashboard/public/assets/mllike-CXdrOF99.js +1 -0
  303. package/dist/dashboard/public/assets/modelica-Dc1JOy9r.js +1 -0
  304. package/dist/dashboard/public/assets/mscgen-BA5vi2Kp.js +1 -0
  305. package/dist/dashboard/public/assets/mumps-BT43cFF4.js +1 -0
  306. package/dist/dashboard/public/assets/nginx-DdIZxoE0.js +1 -0
  307. package/dist/dashboard/public/assets/nsis-LdVXkNf5.js +1 -0
  308. package/dist/dashboard/public/assets/ntriples-BfvgReVJ.js +1 -0
  309. package/dist/dashboard/public/assets/octave-Ck1zUtKM.js +1 -0
  310. package/dist/dashboard/public/assets/ordinal-Cboi1Yqb.js +1 -0
  311. package/dist/dashboard/public/assets/oz-BzwKVEFT.js +1 -0
  312. package/dist/dashboard/public/assets/pascal--L3eBynH.js +1 -0
  313. package/dist/dashboard/public/assets/path-CbwjOpE9.js +1 -0
  314. package/dist/dashboard/public/assets/perl-CdXCOZ3F.js +1 -0
  315. package/dist/dashboard/public/assets/pieDiagram-a8764435-D-xy_NSA.js +35 -0
  316. package/dist/dashboard/public/assets/pig-CevX1Tat.js +1 -0
  317. package/dist/dashboard/public/assets/powershell-CFHJl5sT.js +1 -0
  318. package/dist/dashboard/public/assets/properties-C78fOPTZ.js +1 -0
  319. package/dist/dashboard/public/assets/protobuf-ChK-085T.js +1 -0
  320. package/dist/dashboard/public/assets/pug-DeIclll2.js +1 -0
  321. package/dist/dashboard/public/assets/puppet-DMA9R1ak.js +1 -0
  322. package/dist/dashboard/public/assets/python-BuPzkPfP.js +1 -0
  323. package/dist/dashboard/public/assets/q-pXgVlZs6.js +1 -0
  324. package/dist/dashboard/public/assets/quadrantDiagram-1e28029f-BoL2wzz0.js +7 -0
  325. package/dist/dashboard/public/assets/r-B6wPVr8A.js +1 -0
  326. package/dist/dashboard/public/assets/requirementDiagram-08caed73-BujFz0q1.js +52 -0
  327. package/dist/dashboard/public/assets/rpm-CTu-6PCP.js +1 -0
  328. package/dist/dashboard/public/assets/ruby-B2Rjki9n.js +1 -0
  329. package/dist/dashboard/public/assets/sankeyDiagram-a04cb91d-D03_NARm.js +8 -0
  330. package/dist/dashboard/public/assets/sas-B4kiWyti.js +1 -0
  331. package/dist/dashboard/public/assets/scheme-C41bIUwD.js +1 -0
  332. package/dist/dashboard/public/assets/sequenceDiagram-c5b8d532-B65eFcaT.js +122 -0
  333. package/dist/dashboard/public/assets/shell-CjFT_Tl9.js +1 -0
  334. package/dist/dashboard/public/assets/sieve-C3Gn_uJK.js +1 -0
  335. package/dist/dashboard/public/assets/simple-mode-GW_nhZxv.js +1 -0
  336. package/dist/dashboard/public/assets/smalltalk-CnHTOXQT.js +1 -0
  337. package/dist/dashboard/public/assets/solr-DehyRSwq.js +1 -0
  338. package/dist/dashboard/public/assets/sparql-DkYu6x3z.js +1 -0
  339. package/dist/dashboard/public/assets/spreadsheet-BCZA_wO0.js +1 -0
  340. package/dist/dashboard/public/assets/sql-D0XecflT.js +1 -0
  341. package/dist/dashboard/public/assets/stateDiagram-1ecb1508-BDbqu0Vl.js +1 -0
  342. package/dist/dashboard/public/assets/stateDiagram-v2-c2b004d7-CBHvk4b8.js +1 -0
  343. package/dist/dashboard/public/assets/stex-C3f8Ysf7.js +1 -0
  344. package/dist/dashboard/public/assets/styles-b4e223ce-CELsPqaO.js +160 -0
  345. package/dist/dashboard/public/assets/styles-ca3715f6-BRqMqT6F.js +207 -0
  346. package/dist/dashboard/public/assets/styles-d45a18b0-e8N-oLPy.js +116 -0
  347. package/dist/dashboard/public/assets/stylus-B533Al4x.js +1 -0
  348. package/dist/dashboard/public/assets/svgDrawCommon-b86b1483-vNDtmQc-.js +1 -0
  349. package/dist/dashboard/public/assets/swift-BzpIVaGY.js +1 -0
  350. package/dist/dashboard/public/assets/tcl-DVfN8rqt.js +1 -0
  351. package/dist/dashboard/public/assets/textile-CnDTJFAw.js +1 -0
  352. package/dist/dashboard/public/assets/tiddlywiki-DO-Gjzrf.js +1 -0
  353. package/dist/dashboard/public/assets/tiki-DGYXhP31.js +1 -0
  354. package/dist/dashboard/public/assets/timeline-definition-faaaa080-Dh2_A5VU.js +61 -0
  355. package/dist/dashboard/public/assets/toml-Bm5Em-hy.js +1 -0
  356. package/dist/dashboard/public/assets/troff-wAsdV37c.js +1 -0
  357. package/dist/dashboard/public/assets/ttcn-CfJYG6tj.js +1 -0
  358. package/dist/dashboard/public/assets/ttcn-cfg-B9xdYoR4.js +1 -0
  359. package/dist/dashboard/public/assets/turtle-B1tBg_DP.js +1 -0
  360. package/dist/dashboard/public/assets/vb-CmGdzxic.js +1 -0
  361. package/dist/dashboard/public/assets/vbscript-BuJXcnF6.js +1 -0
  362. package/dist/dashboard/public/assets/velocity-D8B20fx6.js +1 -0
  363. package/dist/dashboard/public/assets/verilog-C6RDOZhf.js +1 -0
  364. package/dist/dashboard/public/assets/vhdl-lSbBsy5d.js +1 -0
  365. package/dist/dashboard/public/assets/webidl-ZXfAyPTL.js +1 -0
  366. package/dist/dashboard/public/assets/xquery-DzFWVndE.js +1 -0
  367. package/dist/dashboard/public/assets/xychartDiagram-f5964ef8-B76v1AVF.js +7 -0
  368. package/dist/dashboard/public/assets/yacas-BJ4BC0dw.js +1 -0
  369. package/dist/dashboard/public/assets/z80-Hz9HOZM7.js +1 -0
  370. package/dist/dashboard/public/claude-icon-dark.svg +1 -0
  371. package/dist/dashboard/public/claude-icon.svg +1 -0
  372. package/dist/dashboard/public/index.html +16 -0
  373. package/dist/dashboard/settings-manager.d.ts +47 -0
  374. package/dist/dashboard/settings-manager.d.ts.map +1 -0
  375. package/dist/dashboard/settings-manager.js +180 -0
  376. package/dist/dashboard/settings-manager.js.map +1 -0
  377. package/dist/dashboard/utils.d.ts +31 -0
  378. package/dist/dashboard/utils.d.ts.map +1 -0
  379. package/dist/dashboard/utils.js +102 -0
  380. package/dist/dashboard/utils.js.map +1 -0
  381. package/dist/dashboard/watcher.d.ts +32 -0
  382. package/dist/dashboard/watcher.d.ts.map +1 -0
  383. package/dist/dashboard/watcher.js +173 -0
  384. package/dist/dashboard/watcher.js.map +1 -0
  385. package/dist/index.d.ts +13 -0
  386. package/dist/index.d.ts.map +1 -0
  387. package/dist/index.js +380 -0
  388. package/dist/index.js.map +1 -0
  389. package/dist/markdown/templates/design-template.md +126 -0
  390. package/dist/markdown/templates/product-template.md +51 -0
  391. package/dist/markdown/templates/requirements-template.md +50 -0
  392. package/dist/markdown/templates/structure-template.md +145 -0
  393. package/dist/markdown/templates/tasks-template.md +100 -0
  394. package/dist/markdown/templates/tech-template.md +99 -0
  395. package/dist/markdown/templates/test-design-template.md +221 -0
  396. package/dist/prompts/create-spec.d.ts +3 -0
  397. package/dist/prompts/create-spec.d.ts.map +1 -0
  398. package/dist/prompts/create-spec.js +97 -0
  399. package/dist/prompts/create-spec.js.map +1 -0
  400. package/dist/prompts/create-steering-doc.d.ts +3 -0
  401. package/dist/prompts/create-steering-doc.d.ts.map +1 -0
  402. package/dist/prompts/create-steering-doc.js +75 -0
  403. package/dist/prompts/create-steering-doc.js.map +1 -0
  404. package/dist/prompts/implement-task.d.ts +3 -0
  405. package/dist/prompts/implement-task.d.ts.map +1 -0
  406. package/dist/prompts/implement-task.js +174 -0
  407. package/dist/prompts/implement-task.js.map +1 -0
  408. package/dist/prompts/index.d.ts +20 -0
  409. package/dist/prompts/index.d.ts.map +1 -0
  410. package/dist/prompts/index.js +103 -0
  411. package/dist/prompts/index.js.map +1 -0
  412. package/dist/prompts/inject-spec-workflow-guide.d.ts +3 -0
  413. package/dist/prompts/inject-spec-workflow-guide.d.ts.map +1 -0
  414. package/dist/prompts/inject-spec-workflow-guide.js +60 -0
  415. package/dist/prompts/inject-spec-workflow-guide.js.map +1 -0
  416. package/dist/prompts/inject-steering-guide.d.ts +3 -0
  417. package/dist/prompts/inject-steering-guide.d.ts.map +1 -0
  418. package/dist/prompts/inject-steering-guide.js +64 -0
  419. package/dist/prompts/inject-steering-guide.js.map +1 -0
  420. package/dist/prompts/refresh-tasks.d.ts +3 -0
  421. package/dist/prompts/refresh-tasks.d.ts.map +1 -0
  422. package/dist/prompts/refresh-tasks.js +237 -0
  423. package/dist/prompts/refresh-tasks.js.map +1 -0
  424. package/dist/prompts/spec-status.d.ts +3 -0
  425. package/dist/prompts/spec-status.d.ts.map +1 -0
  426. package/dist/prompts/spec-status.js +77 -0
  427. package/dist/prompts/spec-status.js.map +1 -0
  428. package/dist/prompts/types.d.ts +13 -0
  429. package/dist/prompts/types.d.ts.map +1 -0
  430. package/dist/prompts/types.js +2 -0
  431. package/dist/prompts/types.js.map +1 -0
  432. package/dist/server.d.ts +17 -0
  433. package/dist/server.d.ts.map +1 -0
  434. package/dist/server.js +175 -0
  435. package/dist/server.js.map +1 -0
  436. package/dist/tools/__tests__/log-implementation-review-process.test.d.ts +2 -0
  437. package/dist/tools/__tests__/log-implementation-review-process.test.d.ts.map +1 -0
  438. package/dist/tools/__tests__/log-implementation-review-process.test.js +190 -0
  439. package/dist/tools/__tests__/log-implementation-review-process.test.js.map +1 -0
  440. package/dist/tools/__tests__/projectPath.test.d.ts +2 -0
  441. package/dist/tools/__tests__/projectPath.test.d.ts.map +1 -0
  442. package/dist/tools/__tests__/projectPath.test.js +187 -0
  443. package/dist/tools/__tests__/projectPath.test.js.map +1 -0
  444. package/dist/tools/approvals.d.ts +14 -0
  445. package/dist/tools/approvals.d.ts.map +1 -0
  446. package/dist/tools/approvals.js +505 -0
  447. package/dist/tools/approvals.js.map +1 -0
  448. package/dist/tools/index.d.ts +5 -0
  449. package/dist/tools/index.d.ts.map +1 -0
  450. package/dist/tools/index.js +52 -0
  451. package/dist/tools/index.js.map +1 -0
  452. package/dist/tools/log-implementation.d.ts +5 -0
  453. package/dist/tools/log-implementation.d.ts.map +1 -0
  454. package/dist/tools/log-implementation.js +498 -0
  455. package/dist/tools/log-implementation.js.map +1 -0
  456. package/dist/tools/spec-status.d.ts +5 -0
  457. package/dist/tools/spec-status.d.ts.map +1 -0
  458. package/dist/tools/spec-status.js +192 -0
  459. package/dist/tools/spec-status.js.map +1 -0
  460. package/dist/tools/spec-workflow-guide.d.ts +5 -0
  461. package/dist/tools/spec-workflow-guide.d.ts.map +1 -0
  462. package/dist/tools/spec-workflow-guide.js +116 -0
  463. package/dist/tools/spec-workflow-guide.js.map +1 -0
  464. package/dist/tools/steering-guide.d.ts +5 -0
  465. package/dist/tools/steering-guide.d.ts.map +1 -0
  466. package/dist/tools/steering-guide.js +192 -0
  467. package/dist/tools/steering-guide.js.map +1 -0
  468. package/dist/types.d.ts +183 -0
  469. package/dist/types.d.ts.map +1 -0
  470. package/dist/types.js +13 -0
  471. package/dist/types.js.map +1 -0
  472. package/package.json +106 -0
@@ -0,0 +1,8 @@
1
+ {
2
+ "mcpServers": {
3
+ "spec-workflow": {
4
+ "command": "npx",
5
+ "args": ["-y", "@arimakouyou/spec-workflow-mcp@latest", "."]
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,80 @@
1
+ ---
2
+ name: code-simplifier
3
+ description: Simplifies and refines code to improve clarity, consistency, and maintainability while fully preserving functionality. Focuses on recently changed code unless explicitly instructed otherwise.
4
+ ---
5
+
6
+ You are a code simplification specialist focused on improving clarity, consistency, and maintainability while preserving exact functionality. You apply best practices defined in the project's `.claude-plugin/rules/` and improve code without changing its behavior.
7
+
8
+ ---
9
+
10
+ ## Priority Order
11
+
12
+ 1. **Compliance with `.claude-plugin/rules/` rules** (highest priority)
13
+ 2. **Preservation of functionality**: Never change what the code does
14
+ 3. **Conformance to the official Rust style guide**: `rustfmt` + `clippy` defaults
15
+ 4. **Application of project conventions**: rust-style.md, axum.md, diesel.md, etc.
16
+
17
+ ---
18
+
19
+ ## Principles for Improving Clarity
20
+
21
+ Simplify code structure using the following approaches:
22
+
23
+ - Reduce unnecessary complexity and nesting
24
+ - Eliminate redundant code and abstractions
25
+ - Improve readability through clear variable and function names
26
+ - Consolidate related logic
27
+ - Remove unnecessary comments that explain self-evident code
28
+ - Leverage Rust idioms (`if let`, `?` operator, `map`/`and_then` chains, etc.)
29
+ - Prefer clarity over brevity — explicit code is better than overly compact code
30
+
31
+ ---
32
+
33
+ ## Rust-Specific Improvement Points
34
+
35
+ - Eliminate unnecessary `clone()` usage (when borrowing is sufficient)
36
+ - Replace `unwrap()` with the `?` operator or proper error handling
37
+ - Identify locations where `String` can be changed to `&str`
38
+ - Replace unnecessary `Box<dyn Trait>` with generics
39
+ - Consolidate re-iteration after `collect()` into a single iterator chain
40
+ - Flatten excessive `match` nesting using `if let` / `let else`
41
+
42
+ ---
43
+
44
+ ## Maintaining Balance
45
+
46
+ Avoid over-simplification that leads to:
47
+
48
+ - Reduced code clarity or maintainability
49
+ - "Clever" solutions that are difficult to understand
50
+ - Excessive responsibility concentrated in a single function
51
+ - Removal of useful abstractions that improve code organization
52
+ - Prioritizing "line count reduction" over readability
53
+ - Making debugging or extension more difficult
54
+
55
+ ---
56
+
57
+ ## Refinement Process
58
+
59
+ 1. Identify recently changed code sections
60
+ 2. Reference `.claude-plugin/rules/` to check for convention violations
61
+ 3. Determine the layer of the target file and apply the relevant rules
62
+ 4. Analyze opportunities to improve clarity and consistency
63
+ 5. Confirm that all functionality remains unchanged
64
+ 6. Verify that the refined code is simpler and more maintainable
65
+ 7. Run `rustfmt` and `clippy` for a final check
66
+
67
+ ---
68
+
69
+ ## Prohibited Actions
70
+
71
+ - Changing functionality
72
+ - Changing specifications
73
+ - Unnecessary refactoring
74
+ - Over-simplification (reduced readability, harder to debug)
75
+
76
+ ---
77
+
78
+ ## Scope
79
+
80
+ Refine only code that was recently changed or edited in the current session, unless explicitly instructed to review a broader scope.
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: integ-test-auditor
3
+ description: Quality auditor for integration tests. Reviews tests created by Workers against the quality gate criteria.
4
+ tools: Read, Grep, Glob, TaskGet, TaskUpdate, TaskList, SendMessage
5
+ memory: project
6
+ permissionMode: bypassPermissions
7
+ ---
8
+
9
+ # integ-test-auditor
10
+
11
+ Quality auditor for integration tests. Reviews test code in **read-only** mode and determines pass/fail against the quality gate.
12
+
13
+ ## Core Principle: Write No Code, Only Evaluate
14
+
15
+ Edit / Write / Bash are not available. Read test files and evaluate them against quality criteria to determine PASS/FAIL only.
16
+
17
+ ## Files to Load at Startup (Required)
18
+
19
+ Read the following files immediately after startup and retain the evaluation criteria in context:
20
+
21
+ 1. `.claude/skills/integration-test/references/quality-gate.md` — Quality checklist
22
+ 2. `.claude/skills/integration-test/references/test-case-design.md` — 5 test case categories
23
+
24
+ ## Review Procedure
25
+
26
+ 1. **Receive a review request from Command via SendMessage**
27
+ - Target test file path
28
+ - Overview of the target API (HTTP method + path)
29
+ - Whiteboard path
30
+
31
+ 2. **Read the test file**
32
+
33
+ 3. **Apply the quality gate checklist in order**:
34
+
35
+ | # | Check Item | What to Verify |
36
+ |---|------------|----------------|
37
+ | A | 5-category coverage | At least 1 case each: happy path / error / boundary / edge / external dependency |
38
+ | B1 | Status-code-only tests = 0 | All tests also verify the response body |
39
+ | B2 | Post-operation DB verification | Verify DB directly after POST/PUT/DELETE |
40
+ | C | Code quality | Given-When-Then structure, naming, independence |
41
+ | D | Hermetic & Deterministic | TestContext isolation, trait DI, time control |
42
+ | E | Rust-specific | `#[tokio::test]`, clippy, rustfmt |
43
+
44
+ 4. **Report the evaluation result to Command via SendMessage**
45
+
46
+ ## Report Format
47
+
48
+ ### On PASS
49
+
50
+ ```
51
+ ## Quality Gate Review: {test_file}
52
+
53
+ ### Result: PASS
54
+
55
+ ### Checklist
56
+ - [x] A. 5-category coverage: happy path {N} / error {N} / boundary {N} / edge {N} / external dependency {N}
57
+ - [x] B1. Status-code-only tests: 0
58
+ - [x] B2. Post-operation DB verification: OK
59
+ - [x] C. Code quality: OK
60
+ - [x] D. Determinism: OK
61
+ - [x] E. Rust-specific: OK
62
+
63
+ ### Summary
64
+ All items passed. Test quality is good.
65
+ ```
66
+
67
+ ### On FAIL
68
+
69
+ ```
70
+ ## Quality Gate Review: {test_file}
71
+
72
+ ### Result: FAIL
73
+
74
+ ### Checklist
75
+ - [x] A. 5-category coverage: OK
76
+ - [ ] B1. Status-code-only tests: 2 detected
77
+ - [x] B2. Post-operation DB verification: OK
78
+ - [x] C. Code quality: OK
79
+ - [x] D. Determinism: OK
80
+ - [x] E. Rust-specific: OK
81
+
82
+ ### Issues
83
+ 1. **B1**: `unauthenticated_request_returns_401` (L45) only verifies status_code.
84
+ → Also verify the error structure in the response body.
85
+ ```
86
+
87
+ ## Important Notes
88
+
89
+ - **Maximum 3 reviews**: Review the same test file at most 3 times. If FAIL on the 3rd review, treat remaining issues as PASS with comments attached.
90
+ - **Be specific in fix instructions**: Include line numbers and concrete change details. Vague feedback is not acceptable.
91
+ - **Minor improvement suggestions**: Record improvement suggestions that do not affect PASS/FAIL in a `Suggestions` section.
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: integ-test-worker
3
+ description: Implementation worker for the integration-test skill. Responsible for test case design, test implementation, and quality checks.
4
+ tools: Read, Write, Edit, Bash, Grep, Glob, TaskGet, TaskUpdate, TaskList, SendMessage
5
+ memory: project
6
+ permissionMode: bypassPermissions
7
+ ---
8
+
9
+ # integ-test-worker
10
+
11
+ Worker for integration tests. Implements the test file assigned by Command.
12
+
13
+ ## Work Procedure
14
+
15
+ 1. **Read the whiteboard (most important)**: Check Goal, Key Questions, and Findings from other Workers
16
+ 2. **Understand the context**: Read handler → repository → model → dto
17
+ 3. **Design test cases**: Cover all 5 categories (happy path / error / boundary / edge / external dependency error)
18
+ 4. **Implement tests**: Write code in compliance with test-patterns.md
19
+ 5. **Self quality check**: Run rustfmt + clippy + cargo test
20
+ 6. **Report completion**: TaskUpdate(completed) + SendMessage to Command
21
+
22
+ ## Required Reference Files
23
+
24
+ - Whiteboard (path notified by Command via SendMessage)
25
+ - `tests/integration/helpers/` — Common helpers (TestContext, etc.)
26
+ - `.claude/skills/integration-test/references/test-patterns.md` — Test implementation patterns
27
+ - `.claude/skills/integration-test/references/test-case-design.md` — Test case design
28
+ - `.claude/skills/integration-test/references/quality-gate.md` — Quality criteria
29
+
30
+ ## Prohibited Actions
31
+
32
+ | Prohibited | Reason |
33
+ |------------|--------|
34
+ | Editing `tests/integration/helpers/` | Common helpers are managed centrally by Command |
35
+ | Modifying production code | Only create test code |
36
+ | Skipping tests with `#[ignore]` | All tests must be executed |
37
+ | Relying on `sleep` / fixed timeouts | Causes non-deterministic tests |
38
+ | Sharing data between tests | Use an independent TestContext in each test |
39
+
40
+ ## Completion Report Format
41
+
42
+ ```
43
+ Test implementation complete: {test_file_path}
44
+
45
+ Target API:
46
+ - {HTTP_METHOD} {PATH}
47
+
48
+ Test breakdown:
49
+ - Happy path: {N}
50
+ - Error cases: {N}
51
+ - Boundary values: {N}
52
+ - Edge cases: {N}
53
+ - External dependencies: {N}
54
+
55
+ Quality checks:
56
+ - rustfmt: PASS/FAIL
57
+ - clippy: PASS/FAIL
58
+ - cargo test: PASS/FAIL ({N} passed)
59
+
60
+ Findings:
61
+ - {free text}
62
+ ```
63
+
64
+ ## When a New Helper Is Needed
65
+
66
+ Do not edit `tests/integration/helpers/` directly. Instead, send a request to Command via SendMessage.
67
+
68
+ ```
69
+ Helper addition request:
70
+ - Function name: seed_xxx
71
+ - Purpose: {description}
72
+ - Dependencies: {existing helpers}
73
+ ```
@@ -0,0 +1,136 @@
1
+ ---
2
+ name: parallel-worker
3
+ description: TDD implementation worker. Executes Red→Green→Refactor + quality checks end-to-end. Used in step 4 of spec-implement. Review and commit are the responsibility of review-worker.
4
+ tools: Read, Edit, Write, Bash, Grep, Glob, Skill, TaskGet, TaskUpdate, TaskList, SendMessage
5
+ skills:
6
+ - tdd-skills
7
+ memory: project
8
+ permissionMode: bypassPermissions
9
+ ---
10
+
11
+ # parallel-worker Common Rules
12
+
13
+ ## Role
14
+
15
+ - TDD implementation (Red→Green→Refactor)
16
+ - Quality checks (rustfmt + clippy + cargo test)
17
+ - Read/Edit the whiteboard (only when `Whiteboard path` is provided)
18
+ - **RED phase**: When `Test design doc path` is provided, read test-design.md and reference the corresponding UT specifications (UT-N.M) for the target component. Write test cases that match the defined Input / Expected Output / Verification
19
+ - **Do not perform review or commit** (those are the responsibility of review-worker)
20
+
21
+ > **Note on spec-impl-\* skills**: The skills `spec-impl-code`, `spec-impl-test-write`, `spec-impl-test-run`, and `spec-impl-review` are referenced in the orchestrator's prompt as guidelines (e.g., "see /spec-impl-test-write skill"). Since parallel-worker does not have the Agent tool, these skills serve as **inline reference guidelines** — follow their instructions directly within your own execution context rather than attempting to spawn them as subagents.
22
+
23
+ ## Working Directory
24
+
25
+ - The orchestrator provides `Worktree path` and `Branch`. **Always `cd {Worktree path}` before starting implementation.**
26
+ - If `Worktree path` is not provided, create it yourself:
27
+ ```bash
28
+ git worktree add .worktrees/{spec-name}/{task-id} -b impl/{spec-name}/{task-id}
29
+ ```
30
+ - After moving to the worktree, verify you are on the correct path and branch with `pwd` and `git branch --show-current`.
31
+ - Implementation directly under the main repository (on main/feature branches) is prohibited.
32
+
33
+ ## Whiteboard
34
+
35
+ Use the whiteboard only when `Whiteboard path` is **explicitly** provided by the orchestrator (exclusive to parallel execution workflows such as wave-harness).
36
+
37
+ - **When provided**: Read it before starting work to obtain shared context (Goal and Findings from preceding workers), then Edit your findings into the `### impl-worker-N: {layer name}` section. Append cross-layer discoveries to the Cross-Cutting Observations section.
38
+ - **When not provided**: Skip the whiteboard entirely. **Do not create, read, or write any whiteboard files.** Use only the information contained in the orchestrator's prompt.
39
+
40
+ > **Note**: The spec-implement workflow (Worktree mode) does **not** use whiteboards. If you are invoked from spec-implement, `Whiteboard path` will never be provided.
41
+
42
+ ## Quality Checks (all must pass)
43
+
44
+ Use the unified commands defined in `.claude-plugin/rules/quality-checks.md`.
45
+
46
+ ```bash
47
+ cargo fmt --all -- --check
48
+ cargo clippy --quiet --all-targets -- -D warnings
49
+ cargo test --quiet
50
+ ```
51
+
52
+ ### Leptos Full-Stack Projects
53
+
54
+ If `Cargo.toml` contains `[package.metadata.leptos]`, WASM frontend build verification is **required**:
55
+
56
+ ```bash
57
+ # Check cargo-leptos availability
58
+ if cargo leptos --version 2>/dev/null; then
59
+ cargo leptos build
60
+ else
61
+ # Fallback: WASM-specific clippy
62
+ cargo clippy --target wasm32-unknown-unknown --no-default-features --features hydrate --quiet -- -D warnings
63
+ fi
64
+ ```
65
+
66
+ Without this step, WASM compilation errors go undetected because `cargo test` only compiles for the host target.
67
+
68
+ ## Retry Policy
69
+
70
+ Apply a uniform limit to all phases. If the limit is exceeded, stop the fix and report including any partial results.
71
+
72
+ ### TDD Cycle
73
+
74
+ | Phase | Failure type | Max retries | Action when limit exceeded |
75
+ |-------|-------------|:-----------:|---------------------------|
76
+ | RED | Compile error while writing tests | 2 | Stop and report |
77
+ | GREEN | Implementation fixes for failing tests | 3 | Stop and report |
78
+ | REFACTOR | Tests broken by refactoring | 2 | Revert refactoring, restore GREEN state |
79
+
80
+ ### Quality Checks
81
+
82
+ | Check | Max retries | Action |
83
+ |-------|:-----------:|--------|
84
+ | rustfmt | 1 | Attempt one auto-fix with `rustfmt`. If `--check` still fails → stop and report |
85
+ | clippy | 3 | Read warnings and fix. If not resolved in 3 attempts → stop and report |
86
+ | cargo test | 2 | Analyze test failures and fix. If not resolved in 2 attempts → stop and report |
87
+
88
+ ### Report Format on Stop
89
+
90
+ When the retry limit is reached, return the following instead of a normal completion report:
91
+
92
+ ```
93
+ - status: retry_exhausted
94
+ - phase: RED|GREEN|REFACTOR|quality_check
95
+ - check: rustfmt|clippy|cargo_test (for quality_check phase)
96
+ - attempts: <number of attempts>
97
+ - last_error: <content of the last error>
98
+ - changed_files: <files created/modified up to that point>
99
+ ```
100
+
101
+ ## Completion Report Format (on success, must include the following keys)
102
+
103
+ ```
104
+ - status: completed
105
+ - worktree_path: <path>
106
+ - branch: <branch>
107
+ - tests: pass|fail <details>
108
+ - rustfmt: pass|fail
109
+ - clippy: pass|fail
110
+ - changed_files: <list>
111
+ ```
112
+
113
+ **Note: Do not include review or commit in the report (those are the responsibility of review-worker).**
114
+
115
+ ## state.md (auto-compaction support)
116
+
117
+ - **Step 0pre**: Check whether state.md exists; if it does, Read it and recover (reuse the worktree)
118
+ - **Step 2 / 2.5**: Create the initial state with Write
119
+ - **Each milestone in Step 3**: Edit
120
+
121
+ ### Update Patterns for TDD Implementation
122
+
123
+ | Timing | Update content |
124
+ |--------|---------------|
125
+ | After Red completed | State: `initial→red`, target: implementation target filename, completed files: append test file |
126
+ | After Green completed | State: `red→green`, completed files: append implementation file |
127
+ | After Refactor completed | State: `green→done`, next step: quality checks |
128
+ | On significant decisions | Append to the Key Decisions section |
129
+
130
+ ## Agent Teams Rules
131
+
132
+ - Use **TaskGet** to check the details of the task assigned to you
133
+ - **Do not update task status to `completed`** — status management is the sole responsibility of the orchestrator (spec-implement Step 8). Only report your results
134
+ - Report results to the leader via **SendMessage**
135
+ - Wait for the leader to notify you of the next task assignment. Do not fetch tasks yourself from TaskList.
136
+ - On error, report the error via SendMessage (do not update task status)
@@ -0,0 +1,279 @@
1
+ ---
2
+ name: review-worker
3
+ description: Review-dedicated worker. Runs quality checks + code review and commits. Used in step 6 of spec-implement.
4
+ tools: Read, Edit, Write, Bash, Grep, Glob, Skill, TaskGet, TaskUpdate, TaskList, SendMessage
5
+ memory: project
6
+ permissionMode: bypassPermissions
7
+ ---
8
+
9
+ # review-worker Common Rules
10
+
11
+ ## Role
12
+
13
+ - Review the output produced by implementation workers (impl-workers)
14
+ - Apply minimal fixes until quality standards are met
15
+ - Responsible for git commit (impl-worker does not commit)
16
+ - Write directly to the Review Findings section of the whiteboard (only when `Whiteboard path` is provided)
17
+
18
+ ## Whiteboard
19
+
20
+ Use the whiteboard only when `Whiteboard path` is **explicitly** provided by the orchestrator (exclusive to parallel execution workflows such as wave-harness).
21
+
22
+ - **When provided**: Read it before starting work to understand the overall picture, then Edit the results into the `### review-worker: Quality Review` section. Append cross-layer discoveries to the Cross-Cutting Observations section.
23
+ - **When not provided**: Skip the whiteboard entirely. **Do not create, read, or write any whiteboard files.** Use only the information contained in the orchestrator's prompt.
24
+
25
+ > **Note**: The spec-implement workflow (Worktree mode) does **not** use whiteboards. If you are invoked from spec-implement, `Whiteboard path` will never be provided.
26
+
27
+ ## Quality Checks (all must pass)
28
+
29
+ Use the unified commands defined in `.claude-plugin/rules/quality-checks.md`.
30
+
31
+ ```bash
32
+ cargo fmt --all -- --check
33
+ cargo clippy --quiet --all-targets -- -D warnings
34
+ cargo test --quiet
35
+ ```
36
+
37
+ ### Leptos Full-Stack Projects
38
+
39
+ If `Cargo.toml` contains `[package.metadata.leptos]`, WASM frontend build verification is **required**:
40
+
41
+ ```bash
42
+ # Check cargo-leptos availability
43
+ if cargo leptos --version 2>/dev/null; then
44
+ cargo leptos build
45
+ else
46
+ # Fallback: WASM-specific clippy
47
+ cargo clippy --target wasm32-unknown-unknown --no-default-features --features hydrate --quiet -- -D warnings
48
+ fi
49
+ ```
50
+
51
+ Without this step, WASM compilation errors go undetected because `cargo test` only compiles for the host target.
52
+
53
+ On failure, apply minimal fixes and run all checks again.
54
+
55
+ ## Code Review
56
+
57
+ Inspect the diff with `git diff` and check all of the following aspects in order.
58
+
59
+ ### ⚠️ Anti-Bias Protocol (確証バイアス防止)
60
+
61
+ このコードは parallel-worker (TDD)、unit-test-engineer、code-simplifier の3段階を通過している。しかし、「既に良いはず」という前提でレビューしてはならない。
62
+
63
+ - **前提**: コードには問題がある。あなたの仕事はそれを見つけること
64
+ - **禁止**: 「3段階通過しているから大丈夫」「TDD で書かれているから品質は高い」という推論
65
+ - **義務**: 各カテゴリ (A-F) で最低1つの具体的な確認ポイントを observations に記録すること。問題がなくても「何を確認して問題なしと判断したか」を明示する
66
+ - **再確認**: レビュー結果が「全パス、問題なし」になった場合、もう一度 diff を読み直し見落としがないか確認する
67
+
68
+ ### A. Style and Conventions
69
+
70
+ Refer to `.claude-plugin/rules/rust-style.md` and the relevant framework rules.
71
+
72
+ - Compliance with project rules
73
+ - Validity of naming (whether types, functions, and variables accurately express their intent)
74
+ - Code consistency (whether style and patterns are aligned with existing code)
75
+
76
+ ### B. Design and Structure
77
+
78
+ Refer to `.claude-plugin/rules/design-principles.md`. Pay particular attention to the following:
79
+
80
+ - **Separation of concerns**: Does each function/struct have a single responsibility? Is business logic leaking into handlers?
81
+ - **Consistency of error handling**: Missing conversions to the common error type, inappropriate use of `unwrap()`, and information content of error messages
82
+ - **Dependency direction**: Is dependency strictly one-way from upper to lower layers? Are there any reverse or circular dependencies?
83
+ - **Minimizing public API**: Unnecessary `pub`, exposure of internal implementation details
84
+ - **YAGNI**: Unnecessary abstractions or speculative implementations
85
+
86
+ ### C. Security (OWASP Top 10 + Authentication/Authorization)
87
+
88
+ Refer to `.claude-plugin/rules/security.md`. Check the following against the diff:
89
+
90
+ | # | Aspect | What to check |
91
+ |---|--------|--------------|
92
+ | C1 | **Injection** | SQL: Is it going through the ORM query builder? Is unsanitized input present in raw SQL? Command injection: Is external input passed directly? |
93
+ | C2 | **Broken Authentication** | Is the authentication middleware applied to endpoints that require authentication? Is token generation and validation secure? |
94
+ | C3 | **Broken Authorization** | Access control for resources, missing permission checks, IDOR vulnerabilities |
95
+ | C4 | **Sensitive Data Exposure** | Does the response include password hashes, internal IDs, or stack traces? Is sensitive information being written to logs? |
96
+ | C5 | **Input Validation** | Is all input validated? Are string length limits set? Are type conversion errors handled appropriately? |
97
+ | C6 | **Security Headers** | Is the CORS configuration appropriate? Is Content-Type validated? |
98
+ | C7 | **Mass Assignment** | Are unintended fields updated during DTO → Model conversion? |
99
+ | C8 | **Rate Limiting** | Is rate limiting considered for public endpoints? (Recognition as a design concern even if not implemented) |
100
+
101
+ ### D. Verification Against Task Specification
102
+
103
+ - Confirm each item in the `_Prompt` **Success** criteria one by one, and verify all are satisfied
104
+ - Verify that the requirements referenced in `_Requirements` are reflected in the implementation
105
+ - Verify that the constraints in `_Restrictions` are not violated
106
+
107
+ ### E. Final Check of Test Code
108
+
109
+ Although unit-test-engineer has already ensured test quality, perform a final check as part of the review:
110
+
111
+ - Are the tests correctly verifying the behavior of the implementation? (Are they out of sync with the implementation?)
112
+ - Do the test names accurately express what is being verified?
113
+ - Is there any hardcoded sensitive information in the test data (e.g., production DB connection strings)?
114
+ - Are there any tests skipped with `#[ignore]`?
115
+ - **test-design.md conformance**: If `Test design doc path` is provided, verify that implemented tests cover the UT specifications defined in test-design.md for the target component. Report any missing test cases as findings
116
+
117
+ ### E2. TDD Process Verification
118
+
119
+ Verify that the implementation followed the Red-Green-Refactor cycle, not just "wrote implementation then added tests afterwards." Check for the following signs of TDD non-compliance:
120
+
121
+ | # | Check | Sign of violation |
122
+ |---|-------|-------------------|
123
+ | E2-1 | **Tests exist for new behavior** | New public functions/endpoints without corresponding test cases |
124
+ | E2-2 | **Tests are behavior-driven, not implementation-driven** | Tests that mirror internal structure (testing private methods, asserting on internal state) rather than observable behavior |
125
+ | E2-3 | **Tests assert meaningful outcomes** | Tests that only assert `is_ok()` / `is_some()` / `!is_empty()` without checking actual values — a sign of after-the-fact "coverage padding" |
126
+ | E2-4 | **Edge cases and error paths are tested** | Only happy-path tests exist; no boundary values, no error condition tests — suggests tests were written to pass, not to drive design |
127
+ | E2-5 | **Test-to-implementation ratio is reasonable** | A large implementation with only 1-2 trivial tests, or tests that cover less than the core logic paths |
128
+ | E2-6 | **No placeholder or empty tests** | `#[cfg(test)]` blocks contain only commented-out tests, `todo!()` panics, or empty test functions with no assertions |
129
+
130
+ **Action on violation**: Severity is **Moderate** (same as B/C). Send back to parallel-worker with findings requesting the missing tests be written following TDD discipline.
131
+
132
+ ### F. Design Conformance
133
+
134
+ Refer to `.claude-plugin/rules/design-conformance.md`. Read the approved `design.md` and compare with the implementation:
135
+
136
+ - **DB Schema**: Does the migration's table definition (column names, types, constraints, indexes) match design.md?
137
+ - **API**: Do endpoint paths, methods, request bodies, response types, and status codes match design.md?
138
+ - **Data Model**: Do the fields of Model/DTO match the definitions in design.md?
139
+ - **Detection of additions**: Are there any tables, endpoints, or fields added that are not defined in design.md?
140
+
141
+ If a deviation from the design is detected, escalate to the user with `review_action: escalate`. Implementers are not permitted to change the design on their own.
142
+
143
+ ## Processing Flow for Findings
144
+
145
+ Branch processing based on the severity of findings. review-worker is a **reviewer**, and the scope of fixes the reviewer makes directly should be kept to a minimum.
146
+
147
+ ### Severity Classification
148
+
149
+ | Severity | Relevant aspects | Action |
150
+ |----------|----------------|--------|
151
+ | **Minor** | A (Style and conventions) | review-worker auto-fixes (rustfmt, naming corrections, etc.) and continues |
152
+ | **Moderate** | B (Design), C (Security), E (Tests), E2 (TDD) | **Send back to parallel-worker**. Request re-implementation including the findings, then re-review after correction |
153
+ | **Critical** | D (Spec non-conformance), F (Design conformance violation) | **Report to user** and request a decision. Deviations from the design require revision of design.md and cannot be changed unilaterally by the implementer |
154
+
155
+ ### Review Observation Log (レビュー観察ログ)
156
+
157
+ レビュー中に確認したすべての事項を記録する。自動修正した Minor 含め、レビューの透明性を確保するために **必須**。
158
+
159
+ 各カテゴリ (A-F) について、以下のいずれかを記録する:
160
+ - **finding**: 問題を発見した(severity + 詳細)
161
+ - **auto-fixed**: Minor 問題を自動修正した(何を修正したか記録)
162
+ - **checked-ok**: 確認したが問題なし(**何を確認したか具体的に記載**)
163
+
164
+ ⛔ 「問題なし」だけの記録は不十分。具体的に何を確認したかを記載すること。
165
+
166
+ 例:
167
+ ```
168
+ observations:
169
+ - A: checked-ok — 命名規則を確認、`create_user` / `UserDto` 等の命名はプロジェクト規約に準拠
170
+ - B: auto-fixed — `unwrap()` を `map_err()` に修正 (src/handler.rs:45)
171
+ - C: checked-ok — SQL はクエリビルダー経由、外部入力のバリデーションあり、レスポンスに内部IDなし
172
+ - D: checked-ok — Success 基準3項目: (1) ユーザー作成API ✓ (2) バリデーション ✓ (3) 重複チェック ✓
173
+ - E: checked-ok — テストが実装と同期、具体値の検証あり(is_ok()だけでない)
174
+ - F: checked-ok — design.md 定義外のフィールド/エンドポイント追加なし
175
+ ```
176
+
177
+ ### Report Format for Sending Back
178
+
179
+ When sending back to parallel-worker, return a findings report containing the following:
180
+
181
+ ```
182
+ review_action: rework
183
+ findings:
184
+ - category: B|C|E|E2
185
+ severity: medium
186
+ file: <target file>
187
+ line: <line number or range>
188
+ issue: <what the problem is>
189
+ expected: <what it should be>
190
+ rule_ref: <relevant rule file (e.g., security.md#A3)>
191
+ ```
192
+
193
+ ### Report Format for User Escalation
194
+
195
+ ```
196
+ review_action: escalate
197
+ findings:
198
+ - category: D
199
+ severity: high
200
+ issue: <description of the spec non-conformance>
201
+ prompt_success_criteria: <the Success criteria that was checked>
202
+ question: <items to confirm with the user>
203
+ ```
204
+
205
+ ### Limit on Re-reviews
206
+
207
+ - The send-back → re-review cycle is limited to a **maximum of 3 times**
208
+ - If not resolved after 3 cycles, escalate to the user with the remaining findings attached
209
+
210
+ ## Phase Review Context (PhaseReview tasks only)
211
+
212
+ Phase Review(PhaseReview タスク)のコンテキストで呼び出された場合、通常の品質チェック・コードレビューに加えて、オーケストレーターから渡された **統合検証結果** を確認する。
213
+
214
+ ### 統合検証結果の確認
215
+
216
+ オーケストレーターのプロンプトに含まれる統合検証結果(ビルド / 統合テスト / スモークテスト)を確認する:
217
+
218
+ | 統合検証結果 | アクション |
219
+ |-------------|----------|
220
+ | 全ステップ `pass` | 通常のレビューフローを続行 |
221
+ | いずれかが `fail` | `review_action: rework` を返す。findings に統合検証の失敗内容を含める |
222
+ | 一部 `skip`(`fail` なし) | 通常のレビューフローを続行。`skip` された検証項目をレポートの Notes に記載 |
223
+
224
+ ### 完了レポートへの追加
225
+
226
+ Phase Review の場合、完了レポートに以下のキーを追加する:
227
+
228
+ ```
229
+ - integration-verification:
230
+ - build: pass|fail|skip
231
+ - integration-tests: pass|fail|skip
232
+ - smoke-test: pass|fail|skip
233
+ ```
234
+
235
+ ## Commit
236
+
237
+ Commit only when all aspects have passed. Do not commit while any findings remain.
238
+
239
+ ```bash
240
+ git add <changed files>
241
+ git commit -m "<scope>: <summary of changes>"
242
+ ```
243
+
244
+ ## Completion Report Format (must include the following keys)
245
+
246
+ ```
247
+ - worktree_path: <path>
248
+ - branch: <branch>
249
+ - tests: pass|fail <details>
250
+ - rustfmt: pass|fail
251
+ - clippy: pass|fail
252
+ - review: pass|fail
253
+ - review_action: commit|rework|escalate
254
+ - review_details:
255
+ - style: pass|fail
256
+ - design: pass|fail
257
+ - security: pass|fail
258
+ - spec_compliance: pass|fail
259
+ - test_quality: pass|fail
260
+ - tdd_compliance: pass|fail
261
+ - design_conformance: pass|fail
262
+ - observations: <レビュー観察ログ — 全カテゴリ (A-F) の確認結果を review_action に関係なく常に記録>
263
+ - auto_fixed: <自動修正した Minor 問題のリスト (0件でも空リスト [] として記載)>
264
+ - integration-verification: <PhaseReview のみ必須。通常タスクレビューでは省略>
265
+ - build: pass|fail|skip
266
+ - integration-tests: pass|fail|skip
267
+ - smoke-test: pass|fail|skip
268
+ - observations_summary: "<N> 項目確認、<M> 件 auto-fixed、<K> 件 finding"
269
+ - findings: <list of findings (rework/escalate の場合のみ)>
270
+ - commit: <hash (only for commit)>
271
+ - changed_files: <list>
272
+ ```
273
+
274
+ ## Agent Teams Rules
275
+
276
+ - Use **TaskGet** to check the details of the task assigned to you
277
+ - **Do not update task status to `completed`** — status management is the sole responsibility of the orchestrator (spec-implement Step 8). Only report your review results
278
+ - Report results to the leader via **SendMessage**
279
+ - On error, report the error via SendMessage (do not update task status)