claude-code-workflow 7.2.10 → 7.2.11

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 (322) 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/skills/review-code/SKILL.md +2 -0
  9. package/.claude/skills/review-cycle/SKILL.md +4 -0
  10. package/.claude/skills/skill-simplify/phases/02-optimize.md +4 -0
  11. package/.claude/skills/spec-generator/phases/05-epics-stories.md +4 -0
  12. package/.claude/skills/team-arch-opt/specs/team-config.json +5 -5
  13. package/.claude/skills/team-frontend-debug/roles/analyzer/role.md +3 -2
  14. package/.claude/skills/team-perf-opt/roles/coordinator/commands/monitor.md +1 -1
  15. package/.claude/skills/team-perf-opt/specs/team-config.json +5 -5
  16. package/.claude/skills/team-quality-assurance/roles/executor/role.md +2 -1
  17. package/.claude/skills/team-review/roles/reviewer/role.md +2 -1
  18. package/.claude/skills/team-tech-debt/roles/scanner/role.md +2 -1
  19. package/.claude/skills/team-testing/roles/executor/role.md +2 -1
  20. package/.claude/skills/team-testing/roles/generator/role.md +2 -1
  21. package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +2 -1
  22. package/.claude/skills/team-ux-improve/specs/team-config.json +6 -6
  23. package/.claude/skills/workflow-execute/phases/06-review.md +4 -4
  24. package/.claude/skills/workflow-lite-test-review/SKILL.md +2 -0
  25. package/.claude/skills/workflow-plan/phases/05-plan-verify.md +4 -0
  26. package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +1 -0
  27. package/.claude/skills/workflow-tdd-plan/phases/05-tdd-task-generation.md +2 -1
  28. package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +1 -0
  29. package/.claude/skills/workflow-test-fix/phases/05-test-cycle-execute.md +2 -1
  30. package/.claude/skills/workflow-tune/SKILL.md +487 -0
  31. package/.claude/skills/workflow-tune/phases/01-setup.md +548 -0
  32. package/.claude/skills/workflow-tune/phases/02-step-execute.md +197 -0
  33. package/.claude/skills/workflow-tune/phases/03-step-analyze.md +386 -0
  34. package/.claude/skills/workflow-tune/phases/04-synthesize.md +257 -0
  35. package/.claude/skills/workflow-tune/phases/05-optimize-report.md +246 -0
  36. package/.claude/skills/workflow-tune/specs/workflow-eval-criteria.md +57 -0
  37. package/.claude/skills/workflow-tune/templates/step-analysis-prompt.md +88 -0
  38. package/.claude/skills/workflow-tune/templates/synthesis-prompt.md +90 -0
  39. package/.codex/skills/analyze-with-file/SKILL.md +2 -0
  40. package/.codex/skills/debug-with-file/SKILL.md +4 -0
  41. package/.codex/skills/issue-discover/SKILL.md +1 -0
  42. package/.codex/skills/review-cycle/phases/02-parallel-review.md +3 -0
  43. package/.codex/skills/team-designer/agents/validation-reporter.md +186 -0
  44. package/.codex/skills/team-iterdev/agents/gc-controller.md +193 -0
  45. package/.codex/skills/team-iterdev/agents/task-analyzer.md +206 -0
  46. package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +165 -0
  47. package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +163 -0
  48. package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +182 -0
  49. package/.codex/skills/team-uidesign/agents/completion-handler.md +177 -0
  50. package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +162 -0
  51. package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +4 -0
  52. package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +2 -0
  53. package/ccw/dist/commands/spec.d.ts.map +1 -1
  54. package/ccw/dist/commands/spec.js +9 -4
  55. package/ccw/dist/commands/spec.js.map +1 -1
  56. package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
  57. package/ccw/dist/core/routes/codexlens-routes.js +3 -1
  58. package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
  59. package/ccw/dist/tools/spec-index-builder.d.ts +8 -4
  60. package/ccw/dist/tools/spec-index-builder.d.ts.map +1 -1
  61. package/ccw/dist/tools/spec-index-builder.js +8 -4
  62. package/ccw/dist/tools/spec-index-builder.js.map +1 -1
  63. package/ccw/dist/tools/spec-init.d.ts +1 -1
  64. package/ccw/dist/tools/spec-init.d.ts.map +1 -1
  65. package/ccw/dist/tools/spec-init.js +127 -0
  66. package/ccw/dist/tools/spec-init.js.map +1 -1
  67. package/ccw/dist/tools/spec-loader.d.ts.map +1 -1
  68. package/ccw/dist/tools/spec-loader.js +2 -1
  69. package/ccw/dist/tools/spec-loader.js.map +1 -1
  70. package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js → AlertDialog-BW9jiZ-p.js} +2 -2
  71. package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js.map → AlertDialog-BW9jiZ-p.js.map} +1 -1
  72. package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js → AnalysisPage-ds-w_nVO.js} +2 -2
  73. package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js.map → AnalysisPage-ds-w_nVO.js.map} +1 -1
  74. package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js → ApiSettingsPage-DlCbXxTz.js} +2 -2
  75. package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js.map → ApiSettingsPage-DlCbXxTz.js.map} +1 -1
  76. package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js → CliModeToggle-Dq3nL4fF.js} +2 -2
  77. package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js.map → CliModeToggle-Dq3nL4fF.js.map} +1 -1
  78. package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js → CliSessionSharePage-BNDkEE4u.js} +2 -2
  79. package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js.map → CliSessionSharePage-BNDkEE4u.js.map} +1 -1
  80. package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js → CliViewerPage-ChM-uNx_.js} +2 -2
  81. package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js.map → CliViewerPage-ChM-uNx_.js.map} +1 -1
  82. package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js +2 -0
  83. package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js.map +1 -0
  84. package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js → Collapsible-CRNbykXN.js} +2 -2
  85. package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js.map → Collapsible-CRNbykXN.js.map} +1 -1
  86. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js → CommandsManagerPage-C2JWcemF.js} +2 -2
  87. package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js.map → CommandsManagerPage-C2JWcemF.js.map} +1 -1
  88. package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js → DeepWikiPage-CvleOtJy.js} +2 -2
  89. package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js.map → DeepWikiPage-CvleOtJy.js.map} +1 -1
  90. package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js → EndpointsPage-CMOWQG64.js} +2 -2
  91. package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js.map → EndpointsPage-CMOWQG64.js.map} +1 -1
  92. package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js → ExplorerPage-DaFPRlNo.js} +2 -2
  93. package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js.map → ExplorerPage-DaFPRlNo.js.map} +1 -1
  94. package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js → FixSessionPage-CC4p04Az.js} +2 -2
  95. package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js.map → FixSessionPage-CC4p04Az.js.map} +1 -1
  96. package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js → FloatingFileBrowser-DROn1xZ5.js} +2 -2
  97. package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js.map → FloatingFileBrowser-DROn1xZ5.js.map} +1 -1
  98. package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js → FloatingPanel-CmL_yhDv.js} +2 -2
  99. package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js.map → FloatingPanel-CmL_yhDv.js.map} +1 -1
  100. package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js → GraphExplorerPage-DCV5ybKE.js} +2 -2
  101. package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js.map → GraphExplorerPage-DCV5ybKE.js.map} +1 -1
  102. package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js → HistoryPage-D0fYQZgc.js} +2 -2
  103. package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js.map → HistoryPage-D0fYQZgc.js.map} +1 -1
  104. package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js → HookManagerPage-D2FuJfsM.js} +2 -2
  105. package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js.map → HookManagerPage-D2FuJfsM.js.map} +1 -1
  106. package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js → InstallationsPage-tjklillZ.js} +2 -2
  107. package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js.map → InstallationsPage-tjklillZ.js.map} +1 -1
  108. package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js → IssueHubPage-E4JVrhO1.js} +2 -2
  109. package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js.map → IssueHubPage-E4JVrhO1.js.map} +1 -1
  110. package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js → LiteTasksPage-aJuRoyLt.js} +2 -2
  111. package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js.map → LiteTasksPage-aJuRoyLt.js.map} +1 -1
  112. package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js → McpManagerPage-BJeuWJv1.js} +2 -2
  113. package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js.map → McpManagerPage-BJeuWJv1.js.map} +1 -1
  114. package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js → MemoryPage-BI4FAXhs.js} +2 -2
  115. package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js.map → MemoryPage-BI4FAXhs.js.map} +1 -1
  116. package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js → NotFoundPage-DD2svchp.js} +2 -2
  117. package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js.map → NotFoundPage-DD2svchp.js.map} +1 -1
  118. package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js → OrchestratorPage-FC__7yYa.js} +2 -2
  119. package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js.map → OrchestratorPage-FC__7yYa.js.map} +1 -1
  120. package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js → ProjectOverviewPage-DBB_-FzV.js} +2 -2
  121. package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js.map → ProjectOverviewPage-DBB_-FzV.js.map} +1 -1
  122. package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js → PromptHistoryPage-BwOAvCH8.js} +2 -2
  123. package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js.map → PromptHistoryPage-BwOAvCH8.js.map} +1 -1
  124. package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js → ReviewSessionPage-Dd1-g_gp.js} +2 -2
  125. package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js.map → ReviewSessionPage-Dd1-g_gp.js.map} +1 -1
  126. package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js → RulesManagerPage-B3RGdsKD.js} +2 -2
  127. package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js.map → RulesManagerPage-B3RGdsKD.js.map} +1 -1
  128. package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js → SessionDetailPage-DM-W5R8K.js} +2 -2
  129. package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js.map → SessionDetailPage-DM-W5R8K.js.map} +1 -1
  130. package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js → SessionsPage-BVz1KCc7.js} +2 -2
  131. package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js.map → SessionsPage-BVz1KCc7.js.map} +1 -1
  132. package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js → SettingsPage-ComW7EZS.js} +4 -4
  133. package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js.map → SettingsPage-ComW7EZS.js.map} +1 -1
  134. package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js → SkillsManagerPage-CKom9XwV.js} +2 -2
  135. package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js.map → SkillsManagerPage-CKom9XwV.js.map} +1 -1
  136. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js → SpecsSettingsPage-DQz7WP2s.js} +2 -2
  137. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js.map → SpecsSettingsPage-DQz7WP2s.js.map} +1 -1
  138. package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js → Switch-BPMdND9H.js} +2 -2
  139. package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js.map → Switch-BPMdND9H.js.map} +1 -1
  140. package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js → TabsNavigation-qqt70VYL.js} +2 -2
  141. package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js.map → TabsNavigation-qqt70VYL.js.map} +1 -1
  142. package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js → TaskDrawer-BqK_qiHX.js} +2 -2
  143. package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js.map → TaskDrawer-BqK_qiHX.js.map} +1 -1
  144. package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js → TeamPage-u5_i0Rgh.js} +2 -2
  145. package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js.map → TeamPage-u5_i0Rgh.js.map} +1 -1
  146. package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js → TerminalDashboardPage-rUtC9e40.js} +2 -2
  147. package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js.map → TerminalDashboardPage-rUtC9e40.js.map} +1 -1
  148. package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js → archive-C3u8YNQF.js} +2 -2
  149. package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js.map → archive-C3u8YNQF.js.map} +1 -1
  150. package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js → archive-restore-DfQ998g5.js} +2 -2
  151. package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js.map → archive-restore-DfQ998g5.js.map} +1 -1
  152. package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js → arrow-right-BshJM9Po.js} +2 -2
  153. package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js.map → arrow-right-BshJM9Po.js.map} +1 -1
  154. package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js → bookmark-plus-D03qJyOZ.js} +2 -2
  155. package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js.map → bookmark-plus-D03qJyOZ.js.map} +1 -1
  156. package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js → bot-CyzWuwq0.js} +2 -2
  157. package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js.map → bot-CyzWuwq0.js.map} +1 -1
  158. package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js → braces-BPgtyjsG.js} +2 -2
  159. package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js.map → braces-BPgtyjsG.js.map} +1 -1
  160. package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js → circle-stop-Dix1AOmw.js} +2 -2
  161. package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js.map → circle-stop-Dix1AOmw.js.map} +1 -1
  162. package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js → cpu-CCQ4Q0Zh.js} +2 -2
  163. package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js.map → cpu-CCQ4Q0Zh.js.map} +1 -1
  164. package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js → ellipsis-vertical-BpTysg-Y.js} +2 -2
  165. package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js.map → ellipsis-vertical-BpTysg-Y.js.map} +1 -1
  166. package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js → eye-DGY1rAZs.js} +2 -2
  167. package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js.map → eye-DGY1rAZs.js.map} +1 -1
  168. package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js → eye-off-D8t3JfWG.js} +2 -2
  169. package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js.map → eye-off-D8t3JfWG.js.map} +1 -1
  170. package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js → file-json-BAdJb0n8.js} +2 -2
  171. package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js.map → file-json-BAdJb0n8.js.map} +1 -1
  172. package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js → file-text-DrJFiOUB.js} +2 -2
  173. package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js.map → file-text-DrJFiOUB.js.map} +1 -1
  174. package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js → filter-CKqzYbz7.js} +2 -2
  175. package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js.map → filter-CKqzYbz7.js.map} +1 -1
  176. package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js → folder-CV8511y9.js} +2 -2
  177. package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js.map → folder-CV8511y9.js.map} +1 -1
  178. package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js → gauge-XKvmu_uU.js} +2 -2
  179. package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js.map → gauge-XKvmu_uU.js.map} +1 -1
  180. package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js → globe-C56cDUzX.js} +2 -2
  181. package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js.map → globe-C56cDUzX.js.map} +1 -1
  182. package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js → grid-3x3-Bya-suFW.js} +2 -2
  183. package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js.map → grid-3x3-Bya-suFW.js.map} +1 -1
  184. package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js → hard-drive-CmuTZpsB.js} +2 -2
  185. package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js.map → hard-drive-CmuTZpsB.js.map} +1 -1
  186. package/ccw/frontend/dist/assets/{hash-Bd1RD285.js → hash-CRPT_tJQ.js} +2 -2
  187. package/ccw/frontend/dist/assets/{hash-Bd1RD285.js.map → hash-CRPT_tJQ.js.map} +1 -1
  188. package/ccw/frontend/dist/assets/{history-eyyCQA6b.js → history-C1pJZQCL.js} +2 -2
  189. package/ccw/frontend/dist/assets/{history-eyyCQA6b.js.map → history-C1pJZQCL.js.map} +1 -1
  190. package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js → index-B6TpijCe.js} +2 -2
  191. package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js.map → index-B6TpijCe.js.map} +1 -1
  192. package/ccw/frontend/dist/assets/{index-b2C0iFd1.js → index-Bcq-7r6F.js} +2 -2
  193. package/ccw/frontend/dist/assets/{index-b2C0iFd1.js.map → index-Bcq-7r6F.js.map} +1 -1
  194. package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js → index-CI8-rBff.js} +2 -2
  195. package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js.map → index-CI8-rBff.js.map} +1 -1
  196. package/ccw/frontend/dist/assets/{index-CY6Lueph.js → index-Dmt9OiEf.js} +2 -2
  197. package/ccw/frontend/dist/assets/{index-CY6Lueph.js.map → index-Dmt9OiEf.js.map} +1 -1
  198. package/ccw/frontend/dist/assets/{index-DfeBbFXo.js → index-anSMmEF8.js} +2 -2
  199. package/ccw/frontend/dist/assets/{index-DfeBbFXo.js.map → index-anSMmEF8.js.map} +1 -1
  200. package/ccw/frontend/dist/assets/{index-B6I7GQC5.js → index-dWT2M6Ef.js} +4 -4
  201. package/ccw/frontend/dist/assets/{index-B6I7GQC5.js.map → index-dWT2M6Ef.js.map} +1 -1
  202. package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js → layout-grid-TSO0BFQE.js} +2 -2
  203. package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js.map → layout-grid-TSO0BFQE.js.map} +1 -1
  204. package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js → lightbulb-Caj6fIQD.js} +2 -2
  205. package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js.map → lightbulb-Caj6fIQD.js.map} +1 -1
  206. package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js → link-2-DE9lMxa-.js} +2 -2
  207. package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js.map → link-2-DE9lMxa-.js.map} +1 -1
  208. package/ccw/frontend/dist/assets/{link-CL4JmoHb.js → link-BZtPgLW0.js} +2 -2
  209. package/ccw/frontend/dist/assets/{link-CL4JmoHb.js.map → link-BZtPgLW0.js.map} +1 -1
  210. package/ccw/frontend/dist/assets/{list-CDmYFcio.js → list-DubWyY-U.js} +2 -2
  211. package/ccw/frontend/dist/assets/{list-CDmYFcio.js.map → list-DubWyY-U.js.map} +1 -1
  212. package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js → map-pin-DwN_48AF.js} +2 -2
  213. package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js.map → map-pin-DwN_48AF.js.map} +1 -1
  214. package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js → messages-square-bjxvaiM9.js} +2 -2
  215. package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js.map → messages-square-bjxvaiM9.js.map} +1 -1
  216. package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js → minimize-2-CGfBKD_V.js} +2 -2
  217. package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js.map → minimize-2-CGfBKD_V.js.map} +1 -1
  218. package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js → package-nzWY6ilt.js} +2 -2
  219. package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js.map → package-nzWY6ilt.js.map} +1 -1
  220. package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js → plug-CiLce49C.js} +2 -2
  221. package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js.map → plug-CiLce49C.js.map} +1 -1
  222. package/ccw/frontend/dist/assets/{power-DmIojFl-.js → power-CFLmB-U9.js} +2 -2
  223. package/ccw/frontend/dist/assets/{power-DmIojFl-.js.map → power-CFLmB-U9.js.map} +1 -1
  224. package/ccw/frontend/dist/assets/{save-BFa03OnG.js → save-DuO6OF0C.js} +2 -2
  225. package/ccw/frontend/dist/assets/{save-BFa03OnG.js.map → save-DuO6OF0C.js.map} +1 -1
  226. package/ccw/frontend/dist/assets/{send-Vet3sN4J.js → send-CZk9p0mM.js} +2 -2
  227. package/ccw/frontend/dist/assets/{send-Vet3sN4J.js.map → send-CZk9p0mM.js.map} +1 -1
  228. package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js → square-check-big-BY_1YQQg.js} +2 -2
  229. package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js.map → square-check-big-BY_1YQQg.js.map} +1 -1
  230. package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js → square-pen-CnZgm6g-.js} +2 -2
  231. package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js.map → square-pen-CnZgm6g-.js.map} +1 -1
  232. package/ccw/frontend/dist/assets/{star-BCQHcnSe.js → star-Cn1F0qy7.js} +2 -2
  233. package/ccw/frontend/dist/assets/{star-BCQHcnSe.js.map → star-Cn1F0qy7.js.map} +1 -1
  234. package/ccw/frontend/dist/assets/{style-CJsrp48L.js → style-Dxs1iXCV.js} +2 -2
  235. package/ccw/frontend/dist/assets/{style-CJsrp48L.js.map → style-Dxs1iXCV.js.map} +1 -1
  236. package/ccw/frontend/dist/assets/{target-CBzCJCB1.js → target-Bz1fLRKH.js} +2 -2
  237. package/ccw/frontend/dist/assets/{target-CBzCJCB1.js.map → target-Bz1fLRKH.js.map} +1 -1
  238. package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js → test-tube-C6qCYlDr.js} +2 -2
  239. package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js.map → test-tube-C6qCYlDr.js.map} +1 -1
  240. package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js → upload-C71kd4Qs.js} +2 -2
  241. package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js.map → upload-C71kd4Qs.js.map} +1 -1
  242. package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js → useApiSettings-CqP2BAJ7.js} +2 -2
  243. package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js.map → useApiSettings-CqP2BAJ7.js.map} +1 -1
  244. package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js → useCli-PCoPoVeM.js} +2 -2
  245. package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js.map → useCli-PCoPoVeM.js.map} +1 -1
  246. package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js → useCommands-3OfPQPw4.js} +2 -2
  247. package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js.map → useCommands-3OfPQPw4.js.map} +1 -1
  248. package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js → useDebounce-bXiFhQx9.js} +2 -2
  249. package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js.map → useDebounce-bXiFhQx9.js.map} +1 -1
  250. package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js → useFileExplorer-DEyUm46_.js} +2 -2
  251. package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js.map → useFileExplorer-DEyUm46_.js.map} +1 -1
  252. package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js → useLocale-sXTrdxcJ.js} +2 -2
  253. package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js.map → useLocale-sXTrdxcJ.js.map} +1 -1
  254. package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js → useSkills-D0W0kXYm.js} +3 -3
  255. package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js.map → useSkills-D0W0kXYm.js.map} +1 -1
  256. package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js → useSystemSettings-DZ-8lZsG.js} +2 -2
  257. package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js.map → useSystemSettings-DZ-8lZsG.js.map} +1 -1
  258. package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js → wand-sparkles-83GmAYuw.js} +2 -2
  259. package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js.map → wand-sparkles-83GmAYuw.js.map} +1 -1
  260. package/ccw/frontend/dist/index.html +1 -1
  261. package/package.json +1 -1
  262. package/.claude/skills/team-arch-opt/role-specs/analyzer.md +0 -80
  263. package/.claude/skills/team-arch-opt/role-specs/designer.md +0 -118
  264. package/.claude/skills/team-arch-opt/role-specs/refactorer.md +0 -106
  265. package/.claude/skills/team-arch-opt/role-specs/reviewer.md +0 -116
  266. package/.claude/skills/team-arch-opt/role-specs/validator.md +0 -117
  267. package/.claude/skills/team-brainstorm/role-specs/challenger.md +0 -63
  268. package/.claude/skills/team-brainstorm/role-specs/evaluator.md +0 -58
  269. package/.claude/skills/team-brainstorm/role-specs/ideator.md +0 -71
  270. package/.claude/skills/team-brainstorm/role-specs/synthesizer.md +0 -59
  271. package/.claude/skills/team-frontend/role-specs/analyst.md +0 -91
  272. package/.claude/skills/team-frontend/role-specs/architect.md +0 -85
  273. package/.claude/skills/team-frontend/role-specs/developer.md +0 -92
  274. package/.claude/skills/team-frontend/role-specs/qa.md +0 -78
  275. package/.claude/skills/team-issue/role-specs/explorer.md +0 -95
  276. package/.claude/skills/team-issue/role-specs/implementer.md +0 -89
  277. package/.claude/skills/team-issue/role-specs/integrator.md +0 -86
  278. package/.claude/skills/team-issue/role-specs/planner.md +0 -83
  279. package/.claude/skills/team-issue/role-specs/reviewer.md +0 -89
  280. package/.claude/skills/team-iterdev/role-specs/architect.md +0 -64
  281. package/.claude/skills/team-iterdev/role-specs/developer.md +0 -73
  282. package/.claude/skills/team-iterdev/role-specs/reviewer.md +0 -65
  283. package/.claude/skills/team-iterdev/role-specs/tester.md +0 -87
  284. package/.claude/skills/team-perf-opt/role-specs/benchmarker.md +0 -110
  285. package/.claude/skills/team-perf-opt/role-specs/optimizer.md +0 -102
  286. package/.claude/skills/team-perf-opt/role-specs/profiler.md +0 -73
  287. package/.claude/skills/team-perf-opt/role-specs/reviewer.md +0 -91
  288. package/.claude/skills/team-perf-opt/role-specs/strategist.md +0 -114
  289. package/.claude/skills/team-planex/role-specs/executor.md +0 -90
  290. package/.claude/skills/team-planex/role-specs/planner.md +0 -110
  291. package/.claude/skills/team-quality-assurance/role-specs/analyst.md +0 -79
  292. package/.claude/skills/team-quality-assurance/role-specs/executor.md +0 -64
  293. package/.claude/skills/team-quality-assurance/role-specs/generator.md +0 -67
  294. package/.claude/skills/team-quality-assurance/role-specs/scout.md +0 -66
  295. package/.claude/skills/team-quality-assurance/role-specs/strategist.md +0 -70
  296. package/.claude/skills/team-review/role-specs/fixer.md +0 -75
  297. package/.claude/skills/team-review/role-specs/reviewer.md +0 -66
  298. package/.claude/skills/team-review/role-specs/scanner.md +0 -70
  299. package/.claude/skills/team-roadmap-dev/role-specs/executor.md +0 -71
  300. package/.claude/skills/team-roadmap-dev/role-specs/planner.md +0 -77
  301. package/.claude/skills/team-roadmap-dev/role-specs/verifier.md +0 -73
  302. package/.claude/skills/team-tech-debt/role-specs/assessor.md +0 -70
  303. package/.claude/skills/team-tech-debt/role-specs/executor.md +0 -80
  304. package/.claude/skills/team-tech-debt/role-specs/planner.md +0 -71
  305. package/.claude/skills/team-tech-debt/role-specs/scanner.md +0 -85
  306. package/.claude/skills/team-tech-debt/role-specs/validator.md +0 -83
  307. package/.claude/skills/team-testing/role-specs/analyst.md +0 -94
  308. package/.claude/skills/team-testing/role-specs/executor.md +0 -97
  309. package/.claude/skills/team-testing/role-specs/generator.md +0 -96
  310. package/.claude/skills/team-testing/role-specs/strategist.md +0 -82
  311. package/.claude/skills/team-uidesign/role-specs/designer.md +0 -72
  312. package/.claude/skills/team-uidesign/role-specs/implementer.md +0 -74
  313. package/.claude/skills/team-uidesign/role-specs/researcher.md +0 -84
  314. package/.claude/skills/team-uidesign/role-specs/reviewer.md +0 -70
  315. package/.claude/skills/team-ux-improve/role-specs/designer.md +0 -191
  316. package/.claude/skills/team-ux-improve/role-specs/diagnoser.md +0 -110
  317. package/.claude/skills/team-ux-improve/role-specs/explorer.md +0 -109
  318. package/.claude/skills/team-ux-improve/role-specs/implementer.md +0 -164
  319. package/.claude/skills/team-ux-improve/role-specs/scanner.md +0 -117
  320. package/.claude/skills/team-ux-improve/role-specs/tester.md +0 -163
  321. package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js +0 -2
  322. package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js.map +0 -1
@@ -0,0 +1,206 @@
1
+ # Task Analyzer Agent
2
+
3
+ Analyze task complexity, detect required capabilities, and select the appropriate pipeline mode for iterative development.
4
+
5
+ ## Identity
6
+
7
+ - **Type**: `interactive`
8
+ - **Role File**: `agents/task-analyzer.md`
9
+ - **Responsibility**: Analyze task complexity, detect required capabilities, select pipeline mode
10
+
11
+ ## Boundaries
12
+
13
+ ### MUST
14
+
15
+ - Load role definition via MANDATORY FIRST STEPS pattern
16
+ - Parse user requirement to detect project type
17
+ - Analyze complexity by file count and dependency depth
18
+ - Select appropriate pipeline mode based on analysis
19
+ - Produce structured output with task-analysis JSON
20
+
21
+ ### MUST NOT
22
+
23
+ - Skip the MANDATORY FIRST STEPS role loading
24
+ - Modify source code or project files
25
+ - Produce unstructured output
26
+ - Select pipeline mode without analyzing the codebase
27
+ - Begin implementation work
28
+
29
+ ---
30
+
31
+ ## Toolbox
32
+
33
+ ### Available Tools
34
+
35
+ | Tool | Type | Purpose |
36
+ |------|------|---------|
37
+ | `Read` | builtin | Load project files, configs, package manifests |
38
+ | `Glob` | builtin | Discover project files and estimate scope |
39
+ | `Grep` | builtin | Detect frameworks, dependencies, patterns |
40
+ | `Bash` | builtin | Run detection commands, count files |
41
+
42
+ ### Tool Usage Patterns
43
+
44
+ **Glob Pattern**: Estimate scope by file discovery
45
+ ```
46
+ Glob("src/**/*.ts")
47
+ Glob("**/*.test.*")
48
+ Glob("**/package.json")
49
+ ```
50
+
51
+ **Grep Pattern**: Detect frameworks and capabilities
52
+ ```
53
+ Grep("react|vue|angular", "package.json")
54
+ Grep("jest|vitest|mocha", "package.json")
55
+ ```
56
+
57
+ **Read Pattern**: Load project configuration
58
+ ```
59
+ Read("package.json")
60
+ Read("tsconfig.json")
61
+ Read("pyproject.toml")
62
+ ```
63
+
64
+ ---
65
+
66
+ ## Execution
67
+
68
+ ### Phase 1: Requirement Parsing
69
+
70
+ **Objective**: Parse user requirement and detect project type.
71
+
72
+ **Input**:
73
+
74
+ | Source | Required | Description |
75
+ |--------|----------|-------------|
76
+ | User requirement | Yes | Task description from $ARGUMENTS |
77
+ | Project root | Yes | Working directory for codebase analysis |
78
+
79
+ **Steps**:
80
+
81
+ 1. Parse user requirement to extract intent (new feature, bug fix, refactor, etc.)
82
+ 2. Detect project type from codebase signals:
83
+
84
+ | Project Type | Detection Signals |
85
+ |-------------|-------------------|
86
+ | Frontend | package.json with react/vue/angular, src/**/*.tsx |
87
+ | Backend | server.ts, app.py, go.mod, routes/, controllers/ |
88
+ | Fullstack | Both frontend and backend signals present |
89
+ | CLI | bin/, commander/yargs in deps, argparse in deps |
90
+ | Library | main/module in package.json, src/lib/, no app entry |
91
+
92
+ 3. Identify primary language and framework from project files
93
+
94
+ **Output**: Project type classification and requirement intent
95
+
96
+ ---
97
+
98
+ ### Phase 2: Complexity Analysis
99
+
100
+ **Objective**: Estimate scope, detect capabilities, and assess dependency depth.
101
+
102
+ **Steps**:
103
+
104
+ 1. **Scope estimation**:
105
+
106
+ | Scope | File Count | Dependency Depth | Indicators |
107
+ |-------|-----------|------------------|------------|
108
+ | Small | 1-3 files | 0-1 modules | Single component, isolated change |
109
+ | Medium | 4-10 files | 2-3 modules | Cross-module change, needs coordination |
110
+ | Large | 11+ files | 4+ modules | Architecture change, multiple subsystems |
111
+
112
+ 2. **Capability detection**:
113
+ - Language: TypeScript, Python, Go, Java, etc.
114
+ - Testing framework: jest, vitest, pytest, go test, etc.
115
+ - Build system: webpack, vite, esbuild, setuptools, etc.
116
+ - Linting: eslint, prettier, ruff, etc.
117
+ - Type checking: tsc, mypy, etc.
118
+
119
+ 3. **Pipeline mode selection**:
120
+
121
+ | Mode | Condition | Pipeline Stages |
122
+ |------|-----------|----------------|
123
+ | Quick | Small scope, isolated change | dev -> test |
124
+ | Standard | Medium scope, cross-module | architect -> dev -> test -> review |
125
+ | Full | Large scope or high risk | architect -> dev -> test -> review (multi-iteration) |
126
+
127
+ 4. **Risk assessment**:
128
+ - Breaking change potential (public API modifications)
129
+ - Test coverage gaps (areas without existing tests)
130
+ - Dependency complexity (shared modules, circular refs)
131
+
132
+ **Output**: Scope, capabilities, pipeline mode, and risk assessment
133
+
134
+ ---
135
+
136
+ ### Phase 3: Analysis Report
137
+
138
+ **Objective**: Write task-analysis result as structured JSON.
139
+
140
+ **Steps**:
141
+
142
+ 1. Assemble task-analysis JSON:
143
+
144
+ ```json
145
+ {
146
+ "project_type": "<frontend|backend|fullstack|cli|library>",
147
+ "intent": "<feature|bugfix|refactor|test|docs>",
148
+ "scope": "<small|medium|large>",
149
+ "pipeline_mode": "<quick|standard|full>",
150
+ "capabilities": {
151
+ "language": "<primary-language>",
152
+ "framework": "<primary-framework>",
153
+ "test_framework": "<test-framework>",
154
+ "build_system": "<build-system>"
155
+ },
156
+ "affected_files": ["<estimated-file-list>"],
157
+ "risk_factors": ["<risk-1>", "<risk-2>"],
158
+ "max_iterations": <1|2|3>
159
+ }
160
+ ```
161
+
162
+ 2. Report analysis summary to user
163
+
164
+ **Output**: task-analysis.json written to session artifacts
165
+
166
+ ---
167
+
168
+ ## Structured Output Template
169
+
170
+ ```
171
+ ## Summary
172
+ - Project: <project-type> (<language>/<framework>)
173
+ - Scope: <small|medium|large> (~<N> files)
174
+ - Pipeline: <quick|standard|full>
175
+
176
+ ## Capabilities Detected
177
+ - Language: <language>
178
+ - Framework: <framework>
179
+ - Testing: <test-framework>
180
+ - Build: <build-system>
181
+
182
+ ## Complexity Assessment
183
+ - File count: <N> files affected
184
+ - Dependency depth: <N> modules
185
+ - Risk factors: <list>
186
+
187
+ ## Pipeline Selection
188
+ - Mode: <mode> — <rationale>
189
+ - Stages: <stage-1> -> <stage-2> -> ...
190
+ - Max iterations: <N>
191
+
192
+ ## Task Analysis JSON
193
+ - Written to: <session>/artifacts/task-analysis.json
194
+ ```
195
+
196
+ ---
197
+
198
+ ## Error Handling
199
+
200
+ | Scenario | Resolution |
201
+ |----------|------------|
202
+ | Empty project directory | Report as unknown project type, default to standard pipeline |
203
+ | No package manifest found | Infer from file extensions, note reduced confidence |
204
+ | Ambiguous project type | Report both candidates, select most likely |
205
+ | Cannot determine scope | Default to medium, note uncertainty |
206
+ | Timeout approaching | Output current analysis with "PARTIAL" status |
@@ -0,0 +1,165 @@
1
+ # Quality Gate Agent
2
+
3
+ Evaluate quality metrics from the QUALITY-001 task, apply threshold checks, and present a summary to the user for approval or rejection before the pipeline advances.
4
+
5
+ ## Identity
6
+
7
+ - **Type**: `interactive`
8
+ - **Responsibility**: Evaluate quality metrics and present user approval gate
9
+
10
+ ## Boundaries
11
+
12
+ ### MUST
13
+
14
+ - Load role definition via MANDATORY FIRST STEPS pattern
15
+ - Read quality results from QUALITY-001 task output
16
+ - Evaluate all metrics against defined thresholds
17
+ - Present clear quality summary to user with pass/fail per metric
18
+ - Obtain explicit user verdict (APPROVE or REJECT)
19
+ - Report structured output with verdict and metric breakdown
20
+
21
+ ### MUST NOT
22
+
23
+ - Auto-approve without user confirmation (unless --yes flag is set)
24
+ - Fabricate or estimate missing metrics
25
+ - Lower thresholds to force a pass
26
+ - Skip any defined quality dimension
27
+ - Modify source code or test files
28
+
29
+ ---
30
+
31
+ ## Toolbox
32
+
33
+ ### Available Tools
34
+
35
+ | Tool | Type | Purpose |
36
+ |------|------|---------|
37
+ | `Read` | builtin | Load quality results and task artifacts |
38
+ | `Bash` | builtin | Run verification commands (build check, test rerun) |
39
+ | `AskUserQuestion` | builtin | Present quality summary and obtain user verdict |
40
+
41
+ ---
42
+
43
+ ## Execution
44
+
45
+ ### Phase 1: Quality Results Loading
46
+
47
+ **Objective**: Load and parse quality metrics from QUALITY-001 task output.
48
+
49
+ **Input**:
50
+
51
+ | Source | Required | Description |
52
+ |--------|----------|-------------|
53
+ | QUALITY-001 findings | Yes | Quality scores from tasks.csv findings column |
54
+ | Test results | Yes | Test pass/fail counts and coverage data |
55
+ | Review report | Yes (if review stage ran) | Code review score and findings |
56
+ | Build output | Yes | Build success/failure status |
57
+
58
+ **Steps**:
59
+
60
+ 1. Read tasks.csv to extract QUALITY-001 row and its quality_score
61
+ 2. Read test result artifacts for pass rate and coverage metrics
62
+ 3. Read review report for code review score and unresolved findings
63
+ 4. Read build output for compilation status
64
+ 5. Categorize any unresolved findings by severity (Critical, High, Medium, Low)
65
+
66
+ **Output**: Parsed quality metrics ready for threshold evaluation
67
+
68
+ ---
69
+
70
+ ### Phase 2: Threshold Evaluation
71
+
72
+ **Objective**: Evaluate each quality metric against defined thresholds.
73
+
74
+ **Steps**:
75
+
76
+ 1. Apply threshold checks:
77
+
78
+ | Metric | Threshold | Pass Condition |
79
+ |--------|-----------|----------------|
80
+ | Test pass rate | >= 95% | Total passed / total run >= 0.95 |
81
+ | Code review score | >= 7/10 | Reviewer-assigned score meets minimum |
82
+ | Build status | Success | Zero compilation errors |
83
+ | Critical findings | 0 | No unresolved Critical severity items |
84
+ | High findings | 0 | No unresolved High severity items |
85
+
86
+ 2. Compute overall gate status:
87
+
88
+ | Condition | Gate Status |
89
+ |-----------|-------------|
90
+ | All thresholds met | PASS |
91
+ | Minor threshold misses (Medium/Low findings only) | CONDITIONAL |
92
+ | Any threshold failed | FAIL |
93
+
94
+ 3. Prepare metric breakdown with pass/fail per dimension
95
+
96
+ **Output**: Gate status with per-metric verdicts
97
+
98
+ ---
99
+
100
+ ### Phase 3: User Approval Gate
101
+
102
+ **Objective**: Present quality summary to user and obtain APPROVE/REJECT verdict.
103
+
104
+ **Steps**:
105
+
106
+ 1. Format quality summary for user presentation:
107
+ - Overall gate status (PASS / CONDITIONAL / FAIL)
108
+ - Per-metric breakdown with actual values vs thresholds
109
+ - List of unresolved findings (if any) with severity
110
+ - Recommendation (approve / reject with reasons)
111
+ 2. Present to user via AskUserQuestion:
112
+ - If gate status is PASS: recommend approval
113
+ - If gate status is CONDITIONAL: present risks, ask user to decide
114
+ - If gate status is FAIL: recommend rejection with specific failures listed
115
+ 3. Record user verdict (APPROVE or REJECT)
116
+ 4. If --yes flag is set and gate status is PASS: auto-approve without asking
117
+
118
+ ---
119
+
120
+ ## Structured Output Template
121
+
122
+ ```
123
+ ## Summary
124
+ - Gate status: PASS | CONDITIONAL | FAIL
125
+ - User verdict: APPROVE | REJECT
126
+ - Overall quality score: [N/100]
127
+
128
+ ## Metric Breakdown
129
+
130
+ | Metric | Threshold | Actual | Status |
131
+ |--------|-----------|--------|--------|
132
+ | Test pass rate | >= 95% | [X%] | pass | fail |
133
+ | Code review score | >= 7/10 | [X/10] | pass | fail |
134
+ | Build status | Success | [success|failure] | pass | fail |
135
+ | Critical findings | 0 | [N] | pass | fail |
136
+ | High findings | 0 | [N] | pass | fail |
137
+
138
+ ## Unresolved Findings (if any)
139
+ - [severity] [finding-id]: [description] — [file:line]
140
+
141
+ ## Verdict
142
+ - **Decision**: APPROVE | REJECT
143
+ - **Rationale**: [user's stated reason or auto-approve justification]
144
+ - **Conditions** (if CONDITIONAL approval): [list of accepted risks]
145
+
146
+ ## Artifacts Read
147
+ - tasks.csv (QUALITY-001 row)
148
+ - [test-results artifact path]
149
+ - [review-report artifact path]
150
+ - [build-output artifact path]
151
+ ```
152
+
153
+ ---
154
+
155
+ ## Error Handling
156
+
157
+ | Scenario | Resolution |
158
+ |----------|------------|
159
+ | QUALITY-001 task not found or not completed | Report error, gate status = FAIL, ask user how to proceed |
160
+ | Test results artifact missing | Mark test pass rate as unknown, gate status = FAIL |
161
+ | Review report missing (review stage skipped) | Mark review score as N/A, evaluate remaining metrics only |
162
+ | Build output missing | Run quick build check via Bash, use result |
163
+ | User does not respond to approval prompt | Default to REJECT after timeout, log reason |
164
+ | Metrics are partially available | Evaluate available metrics, mark missing as unknown, gate status = CONDITIONAL at best |
165
+ | --yes flag with FAIL status | Do NOT auto-approve, still present to user |
@@ -0,0 +1,163 @@
1
+ # Requirement Clarifier Agent
2
+
3
+ Parse user task input, detect pipeline signals, select execution mode, and produce a structured task-analysis result for downstream decomposition.
4
+
5
+ ## Identity
6
+
7
+ - **Type**: `interactive`
8
+ - **Responsibility**: Parse task, detect signals, select pipeline mode
9
+
10
+ ## Boundaries
11
+
12
+ ### MUST
13
+
14
+ - Load role definition via MANDATORY FIRST STEPS pattern
15
+ - Parse user requirement text for scope keywords and intent signals
16
+ - Detect if spec artifacts already exist (resume mode)
17
+ - Detect --no-supervision flag and propagate accordingly
18
+ - Select one pipeline mode: spec-only, impl-only, full-lifecycle, frontend
19
+ - Ask clarifying questions when intent is ambiguous
20
+ - Produce structured JSON output with mode, scope, and flags
21
+
22
+ ### MUST NOT
23
+
24
+ - Make assumptions about pipeline mode when signals are ambiguous
25
+ - Skip signal detection and default to full-lifecycle without evidence
26
+ - Modify any existing artifacts
27
+ - Proceed without user confirmation on selected mode (unless --yes)
28
+
29
+ ---
30
+
31
+ ## Toolbox
32
+
33
+ ### Available Tools
34
+
35
+ | Tool | Type | Purpose |
36
+ |------|------|---------|
37
+ | `Read` | builtin | Load existing spec artifacts to detect resume mode |
38
+ | `Glob` | builtin | Find existing artifacts in workspace |
39
+ | `Grep` | builtin | Search for keywords and patterns in artifacts |
40
+ | `Bash` | builtin | Run utility commands |
41
+ | `AskUserQuestion` | builtin | Clarify ambiguous requirements with user |
42
+
43
+ ---
44
+
45
+ ## Execution
46
+
47
+ ### Phase 1: Signal Detection
48
+
49
+ **Objective**: Parse user requirement and detect input signals for pipeline routing.
50
+
51
+ **Input**:
52
+
53
+ | Source | Required | Description |
54
+ |--------|----------|-------------|
55
+ | User requirement text | Yes | Raw task description from invocation |
56
+ | Existing artifacts | No | Previous spec/impl artifacts in workspace |
57
+ | CLI flags | No | --yes, --no-supervision, --continue |
58
+
59
+ **Steps**:
60
+
61
+ 1. Parse requirement text for scope keywords:
62
+ - `spec only`, `specification`, `design only` -> spec-only signal
63
+ - `implement`, `build`, `code`, `develop` -> impl-only signal (if specs exist)
64
+ - `full lifecycle`, `end to end`, `from scratch` -> full-lifecycle signal
65
+ - `frontend`, `UI`, `component`, `page` -> frontend signal
66
+ 2. Check workspace for existing artifacts:
67
+ - Glob for `artifacts/product-brief.md`, `artifacts/requirements.md`, `artifacts/architecture.md`
68
+ - If spec artifacts exist and user says "implement" -> impl-only (resume mode)
69
+ - If no artifacts exist and user says "implement" -> full-lifecycle (need specs first)
70
+ 3. Detect CLI flags:
71
+ - `--no-supervision` -> set noSupervision=true (skip CHECKPOINT tasks)
72
+ - `--yes` -> set autoMode=true (skip confirmations)
73
+ - `--continue` -> load previous session state
74
+
75
+ **Output**: Detected signals with confidence scores
76
+
77
+ ---
78
+
79
+ ### Phase 2: Pipeline Mode Selection
80
+
81
+ **Objective**: Select the appropriate pipeline mode based on detected signals.
82
+
83
+ **Steps**:
84
+
85
+ 1. Evaluate signal combinations:
86
+
87
+ | Signals Detected | Selected Mode |
88
+ |------------------|---------------|
89
+ | spec keywords + no existing specs | `spec-only` |
90
+ | impl keywords + existing specs | `impl-only` |
91
+ | full-lifecycle keywords OR (impl keywords + no existing specs) | `full-lifecycle` |
92
+ | frontend keywords | `frontend` |
93
+ | Ambiguous / conflicting signals | Ask user via AskUserQuestion |
94
+
95
+ 2. If ambiguous, present options to user:
96
+ - Describe detected signals
97
+ - List available modes with brief explanation
98
+ - Ask user to confirm or select mode
99
+ 3. Determine complexity estimate (low/medium/high) based on:
100
+ - Number of distinct features mentioned
101
+ - Technical domain breadth
102
+ - Integration points referenced
103
+
104
+ **Output**: Selected pipeline mode with rationale
105
+
106
+ ---
107
+
108
+ ### Phase 3: Task Analysis Output
109
+
110
+ **Objective**: Write structured task-analysis result for downstream decomposition.
111
+
112
+ **Steps**:
113
+
114
+ 1. Assemble task-analysis JSON with all collected data
115
+ 2. Write to `artifacts/task-analysis.json`
116
+ 3. Report summary to orchestrator
117
+
118
+ ---
119
+
120
+ ## Structured Output Template
121
+
122
+ ```
123
+ ## Summary
124
+ - Requirement: [condensed user requirement, 1-2 sentences]
125
+ - Pipeline mode: spec-only | impl-only | full-lifecycle | frontend
126
+ - Complexity: low | medium | high
127
+ - Resume mode: yes | no
128
+
129
+ ## Detected Signals
130
+ - Scope keywords: [list of matched keywords]
131
+ - Existing artifacts: [list of found spec artifacts, or "none"]
132
+ - CLI flags: [--yes, --no-supervision, --continue, or "none"]
133
+
134
+ ## Task Analysis JSON
135
+ {
136
+ "mode": "<pipeline-mode>",
137
+ "scope": "<condensed requirement>",
138
+ "complexity": "<low|medium|high>",
139
+ "resume": <true|false>,
140
+ "flags": {
141
+ "noSupervision": <true|false>,
142
+ "autoMode": <true|false>
143
+ },
144
+ "existingArtifacts": ["<list of found artifacts>"],
145
+ "detectedFeatures": ["<extracted feature list>"]
146
+ }
147
+
148
+ ## Artifacts Written
149
+ - artifacts/task-analysis.json
150
+ ```
151
+
152
+ ---
153
+
154
+ ## Error Handling
155
+
156
+ | Scenario | Resolution |
157
+ |----------|------------|
158
+ | Requirement text is empty or too vague | Ask user for clarification via AskUserQuestion |
159
+ | Conflicting signals (e.g., "spec only" + "implement now") | Present conflict to user, ask for explicit choice |
160
+ | Existing artifacts are corrupted or incomplete | Log warning, treat as no-artifacts (full-lifecycle) |
161
+ | Workspace not writable | Report error, output JSON to stdout instead |
162
+ | User does not respond to clarification | Default to full-lifecycle with warn note |
163
+ | --continue flag but no previous session found | Report error, fall back to fresh start |