claude-code-workflow 7.2.10 → 7.2.12

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 (331) hide show
  1. package/.claude/agents/cli-planning-agent.md +3 -0
  2. package/.claude/agents/debug-explore-agent.md +1 -0
  3. package/.claude/agents/tdd-developer.md +1 -0
  4. package/.claude/agents/team-worker.md +1 -1
  5. package/.claude/agents/test-action-planning-agent.md +3 -0
  6. package/.claude/agents/test-context-search-agent.md +1 -0
  7. package/.claude/agents/test-fix-agent.md +3 -0
  8. package/.claude/commands/workflow/analyze-with-file.md +108 -54
  9. package/.claude/commands/workflow-tune.md +811 -0
  10. package/.claude/skills/review-code/SKILL.md +2 -0
  11. package/.claude/skills/review-cycle/SKILL.md +4 -0
  12. package/.claude/skills/skill-simplify/phases/02-optimize.md +4 -0
  13. package/.claude/skills/spec-generator/phases/05-epics-stories.md +4 -0
  14. package/.claude/skills/team-arch-opt/specs/team-config.json +5 -5
  15. package/.claude/skills/team-frontend-debug/roles/analyzer/role.md +3 -2
  16. package/.claude/skills/team-perf-opt/roles/coordinator/commands/monitor.md +1 -1
  17. package/.claude/skills/team-perf-opt/specs/team-config.json +5 -5
  18. package/.claude/skills/team-quality-assurance/roles/executor/role.md +2 -1
  19. package/.claude/skills/team-review/roles/reviewer/role.md +2 -1
  20. package/.claude/skills/team-tech-debt/roles/scanner/role.md +2 -1
  21. package/.claude/skills/team-testing/roles/executor/role.md +2 -1
  22. package/.claude/skills/team-testing/roles/generator/role.md +2 -1
  23. package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +2 -1
  24. package/.claude/skills/team-ux-improve/specs/team-config.json +6 -6
  25. package/.claude/skills/workflow-execute/phases/06-review.md +4 -4
  26. package/.claude/skills/workflow-lite-execute/SKILL.md +106 -14
  27. package/.claude/skills/workflow-lite-plan/SKILL.md +34 -72
  28. package/.claude/skills/workflow-lite-test-review/SKILL.md +41 -26
  29. package/.claude/skills/workflow-plan/phases/05-plan-verify.md +4 -0
  30. package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +1 -0
  31. package/.claude/skills/workflow-tdd-plan/phases/05-tdd-task-generation.md +2 -1
  32. package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +1 -0
  33. package/.claude/skills/workflow-test-fix/phases/05-test-cycle-execute.md +2 -1
  34. package/.codex/skills/analyze-with-file/SKILL.md +2 -0
  35. package/.codex/skills/debug-with-file/SKILL.md +4 -0
  36. package/.codex/skills/issue-discover/SKILL.md +1 -0
  37. package/.codex/skills/review-cycle/phases/02-parallel-review.md +3 -0
  38. package/.codex/skills/team-designer/agents/validation-reporter.md +186 -0
  39. package/.codex/skills/team-iterdev/agents/gc-controller.md +193 -0
  40. package/.codex/skills/team-iterdev/agents/task-analyzer.md +206 -0
  41. package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +165 -0
  42. package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +163 -0
  43. package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +182 -0
  44. package/.codex/skills/team-uidesign/agents/completion-handler.md +177 -0
  45. package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +162 -0
  46. package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +4 -0
  47. package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +2 -0
  48. package/ccw/dist/commands/spec.d.ts.map +1 -1
  49. package/ccw/dist/commands/spec.js +9 -4
  50. package/ccw/dist/commands/spec.js.map +1 -1
  51. package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
  52. package/ccw/dist/core/routes/codexlens-routes.js +3 -1
  53. package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
  54. package/ccw/dist/tools/spec-index-builder.d.ts +8 -4
  55. package/ccw/dist/tools/spec-index-builder.d.ts.map +1 -1
  56. package/ccw/dist/tools/spec-index-builder.js +8 -4
  57. package/ccw/dist/tools/spec-index-builder.js.map +1 -1
  58. package/ccw/dist/tools/spec-init.d.ts +1 -1
  59. package/ccw/dist/tools/spec-init.d.ts.map +1 -1
  60. package/ccw/dist/tools/spec-init.js +127 -0
  61. package/ccw/dist/tools/spec-init.js.map +1 -1
  62. package/ccw/dist/tools/spec-loader.d.ts.map +1 -1
  63. package/ccw/dist/tools/spec-loader.js +2 -1
  64. package/ccw/dist/tools/spec-loader.js.map +1 -1
  65. package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js → AlertDialog-BW9jiZ-p.js} +2 -2
  66. package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js.map → AlertDialog-BW9jiZ-p.js.map} +1 -1
  67. package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js → AnalysisPage-ds-w_nVO.js} +2 -2
  68. package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js.map → AnalysisPage-ds-w_nVO.js.map} +1 -1
  69. package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js → ApiSettingsPage-DlCbXxTz.js} +2 -2
  70. package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js.map → ApiSettingsPage-DlCbXxTz.js.map} +1 -1
  71. package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js → CliModeToggle-Dq3nL4fF.js} +2 -2
  72. package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js.map → CliModeToggle-Dq3nL4fF.js.map} +1 -1
  73. package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js → CliSessionSharePage-BNDkEE4u.js} +2 -2
  74. package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js.map → CliSessionSharePage-BNDkEE4u.js.map} +1 -1
  75. package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js → CliViewerPage-ChM-uNx_.js} +2 -2
  76. package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js.map → CliViewerPage-ChM-uNx_.js.map} +1 -1
  77. package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js +2 -0
  78. package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js.map +1 -0
  79. package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js → Collapsible-CRNbykXN.js} +2 -2
  80. package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js.map → Collapsible-CRNbykXN.js.map} +1 -1
  81. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js → CommandsManagerPage-C2JWcemF.js} +2 -2
  82. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js.map → CommandsManagerPage-C2JWcemF.js.map} +1 -1
  83. package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js → DeepWikiPage-CvleOtJy.js} +2 -2
  84. package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js.map → DeepWikiPage-CvleOtJy.js.map} +1 -1
  85. package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js → EndpointsPage-CMOWQG64.js} +2 -2
  86. package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js.map → EndpointsPage-CMOWQG64.js.map} +1 -1
  87. package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js → ExplorerPage-DaFPRlNo.js} +2 -2
  88. package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js.map → ExplorerPage-DaFPRlNo.js.map} +1 -1
  89. package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js → FixSessionPage-CC4p04Az.js} +2 -2
  90. package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js.map → FixSessionPage-CC4p04Az.js.map} +1 -1
  91. package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js → FloatingFileBrowser-DROn1xZ5.js} +2 -2
  92. package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js.map → FloatingFileBrowser-DROn1xZ5.js.map} +1 -1
  93. package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js → FloatingPanel-CmL_yhDv.js} +2 -2
  94. package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js.map → FloatingPanel-CmL_yhDv.js.map} +1 -1
  95. package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js → GraphExplorerPage-DCV5ybKE.js} +2 -2
  96. package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js.map → GraphExplorerPage-DCV5ybKE.js.map} +1 -1
  97. package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js → HistoryPage-D0fYQZgc.js} +2 -2
  98. package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js.map → HistoryPage-D0fYQZgc.js.map} +1 -1
  99. package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js → HookManagerPage-D2FuJfsM.js} +2 -2
  100. package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js.map → HookManagerPage-D2FuJfsM.js.map} +1 -1
  101. package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js → InstallationsPage-tjklillZ.js} +2 -2
  102. package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js.map → InstallationsPage-tjklillZ.js.map} +1 -1
  103. package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js → IssueHubPage-E4JVrhO1.js} +2 -2
  104. package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js.map → IssueHubPage-E4JVrhO1.js.map} +1 -1
  105. package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js → LiteTasksPage-aJuRoyLt.js} +2 -2
  106. package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js.map → LiteTasksPage-aJuRoyLt.js.map} +1 -1
  107. package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js → McpManagerPage-BJeuWJv1.js} +2 -2
  108. package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js.map → McpManagerPage-BJeuWJv1.js.map} +1 -1
  109. package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js → MemoryPage-BI4FAXhs.js} +2 -2
  110. package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js.map → MemoryPage-BI4FAXhs.js.map} +1 -1
  111. package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js → NotFoundPage-DD2svchp.js} +2 -2
  112. package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js.map → NotFoundPage-DD2svchp.js.map} +1 -1
  113. package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js → OrchestratorPage-FC__7yYa.js} +2 -2
  114. package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js.map → OrchestratorPage-FC__7yYa.js.map} +1 -1
  115. package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js → ProjectOverviewPage-DBB_-FzV.js} +2 -2
  116. package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js.map → ProjectOverviewPage-DBB_-FzV.js.map} +1 -1
  117. package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js → PromptHistoryPage-BwOAvCH8.js} +2 -2
  118. package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js.map → PromptHistoryPage-BwOAvCH8.js.map} +1 -1
  119. package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js → ReviewSessionPage-Dd1-g_gp.js} +2 -2
  120. package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js.map → ReviewSessionPage-Dd1-g_gp.js.map} +1 -1
  121. package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js → RulesManagerPage-B3RGdsKD.js} +2 -2
  122. package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js.map → RulesManagerPage-B3RGdsKD.js.map} +1 -1
  123. package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js → SessionDetailPage-DM-W5R8K.js} +2 -2
  124. package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js.map → SessionDetailPage-DM-W5R8K.js.map} +1 -1
  125. package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js → SessionsPage-BVz1KCc7.js} +2 -2
  126. package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js.map → SessionsPage-BVz1KCc7.js.map} +1 -1
  127. package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js → SettingsPage-ComW7EZS.js} +4 -4
  128. package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js.map → SettingsPage-ComW7EZS.js.map} +1 -1
  129. package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js → SkillsManagerPage-CKom9XwV.js} +2 -2
  130. package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js.map → SkillsManagerPage-CKom9XwV.js.map} +1 -1
  131. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js → SpecsSettingsPage-DQz7WP2s.js} +2 -2
  132. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js.map → SpecsSettingsPage-DQz7WP2s.js.map} +1 -1
  133. package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js → Switch-BPMdND9H.js} +2 -2
  134. package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js.map → Switch-BPMdND9H.js.map} +1 -1
  135. package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js → TabsNavigation-qqt70VYL.js} +2 -2
  136. package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js.map → TabsNavigation-qqt70VYL.js.map} +1 -1
  137. package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js → TaskDrawer-BqK_qiHX.js} +2 -2
  138. package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js.map → TaskDrawer-BqK_qiHX.js.map} +1 -1
  139. package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js → TeamPage-u5_i0Rgh.js} +2 -2
  140. package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js.map → TeamPage-u5_i0Rgh.js.map} +1 -1
  141. package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js → TerminalDashboardPage-rUtC9e40.js} +2 -2
  142. package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js.map → TerminalDashboardPage-rUtC9e40.js.map} +1 -1
  143. package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js → archive-C3u8YNQF.js} +2 -2
  144. package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js.map → archive-C3u8YNQF.js.map} +1 -1
  145. package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js → archive-restore-DfQ998g5.js} +2 -2
  146. package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js.map → archive-restore-DfQ998g5.js.map} +1 -1
  147. package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js → arrow-right-BshJM9Po.js} +2 -2
  148. package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js.map → arrow-right-BshJM9Po.js.map} +1 -1
  149. package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js → bookmark-plus-D03qJyOZ.js} +2 -2
  150. package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js.map → bookmark-plus-D03qJyOZ.js.map} +1 -1
  151. package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js → bot-CyzWuwq0.js} +2 -2
  152. package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js.map → bot-CyzWuwq0.js.map} +1 -1
  153. package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js → braces-BPgtyjsG.js} +2 -2
  154. package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js.map → braces-BPgtyjsG.js.map} +1 -1
  155. package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js → circle-stop-Dix1AOmw.js} +2 -2
  156. package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js.map → circle-stop-Dix1AOmw.js.map} +1 -1
  157. package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js → cpu-CCQ4Q0Zh.js} +2 -2
  158. package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js.map → cpu-CCQ4Q0Zh.js.map} +1 -1
  159. package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js → ellipsis-vertical-BpTysg-Y.js} +2 -2
  160. package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js.map → ellipsis-vertical-BpTysg-Y.js.map} +1 -1
  161. package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js → eye-DGY1rAZs.js} +2 -2
  162. package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js.map → eye-DGY1rAZs.js.map} +1 -1
  163. package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js → eye-off-D8t3JfWG.js} +2 -2
  164. package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js.map → eye-off-D8t3JfWG.js.map} +1 -1
  165. package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js → file-json-BAdJb0n8.js} +2 -2
  166. package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js.map → file-json-BAdJb0n8.js.map} +1 -1
  167. package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js → file-text-DrJFiOUB.js} +2 -2
  168. package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js.map → file-text-DrJFiOUB.js.map} +1 -1
  169. package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js → filter-CKqzYbz7.js} +2 -2
  170. package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js.map → filter-CKqzYbz7.js.map} +1 -1
  171. package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js → folder-CV8511y9.js} +2 -2
  172. package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js.map → folder-CV8511y9.js.map} +1 -1
  173. package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js → gauge-XKvmu_uU.js} +2 -2
  174. package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js.map → gauge-XKvmu_uU.js.map} +1 -1
  175. package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js → globe-C56cDUzX.js} +2 -2
  176. package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js.map → globe-C56cDUzX.js.map} +1 -1
  177. package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js → grid-3x3-Bya-suFW.js} +2 -2
  178. package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js.map → grid-3x3-Bya-suFW.js.map} +1 -1
  179. package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js → hard-drive-CmuTZpsB.js} +2 -2
  180. package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js.map → hard-drive-CmuTZpsB.js.map} +1 -1
  181. package/ccw/frontend/dist/assets/{hash-Bd1RD285.js → hash-CRPT_tJQ.js} +2 -2
  182. package/ccw/frontend/dist/assets/{hash-Bd1RD285.js.map → hash-CRPT_tJQ.js.map} +1 -1
  183. package/ccw/frontend/dist/assets/{history-eyyCQA6b.js → history-C1pJZQCL.js} +2 -2
  184. package/ccw/frontend/dist/assets/{history-eyyCQA6b.js.map → history-C1pJZQCL.js.map} +1 -1
  185. package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js → index-B6TpijCe.js} +2 -2
  186. package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js.map → index-B6TpijCe.js.map} +1 -1
  187. package/ccw/frontend/dist/assets/{index-b2C0iFd1.js → index-Bcq-7r6F.js} +2 -2
  188. package/ccw/frontend/dist/assets/{index-b2C0iFd1.js.map → index-Bcq-7r6F.js.map} +1 -1
  189. package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js → index-CI8-rBff.js} +2 -2
  190. package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js.map → index-CI8-rBff.js.map} +1 -1
  191. package/ccw/frontend/dist/assets/{index-CY6Lueph.js → index-Dmt9OiEf.js} +2 -2
  192. package/ccw/frontend/dist/assets/{index-CY6Lueph.js.map → index-Dmt9OiEf.js.map} +1 -1
  193. package/ccw/frontend/dist/assets/{index-DfeBbFXo.js → index-anSMmEF8.js} +2 -2
  194. package/ccw/frontend/dist/assets/{index-DfeBbFXo.js.map → index-anSMmEF8.js.map} +1 -1
  195. package/ccw/frontend/dist/assets/{index-B6I7GQC5.js → index-dWT2M6Ef.js} +4 -4
  196. package/ccw/frontend/dist/assets/{index-B6I7GQC5.js.map → index-dWT2M6Ef.js.map} +1 -1
  197. package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js → layout-grid-TSO0BFQE.js} +2 -2
  198. package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js.map → layout-grid-TSO0BFQE.js.map} +1 -1
  199. package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js → lightbulb-Caj6fIQD.js} +2 -2
  200. package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js.map → lightbulb-Caj6fIQD.js.map} +1 -1
  201. package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js → link-2-DE9lMxa-.js} +2 -2
  202. package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js.map → link-2-DE9lMxa-.js.map} +1 -1
  203. package/ccw/frontend/dist/assets/{link-CL4JmoHb.js → link-BZtPgLW0.js} +2 -2
  204. package/ccw/frontend/dist/assets/{link-CL4JmoHb.js.map → link-BZtPgLW0.js.map} +1 -1
  205. package/ccw/frontend/dist/assets/{list-CDmYFcio.js → list-DubWyY-U.js} +2 -2
  206. package/ccw/frontend/dist/assets/{list-CDmYFcio.js.map → list-DubWyY-U.js.map} +1 -1
  207. package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js → map-pin-DwN_48AF.js} +2 -2
  208. package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js.map → map-pin-DwN_48AF.js.map} +1 -1
  209. package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js → messages-square-bjxvaiM9.js} +2 -2
  210. package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js.map → messages-square-bjxvaiM9.js.map} +1 -1
  211. package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js → minimize-2-CGfBKD_V.js} +2 -2
  212. package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js.map → minimize-2-CGfBKD_V.js.map} +1 -1
  213. package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js → package-nzWY6ilt.js} +2 -2
  214. package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js.map → package-nzWY6ilt.js.map} +1 -1
  215. package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js → plug-CiLce49C.js} +2 -2
  216. package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js.map → plug-CiLce49C.js.map} +1 -1
  217. package/ccw/frontend/dist/assets/{power-DmIojFl-.js → power-CFLmB-U9.js} +2 -2
  218. package/ccw/frontend/dist/assets/{power-DmIojFl-.js.map → power-CFLmB-U9.js.map} +1 -1
  219. package/ccw/frontend/dist/assets/{save-BFa03OnG.js → save-DuO6OF0C.js} +2 -2
  220. package/ccw/frontend/dist/assets/{save-BFa03OnG.js.map → save-DuO6OF0C.js.map} +1 -1
  221. package/ccw/frontend/dist/assets/{send-Vet3sN4J.js → send-CZk9p0mM.js} +2 -2
  222. package/ccw/frontend/dist/assets/{send-Vet3sN4J.js.map → send-CZk9p0mM.js.map} +1 -1
  223. package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js → square-check-big-BY_1YQQg.js} +2 -2
  224. package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js.map → square-check-big-BY_1YQQg.js.map} +1 -1
  225. package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js → square-pen-CnZgm6g-.js} +2 -2
  226. package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js.map → square-pen-CnZgm6g-.js.map} +1 -1
  227. package/ccw/frontend/dist/assets/{star-BCQHcnSe.js → star-Cn1F0qy7.js} +2 -2
  228. package/ccw/frontend/dist/assets/{star-BCQHcnSe.js.map → star-Cn1F0qy7.js.map} +1 -1
  229. package/ccw/frontend/dist/assets/{style-CJsrp48L.js → style-Dxs1iXCV.js} +2 -2
  230. package/ccw/frontend/dist/assets/{style-CJsrp48L.js.map → style-Dxs1iXCV.js.map} +1 -1
  231. package/ccw/frontend/dist/assets/{target-CBzCJCB1.js → target-Bz1fLRKH.js} +2 -2
  232. package/ccw/frontend/dist/assets/{target-CBzCJCB1.js.map → target-Bz1fLRKH.js.map} +1 -1
  233. package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js → test-tube-C6qCYlDr.js} +2 -2
  234. package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js.map → test-tube-C6qCYlDr.js.map} +1 -1
  235. package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js → upload-C71kd4Qs.js} +2 -2
  236. package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js.map → upload-C71kd4Qs.js.map} +1 -1
  237. package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js → useApiSettings-CqP2BAJ7.js} +2 -2
  238. package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js.map → useApiSettings-CqP2BAJ7.js.map} +1 -1
  239. package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js → useCli-PCoPoVeM.js} +2 -2
  240. package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js.map → useCli-PCoPoVeM.js.map} +1 -1
  241. package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js → useCommands-3OfPQPw4.js} +2 -2
  242. package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js.map → useCommands-3OfPQPw4.js.map} +1 -1
  243. package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js → useDebounce-bXiFhQx9.js} +2 -2
  244. package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js.map → useDebounce-bXiFhQx9.js.map} +1 -1
  245. package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js → useFileExplorer-DEyUm46_.js} +2 -2
  246. package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js.map → useFileExplorer-DEyUm46_.js.map} +1 -1
  247. package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js → useLocale-sXTrdxcJ.js} +2 -2
  248. package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js.map → useLocale-sXTrdxcJ.js.map} +1 -1
  249. package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js → useSkills-D0W0kXYm.js} +3 -3
  250. package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js.map → useSkills-D0W0kXYm.js.map} +1 -1
  251. package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js → useSystemSettings-DZ-8lZsG.js} +2 -2
  252. package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js.map → useSystemSettings-DZ-8lZsG.js.map} +1 -1
  253. package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js → wand-sparkles-83GmAYuw.js} +2 -2
  254. package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js.map → wand-sparkles-83GmAYuw.js.map} +1 -1
  255. package/ccw/frontend/dist/index.html +1 -1
  256. package/package.json +1 -1
  257. package/.claude/commands/ddd/auto.md +0 -359
  258. package/.claude/commands/ddd/doc-generate.md +0 -222
  259. package/.claude/commands/ddd/doc-refresh.md +0 -218
  260. package/.claude/commands/ddd/execute.md +0 -416
  261. package/.claude/commands/ddd/index-build.md +0 -212
  262. package/.claude/commands/ddd/plan.md +0 -611
  263. package/.claude/commands/ddd/scan.md +0 -365
  264. package/.claude/commands/ddd/sync.md +0 -353
  265. package/.claude/commands/ddd/update.md +0 -160
  266. package/.claude/commands/idaw/add.md +0 -287
  267. package/.claude/commands/idaw/resume.md +0 -442
  268. package/.claude/commands/idaw/run-coordinate.md +0 -648
  269. package/.claude/commands/idaw/run.md +0 -539
  270. package/.claude/commands/idaw/status.md +0 -182
  271. package/.claude/skills/team-arch-opt/role-specs/analyzer.md +0 -80
  272. package/.claude/skills/team-arch-opt/role-specs/designer.md +0 -118
  273. package/.claude/skills/team-arch-opt/role-specs/refactorer.md +0 -106
  274. package/.claude/skills/team-arch-opt/role-specs/reviewer.md +0 -116
  275. package/.claude/skills/team-arch-opt/role-specs/validator.md +0 -117
  276. package/.claude/skills/team-brainstorm/role-specs/challenger.md +0 -63
  277. package/.claude/skills/team-brainstorm/role-specs/evaluator.md +0 -58
  278. package/.claude/skills/team-brainstorm/role-specs/ideator.md +0 -71
  279. package/.claude/skills/team-brainstorm/role-specs/synthesizer.md +0 -59
  280. package/.claude/skills/team-frontend/role-specs/analyst.md +0 -91
  281. package/.claude/skills/team-frontend/role-specs/architect.md +0 -85
  282. package/.claude/skills/team-frontend/role-specs/developer.md +0 -92
  283. package/.claude/skills/team-frontend/role-specs/qa.md +0 -78
  284. package/.claude/skills/team-issue/role-specs/explorer.md +0 -95
  285. package/.claude/skills/team-issue/role-specs/implementer.md +0 -89
  286. package/.claude/skills/team-issue/role-specs/integrator.md +0 -86
  287. package/.claude/skills/team-issue/role-specs/planner.md +0 -83
  288. package/.claude/skills/team-issue/role-specs/reviewer.md +0 -89
  289. package/.claude/skills/team-iterdev/role-specs/architect.md +0 -64
  290. package/.claude/skills/team-iterdev/role-specs/developer.md +0 -73
  291. package/.claude/skills/team-iterdev/role-specs/reviewer.md +0 -65
  292. package/.claude/skills/team-iterdev/role-specs/tester.md +0 -87
  293. package/.claude/skills/team-perf-opt/role-specs/benchmarker.md +0 -110
  294. package/.claude/skills/team-perf-opt/role-specs/optimizer.md +0 -102
  295. package/.claude/skills/team-perf-opt/role-specs/profiler.md +0 -73
  296. package/.claude/skills/team-perf-opt/role-specs/reviewer.md +0 -91
  297. package/.claude/skills/team-perf-opt/role-specs/strategist.md +0 -114
  298. package/.claude/skills/team-planex/role-specs/executor.md +0 -90
  299. package/.claude/skills/team-planex/role-specs/planner.md +0 -110
  300. package/.claude/skills/team-quality-assurance/role-specs/analyst.md +0 -79
  301. package/.claude/skills/team-quality-assurance/role-specs/executor.md +0 -64
  302. package/.claude/skills/team-quality-assurance/role-specs/generator.md +0 -67
  303. package/.claude/skills/team-quality-assurance/role-specs/scout.md +0 -66
  304. package/.claude/skills/team-quality-assurance/role-specs/strategist.md +0 -70
  305. package/.claude/skills/team-review/role-specs/fixer.md +0 -75
  306. package/.claude/skills/team-review/role-specs/reviewer.md +0 -66
  307. package/.claude/skills/team-review/role-specs/scanner.md +0 -70
  308. package/.claude/skills/team-roadmap-dev/role-specs/executor.md +0 -71
  309. package/.claude/skills/team-roadmap-dev/role-specs/planner.md +0 -77
  310. package/.claude/skills/team-roadmap-dev/role-specs/verifier.md +0 -73
  311. package/.claude/skills/team-tech-debt/role-specs/assessor.md +0 -70
  312. package/.claude/skills/team-tech-debt/role-specs/executor.md +0 -80
  313. package/.claude/skills/team-tech-debt/role-specs/planner.md +0 -71
  314. package/.claude/skills/team-tech-debt/role-specs/scanner.md +0 -85
  315. package/.claude/skills/team-tech-debt/role-specs/validator.md +0 -83
  316. package/.claude/skills/team-testing/role-specs/analyst.md +0 -94
  317. package/.claude/skills/team-testing/role-specs/executor.md +0 -97
  318. package/.claude/skills/team-testing/role-specs/generator.md +0 -96
  319. package/.claude/skills/team-testing/role-specs/strategist.md +0 -82
  320. package/.claude/skills/team-uidesign/role-specs/designer.md +0 -72
  321. package/.claude/skills/team-uidesign/role-specs/implementer.md +0 -74
  322. package/.claude/skills/team-uidesign/role-specs/researcher.md +0 -84
  323. package/.claude/skills/team-uidesign/role-specs/reviewer.md +0 -70
  324. package/.claude/skills/team-ux-improve/role-specs/designer.md +0 -191
  325. package/.claude/skills/team-ux-improve/role-specs/diagnoser.md +0 -110
  326. package/.claude/skills/team-ux-improve/role-specs/explorer.md +0 -109
  327. package/.claude/skills/team-ux-improve/role-specs/implementer.md +0 -164
  328. package/.claude/skills/team-ux-improve/role-specs/scanner.md +0 -117
  329. package/.claude/skills/team-ux-improve/role-specs/tester.md +0 -163
  330. package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js +0 -2
  331. package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js.map +0 -1
@@ -1,83 +0,0 @@
1
- ---
2
- prefix: TDVAL
3
- inner_loop: false
4
- message_types:
5
- success: validation_complete
6
- error: error
7
- fix: regression_found
8
- ---
9
-
10
- # Tech Debt Validator
11
-
12
- Cleanup result validator. Run test suite, type checks, lint checks, and quality analysis to verify debt cleanup introduced no regressions. Compare before/after debt scores, produce validation-report.json.
13
-
14
- ## Phase 2: Load Context
15
-
16
- | Input | Source | Required |
17
- |-------|--------|----------|
18
- | Session path | task description (regex: `session:\s*(.+)`) | Yes |
19
- | .msg/meta.json | <session>/.msg/meta.json | Yes |
20
- | Fix log | <session>/fixes/fix-log.json | No |
21
-
22
- 1. Extract session path from task description
23
- 2. Read .msg/meta.json for: worktree.path, debt_inventory, fix_results, debt_score_before
24
- 3. Determine command prefix: `cd "<worktree-path>" && ` if worktree exists
25
- 4. Read fix-log.json for modified files list
26
- 5. Detect available validation tools in worktree:
27
-
28
- | Signal | Tool | Method |
29
- |--------|------|--------|
30
- | package.json + npm | npm test | Test suite |
31
- | pytest available | python -m pytest | Test suite |
32
- | npx tsc available | npx tsc --noEmit | Type check |
33
- | npx eslint available | npx eslint | Lint check |
34
-
35
- ## Phase 3: Run Validation Checks
36
-
37
- Execute 4-layer validation (all commands in worktree):
38
-
39
- **1. Test Suite**:
40
- - Run `npm test` or `python -m pytest` in worktree
41
- - PASS if no FAIL/error/failed keywords; FAIL with regression count otherwise
42
- - Skip with "no-tests" if no test runner available
43
-
44
- **2. Type Check**:
45
- - Run `npx tsc --noEmit` in worktree
46
- - Count `error TS` occurrences for error count
47
-
48
- **3. Lint Check**:
49
- - Run `npx eslint --no-error-on-unmatched-pattern <modified-files>` in worktree
50
- - Count error occurrences
51
-
52
- **4. Quality Analysis** (optional, when > 5 modified files):
53
- - Use gemini CLI to compare code quality before/after
54
- - Assess complexity, duplication, naming quality improvements
55
-
56
- **Debt Score Calculation**:
57
- - debt_score_after = debt items NOT in modified files (remaining unfixed items)
58
- - improvement_percentage = ((before - after) / before) * 100
59
-
60
- **Auto-fix attempt** (when total_regressions <= 3):
61
- - Use CLI tool to fix regressions in worktree:
62
- ```
63
- Bash({
64
- command: `cd "${worktreePath}" && ccw cli -p "PURPOSE: Fix regressions found in validation
65
- TASK: ${regressionDetails}
66
- MODE: write
67
- CONTEXT: @${modifiedFiles.join(' @')}
68
- EXPECTED: Fixed regressions
69
- CONSTRAINTS: Fix only regressions | Preserve debt cleanup changes | No suppressions" --tool gemini --mode write`,
70
- run_in_background: false
71
- })
72
- ```
73
- - Re-run validation checks after fix attempt
74
- })
75
- ```
76
- - Re-run checks after fix attempt
77
-
78
- ## Phase 4: Compare & Report
79
-
80
- 1. Calculate: total_regressions = test_regressions + type_errors + lint_errors; passed = (total_regressions === 0)
81
- 2. Write `<session>/validation/validation-report.json` with: validation_date, passed, regressions, checks (per-check status), debt_score_before, debt_score_after, improvement_percentage
82
- 3. Update .msg/meta.json with `validation_results` and `debt_score_after`
83
- 4. Select message type: `validation_complete` if passed, `regression_found` if not
@@ -1,94 +0,0 @@
1
- ---
2
- prefix: TESTANA
3
- inner_loop: false
4
- message_types:
5
- success: analysis_ready
6
- error: error
7
- ---
8
-
9
- # Test Quality Analyst
10
-
11
- Analyze defect patterns, identify coverage gaps, assess GC loop effectiveness, and generate a quality report with actionable recommendations.
12
-
13
- ## Phase 2: Context Loading
14
-
15
- | Input | Source | Required |
16
- |-------|--------|----------|
17
- | Task description | From task subject/description | Yes |
18
- | Session path | Extracted from task description | Yes |
19
- | Execution results | <session>/results/run-*.json | Yes |
20
- | Test strategy | <session>/strategy/test-strategy.md | Yes |
21
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
22
-
23
- 1. Extract session path from task description
24
- 2. Read .msg/meta.json for execution context (executor, generator namespaces)
25
- 3. Read all execution results:
26
-
27
- ```
28
- Glob("<session>/results/run-*.json")
29
- Read("<session>/results/run-001.json")
30
- ```
31
-
32
- 4. Read test strategy:
33
-
34
- ```
35
- Read("<session>/strategy/test-strategy.md")
36
- ```
37
-
38
- 5. Read test files for pattern analysis:
39
-
40
- ```
41
- Glob("<session>/tests/**/*")
42
- ```
43
-
44
- ## Phase 3: Quality Analysis
45
-
46
- **Analysis dimensions**:
47
-
48
- 1. **Coverage Analysis** -- Aggregate coverage by layer:
49
-
50
- | Layer | Coverage | Target | Status |
51
- |-------|----------|--------|--------|
52
- | L1 | X% | Y% | Met/Below |
53
-
54
- 2. **Defect Pattern Analysis** -- Frequency and severity:
55
-
56
- | Pattern | Frequency | Severity |
57
- |---------|-----------|----------|
58
- | pattern | count | HIGH (>=3) / MEDIUM (>=2) / LOW (<2) |
59
-
60
- 3. **GC Loop Effectiveness**:
61
-
62
- | Metric | Value | Assessment |
63
- |--------|-------|------------|
64
- | Rounds | N | - |
65
- | Coverage Improvement | +/-X% | HIGH (>10%) / MEDIUM (>5%) / LOW (<=5%) |
66
-
67
- 4. **Coverage Gaps** -- per module/feature:
68
- - Area, Current %, Gap %, Reason, Recommendation
69
-
70
- 5. **Quality Score**:
71
-
72
- | Dimension | Score (1-10) | Weight |
73
- |-----------|-------------|--------|
74
- | Coverage Achievement | score | 30% |
75
- | Test Effectiveness | score | 25% |
76
- | Defect Detection | score | 25% |
77
- | GC Loop Efficiency | score | 20% |
78
-
79
- Write report to `<session>/analysis/quality-report.md`
80
-
81
- ## Phase 4: Trend Analysis & State Update
82
-
83
- **Historical comparison** (if multiple sessions exist):
84
-
85
- ```
86
- Glob(".workflow/.team/TST-*/.msg/meta.json")
87
- ```
88
-
89
- - Track coverage trends over time
90
- - Identify defect pattern evolution
91
- - Compare GC loop effectiveness across sessions
92
-
93
- Update `<session>/wisdom/.msg/meta.json` under `analyst` namespace:
94
- - Merge `{ "analyst": { quality_score, coverage_gaps, top_defect_patterns, gc_effectiveness, recommendations } }`
@@ -1,97 +0,0 @@
1
- ---
2
- prefix: TESTRUN
3
- inner_loop: true
4
- message_types:
5
- success: tests_passed
6
- failure: tests_failed
7
- coverage: coverage_report
8
- error: error
9
- ---
10
-
11
- # Test Executor
12
-
13
- Execute tests, collect coverage, attempt auto-fix for failures. Acts as the Critic in the Generator-Critic loop. Reports pass rate and coverage for coordinator GC decisions.
14
-
15
- ## Phase 2: Context Loading
16
-
17
- | Input | Source | Required |
18
- |-------|--------|----------|
19
- | Task description | From task subject/description | Yes |
20
- | Session path | Extracted from task description | Yes |
21
- | Test directory | Task description (Input: <path>) | Yes |
22
- | Coverage target | Task description (default: 80%) | Yes |
23
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
24
-
25
- 1. Extract session path and test directory from task description
26
- 2. Extract coverage target (default: 80%)
27
- 3. Read .msg/meta.json for framework info (from strategist namespace)
28
- 4. Determine test framework:
29
-
30
- | Framework | Run Command |
31
- |-----------|-------------|
32
- | Jest | `npx jest --coverage --json --outputFile=<session>/results/jest-output.json` |
33
- | Pytest | `python -m pytest --cov --cov-report=json:<session>/results/coverage.json -v` |
34
- | Vitest | `npx vitest run --coverage --reporter=json` |
35
-
36
- 5. Find test files to execute:
37
-
38
- ```
39
- Glob("<session>/<test-dir>/**/*")
40
- ```
41
-
42
- ## Phase 3: Test Execution + Fix Cycle
43
-
44
- **Iterative test-fix cycle** (max 3 iterations):
45
-
46
- | Step | Action |
47
- |------|--------|
48
- | 1 | Run test command |
49
- | 2 | Parse results: pass rate + coverage |
50
- | 3 | pass_rate >= 0.95 AND coverage >= target -> success, exit |
51
- | 4 | Extract failing test details |
52
- | 5 | Delegate fix to CLI tool (gemini write mode) |
53
- | 6 | Increment iteration; >= 3 -> exit with failures |
54
-
55
- ```
56
- Bash("<test-command> 2>&1 || true")
57
- ```
58
-
59
- **Auto-fix delegation** (on failure):
60
-
61
- ```
62
- Bash({
63
- command: `ccw cli -p "PURPOSE: Fix test failures to achieve pass rate >= 0.95; success = all tests pass
64
- TASK: • Analyze test failure output • Identify root causes • Fix test code only (not source) • Preserve test intent
65
- MODE: write
66
- CONTEXT: @<session>/<test-dir>/**/* | Memory: Test framework: <framework>, iteration <N>/3
67
- EXPECTED: Fixed test files with: corrected assertions, proper async handling, fixed imports, maintained coverage
68
- CONSTRAINTS: Only modify test files | Preserve test structure | No source code changes
69
- Test failures:
70
- <test-output>" --tool gemini --mode write --cd <session>`,
71
- run_in_background: false
72
- })
73
- ```
74
-
75
- **Save results**: `<session>/results/run-<N>.json`
76
-
77
- ## Phase 4: Defect Pattern Extraction & State Update
78
-
79
- **Extract defect patterns from failures**:
80
-
81
- | Pattern Type | Detection Keywords |
82
- |--------------|-------------------|
83
- | Null reference | "null", "undefined", "Cannot read property" |
84
- | Async timing | "timeout", "async", "await", "promise" |
85
- | Import errors | "Cannot find module", "import" |
86
- | Type mismatches | "type", "expected", "received" |
87
-
88
- **Record effective test patterns** (if pass_rate > 0.8):
89
-
90
- | Pattern | Detection |
91
- |---------|-----------|
92
- | Happy path | "should succeed", "valid input" |
93
- | Edge cases | "edge", "boundary", "limit" |
94
- | Error handling | "should fail", "error", "throw" |
95
-
96
- Update `<session>/wisdom/.msg/meta.json` under `executor` namespace:
97
- - Merge `{ "executor": { pass_rate, coverage, defect_patterns, effective_patterns, coverage_history_entry } }`
@@ -1,96 +0,0 @@
1
- ---
2
- prefix: TESTGEN
3
- inner_loop: true
4
- message_types:
5
- success: tests_generated
6
- revision: tests_revised
7
- error: error
8
- ---
9
-
10
- # Test Generator
11
-
12
- Generate test code by layer (L1 unit / L2 integration / L3 E2E). Acts as the Generator in the Generator-Critic loop. Supports revision mode for GC loop iterations.
13
-
14
- ## Phase 2: Context Loading
15
-
16
- | Input | Source | Required |
17
- |-------|--------|----------|
18
- | Task description | From task subject/description | Yes |
19
- | Session path | Extracted from task description | Yes |
20
- | Test strategy | <session>/strategy/test-strategy.md | Yes |
21
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
22
-
23
- 1. Extract session path and layer from task description
24
- 2. Read test strategy:
25
-
26
- ```
27
- Read("<session>/strategy/test-strategy.md")
28
- ```
29
-
30
- 3. Read source files to test (from strategy priority_files, limit 20)
31
- 4. Read .msg/meta.json for framework and scope context
32
-
33
- 5. Detect revision mode:
34
-
35
- | Condition | Mode |
36
- |-----------|------|
37
- | Task subject contains "fix" or "revised" | Revision -- load previous failures |
38
- | Otherwise | Fresh generation |
39
-
40
- For revision mode:
41
- - Read latest result file for failure details
42
- - Read effective test patterns from .msg/meta.json
43
-
44
- 6. Read wisdom files if available
45
-
46
- ## Phase 3: Test Generation
47
-
48
- **Strategy selection by complexity**:
49
-
50
- | File Count | Strategy |
51
- |------------|----------|
52
- | <= 3 files | Direct: inline Write/Edit |
53
- | 3-5 files | Single code-developer agent |
54
- | > 5 files | Batch: group by module, one agent per batch |
55
-
56
- **Direct generation** (per source file):
57
- 1. Generate test path: `<session>/tests/<layer>/<test-file>`
58
- 2. Generate test code: happy path, edge cases, error handling
59
- 3. Write test file
60
-
61
- **CLI delegation** (medium/high complexity):
62
-
63
- ```
64
- Bash({
65
- command: `ccw cli -p "PURPOSE: Generate <layer> tests using <framework> to achieve coverage target; success = all priority files covered with quality tests
66
- TASK: • Analyze source files • Generate test cases (happy path, edge cases, errors) • Write test files with proper structure • Ensure import resolution
67
- MODE: write
68
- CONTEXT: @<source-files> @<session>/strategy/test-strategy.md | Memory: Framework: <framework>, Layer: <layer>, Round: <round>
69
- <if-revision: Previous failures: <failure-details>
70
- Effective patterns: <patterns-from-meta>>
71
- EXPECTED: Test files in <session>/tests/<layer>/ with: proper test structure, comprehensive coverage, correct imports, framework conventions
72
- CONSTRAINTS: Follow test strategy priorities | Use framework best practices | <layer>-appropriate assertions
73
- Source files to test:
74
- <file-list-with-content>" --tool gemini --mode write --cd <session>`,
75
- run_in_background: false
76
- })
77
- ```
78
-
79
- **Output verification**:
80
-
81
- ```
82
- Glob("<session>/tests/<layer>/**/*")
83
- ```
84
-
85
- ## Phase 4: Self-Validation & State Update
86
-
87
- **Validation checks**:
88
-
89
- | Check | Method | Action on Fail |
90
- |-------|--------|----------------|
91
- | Syntax | `tsc --noEmit` or equivalent | Auto-fix imports/types |
92
- | File count | Count generated files | Report issue |
93
- | Import resolution | Check broken imports | Fix import paths |
94
-
95
- Update `<session>/wisdom/.msg/meta.json` under `generator` namespace:
96
- - Merge `{ "generator": { test_files, layer, round, is_revision } }`
@@ -1,82 +0,0 @@
1
- ---
2
- prefix: STRATEGY
3
- inner_loop: false
4
- message_types:
5
- success: strategy_ready
6
- error: error
7
- ---
8
-
9
- # Test Strategist
10
-
11
- Analyze git diff, determine test layers, define coverage targets, and formulate test strategy with prioritized execution order.
12
-
13
- ## Phase 2: Context & Environment Detection
14
-
15
- | Input | Source | Required |
16
- |-------|--------|----------|
17
- | Task description | From task subject/description | Yes |
18
- | Session path | Extracted from task description | Yes |
19
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
20
-
21
- 1. Extract session path and scope from task description
22
- 2. Get git diff for change analysis:
23
-
24
- ```
25
- Bash("git diff HEAD~1 --name-only 2>/dev/null || git diff --cached --name-only")
26
- Bash("git diff HEAD~1 -- <changed-files> 2>/dev/null || git diff --cached -- <changed-files>")
27
- ```
28
-
29
- 3. Detect test framework from project files:
30
-
31
- | Signal File | Framework | Test Pattern |
32
- |-------------|-----------|-------------|
33
- | jest.config.js/ts | Jest | `**/*.test.{ts,tsx,js}` |
34
- | vitest.config.ts/js | Vitest | `**/*.test.{ts,tsx}` |
35
- | pytest.ini / pyproject.toml | Pytest | `**/test_*.py` |
36
- | No detection | Default | Jest patterns |
37
-
38
- 4. Scan existing test patterns:
39
-
40
- ```
41
- Glob("**/*.test.*")
42
- Glob("**/*.spec.*")
43
- ```
44
-
45
- 5. Read .msg/meta.json if exists for session context
46
-
47
- ## Phase 3: Strategy Formulation
48
-
49
- **Change analysis dimensions**:
50
-
51
- | Change Type | Analysis | Priority |
52
- |-------------|----------|----------|
53
- | New files | Need new tests | High |
54
- | Modified functions | Need updated tests | Medium |
55
- | Deleted files | Need test cleanup | Low |
56
- | Config changes | May need integration tests | Variable |
57
-
58
- **Strategy output structure**:
59
-
60
- 1. **Change Analysis Table**: File, Change Type, Impact, Priority
61
- 2. **Test Layer Recommendations**:
62
- - L1 Unit: Scope, Coverage Target, Priority Files, Patterns
63
- - L2 Integration: Scope, Coverage Target, Integration Points
64
- - L3 E2E: Scope, Coverage Target, User Scenarios
65
- 3. **Risk Assessment**: Risk, Probability, Impact, Mitigation
66
- 4. **Test Execution Order**: Prioritized sequence
67
-
68
- Write strategy to `<session>/strategy/test-strategy.md`
69
-
70
- **Self-validation**:
71
-
72
- | Check | Criteria | Fallback |
73
- |-------|----------|----------|
74
- | Has L1 scope | L1 scope not empty | Default to all changed files |
75
- | Has coverage targets | L1 target > 0 | Use defaults (80/60/40) |
76
- | Has priority files | List not empty | Use all changed files |
77
-
78
- ## Phase 4: Wisdom & State Update
79
-
80
- 1. Write discoveries to `<session>/wisdom/conventions.md` (detected framework, patterns)
81
- 2. Update `<session>/wisdom/.msg/meta.json` under `strategist` namespace:
82
- - Read existing -> merge `{ "strategist": { framework, layers, coverage_targets, priority_files, risks } }` -> write back
@@ -1,72 +0,0 @@
1
- ---
2
- prefix: DESIGN
3
- inner_loop: false
4
- message_types:
5
- success: design_ready
6
- revision: design_revision
7
- progress: design_progress
8
- error: error
9
- ---
10
-
11
- # Design Token & Component Spec Author
12
-
13
- Define visual language through design tokens (W3C Design Tokens Format) and component specifications. Consume design intelligence from researcher. Act as Generator in the designer<->reviewer Generator-Critic loop.
14
-
15
- ## Phase 2: Context & Artifact Loading
16
-
17
- | Input | Source | Required |
18
- |-------|--------|----------|
19
- | Research artifacts | <session>/research/*.json | Yes |
20
- | Design intelligence | <session>/research/design-intelligence.json | Yes |
21
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
22
- | Audit feedback | <session>/audit/audit-*.md | Only for GC fix tasks |
23
-
24
- 1. Extract session path from task description
25
- 2. Read research findings: design-system-analysis.json, component-inventory.json, accessibility-audit.json
26
- 3. Read design intelligence: recommended colors/typography/style, anti-patterns, ux_guidelines
27
- 4. Detect task type from subject: "token" -> Token design, "component" -> Component spec, "fix"/"revision" -> GC fix
28
- 5. If GC fix task: read latest audit feedback from audit files
29
-
30
- ## Phase 3: Design Execution
31
-
32
- **Token System Design (DESIGN-001)**:
33
- - Define complete token system following W3C Design Tokens Format
34
- - Categories: Color (primary, secondary, background, surface, text, semantic), Typography (font-family, font-size, font-weight, line-height), Spacing (xs-2xl), Shadow (sm/md/lg), Border (radius, width), Breakpoint (mobile/tablet/desktop/wide)
35
- - All color tokens must have light/dark variants using `$value: { light: ..., dark: ... }`
36
- - Integrate design intelligence: recommended.colors -> color tokens, recommended.typography -> font stacks
37
- - Document anti-patterns from design intelligence for implementer reference
38
- - Output: `<session>/design/design-tokens.json`
39
-
40
- **Component Specification (DESIGN-002)**:
41
- - Define component specs consuming design tokens
42
- - Each spec contains: Overview (type: atom/molecule/organism, purpose), Design Tokens Consumed (token -> usage -> value reference), States (default/hover/focus/active/disabled), Responsive Behavior (changes per breakpoint), Accessibility (role, ARIA, keyboard, focus indicator, contrast), Variants, Anti-Patterns, Implementation Hints
43
- - All interactive states required: default, hover (background/opacity change), focus (outline 2px solid, offset 2px), active (pressed), disabled (opacity 0.5, cursor not-allowed)
44
- - Output: `<session>/design/component-specs/{component-name}.md`
45
-
46
- **GC Fix Mode (DESIGN-fix-N)**:
47
- - Parse audit feedback for specific issues
48
- - Re-read affected design artifacts; apply fixes (token value adjustments, missing states, accessibility gaps, naming fixes)
49
- - Re-write affected files; signal `design_revision` instead of `design_ready`
50
-
51
- ## Phase 4: Self-Validation & Output
52
-
53
- 1. Token integrity checks:
54
-
55
- | Check | Pass Criteria |
56
- |-------|---------------|
57
- | tokens_valid | All $value fields non-empty |
58
- | theme_complete | Light/dark values for all color tokens |
59
- | values_parseable | Valid CSS-parseable values |
60
- | no_duplicates | No duplicate token definitions |
61
-
62
- 2. Component spec checks:
63
-
64
- | Check | Pass Criteria |
65
- |-------|---------------|
66
- | states_complete | All 5 states (default/hover/focus/active/disabled) defined |
67
- | a11y_specified | Role, ARIA, keyboard behavior defined |
68
- | responsive_defined | At least mobile/desktop breakpoints |
69
- | token_refs_valid | All `{token.path}` references resolve to defined tokens |
70
-
71
- 3. Update `<session>/wisdom/.msg/meta.json` under `designer` namespace:
72
- - Read existing -> merge `{ "designer": { task_type, token_categories, component_count, style_decisions } }` -> write back
@@ -1,74 +0,0 @@
1
- ---
2
- prefix: BUILD
3
- inner_loop: false
4
- message_types:
5
- success: build_complete
6
- progress: build_progress
7
- error: error
8
- ---
9
-
10
- # Component Code Builder
11
-
12
- Translate design tokens and component specifications into production code. Generate CSS custom properties, TypeScript/JavaScript components, and accessibility implementations. Consume design intelligence stack guidelines for tech-specific patterns.
13
-
14
- ## Phase 2: Context & Artifact Loading
15
-
16
- | Input | Source | Required |
17
- |-------|--------|----------|
18
- | Design tokens | <session>/design/design-tokens.json | Yes (token build) |
19
- | Component specs | <session>/design/component-specs/*.md | Yes (component build) |
20
- | Design intelligence | <session>/research/design-intelligence.json | Yes |
21
- | Latest audit report | <session>/audit/audit-*.md | No |
22
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
23
-
24
- 1. Extract session path from task description
25
- 2. Detect build type from subject: "token" -> Token implementation, "component" -> Component implementation
26
- 3. Read design artifacts: design-tokens.json (token build), component-specs/*.md (component build)
27
- 4. Read design intelligence: stack_guidelines (tech-specific patterns), anti_patterns (patterns to avoid), ux_guidelines
28
- 5. Read latest audit report for approved changes and feedback
29
- 6. Detect project tech stack from package.json
30
-
31
- ## Phase 3: Implementation Execution
32
-
33
- **Token Implementation (BUILD-001)**:
34
- - Convert design tokens to production code
35
- - Output files in `<session>/build/token-files/`:
36
- - `tokens.css`: CSS custom properties with `:root` (light) and `[data-theme="dark"]` selectors, plus `@media (prefers-color-scheme: dark)` fallback
37
- - `tokens.ts`: TypeScript constants and types for programmatic access with autocomplete support
38
- - `README.md`: Token usage guide
39
- - All color tokens must have both light and dark values
40
- - Semantic token names must match design token definitions
41
-
42
- **Component Implementation (BUILD-002)**:
43
- - Implement component code from design specifications
44
- - Per-component output in `<session>/build/component-files/`:
45
- - `{ComponentName}.tsx`: React/Vue/Svelte component (match detected stack)
46
- - `{ComponentName}.css`: Styles consuming tokens via `var(--token-name)` only
47
- - `{ComponentName}.test.tsx`: Basic render + state tests
48
- - `index.ts`: Re-export
49
- - Requirements: no hardcoded colors/spacing (use design tokens), implement all 5 states, add ARIA attributes per spec, support responsive breakpoints, follow project component patterns
50
- - Accessibility: keyboard navigation, screen reader support, visible focus indicators, WCAG AA contrast
51
- - Check implementation against design intelligence anti_patterns
52
-
53
- ## Phase 4: Validation & Output
54
-
55
- 1. Token build validation:
56
-
57
- | Check | Pass Criteria |
58
- |-------|---------------|
59
- | File existence | tokens.css and tokens.ts exist |
60
- | Token coverage | All defined tokens present in CSS |
61
- | Theme support | Light/dark variants exist |
62
-
63
- 2. Component build validation:
64
-
65
- | Check | Pass Criteria |
66
- |-------|---------------|
67
- | File existence | At least 3 files per component (component, style, index) |
68
- | No hardcoded values | No `#xxx` or `rgb()` in component CSS (only in tokens.css) |
69
- | Focus styles | `:focus` or `:focus-visible` defined |
70
- | Responsive | `@media` queries present |
71
- | Anti-pattern clean | No violations of design intelligence anti_patterns |
72
-
73
- 3. Update `<session>/wisdom/.msg/meta.json` under `implementer` namespace:
74
- - Read existing -> merge `{ "implementer": { build_type, file_count, output_dir, components_built } }` -> write back
@@ -1,84 +0,0 @@
1
- ---
2
- prefix: RESEARCH
3
- inner_loop: false
4
- message_types:
5
- success: research_ready
6
- progress: research_progress
7
- error: error
8
- ---
9
-
10
- # Design System Researcher
11
-
12
- Analyze existing design system, build component inventory, assess accessibility baseline, and retrieve industry-specific design intelligence via ui-ux-pro-max. Produce foundation data for downstream designer, reviewer, and implementer roles.
13
-
14
- ## Phase 2: Context & Environment Detection
15
-
16
- | Input | Source | Required |
17
- |-------|--------|----------|
18
- | Task description | From task subject/description | Yes |
19
- | Session path | Extracted from task description | Yes |
20
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
21
-
22
- 1. Extract session path and target scope from task description
23
- 2. Detect project type and tech stack from package.json or equivalent:
24
-
25
- | Package | Detected Stack |
26
- |---------|---------------|
27
- | next | nextjs |
28
- | react | react |
29
- | vue | vue |
30
- | svelte | svelte |
31
- | @shadcn/ui | shadcn |
32
- | (default) | html-tailwind |
33
-
34
- 3. Use CLI tools (e.g., `ccw cli -p "..." --tool gemini --mode analysis`) or direct tools (Glob, Grep, mcp__ace-tool__search_context) to scan for existing design tokens, component files, styling patterns
35
- 4. Read industry context from session config (industry, strictness, must-have features)
36
-
37
- ## Phase 3: Research Execution
38
-
39
- Execute 4 analysis streams:
40
-
41
- **Stream 1 -- Design System Analysis**:
42
- - Search for existing design tokens (CSS variables, theme configs, token files)
43
- - Identify styling patterns (CSS-in-JS, CSS modules, utility classes, SCSS)
44
- - Map color palette, typography scale, spacing system
45
- - Find component library usage (MUI, Ant Design, shadcn, custom)
46
- - Output: `<session>/research/design-system-analysis.json`
47
-
48
- **Stream 2 -- Component Inventory**:
49
- - Find all UI component files; identify props/API surface
50
- - Identify states supported (hover, focus, disabled, etc.)
51
- - Check accessibility attributes (ARIA labels, roles)
52
- - Map inter-component dependencies and usage counts
53
- - Output: `<session>/research/component-inventory.json`
54
-
55
- **Stream 3 -- Accessibility Baseline**:
56
- - Check ARIA attribute usage patterns, keyboard navigation support
57
- - Assess color contrast ratios (if design tokens found)
58
- - Find focus management and semantic HTML patterns
59
- - Output: `<session>/research/accessibility-audit.json`
60
-
61
- **Stream 4 -- Design Intelligence (ui-ux-pro-max)**:
62
- - Call `Skill(skill="ui-ux-pro-max", args="<industry> <keywords> --design-system")` for design system recommendations
63
- - Call `Skill(skill="ui-ux-pro-max", args="accessibility animation responsive --domain ux")` for UX guidelines
64
- - Call `Skill(skill="ui-ux-pro-max", args="<keywords> --stack <detected-stack>")` for stack guidelines
65
- - Degradation: when unavailable, use LLM general knowledge, mark `_source: "llm-general-knowledge"`
66
- - Output: `<session>/research/design-intelligence.json`
67
-
68
- Compile research summary metrics: design_system_exists, styling_approach, total_components, accessibility_level, design_intelligence_source, anti_patterns_count.
69
-
70
- ## Phase 4: Validation & Output
71
-
72
- 1. Verify all 4 output files exist and contain valid JSON with required fields:
73
-
74
- | File | Required Fields |
75
- |------|----------------|
76
- | design-system-analysis.json | existing_tokens, styling_approach |
77
- | component-inventory.json | components array |
78
- | accessibility-audit.json | wcag_level |
79
- | design-intelligence.json | _source, design_system |
80
-
81
- 2. If any file missing or invalid, re-run corresponding stream
82
-
83
- 3. Update `<session>/wisdom/.msg/meta.json` under `researcher` namespace:
84
- - Read existing -> merge `{ "researcher": { detected_stack, component_count, wcag_level, di_source, scope } }` -> write back