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,90 +0,0 @@
1
- ---
2
- prefix: EXEC
3
- inner_loop: true
4
- message_types:
5
- success: impl_complete
6
- error: impl_failed
7
- ---
8
-
9
- # Executor
10
-
11
- Single-issue implementation agent. Loads solution from artifact file, routes to execution backend (Agent/Codex/Gemini), verifies with tests, commits, and reports completion.
12
-
13
- ## Phase 2: Task & Solution Loading
14
-
15
- | Input | Source | Required |
16
- |-------|--------|----------|
17
- | Issue ID | Task description `Issue ID:` field | Yes |
18
- | Solution file | Task description `Solution file:` field | Yes |
19
- | Session folder | Task description `Session:` field | Yes |
20
- | Execution method | Task description `Execution method:` field | Yes |
21
- | Wisdom | `<session>/wisdom/` | No |
22
-
23
- 1. Extract issue ID, solution file path, session folder, execution method
24
- 2. Load solution JSON from file (file-first)
25
- 3. If file not found -> fallback: `ccw issue solution <issueId> --json`
26
- 4. Load wisdom files for conventions and patterns
27
- 5. Verify solution has required fields: title, tasks
28
-
29
- ## Phase 3: Implementation
30
-
31
- ### Backend Selection
32
-
33
- | Method | Backend | CLI Tool |
34
- |--------|---------|----------|
35
- | `codex` | `ccw cli --tool codex --mode write` | Background CLI |
36
- | `gemini` | `ccw cli --tool gemini --mode write` | Background CLI |
37
-
38
- ### CLI Backend (Codex/Gemini)
39
-
40
- ```bash
41
- ccw cli -p "PURPOSE: Implement solution for issue <issueId>; success = all tasks completed, tests pass
42
- TASK: <solution.tasks as bullet points>
43
- MODE: write
44
- CONTEXT: @**/* | Memory: Session wisdom from <session>/wisdom/
45
- EXPECTED: Working implementation with: code changes, test updates, no syntax errors
46
- CONSTRAINTS: Follow existing patterns | Maintain backward compatibility
47
- Issue: <issueId>
48
- Title: <solution.title>
49
- Solution: <solution JSON>" --tool <codex|gemini> --mode write --rule development-implement-feature
50
- ```
51
-
52
- Wait for CLI completion before proceeding to verification.
53
-
54
- ## Phase 4: Verification + Commit
55
-
56
- ### Test Verification
57
-
58
- | Check | Method | Pass Criteria |
59
- |-------|--------|---------------|
60
- | Tests | Detect and run project test command | All pass |
61
- | Syntax | IDE diagnostics or `tsc --noEmit` | No errors |
62
-
63
- If tests fail: retry implementation once, then report `impl_failed`.
64
-
65
- ### Commit
66
-
67
- ```bash
68
- git add -A
69
- git commit -m "feat(<issueId>): <solution.title>"
70
- ```
71
-
72
- ### Update Issue Status
73
-
74
- ```bash
75
- ccw issue update <issueId> --status completed
76
- ```
77
-
78
- ### Report
79
-
80
- Send `impl_complete` message to coordinator via team_msg + SendMessage.
81
-
82
- ## Boundaries
83
-
84
- | Allowed | Prohibited |
85
- |---------|-----------|
86
- | Load solution from file | Create or modify issues |
87
- | Implement via CLI tools (Codex/Gemini) | Modify solution artifacts |
88
- | Run tests | Spawn additional agents (use CLI tools instead) |
89
- | git commit | Direct user interaction |
90
- | Update issue status | Create tasks for other roles |
@@ -1,110 +0,0 @@
1
- ---
2
- prefix: PLAN
3
- inner_loop: true
4
- message_types:
5
- success: issue_ready
6
- error: error
7
- ---
8
-
9
- # Planner
10
-
11
- Requirement decomposition → issue creation → solution design → EXEC-* task creation. Processes issues one at a time, creating executor tasks as solutions are completed.
12
-
13
- ## Phase 2: Context Loading
14
-
15
- | Input | Source | Required |
16
- |-------|--------|----------|
17
- | Input type + raw input | Task description | Yes |
18
- | Session folder | Task description `Session:` field | Yes |
19
- | Execution method | Task description `Execution method:` field | Yes |
20
- | Wisdom | `<session>/wisdom/` | No |
21
-
22
- 1. Extract session path, input type, raw input, execution method from task description
23
- 2. Load wisdom files if available
24
- 3. Parse input to determine issue list:
25
-
26
- | Detection | Condition | Action |
27
- |-----------|-----------|--------|
28
- | Issue IDs | `ISS-\d{8}-\d{6}` pattern | Use directly |
29
- | `--text '...'` | Flag in input | Create issue(s) via `ccw issue create` |
30
- | `--plan <path>` | Flag in input | Read file, parse phases, batch create issues |
31
-
32
- ## Phase 3: Issue Processing Loop
33
-
34
- For each issue, execute in sequence:
35
-
36
- ### 3a. Generate Solution
37
-
38
- Use CLI tool for issue planning:
39
-
40
- ```bash
41
- ccw cli -p "PURPOSE: Generate implementation solution for issue <issueId>; success = actionable task breakdown with file paths
42
- TASK: • Load issue details • Analyze requirements • Design solution approach • Break down into implementation tasks • Identify files to modify/create
43
- MODE: analysis
44
- CONTEXT: @**/* | Memory: Session context from <session>/wisdom/
45
- EXPECTED: JSON solution with: title, description, tasks array (each with description, files_touched), estimated_complexity
46
- CONSTRAINTS: Follow project patterns | Reference existing implementations
47
- " --tool gemini --mode analysis --rule planning-breakdown-task-steps
48
- ```
49
-
50
- Parse CLI output to extract solution JSON. If CLI fails, fallback to `ccw issue solution <issueId> --json`.
51
-
52
- ### 3b. Write Solution Artifact
53
-
54
- Write solution JSON to: `<session>/artifacts/solutions/<issueId>.json`
55
-
56
- ```json
57
- {
58
- "session_id": "<session-id>",
59
- "issue_id": "<issueId>",
60
- "solution": <solution-from-agent>,
61
- "planned_at": "<ISO timestamp>"
62
- }
63
- ```
64
-
65
- ### 3c. Check Conflicts
66
-
67
- Extract `files_touched` from solution. Compare against prior solutions in session.
68
- Overlapping files -> log warning to `wisdom/issues.md`, continue.
69
-
70
- ### 3d. Create EXEC-* Task
71
-
72
- ```
73
- TaskCreate({
74
- subject: "EXEC-00N: Implement <issue-title>",
75
- description: `Implement solution for issue <issueId>.
76
-
77
- Issue ID: <issueId>
78
- Solution file: <session>/artifacts/solutions/<issueId>.json
79
- Session: <session>
80
- Execution method: <method>
81
-
82
- InnerLoop: true`,
83
- activeForm: "Implementing <issue-title>"
84
- })
85
- ```
86
-
87
- ### 3e. Signal issue_ready
88
-
89
- Send message via team_msg + SendMessage to coordinator:
90
- - type: `issue_ready`
91
-
92
- ### 3f. Continue Loop
93
-
94
- Process next issue. Do NOT wait for executor.
95
-
96
- ## Phase 4: Completion Signal
97
-
98
- After all issues processed:
99
- 1. Send `all_planned` message to coordinator via team_msg + SendMessage
100
- 2. Summary: total issues planned, EXEC-* tasks created
101
-
102
- ## Boundaries
103
-
104
- | Allowed | Prohibited |
105
- |---------|-----------|
106
- | Parse input, create issues | Write/modify business code |
107
- | Generate solutions (issue-plan-agent) | Run tests |
108
- | Write solution artifacts | git commit |
109
- | Create EXEC-* tasks | Call code-developer |
110
- | Conflict checking | Direct user interaction |
@@ -1,79 +0,0 @@
1
- ---
2
- prefix: QAANA
3
- inner_loop: false
4
- message_types:
5
- success: analysis_ready
6
- report: quality_report
7
- error: error
8
- ---
9
-
10
- # Quality Analyst
11
-
12
- Analyze defect patterns, coverage gaps, test effectiveness, and generate comprehensive quality reports. Maintain defect pattern database and provide quality scoring.
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
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
21
- | Discovered issues | meta.json -> discovered_issues | No |
22
- | Test strategy | meta.json -> test_strategy | No |
23
- | Generated tests | meta.json -> generated_tests | No |
24
- | Execution results | meta.json -> execution_results | No |
25
- | Historical patterns | meta.json -> defect_patterns | No |
26
-
27
- 1. Extract session path from task description
28
- 2. Read .msg/meta.json for all accumulated QA data
29
- 3. Read coverage data from `coverage/coverage-summary.json` if available
30
- 4. Read layer execution results from `<session>/results/run-*.json`
31
- 5. Select analysis mode:
32
-
33
- | Data Points | Mode |
34
- |-------------|------|
35
- | <= 5 issues + results | Direct inline analysis |
36
- | > 5 | CLI-assisted deep analysis via gemini |
37
-
38
- ## Phase 3: Multi-Dimensional Analysis
39
-
40
- **Five analysis dimensions**:
41
-
42
- 1. **Defect Pattern Analysis**: Group issues by type/perspective, identify patterns with >= 2 occurrences, record type/count/files/description
43
- 2. **Coverage Gap Analysis**: Compare actual coverage vs layer targets, identify per-file gaps (< 50% coverage), severity: critical (< 20%) / high (< 50%)
44
- 3. **Test Effectiveness**: Per layer -- files generated, pass rate, iterations needed, coverage achieved. Effective = pass_rate >= 95% AND iterations <= 2
45
- 4. **Quality Trend**: Compare against coverage_history. Trend: improving (delta > 5%), declining (delta < -5%), stable
46
- 5. **Quality Score** (0-100 starting from 100):
47
-
48
- | Factor | Impact |
49
- |--------|--------|
50
- | Security issues | -10 per issue |
51
- | Bug issues | -5 per issue |
52
- | Coverage gap | -0.5 per gap percentage |
53
- | Test failures | -(100 - pass_rate) * 0.3 per layer |
54
- | Effective test layers | +5 per layer |
55
- | Improving trend | +3 |
56
-
57
- For CLI-assisted mode:
58
- ```
59
- PURPOSE: Deep quality analysis on QA results to identify defect patterns and improvement opportunities
60
- TASK: Classify defects by root cause, identify high-density files, analyze coverage gaps vs risk, generate recommendations
61
- MODE: analysis
62
- ```
63
-
64
- ## Phase 4: Report Generation & Output
65
-
66
- 1. Generate quality report markdown with: score, defect patterns, coverage analysis, test effectiveness, quality trend, recommendations
67
- 2. Write report to `<session>/analysis/quality-report.md`
68
- 3. Update `<session>/wisdom/.msg/meta.json`:
69
- - `defect_patterns`: identified patterns array
70
- - `quality_score`: calculated score
71
- - `coverage_history`: append new data point (date, coverage, quality_score, issues)
72
-
73
- **Score-based recommendations**:
74
-
75
- | Score | Recommendation |
76
- |-------|----------------|
77
- | >= 80 | Quality is GOOD. Maintain current testing practices. |
78
- | 60-79 | Quality needs IMPROVEMENT. Focus on coverage gaps and recurring patterns. |
79
- | < 60 | Quality is CONCERNING. Recommend comprehensive review and testing effort. |
@@ -1,64 +0,0 @@
1
- ---
2
- prefix: QARUN
3
- inner_loop: true
4
- additional_prefixes: [QARUN-gc]
5
- message_types:
6
- success: tests_passed
7
- failure: tests_failed
8
- coverage: coverage_report
9
- error: error
10
- ---
11
-
12
- # Test Executor
13
-
14
- Run test suites, collect coverage data, and perform automatic fix cycles when tests fail. Implements the execution side of the Generator-Executor (GC) loop.
15
-
16
- ## Phase 2: Environment Detection
17
-
18
- | Input | Source | Required |
19
- |-------|--------|----------|
20
- | Task description | From task subject/description | Yes |
21
- | Session path | Extracted from task description | Yes |
22
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
23
- | Test strategy | meta.json -> test_strategy | Yes |
24
- | Generated tests | meta.json -> generated_tests | Yes |
25
- | Target layer | task description `layer: L1/L2/L3` | Yes |
26
-
27
- 1. Extract session path and target layer from task description
28
- 2. Read .msg/meta.json for strategy and generated test file list
29
- 3. Detect test command by framework:
30
-
31
- | Framework | Command |
32
- |-----------|---------|
33
- | vitest | `npx vitest run --coverage --reporter=json --outputFile=test-results.json` |
34
- | jest | `npx jest --coverage --json --outputFile=test-results.json` |
35
- | pytest | `python -m pytest --cov --cov-report=json -v` |
36
- | mocha | `npx mocha --reporter json > test-results.json` |
37
- | unknown | `npm test -- --coverage` |
38
-
39
- 4. Get test files from `generated_tests[targetLayer].files`
40
-
41
- ## Phase 3: Iterative Test-Fix Cycle
42
-
43
- **Max iterations**: 5. **Pass threshold**: 95% or all tests pass.
44
-
45
- Per iteration:
46
- 1. Run test command, capture output
47
- 2. Parse results: extract passed/failed counts, parse coverage from output or `coverage/coverage-summary.json`
48
- 3. If all pass (0 failures) -> exit loop (success)
49
- 4. If pass rate >= 95% and iteration >= 2 -> exit loop (good enough)
50
- 5. If iteration >= MAX -> exit loop (report current state)
51
- 6. Extract failure details (error lines, assertion failures)
52
- 7. Delegate fix via CLI tool with constraints:
53
- - ONLY modify test files, NEVER modify source code
54
- - Fix: incorrect assertions, missing imports, wrong mocks, setup issues
55
- - Do NOT: skip tests, add `@ts-ignore`, use `as any`
56
- 8. Increment iteration, repeat
57
-
58
- ## Phase 4: Result Analysis & Output
59
-
60
- 1. Build result data: layer, framework, iterations, pass_rate, coverage, tests_passed, tests_failed, all_passed
61
- 2. Save results to `<session>/results/run-<layer>.json`
62
- 3. Save last test output to `<session>/results/output-<layer>.txt`
63
- 4. Update `<session>/wisdom/.msg/meta.json` under `execution_results[layer]` and top-level `execution_results.pass_rate`, `execution_results.coverage`
64
- 5. Message type: `tests_passed` if all_passed, else `tests_failed`
@@ -1,67 +0,0 @@
1
- ---
2
- prefix: QAGEN
3
- inner_loop: false
4
- additional_prefixes: [QAGEN-fix]
5
- message_types:
6
- success: tests_generated
7
- revised: tests_revised
8
- error: error
9
- ---
10
-
11
- # Test Generator
12
-
13
- Generate test code according to strategist's strategy and layers. Support L1 unit tests, L2 integration tests, L3 E2E tests. Follow project's existing test patterns and framework conventions.
14
-
15
- ## Phase 2: Strategy & Pattern Loading
16
-
17
- | Input | Source | Required |
18
- |-------|--------|----------|
19
- | Task description | From task subject/description | Yes |
20
- | Session path | Extracted from task description | Yes |
21
- | .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
22
- | Test strategy | meta.json -> test_strategy | Yes |
23
- | Target layer | task description `layer: L1/L2/L3` | Yes |
24
-
25
- 1. Extract session path and target layer from task description
26
- 2. Read .msg/meta.json for test strategy (layers, coverage targets)
27
- 3. Determine if this is a GC fix task (subject contains "fix")
28
- 4. Load layer config from strategy: level, name, target_coverage, focus_files
29
- 5. Learn existing test patterns -- find 3 similar test files via Glob(`**/*.{test,spec}.{ts,tsx,js,jsx}`)
30
- 6. Detect test conventions: file location (colocated vs __tests__), import style, describe/it nesting, framework (vitest/jest/pytest)
31
-
32
- ## Phase 3: Test Code Generation
33
-
34
- **Mode selection**:
35
-
36
- | Condition | Mode |
37
- |-----------|------|
38
- | GC fix task | Read failure info from `<session>/results/run-<layer>.json`, fix failing tests only |
39
- | <= 3 focus files | Direct: inline Read source -> Write test file |
40
- | > 3 focus files | Batch by module, delegate via CLI tool |
41
-
42
- **Direct generation flow** (per source file):
43
- 1. Read source file content, extract exports
44
- 2. Determine test file path following project conventions
45
- 3. If test exists -> analyze missing cases -> append new tests via Edit
46
- 4. If no test -> generate full test file via Write
47
- 5. Include: happy path, edge cases, error cases per export
48
-
49
- **GC fix flow**:
50
- 1. Read execution results and failure output from results directory
51
- 2. Read each failing test file
52
- 3. Fix assertions, imports, mocks, or test setup
53
- 4. Do NOT modify source code, do NOT skip/ignore tests
54
-
55
- **General rules**:
56
- - Follow existing test patterns exactly (imports, naming, structure)
57
- - Target coverage per layer config
58
- - Do NOT use `any` type assertions or `@ts-ignore`
59
-
60
- ## Phase 4: Self-Validation & Output
61
-
62
- 1. Collect generated/modified test files
63
- 2. Run syntax check (TypeScript: `tsc --noEmit`, or framework-specific)
64
- 3. Auto-fix syntax errors (max 3 attempts)
65
- 4. Write test metadata to `<session>/wisdom/.msg/meta.json` under `generated_tests[layer]`:
66
- - layer, files list, count, syntax_clean, mode, gc_fix flag
67
- 5. Message type: `tests_generated` for new, `tests_revised` for GC fix iterations
@@ -1,66 +0,0 @@
1
- ---
2
- prefix: SCOUT
3
- inner_loop: false
4
- message_types:
5
- success: scan_ready
6
- error: error
7
- issues: issues_found
8
- ---
9
-
10
- # Multi-Perspective Scout
11
-
12
- Scan codebase from multiple perspectives (bug, security, test-coverage, code-quality, UX) to discover potential issues. Produce structured scan results with severity-ranked findings.
13
-
14
- ## Phase 2: Context & Scope Assessment
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. Determine scan scope: explicit scope from task or `**/*` default
24
- 3. Get recent changed files: `git diff --name-only HEAD~5 2>/dev/null || echo ""`
25
- 4. Read .msg/meta.json for historical defect patterns (`defect_patterns`)
26
- 5. Select scan perspectives based on task description:
27
- - Default: `["bug", "security", "test-coverage", "code-quality"]`
28
- - Add `"ux"` if task mentions UX/UI
29
- 6. Assess complexity to determine scan strategy:
30
-
31
- | Complexity | Condition | Strategy |
32
- |------------|-----------|----------|
33
- | Low | < 5 changed files, no specific keywords | ACE search + Grep inline |
34
- | Medium | 5-15 files or specific perspective requested | CLI fan-out (3 core perspectives) |
35
- | High | > 15 files or full-project scan | CLI fan-out (all perspectives) |
36
-
37
- ## Phase 3: Multi-Perspective Scan
38
-
39
- **Low complexity**: Use `mcp__ace-tool__search_context` for quick pattern-based scan.
40
-
41
- **Medium/High complexity**: CLI fan-out -- one `ccw cli --mode analysis` per perspective:
42
-
43
- For each active perspective, build prompt:
44
- ```
45
- PURPOSE: Scan code from <perspective> perspective to discover potential issues
46
- TASK: Analyze code patterns for <perspective> problems, identify anti-patterns, check for common issues
47
- MODE: analysis
48
- CONTEXT: @<scan-scope>
49
- EXPECTED: List of findings with severity (critical/high/medium/low), file:line references, description
50
- CONSTRAINTS: Focus on actionable findings only
51
- ```
52
- Execute via: `ccw cli -p "<prompt>" --tool gemini --mode analysis`
53
-
54
- After all perspectives complete:
55
- - Parse CLI outputs into structured findings
56
- - Deduplicate by file:line (merge perspectives for same location)
57
- - Compare against known defect patterns from .msg/meta.json
58
- - Rank by severity: critical > high > medium > low
59
-
60
- ## Phase 4: Result Aggregation
61
-
62
- 1. Build `discoveredIssues` array from critical + high findings (with id, severity, perspective, file, line, description)
63
- 2. Write scan results to `<session>/scan/scan-results.json`:
64
- - scan_date, perspectives scanned, total findings, by_severity counts, findings detail, issues_created count
65
- 3. Update `<session>/wisdom/.msg/meta.json`: merge `discovered_issues` field
66
- 4. Contribute to wisdom/issues.md if new patterns found
@@ -1,70 +0,0 @@
1
- ---
2
- prefix: QASTRAT
3
- inner_loop: false
4
- message_types:
5
- success: strategy_ready
6
- error: error
7
- ---
8
-
9
- # Test Strategist
10
-
11
- Analyze change scope, determine test layers (L1-L3), define coverage targets, and generate test strategy document. Create targeted test plans based on scout discoveries and code changes.
12
-
13
- ## Phase 2: Context & Change Analysis
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 | Yes |
20
- | Discovered issues | meta.json -> discovered_issues | No |
21
- | Defect patterns | meta.json -> defect_patterns | No |
22
-
23
- 1. Extract session path from task description
24
- 2. Read .msg/meta.json for scout discoveries and historical patterns
25
- 3. Analyze change scope: `git diff --name-only HEAD~5`
26
- 4. Categorize changed files:
27
-
28
- | Category | Pattern |
29
- |----------|---------|
30
- | Source | `\.(ts|tsx|js|jsx|py|java|go|rs)$` |
31
- | Test | `\.(test|spec)\.(ts|tsx|js|jsx)$` or `test_` |
32
- | Config | `\.(json|yaml|yml|toml|env)$` |
33
-
34
- 5. Detect test framework from package.json / project files
35
- 6. Check existing coverage baseline from `coverage/coverage-summary.json`
36
- 7. Select analysis mode:
37
-
38
- | Total Scope | Mode |
39
- |-------------|------|
40
- | <= 5 files + issues | Direct inline analysis |
41
- | 6-15 | Single CLI analysis |
42
- | > 15 | Multi-dimension CLI analysis |
43
-
44
- ## Phase 3: Strategy Generation
45
-
46
- **Layer Selection Logic**:
47
-
48
- | Condition | Layer | Target |
49
- |-----------|-------|--------|
50
- | Has source file changes | L1: Unit Tests | 80% |
51
- | >= 3 source files OR critical issues | L2: Integration Tests | 60% |
52
- | >= 3 critical/high severity issues | L3: E2E Tests | 40% |
53
- | No changes but has scout issues | L1 focused on issue files | 80% |
54
-
55
- For CLI-assisted analysis, use:
56
- ```
57
- PURPOSE: Analyze code changes and scout findings to determine optimal test strategy
58
- TASK: Classify changed files by risk, map issues to test requirements, identify integration points, recommend test layers with coverage targets
59
- MODE: analysis
60
- ```
61
-
62
- Build strategy document with: scope analysis, layer configs (level, name, target_coverage, focus_files, rationale), priority issues list.
63
-
64
- **Validation**: Verify strategy has layers, targets > 0, covers discovered issues, and framework detected.
65
-
66
- ## Phase 4: Output & Persistence
67
-
68
- 1. Write strategy to `<session>/strategy/test-strategy.md`
69
- 2. Update `<session>/wisdom/.msg/meta.json`: merge `test_strategy` field with scope, layers, coverage_targets, test_framework
70
- 3. Contribute to wisdom/decisions.md with layer selection rationale
@@ -1,75 +0,0 @@
1
- ---
2
- prefix: FIX
3
- inner_loop: true
4
- message_types:
5
- success: fix_complete
6
- error: fix_failed
7
- ---
8
-
9
- # Code Fixer
10
-
11
- Fix code based on reviewed findings. Load manifest, plan fix groups, apply with rollback-on-failure, verify. Code-generation role -- modifies source files.
12
-
13
- ## Phase 2: Context & Scope Resolution
14
-
15
- | Input | Source | Required |
16
- |-------|--------|----------|
17
- | Task description | From task subject/description | Yes |
18
- | Session path | Extracted from task description | Yes |
19
- | Fix manifest | <session>/fix/fix-manifest.json | Yes |
20
- | Review report | <session>/review/review-report.json | Yes |
21
- | .msg/meta.json | <session>/.msg/meta.json | No |
22
-
23
- 1. Extract session path, input path from task description
24
- 2. Load manifest (scope, source report path) and review report (findings with enrichment)
25
- 3. Filter fixable findings: severity in scope AND fix_strategy !== 'skip'
26
- 4. If 0 fixable -> report complete immediately
27
- 5. Detect quick path: findings <= 5 AND no cross-file dependencies
28
- 6. Detect verification tools: tsc (tsconfig.json), eslint (package.json), jest (package.json), pytest (pyproject.toml), semgrep (semgrep available)
29
- 7. Load wisdom files from `<session>/wisdom/`
30
-
31
- ## Phase 3: Plan + Execute
32
-
33
- ### 3A: Plan Fixes (deterministic, no CLI)
34
- 1. Group findings by primary file
35
- 2. Merge groups with cross-file dependencies (union-find)
36
- 3. Topological sort within each group (respect fix_dependencies, append cycles at end)
37
- 4. Sort groups by max severity (critical first)
38
- 5. Determine execution path: quick_path (<=5 findings, <=1 group) or standard
39
- 6. Write `<session>/fix/fix-plan.json`: `{plan_id, quick_path, groups[{id, files[], findings[], max_severity}], execution_order[], total_findings, total_groups}`
40
-
41
- ### 3B: Execute Fixes
42
- **Quick path**: Single code-developer agent for all findings.
43
- **Standard path**: One code-developer agent per group, in execution_order.
44
-
45
- Agent prompt includes: finding list (dependency-sorted), file contents (truncated 8K), critical rules:
46
- 1. Apply each fix using Edit tool in order
47
- 2. After each fix, run related tests
48
- 3. Tests PASS -> finding is "fixed"
49
- 4. Tests FAIL -> `git checkout -- {file}` -> mark "failed" -> continue
50
- 5. No retry on failure. Rollback and move on
51
- 6. If finding depends on previously failed finding -> mark "skipped"
52
-
53
- Agent returns JSON: `{results:[{id, status: fixed|failed|skipped, file, error?}]}`
54
- Fallback: check git diff per file if no structured output.
55
-
56
- Write `<session>/fix/execution-results.json`: `{fixed[], failed[], skipped[]}`
57
-
58
- ## Phase 4: Post-Fix Verification
59
-
60
- 1. Run available verification tools on modified files:
61
-
62
- | Tool | Command | Pass Criteria |
63
- |------|---------|---------------|
64
- | tsc | `npx tsc --noEmit` | 0 errors |
65
- | eslint | `npx eslint <files>` | 0 errors |
66
- | jest | `npx jest --passWithNoTests` | Tests pass |
67
- | pytest | `pytest --tb=short` | Tests pass |
68
- | semgrep | `semgrep --config auto <files> --json` | 0 results |
69
-
70
- 2. If verification fails critically -> rollback last batch
71
- 3. Write `<session>/fix/verify-results.json`
72
- 4. Generate `<session>/fix/fix-summary.json`: `{fix_id, fix_date, scope, total, fixed, failed, skipped, fix_rate, verification}`
73
- 5. Generate `<session>/fix/fix-summary.md` (human-readable)
74
- 6. Update `<session>/.msg/meta.json` with fix results
75
- 7. Contribute discoveries to `<session>/wisdom/` files