claude-code-workflow 7.2.19 → 7.2.21

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 (232) hide show
  1. package/.claude/commands/workflow/analyze-with-file.md +58 -20
  2. package/.codex/skills/analyze-with-file/SKILL.md +55 -8
  3. package/.codex/skills/team-arch-opt/SKILL.md +24 -0
  4. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +22 -0
  5. package/.codex/skills/team-brainstorm/SKILL.md +24 -0
  6. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +20 -0
  7. package/.codex/skills/team-coordinate/SKILL.md +24 -0
  8. package/.codex/skills/team-coordinate/roles/coordinator/role.md +40 -12
  9. package/.codex/skills/team-frontend/SKILL.md +24 -0
  10. package/.codex/skills/team-frontend/roles/coordinator/role.md +20 -0
  11. package/.codex/skills/team-frontend-debug/SKILL.md +24 -0
  12. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +21 -0
  13. package/.codex/skills/team-issue/SKILL.md +24 -0
  14. package/.codex/skills/team-issue/roles/coordinator/role.md +19 -0
  15. package/.codex/skills/team-iterdev/SKILL.md +24 -0
  16. package/.codex/skills/team-iterdev/roles/coordinator/role.md +20 -0
  17. package/.codex/skills/team-lifecycle-v4/SKILL.md +24 -0
  18. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +28 -2
  19. package/.codex/skills/team-perf-opt/SKILL.md +24 -0
  20. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +20 -0
  21. package/.codex/skills/team-planex/SKILL.md +24 -0
  22. package/.codex/skills/team-planex/roles/coordinator/role.md +19 -0
  23. package/.codex/skills/team-quality-assurance/SKILL.md +24 -0
  24. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +21 -0
  25. package/.codex/skills/team-review/SKILL.md +24 -0
  26. package/.codex/skills/team-review/roles/coordinator/role.md +21 -0
  27. package/.codex/skills/team-roadmap-dev/SKILL.md +24 -0
  28. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +19 -0
  29. package/.codex/skills/team-tech-debt/SKILL.md +24 -0
  30. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +19 -0
  31. package/.codex/skills/team-testing/SKILL.md +24 -0
  32. package/.codex/skills/team-testing/roles/coordinator/role.md +21 -0
  33. package/.codex/skills/team-uidesign/SKILL.md +24 -0
  34. package/.codex/skills/team-uidesign/roles/coordinator/role.md +20 -0
  35. package/.codex/skills/team-ultra-analyze/SKILL.md +24 -0
  36. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +20 -0
  37. package/.codex/skills/team-ux-improve/SKILL.md +24 -0
  38. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +20 -0
  39. package/ccw/frontend/dist/assets/{AlertDialog-zDuLRyN3.js → AlertDialog-Cukb0xv2.js} +2 -2
  40. package/ccw/frontend/dist/assets/{AlertDialog-zDuLRyN3.js.map → AlertDialog-Cukb0xv2.js.map} +1 -1
  41. package/ccw/frontend/dist/assets/{AnalysisPage-DGCGwIZY.js → AnalysisPage-Ddmv0J4x.js} +2 -2
  42. package/ccw/frontend/dist/assets/{AnalysisPage-DGCGwIZY.js.map → AnalysisPage-Ddmv0J4x.js.map} +1 -1
  43. package/ccw/frontend/dist/assets/{ApiSettingsPage-CgclCqmv.js → ApiSettingsPage-DMkrTZDX.js} +2 -2
  44. package/ccw/frontend/dist/assets/{ApiSettingsPage-CgclCqmv.js.map → ApiSettingsPage-DMkrTZDX.js.map} +1 -1
  45. package/ccw/frontend/dist/assets/{CliModeToggle-CbGH7qO4.js → CliModeToggle-DXenjpbe.js} +2 -2
  46. package/ccw/frontend/dist/assets/{CliModeToggle-CbGH7qO4.js.map → CliModeToggle-DXenjpbe.js.map} +1 -1
  47. package/ccw/frontend/dist/assets/{CliSessionSharePage-CJGlwyDw.js → CliSessionSharePage-B-ZIMqmX.js} +2 -2
  48. package/ccw/frontend/dist/assets/{CliSessionSharePage-CJGlwyDw.js.map → CliSessionSharePage-B-ZIMqmX.js.map} +1 -1
  49. package/ccw/frontend/dist/assets/{CliViewerPage-D-MHYyDt.js → CliViewerPage-9YxGyLxh.js} +2 -2
  50. package/ccw/frontend/dist/assets/{CliViewerPage-D-MHYyDt.js.map → CliViewerPage-9YxGyLxh.js.map} +1 -1
  51. package/ccw/frontend/dist/assets/{CodexLensPage-z6miX68P.js → CodexLensPage-B_uv5wdn.js} +2 -2
  52. package/ccw/frontend/dist/assets/{CodexLensPage-z6miX68P.js.map → CodexLensPage-B_uv5wdn.js.map} +1 -1
  53. package/ccw/frontend/dist/assets/{Collapsible-D5zS2wef.js → Collapsible-C2qk3yV0.js} +2 -2
  54. package/ccw/frontend/dist/assets/{Collapsible-D5zS2wef.js.map → Collapsible-C2qk3yV0.js.map} +1 -1
  55. package/ccw/frontend/dist/assets/{CommandsManagerPage-ChcTwmAn.js → CommandsManagerPage-DBtaWxLB.js} +2 -2
  56. package/ccw/frontend/dist/assets/{CommandsManagerPage-ChcTwmAn.js.map → CommandsManagerPage-DBtaWxLB.js.map} +1 -1
  57. package/ccw/frontend/dist/assets/{DeepWikiPage-Cv5LifSi.js → DeepWikiPage-d9K4_TgG.js} +2 -2
  58. package/ccw/frontend/dist/assets/{DeepWikiPage-Cv5LifSi.js.map → DeepWikiPage-d9K4_TgG.js.map} +1 -1
  59. package/ccw/frontend/dist/assets/{EndpointsPage-BcyNmqIa.js → EndpointsPage-DhW6hYrI.js} +2 -2
  60. package/ccw/frontend/dist/assets/{EndpointsPage-BcyNmqIa.js.map → EndpointsPage-DhW6hYrI.js.map} +1 -1
  61. package/ccw/frontend/dist/assets/{ExplorerPage-DfHtqeQM.js → ExplorerPage-DYYpCvtB.js} +2 -2
  62. package/ccw/frontend/dist/assets/{ExplorerPage-DfHtqeQM.js.map → ExplorerPage-DYYpCvtB.js.map} +1 -1
  63. package/ccw/frontend/dist/assets/{FixSessionPage-CbvZApeF.js → FixSessionPage-CSmiT5SE.js} +2 -2
  64. package/ccw/frontend/dist/assets/{FixSessionPage-CbvZApeF.js.map → FixSessionPage-CSmiT5SE.js.map} +1 -1
  65. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DLz85cw9.js → FloatingFileBrowser-DvMsXLdP.js} +2 -2
  66. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DLz85cw9.js.map → FloatingFileBrowser-DvMsXLdP.js.map} +1 -1
  67. package/ccw/frontend/dist/assets/{FloatingPanel-DrUTmgtV.js → FloatingPanel-sqezhSI8.js} +2 -2
  68. package/ccw/frontend/dist/assets/{FloatingPanel-DrUTmgtV.js.map → FloatingPanel-sqezhSI8.js.map} +1 -1
  69. package/ccw/frontend/dist/assets/{GraphExplorerPage-C439yLvH.js → GraphExplorerPage-DS8ghMFM.js} +2 -2
  70. package/ccw/frontend/dist/assets/{GraphExplorerPage-C439yLvH.js.map → GraphExplorerPage-DS8ghMFM.js.map} +1 -1
  71. package/ccw/frontend/dist/assets/{HistoryPage-BClJJMEy.js → HistoryPage-B-x1RyHu.js} +2 -2
  72. package/ccw/frontend/dist/assets/{HistoryPage-BClJJMEy.js.map → HistoryPage-B-x1RyHu.js.map} +1 -1
  73. package/ccw/frontend/dist/assets/{HookManagerPage-DI-2QDLJ.js → HookManagerPage-BbxpDb68.js} +2 -2
  74. package/ccw/frontend/dist/assets/{HookManagerPage-DI-2QDLJ.js.map → HookManagerPage-BbxpDb68.js.map} +1 -1
  75. package/ccw/frontend/dist/assets/{InstallationsPage-DKlz1ypL.js → InstallationsPage-3bShz_Ai.js} +2 -2
  76. package/ccw/frontend/dist/assets/{InstallationsPage-DKlz1ypL.js.map → InstallationsPage-3bShz_Ai.js.map} +1 -1
  77. package/ccw/frontend/dist/assets/{IssueHubPage--6DduN4j.js → IssueHubPage-BQY_Hh3e.js} +2 -2
  78. package/ccw/frontend/dist/assets/{IssueHubPage--6DduN4j.js.map → IssueHubPage-BQY_Hh3e.js.map} +1 -1
  79. package/ccw/frontend/dist/assets/{LiteTasksPage-39j6xEeL.js → LiteTasksPage-vD_8fQcR.js} +2 -2
  80. package/ccw/frontend/dist/assets/{LiteTasksPage-39j6xEeL.js.map → LiteTasksPage-vD_8fQcR.js.map} +1 -1
  81. package/ccw/frontend/dist/assets/{McpManagerPage-D00C9RVN.js → McpManagerPage-CI5ZzB8A.js} +2 -2
  82. package/ccw/frontend/dist/assets/{McpManagerPage-D00C9RVN.js.map → McpManagerPage-CI5ZzB8A.js.map} +1 -1
  83. package/ccw/frontend/dist/assets/{MemoryPage-BXWKdTyM.js → MemoryPage-CNuj2eNg.js} +2 -2
  84. package/ccw/frontend/dist/assets/{MemoryPage-BXWKdTyM.js.map → MemoryPage-CNuj2eNg.js.map} +1 -1
  85. package/ccw/frontend/dist/assets/{NotFoundPage-h5o3I7cF.js → NotFoundPage-BrnAXkb1.js} +2 -2
  86. package/ccw/frontend/dist/assets/{NotFoundPage-h5o3I7cF.js.map → NotFoundPage-BrnAXkb1.js.map} +1 -1
  87. package/ccw/frontend/dist/assets/{OrchestratorPage-jkyjmiI1.js → OrchestratorPage-CH81PGt4.js} +2 -2
  88. package/ccw/frontend/dist/assets/{OrchestratorPage-jkyjmiI1.js.map → OrchestratorPage-CH81PGt4.js.map} +1 -1
  89. package/ccw/frontend/dist/assets/{ProjectOverviewPage-C2bE5eb2.js → ProjectOverviewPage-dwiEXl2O.js} +2 -2
  90. package/ccw/frontend/dist/assets/{ProjectOverviewPage-C2bE5eb2.js.map → ProjectOverviewPage-dwiEXl2O.js.map} +1 -1
  91. package/ccw/frontend/dist/assets/{PromptHistoryPage-DzmPK4GZ.js → PromptHistoryPage-CabgLjJU.js} +2 -2
  92. package/ccw/frontend/dist/assets/{PromptHistoryPage-DzmPK4GZ.js.map → PromptHistoryPage-CabgLjJU.js.map} +1 -1
  93. package/ccw/frontend/dist/assets/{ReviewSessionPage-CVMH1K6G.js → ReviewSessionPage-DAMrNFn8.js} +2 -2
  94. package/ccw/frontend/dist/assets/{ReviewSessionPage-CVMH1K6G.js.map → ReviewSessionPage-DAMrNFn8.js.map} +1 -1
  95. package/ccw/frontend/dist/assets/{RulesManagerPage-BDZco-r2.js → RulesManagerPage-4jzmxPn0.js} +2 -2
  96. package/ccw/frontend/dist/assets/{RulesManagerPage-BDZco-r2.js.map → RulesManagerPage-4jzmxPn0.js.map} +1 -1
  97. package/ccw/frontend/dist/assets/{SessionDetailPage-D5cM-8Kk.js → SessionDetailPage-C5Btktmp.js} +2 -2
  98. package/ccw/frontend/dist/assets/{SessionDetailPage-D5cM-8Kk.js.map → SessionDetailPage-C5Btktmp.js.map} +1 -1
  99. package/ccw/frontend/dist/assets/{SessionsPage-BFy74ye3.js → SessionsPage-CQIB4E8m.js} +2 -2
  100. package/ccw/frontend/dist/assets/{SessionsPage-BFy74ye3.js.map → SessionsPage-CQIB4E8m.js.map} +1 -1
  101. package/ccw/frontend/dist/assets/SettingsPage-Yi9UAfm7.js +150 -0
  102. package/ccw/frontend/dist/assets/SettingsPage-Yi9UAfm7.js.map +1 -0
  103. package/ccw/frontend/dist/assets/{SkillsManagerPage-8Dsq4AUD.js → SkillsManagerPage-BqfvYSkT.js} +2 -2
  104. package/ccw/frontend/dist/assets/{SkillsManagerPage-8Dsq4AUD.js.map → SkillsManagerPage-BqfvYSkT.js.map} +1 -1
  105. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CG77iAYQ.js → SpecsSettingsPage-BdVPM5R6.js} +2 -2
  106. package/ccw/frontend/dist/assets/{SpecsSettingsPage-CG77iAYQ.js.map → SpecsSettingsPage-BdVPM5R6.js.map} +1 -1
  107. package/ccw/frontend/dist/assets/{Switch-BbuvVsX-.js → Switch-BG929kV0.js} +2 -2
  108. package/ccw/frontend/dist/assets/{Switch-BbuvVsX-.js.map → Switch-BG929kV0.js.map} +1 -1
  109. package/ccw/frontend/dist/assets/{TabsNavigation-SGJhC8-P.js → TabsNavigation-Bol1y09b.js} +2 -2
  110. package/ccw/frontend/dist/assets/{TabsNavigation-SGJhC8-P.js.map → TabsNavigation-Bol1y09b.js.map} +1 -1
  111. package/ccw/frontend/dist/assets/{TaskDrawer-p51jeScU.js → TaskDrawer-Dwutrn8_.js} +2 -2
  112. package/ccw/frontend/dist/assets/{TaskDrawer-p51jeScU.js.map → TaskDrawer-Dwutrn8_.js.map} +1 -1
  113. package/ccw/frontend/dist/assets/{TeamPage-CvZBThbr.js → TeamPage-CpCSwpxD.js} +2 -2
  114. package/ccw/frontend/dist/assets/{TeamPage-CvZBThbr.js.map → TeamPage-CpCSwpxD.js.map} +1 -1
  115. package/ccw/frontend/dist/assets/{TerminalDashboardPage-uhM7kGKI.js → TerminalDashboardPage-DODKjOeK.js} +2 -2
  116. package/ccw/frontend/dist/assets/{TerminalDashboardPage-uhM7kGKI.js.map → TerminalDashboardPage-DODKjOeK.js.map} +1 -1
  117. package/ccw/frontend/dist/assets/{archive-D6ySrtHC.js → archive-CQw634kD.js} +2 -2
  118. package/ccw/frontend/dist/assets/{archive-D6ySrtHC.js.map → archive-CQw634kD.js.map} +1 -1
  119. package/ccw/frontend/dist/assets/{archive-restore-C1uI-5TY.js → archive-restore-B-_EG6wE.js} +2 -2
  120. package/ccw/frontend/dist/assets/{archive-restore-C1uI-5TY.js.map → archive-restore-B-_EG6wE.js.map} +1 -1
  121. package/ccw/frontend/dist/assets/{arrow-right-qE5-FMG8.js → arrow-right-CcQtxBrU.js} +2 -2
  122. package/ccw/frontend/dist/assets/{arrow-right-qE5-FMG8.js.map → arrow-right-CcQtxBrU.js.map} +1 -1
  123. package/ccw/frontend/dist/assets/{bookmark-plus-DL4iL38T.js → bookmark-plus-Cl-BbcpR.js} +2 -2
  124. package/ccw/frontend/dist/assets/{bookmark-plus-DL4iL38T.js.map → bookmark-plus-Cl-BbcpR.js.map} +1 -1
  125. package/ccw/frontend/dist/assets/{bot-CZzIeEkg.js → bot-CLSNSkW_.js} +2 -2
  126. package/ccw/frontend/dist/assets/{bot-CZzIeEkg.js.map → bot-CLSNSkW_.js.map} +1 -1
  127. package/ccw/frontend/dist/assets/{braces-MEPRT2LN.js → braces-DWwkaDS6.js} +2 -2
  128. package/ccw/frontend/dist/assets/{braces-MEPRT2LN.js.map → braces-DWwkaDS6.js.map} +1 -1
  129. package/ccw/frontend/dist/assets/{circle-stop-GQcecSUg.js → circle-stop-DiS7e6ma.js} +2 -2
  130. package/ccw/frontend/dist/assets/{circle-stop-GQcecSUg.js.map → circle-stop-DiS7e6ma.js.map} +1 -1
  131. package/ccw/frontend/dist/assets/{cpu-CzxYMs1Y.js → cpu-CuvHUVXO.js} +2 -2
  132. package/ccw/frontend/dist/assets/{cpu-CzxYMs1Y.js.map → cpu-CuvHUVXO.js.map} +1 -1
  133. package/ccw/frontend/dist/assets/{ellipsis-vertical-DZMfiFKo.js → ellipsis-vertical-BoVlINSw.js} +2 -2
  134. package/ccw/frontend/dist/assets/{ellipsis-vertical-DZMfiFKo.js.map → ellipsis-vertical-BoVlINSw.js.map} +1 -1
  135. package/ccw/frontend/dist/assets/{eye-BXfPoClW.js → eye-BEMOdcAN.js} +2 -2
  136. package/ccw/frontend/dist/assets/{eye-BXfPoClW.js.map → eye-BEMOdcAN.js.map} +1 -1
  137. package/ccw/frontend/dist/assets/{eye-off-CyaKXmAk.js → eye-off-C5HS4Ytm.js} +2 -2
  138. package/ccw/frontend/dist/assets/{eye-off-CyaKXmAk.js.map → eye-off-C5HS4Ytm.js.map} +1 -1
  139. package/ccw/frontend/dist/assets/{file-json-B4LbFfTU.js → file-json-DQ9XLq0B.js} +2 -2
  140. package/ccw/frontend/dist/assets/{file-json-B4LbFfTU.js.map → file-json-DQ9XLq0B.js.map} +1 -1
  141. package/ccw/frontend/dist/assets/{file-text-CIWG7Xgj.js → file-text-TGs_qCbw.js} +2 -2
  142. package/ccw/frontend/dist/assets/{file-text-CIWG7Xgj.js.map → file-text-TGs_qCbw.js.map} +1 -1
  143. package/ccw/frontend/dist/assets/{filter-CNBjjvBX.js → filter-CIuCqnDB.js} +2 -2
  144. package/ccw/frontend/dist/assets/{filter-CNBjjvBX.js.map → filter-CIuCqnDB.js.map} +1 -1
  145. package/ccw/frontend/dist/assets/{folder-DT_XOYw9.js → folder-BkivHBwn.js} +2 -2
  146. package/ccw/frontend/dist/assets/{folder-DT_XOYw9.js.map → folder-BkivHBwn.js.map} +1 -1
  147. package/ccw/frontend/dist/assets/{gauge-mvQWOG3S.js → gauge-CtM68fVY.js} +2 -2
  148. package/ccw/frontend/dist/assets/{gauge-mvQWOG3S.js.map → gauge-CtM68fVY.js.map} +1 -1
  149. package/ccw/frontend/dist/assets/{globe-B25jraBz.js → globe-DpnrINqP.js} +2 -2
  150. package/ccw/frontend/dist/assets/{globe-B25jraBz.js.map → globe-DpnrINqP.js.map} +1 -1
  151. package/ccw/frontend/dist/assets/{grid-3x3-CptugI_Z.js → grid-3x3-SjX0a5JH.js} +2 -2
  152. package/ccw/frontend/dist/assets/{grid-3x3-CptugI_Z.js.map → grid-3x3-SjX0a5JH.js.map} +1 -1
  153. package/ccw/frontend/dist/assets/{hard-drive-BUK9Wcoz.js → hard-drive-ByAmnoEg.js} +2 -2
  154. package/ccw/frontend/dist/assets/{hard-drive-BUK9Wcoz.js.map → hard-drive-ByAmnoEg.js.map} +1 -1
  155. package/ccw/frontend/dist/assets/{hash-dddMDYK7.js → hash-DbLc3VOZ.js} +2 -2
  156. package/ccw/frontend/dist/assets/{hash-dddMDYK7.js.map → hash-DbLc3VOZ.js.map} +1 -1
  157. package/ccw/frontend/dist/assets/{history-BdDj8MtC.js → history-Botz5Z5d.js} +2 -2
  158. package/ccw/frontend/dist/assets/{history-BdDj8MtC.js.map → history-Botz5Z5d.js.map} +1 -1
  159. package/ccw/frontend/dist/assets/{index-CcxBnbbQ.js → index-BGvyf4-9.js} +2 -2
  160. package/ccw/frontend/dist/assets/{index-CcxBnbbQ.js.map → index-BGvyf4-9.js.map} +1 -1
  161. package/ccw/frontend/dist/assets/index-BoqylFO4.css +39 -0
  162. package/ccw/frontend/dist/assets/{index-DZGHdspr.js → index-DP_mTJI8.js} +3 -3
  163. package/ccw/frontend/dist/assets/{index-DZGHdspr.js.map → index-DP_mTJI8.js.map} +1 -1
  164. package/ccw/frontend/dist/assets/{index-B6UfIzhR.js → index-MkgdhX7a.js} +2 -2
  165. package/ccw/frontend/dist/assets/{index-B6UfIzhR.js.map → index-MkgdhX7a.js.map} +1 -1
  166. package/ccw/frontend/dist/assets/{index-EFcT7h67.js → index-ni-tG9rm.js} +2 -2
  167. package/ccw/frontend/dist/assets/{index-EFcT7h67.js.map → index-ni-tG9rm.js.map} +1 -1
  168. package/ccw/frontend/dist/assets/{layout-grid-BVlT1oI7.js → layout-grid-11E4bGJz.js} +2 -2
  169. package/ccw/frontend/dist/assets/{layout-grid-BVlT1oI7.js.map → layout-grid-11E4bGJz.js.map} +1 -1
  170. package/ccw/frontend/dist/assets/{lightbulb-Mt3Tlwh4.js → lightbulb-8KrKY82b.js} +2 -2
  171. package/ccw/frontend/dist/assets/{lightbulb-Mt3Tlwh4.js.map → lightbulb-8KrKY82b.js.map} +1 -1
  172. package/ccw/frontend/dist/assets/{link-2-DXqT64qo.js → link-2-BUn6RILb.js} +2 -2
  173. package/ccw/frontend/dist/assets/{link-2-DXqT64qo.js.map → link-2-BUn6RILb.js.map} +1 -1
  174. package/ccw/frontend/dist/assets/{link-CBMtrpcI.js → link-CmP254Ai.js} +2 -2
  175. package/ccw/frontend/dist/assets/{link-CBMtrpcI.js.map → link-CmP254Ai.js.map} +1 -1
  176. package/ccw/frontend/dist/assets/{list-DDyEM4AO.js → list-BAwzl4a2.js} +2 -2
  177. package/ccw/frontend/dist/assets/{list-DDyEM4AO.js.map → list-BAwzl4a2.js.map} +1 -1
  178. package/ccw/frontend/dist/assets/{map-pin-B2FxBKfk.js → map-pin-gi342rqk.js} +2 -2
  179. package/ccw/frontend/dist/assets/{map-pin-B2FxBKfk.js.map → map-pin-gi342rqk.js.map} +1 -1
  180. package/ccw/frontend/dist/assets/{messages-square-zJfTY9pq.js → messages-square-C1Lh8q8b.js} +2 -2
  181. package/ccw/frontend/dist/assets/{messages-square-zJfTY9pq.js.map → messages-square-C1Lh8q8b.js.map} +1 -1
  182. package/ccw/frontend/dist/assets/{minimize-2-DnhGZj79.js → minimize-2-OgWNLKdq.js} +2 -2
  183. package/ccw/frontend/dist/assets/{minimize-2-DnhGZj79.js.map → minimize-2-OgWNLKdq.js.map} +1 -1
  184. package/ccw/frontend/dist/assets/{package-DYzAybhU.js → package-Djsvs5qp.js} +2 -2
  185. package/ccw/frontend/dist/assets/{package-DYzAybhU.js.map → package-Djsvs5qp.js.map} +1 -1
  186. package/ccw/frontend/dist/assets/{plug-B3kKHsu1.js → plug-DvSZP2cp.js} +2 -2
  187. package/ccw/frontend/dist/assets/{plug-B3kKHsu1.js.map → plug-DvSZP2cp.js.map} +1 -1
  188. package/ccw/frontend/dist/assets/{power-BPNNZgLy.js → power-BY7vTLmU.js} +2 -2
  189. package/ccw/frontend/dist/assets/{power-BPNNZgLy.js.map → power-BY7vTLmU.js.map} +1 -1
  190. package/ccw/frontend/dist/assets/{save-Cwry93p-.js → save-DXfqv84T.js} +2 -2
  191. package/ccw/frontend/dist/assets/{save-Cwry93p-.js.map → save-DXfqv84T.js.map} +1 -1
  192. package/ccw/frontend/dist/assets/{send-DuWWy2J8.js → send-E2o2LZSX.js} +2 -2
  193. package/ccw/frontend/dist/assets/{send-DuWWy2J8.js.map → send-E2o2LZSX.js.map} +1 -1
  194. package/ccw/frontend/dist/assets/{settings-2-C3U1eSK6.js → settings-2-ChD1LFHH.js} +2 -2
  195. package/ccw/frontend/dist/assets/{settings-2-C3U1eSK6.js.map → settings-2-ChD1LFHH.js.map} +1 -1
  196. package/ccw/frontend/dist/assets/{square-check-big-CrG1ejFB.js → square-check-big-CBymuqmD.js} +2 -2
  197. package/ccw/frontend/dist/assets/{square-check-big-CrG1ejFB.js.map → square-check-big-CBymuqmD.js.map} +1 -1
  198. package/ccw/frontend/dist/assets/{square-pen-eLWlCgZ5.js → square-pen-BfaiJgOX.js} +2 -2
  199. package/ccw/frontend/dist/assets/{square-pen-eLWlCgZ5.js.map → square-pen-BfaiJgOX.js.map} +1 -1
  200. package/ccw/frontend/dist/assets/{star-sveo4KRn.js → star-DHMWqZ09.js} +2 -2
  201. package/ccw/frontend/dist/assets/{star-sveo4KRn.js.map → star-DHMWqZ09.js.map} +1 -1
  202. package/ccw/frontend/dist/assets/{style-CRdAX7Cu.js → style-wvcOEAiM.js} +2 -2
  203. package/ccw/frontend/dist/assets/{style-CRdAX7Cu.js.map → style-wvcOEAiM.js.map} +1 -1
  204. package/ccw/frontend/dist/assets/{target-Oz1-z8Zu.js → target-B8AMmf_N.js} +2 -2
  205. package/ccw/frontend/dist/assets/{target-Oz1-z8Zu.js.map → target-B8AMmf_N.js.map} +1 -1
  206. package/ccw/frontend/dist/assets/{test-tube-BozkZKD6.js → test-tube-BpDeTJi1.js} +2 -2
  207. package/ccw/frontend/dist/assets/{test-tube-BozkZKD6.js.map → test-tube-BpDeTJi1.js.map} +1 -1
  208. package/ccw/frontend/dist/assets/{upload-CTlUsxyh.js → upload-pflkdIDG.js} +2 -2
  209. package/ccw/frontend/dist/assets/{upload-CTlUsxyh.js.map → upload-pflkdIDG.js.map} +1 -1
  210. package/ccw/frontend/dist/assets/{useApiSettings-D6WfgFYj.js → useApiSettings-BPx4DyKT.js} +2 -2
  211. package/ccw/frontend/dist/assets/{useApiSettings-D6WfgFYj.js.map → useApiSettings-BPx4DyKT.js.map} +1 -1
  212. package/ccw/frontend/dist/assets/{useCli-CgGVNN5I.js → useCli-D1jfH3XA.js} +2 -2
  213. package/ccw/frontend/dist/assets/{useCli-CgGVNN5I.js.map → useCli-D1jfH3XA.js.map} +1 -1
  214. package/ccw/frontend/dist/assets/{useCommands-o5CKv-10.js → useCommands-DhR71vpa.js} +2 -2
  215. package/ccw/frontend/dist/assets/{useCommands-o5CKv-10.js.map → useCommands-DhR71vpa.js.map} +1 -1
  216. package/ccw/frontend/dist/assets/{useDebounce-rKo_bCBK.js → useDebounce-a6Yyer3m.js} +2 -2
  217. package/ccw/frontend/dist/assets/{useDebounce-rKo_bCBK.js.map → useDebounce-a6Yyer3m.js.map} +1 -1
  218. package/ccw/frontend/dist/assets/{useFileExplorer-WeE4t9Hg.js → useFileExplorer-B8W2JTj2.js} +2 -2
  219. package/ccw/frontend/dist/assets/{useFileExplorer-WeE4t9Hg.js.map → useFileExplorer-B8W2JTj2.js.map} +1 -1
  220. package/ccw/frontend/dist/assets/{useLocale-BS0tTC-_.js → useLocale-aMHdQIL_.js} +2 -2
  221. package/ccw/frontend/dist/assets/{useLocale-BS0tTC-_.js.map → useLocale-aMHdQIL_.js.map} +1 -1
  222. package/ccw/frontend/dist/assets/{useSkills-BUgAhw6r.js → useSkills-BHpc2LtN.js} +3 -3
  223. package/ccw/frontend/dist/assets/{useSkills-BUgAhw6r.js.map → useSkills-BHpc2LtN.js.map} +1 -1
  224. package/ccw/frontend/dist/assets/{useSystemSettings-CLhmINg1.js → useSystemSettings-BFD0SvEF.js} +2 -2
  225. package/ccw/frontend/dist/assets/{useSystemSettings-CLhmINg1.js.map → useSystemSettings-BFD0SvEF.js.map} +1 -1
  226. package/ccw/frontend/dist/assets/{wand-sparkles-BUHKJH1X.js → wand-sparkles-dYtI2IKM.js} +2 -2
  227. package/ccw/frontend/dist/assets/{wand-sparkles-BUHKJH1X.js.map → wand-sparkles-dYtI2IKM.js.map} +1 -1
  228. package/ccw/frontend/dist/index.html +2 -2
  229. package/package.json +1 -1
  230. package/ccw/frontend/dist/assets/SettingsPage-Qj0fFDjX.js +0 -150
  231. package/ccw/frontend/dist/assets/SettingsPage-Qj0fFDjX.js.map +0 -1
  232. package/ccw/frontend/dist/assets/index-nU0QYi1y.css +0 -39
@@ -230,23 +230,37 @@ Do NOT write files.
230
230
  }
231
231
  ```
232
232
 
233
- **Phase B — Perspective Deep-Dive** (parallel, only for multi-perspective, max 4):
233
+ **Phase B — Perspective Deep-Dive** (PARALLEL, only for multi-perspective, max 4):
234
234
  Each perspective agent receives shared Layer 1 results, performs only Layer 2-3 on its relevant subset.
235
235
  Skip if single-perspective (single mode proceeds directly to Step 2 CLI analysis with Layer 1 results).
236
236
 
237
+ **CRITICAL — Parallel Execution**: Launch ALL perspective Agent() calls in the SAME response block so Claude Code executes them concurrently. Do NOT use a loop that waits for each agent before starting the next.
238
+
237
239
  ```javascript
238
240
  // Per-perspective Layer 2-3 — receives shared discovery, avoids re-scanning
239
241
  // Only runs in multi-perspective mode
242
+ // PARALLEL: All Agent() calls MUST appear in ONE response — Claude Code runs them concurrently
240
243
  const sharedDiscovery = readJSON(`${sessionFolder}/exploration-codebase.json`)
241
- const perspectiveFiles = sharedDiscovery.relevant_files
242
- .filter(f => f.dimensions.includes(perspective.dimension))
243
244
 
244
- selectedPerspectives.forEach(perspective => {
245
- Agent({
246
- subagent_type: "cli-explore-agent",
247
- run_in_background: false,
248
- description: `Deep-dive: ${perspective.name}`,
249
- prompt: `
245
+ // Prepare per-perspective file lists
246
+ const perspectiveFileLists = Object.fromEntries(
247
+ selectedPerspectives.map(p => [
248
+ p.name,
249
+ sharedDiscovery.relevant_files.filter(f => f.dimensions.includes(p.dimension))
250
+ ])
251
+ )
252
+
253
+ // Launch ALL agents in a SINGLE response block (not sequentially):
254
+ // Agent({ ..perspective1.. }) ← call 1
255
+ // Agent({ ..perspective2.. }) ← call 2 (same response)
256
+ // Agent({ ..perspective3.. }) ← call 3 (same response)
257
+
258
+ // Each agent call follows this template:
259
+ Agent({
260
+ subagent_type: "cli-explore-agent",
261
+ run_in_background: false,
262
+ description: `Deep-dive: ${perspective.name}`,
263
+ prompt: `
250
264
  ## Analysis Context
251
265
  Topic: ${topic_or_question}
252
266
  Perspective: ${perspective.name} - ${perspective.focus}
@@ -254,7 +268,7 @@ Session: ${sessionFolder}
254
268
 
255
269
  ## SHARED DISCOVERY (Layer 1 already completed — DO NOT re-scan)
256
270
  Relevant files for this perspective:
257
- ${perspectiveFiles.map(f => `- ${f.path}: ${f.annotation}`).join('\n')}
271
+ ${perspectiveFileLists[perspective.name].map(f => `- ${f.path}: ${f.annotation}`).join('\n')}
258
272
  Patterns found: ${sharedDiscovery.patterns.join(', ')}
259
273
 
260
274
  ## Layer 2 — Structure Tracing (Depth)
@@ -270,7 +284,6 @@ Patterns found: ${sharedDiscovery.patterns.join(', ')}
270
284
  Write to: ${sessionFolder}/explorations/${perspective.name}.json
271
285
  Schema: {perspective, relevant_files, key_findings, code_anchors: [{file, lines, snippet, significance}], call_chains: [{entry, chain, files}], questions_for_user, _metadata}
272
286
  `
273
- })
274
287
  })
275
288
  ```
276
289
 
@@ -459,27 +472,50 @@ const priorContext = `
459
472
  - **Gate**: ❌ Missed items must be either (a) addressed in additional round or (b) confirmed deferred by user
460
473
  - Add `intent_coverage[]` to conclusions.json
461
474
 
462
- 2. **Consolidate Insights**:
475
+ 2. **Findings-to-Recommendations Traceability** (MANDATORY before consolidation):
476
+ - **Collect ALL actionable findings** from every round: key findings with actionable implications, technical solutions (proposed/validated), identified gaps (API-frontend gaps, missing features, design issues), corrected assumptions that imply fixes
477
+ - **Map each finding → disposition**:
478
+ | Disposition | Meaning |
479
+ |-------------|---------|
480
+ | `recommendation` | Converted to a numbered recommendation |
481
+ | `absorbed` | Covered by another recommendation (specify which) |
482
+ | `deferred` | Explicitly out-of-scope with reason |
483
+ | `informational` | Pure insight, no action needed |
484
+ - **Findings Coverage Matrix** (append to discussion.md):
485
+ ```markdown
486
+ ### Findings Coverage Matrix
487
+ | # | Finding (Round) | Disposition | Target |
488
+ |---|----------------|-------------|--------|
489
+ | 1 | [finding summary] (R1) | recommendation | Rec #1 |
490
+ | 2 | [finding summary] (R2) | absorbed | → Rec #1 |
491
+ | 3 | [finding summary] (R2) | deferred | Reason: [why] |
492
+ | 4 | [finding summary] (R1) | informational | — |
493
+ ```
494
+ - **Gate**: Findings with `disposition = null` (unmapped) MUST be either assigned a disposition or added as new recommendations. Do NOT proceed to step 3 with unmapped findings.
495
+ - Add `findings_coverage[]` to conclusions.json
496
+
497
+ 3. **Consolidate Insights**:
463
498
  - Compile Decision Trail from all phases
464
499
  - Key conclusions with evidence + confidence (high/medium/low)
465
- - Recommendations with rationale + priority (high/medium/low) — **merge validated `technical_solutions[]` from explorations.json as high-priority recommendations**
466
- - **Solution Readiness Gate**: For each recommendation, check if all key choices are resolved. Flag `ambiguity_resolved: false` on any recommendation that still contains unresolved alternatives. Present unresolved items to user before proceeding to Step 3.
500
+ - Recommendations with rationale + priority (high/medium/low) — **merge validated `technical_solutions[]` from explorations.json as high-priority recommendations** — **ensure all `disposition = recommendation` findings from step 2 are represented**
501
+ - **Solution Readiness Gate**: For each recommendation, check if all key choices are resolved. Flag `ambiguity_resolved: false` on any recommendation that still contains unresolved alternatives. Present unresolved items to user before proceeding to Step 4.
467
502
  - Open questions, follow-up suggestions
468
503
  - Decision summary linking conclusions back to decisions
469
504
  - Write to conclusions.json
470
505
 
471
- 3. **Final discussion.md Update**:
506
+ 4. **Final discussion.md Update**:
472
507
  - **Conclusions**: Summary, ranked key conclusions, prioritized recommendations, remaining questions
473
508
  - **Current Understanding (Final)**: What established, what clarified/corrected, key insights
474
509
  - **Decision Trail**: Critical decisions, direction changes timeline, trade-offs
510
+ - **Findings Coverage Matrix**: From step 2 (already appended)
475
511
  - Session statistics: rounds, duration, sources, artifacts, decision count
476
512
 
477
- 4. **Display Conclusions Summary** — Present to user:
513
+ 5. **Display Conclusions Summary** — Present to user:
478
514
  - **Analysis Report**: summary, key conclusions (numbered, with confidence), recommendations (numbered, with priority + rationale + steps)
479
515
  - Open questions if any
480
516
  - Link to full report: `{sessionFolder}/discussion.md`
481
517
 
482
- 5. **Interactive Recommendation Review** (skip in auto mode):
518
+ 6. **Interactive Recommendation Review** (skip in auto mode):
483
519
 
484
520
  Present all recommendations, then batch-confirm via **single AskUserQuestion call** (up to 4 questions):
485
521
 
@@ -500,7 +536,7 @@ const priorContext = `
500
536
  - Accepted: N items | Modified: N items | Rejected: N items
501
537
  - Only accepted/modified recommendations proceed to next step
502
538
 
503
- 6. **MANDATORY GATE: Next Step Selection** — workflow MUST NOT end without executing this step.
539
+ 7. **MANDATORY GATE: Next Step Selection** — workflow MUST NOT end without executing this step.
504
540
 
505
541
  **TodoWrite**: Update `phase-4` -> `"completed"`, `next-step` -> `"in_progress"`
506
542
 
@@ -656,6 +692,7 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
656
692
  - `decision_trail[]`: {round, decision, context, options_considered, chosen, rejected_reasons, reason, impact}
657
693
  - `narrative_trail[]`: {round, starting_point, key_progress, hypothesis_impact, updated_understanding, remaining_questions}
658
694
  - `intent_coverage[]`: {intent, status, where_addressed, notes}
695
+ - `findings_coverage[]`: {finding, round, disposition: recommendation|absorbed|deferred|informational, target, reason}
659
696
 
660
697
  </schemas>
661
698
 
@@ -689,7 +726,8 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
689
726
  - [ ] Intent Drift Check performed each round >= 2
690
727
  - [ ] All decisions recorded per Decision Recording Protocol
691
728
  - [ ] Intent Coverage Matrix verified in Phase 4
692
- - [ ] conclusions.json created with key_conclusions, recommendations, decision_trail
729
+ - [ ] Findings Coverage Matrix completed all actionable findings mapped to disposition (recommendation/absorbed/deferred/informational)
730
+ - [ ] conclusions.json created with key_conclusions, recommendations, decision_trail, findings_coverage
693
731
  - [ ] discussion.md finalized with conclusions, Decision Trail, session statistics
694
732
  - [ ] Recommendation review completed (non-auto mode)
695
733
  - [ ] Next Step terminal gate executed — `next-step` todo is `"completed"`
@@ -706,7 +744,7 @@ ${implScope.map((item, i) => `${i+1}. **${item.objective}** [${item.priority}]
706
744
  | **Business** | Codex | Value, ROI, stakeholder impact | Business implications |
707
745
  | **Domain Expert** | Gemini | Domain patterns, best practices, standards | Industry knowledge |
708
746
 
709
- User multi-selects up to 4 in Phase 1, default: single comprehensive view.
747
+ User multi-selects up to 4 in Phase 1. Default: if dimensions >= 2, pre-select Technical + Architectural; if dimensions == 1, single comprehensive view.
710
748
 
711
749
  ### Dimension-Direction Mapping
712
750
 
@@ -690,7 +690,49 @@ Write "Intent Coverage Matrix" to discussion.md:
690
690
  - (a) Add a dedicated discussion round to address it before continuing, OR
691
691
  - (b) Explicitly confirm with user that it is intentionally deferred
692
692
 
693
- ##### Step 4.1: Consolidate Insights
693
+ ##### Step 4.1: Findings-to-Recommendations Traceability (MANDATORY before consolidation)
694
+
695
+ Collect ALL actionable findings from every round and map each to a disposition:
696
+
697
+ ```javascript
698
+ // 1. Collect all actionable findings from discussion rounds
699
+ // Sources: key findings with actionable implications, technical solutions (proposed/validated),
700
+ // identified gaps (API-frontend gaps, missing features, design issues),
701
+ // corrected assumptions that imply fixes
702
+ const allFindings = collectActionableFindings(explorations, discussionRounds)
703
+
704
+ // 2. Map each finding → disposition
705
+ // | Disposition | Meaning |
706
+ // |-----------------|------------------------------------------------------|
707
+ // | recommendation | Converted to a numbered recommendation |
708
+ // | absorbed | Covered by another recommendation (specify which) |
709
+ // | deferred | Explicitly out-of-scope with reason |
710
+ // | informational | Pure insight, no action needed |
711
+
712
+ const findingsCoverage = allFindings.map(f => ({
713
+ finding: f.summary,
714
+ round: f.round,
715
+ disposition: null, // MUST be assigned before proceeding
716
+ target: null, // e.g., "Rec #1" or "→ Rec #3" or "Reason: ..."
717
+ reason: null
718
+ }))
719
+
720
+ // 3. Gate: ALL findings MUST have a disposition assigned.
721
+ // Do NOT proceed to Step 4.2 with any disposition = null.
722
+ // Unmapped findings must be either added as new recommendations or assigned a disposition.
723
+
724
+ // 4. Append Findings Coverage Matrix to discussion.md
725
+ appendToDiscussion(`
726
+ ### Findings Coverage Matrix
727
+ | # | Finding (Round) | Disposition | Target |
728
+ |---|----------------|-------------|--------|
729
+ ${findingsCoverage.map((f, i) =>
730
+ `| ${i+1} | ${f.finding} (R${f.round}) | ${f.disposition} | ${f.target || '—'} |`
731
+ ).join('\n')}
732
+ `)
733
+ ```
734
+
735
+ ##### Step 4.2: Consolidate Insights
694
736
 
695
737
  ```javascript
696
738
  const conclusions = {
@@ -703,6 +745,7 @@ const conclusions = {
703
745
  { point: '...', evidence: '...', confidence: 'high|medium|low' }
704
746
  ],
705
747
  recommendations: [ // Actionable recommendations
748
+ // MUST include all findings with disposition = 'recommendation' from Step 4.1
706
749
  {
707
750
  action: '...', // What to do (imperative verb + target)
708
751
  rationale: '...', // Why this matters
@@ -726,12 +769,13 @@ const conclusions = {
726
769
  ],
727
770
  intent_coverage: [ // From Step 4.0
728
771
  { intent: '...', status: 'addressed|transformed|absorbed|missed', where_addressed: '...', notes: '...' }
729
- ]
772
+ ],
773
+ findings_coverage: findingsCoverage // From Step 4.1
730
774
  }
731
775
  Write(`${sessionFolder}/conclusions.json`, JSON.stringify(conclusions, null, 2))
732
776
  ```
733
777
 
734
- ##### Step 4.2: Final discussion.md Update
778
+ ##### Step 4.3: Final discussion.md Update
735
779
 
736
780
  Append conclusions section and finalize:
737
781
 
@@ -749,6 +793,8 @@ Append conclusions section and finalize:
749
793
  | What Was Clarified | Important corrections (~~wrong→right~~) |
750
794
  | Key Insights | Valuable learnings for future reference |
751
795
 
796
+ **Findings Coverage Matrix**: From Step 4.1 (already appended).
797
+
752
798
  **Decision Trail Section**:
753
799
 
754
800
  | Subsection | Content |
@@ -759,7 +805,7 @@ Append conclusions section and finalize:
759
805
 
760
806
  **Session Statistics**: Total discussion rounds, key findings count, dimensions covered, artifacts generated, **decision count**.
761
807
 
762
- ##### Step 4.3: Interactive Recommendation Review (skip in auto mode)
808
+ ##### Step 4.4: Interactive Recommendation Review (skip in auto mode)
763
809
 
764
810
  Walk through each recommendation one-by-one for user confirmation before proceeding:
765
811
 
@@ -810,7 +856,7 @@ for (const [index, rec] of sortedRecs.entries()) {
810
856
  | 3 | [action] | low | 1 | ❌ Rejected | [reason] |
811
857
  ```
812
858
 
813
- ##### Step 4.4: Post-Completion Options
859
+ ##### Step 4.5: Post-Completion Options
814
860
 
815
861
  **Complexity Assessment** — determine available options:
816
862
 
@@ -871,8 +917,9 @@ if (!autoYes) {
871
917
  | Done | Display artifact paths, end |
872
918
 
873
919
  **Success Criteria**:
874
- - conclusions.json created with complete synthesis
875
- - discussion.md finalized with conclusions and decision trail
920
+ - conclusions.json created with complete synthesis including findings_coverage[]
921
+ - **Findings Coverage Matrix** completed all actionable findings mapped to disposition (recommendation/absorbed/deferred/informational)
922
+ - discussion.md finalized with conclusions, decision trail, and findings coverage matrix
876
923
  - **Intent Coverage Matrix** verified — all original intents accounted for (no ❌ Missed without explicit user deferral)
877
924
  - User offered meaningful next step options
878
925
  - **Complete decision trail** documented and traceable from initial scoping to final conclusions
@@ -960,7 +1007,7 @@ $csv-wave-pipeline "${topic}"
960
1007
  | `explorations/*.json` | 2 | Per-perspective exploration results (multi only) |
961
1008
  | `explorations.json` | 2 | Single perspective aggregated findings |
962
1009
  | `perspectives.json` | 2 | Multi-perspective findings with cross-perspective synthesis |
963
- | `conclusions.json` | 4 | Final synthesis: conclusions, recommendations, open questions |
1010
+ | `conclusions.json` | 4 | Final synthesis: conclusions, recommendations, findings_coverage, open questions |
964
1011
 
965
1012
  ## Analysis Dimensions Reference
966
1013
 
@@ -46,6 +46,30 @@ Parse `$ARGUMENTS`:
46
46
  - Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
47
47
  - No `--role` -> `roles/coordinator/role.md`, execute entry router
48
48
 
49
+ ## Delegation Lock
50
+
51
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
52
+
53
+ Before calling ANY tool, apply this check:
54
+
55
+ | Tool Call | Verdict | Reason |
56
+ |-----------|---------|--------|
57
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
58
+ | `request_user_input` | ALLOWED | User interaction |
59
+ | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
60
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
61
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
62
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
63
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
64
+ | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
65
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
66
+
67
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
68
+
69
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
70
+
71
+ ---
72
+
49
73
  ## Shared Constants
50
74
 
51
75
  - **Session prefix**: `TAO`
@@ -2,6 +2,25 @@
2
2
 
3
3
  Orchestrate team-arch-opt: analyze -> dispatch -> spawn -> monitor -> report.
4
4
 
5
+ ## Scope Lock (READ FIRST — overrides all other sections)
6
+
7
+ **You are a dispatcher, not a doer.** Your ONLY outputs are:
8
+ - Session state files (`.workflow/.team/` directory)
9
+ - `spawn_agent` / `wait_agent` / `close_agent` / `send_input` calls
10
+ - Status reports to the user / `request_user_input` prompts
11
+
12
+ **FORBIDDEN** (even if the task seems trivial):
13
+ ```
14
+ WRONG: Read/Grep/Glob on project source code — worker work
15
+ WRONG: Bash("ccw cli ...") — worker work
16
+ WRONG: Edit/Write on project source files — worker work
17
+ WRONG: Bash running build/test/lint commands — worker work
18
+ ```
19
+
20
+ **Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
21
+
22
+ ---
23
+
5
24
  ## Identity
6
25
  - Name: coordinator | Tag: [coordinator]
7
26
  - Responsibility: Analyze task -> Create session -> Dispatch tasks -> Monitor progress -> Report results
@@ -14,6 +33,7 @@ Orchestrate team-arch-opt: analyze -> dispatch -> spawn -> monitor -> report.
14
33
  - Respect pipeline stage dependencies (deps)
15
34
  - Handle review-fix cycles with max 3 iterations
16
35
  - Execute completion action in Phase 5
36
+ - **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
17
37
 
18
38
  ### MUST NOT
19
39
  - Implement domain logic (analyzing, refactoring, reviewing) -- workers handle this
@@ -21,6 +41,8 @@ Orchestrate team-arch-opt: analyze -> dispatch -> spawn -> monitor -> report.
21
41
  - Skip checkpoints when configured
22
42
  - Force-advance pipeline past failed review/validation
23
43
  - Modify source code directly -- delegate to refactorer worker
44
+ - Call CLI tools (ccw cli) — only workers use CLI
45
+ - Read project source code — delegate to workers
24
46
 
25
47
  ## Command Execution Protocol
26
48
 
@@ -45,6 +45,30 @@ Parse `$ARGUMENTS`:
45
45
  - Has `--role <name>` -> Read `roles/<name>/role.md`, execute Phase 2-4
46
46
  - No `--role` -> `roles/coordinator/role.md`, execute entry router
47
47
 
48
+ ## Delegation Lock
49
+
50
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
51
+
52
+ Before calling ANY tool, apply this check:
53
+
54
+ | Tool Call | Verdict | Reason |
55
+ |-----------|---------|--------|
56
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
57
+ | `request_user_input` | ALLOWED | User interaction |
58
+ | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
59
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
60
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
61
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
62
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
63
+ | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
64
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
65
+
66
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
67
+
68
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
69
+
70
+ ---
71
+
48
72
  ## Shared Constants
49
73
 
50
74
  - **Session prefix**: `BRS`
@@ -2,6 +2,24 @@
2
2
 
3
3
  Orchestrate team-brainstorm: topic clarify -> dispatch -> spawn -> monitor -> report.
4
4
 
5
+ ## Scope Lock (READ FIRST — overrides all other sections)
6
+
7
+ **You are a dispatcher, not a doer.** Your ONLY outputs are:
8
+ - Session state files (`.workflow/.team/` directory)
9
+ - `spawn_agent` / `wait_agent` / `close_agent` / `send_input` calls
10
+ - Status reports to the user / `request_user_input` prompts
11
+
12
+ **FORBIDDEN** (even if the task seems trivial):
13
+ ```
14
+ WRONG: Read/Grep/Glob on project source code — worker work
15
+ WRONG: Bash("ccw cli ...") — worker work
16
+ WRONG: Edit/Write on project source files — worker work
17
+ ```
18
+
19
+ **Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
20
+
21
+ ---
22
+
5
23
  ## Identity
6
24
  - Name: coordinator | Tag: [coordinator]
7
25
  - Responsibility: Topic clarification -> Create team -> Dispatch tasks -> Monitor progress -> Report results
@@ -15,6 +33,7 @@ Orchestrate team-brainstorm: topic clarify -> dispatch -> spawn -> monitor -> re
15
33
  - Stop after spawning workers -- wait for results via wait_agent
16
34
  - Manage Generator-Critic loop count (max 2 rounds)
17
35
  - Execute completion action in Phase 5
36
+ - **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
18
37
 
19
38
  ### MUST NOT
20
39
  - Generate ideas, challenge assumptions, synthesize, or evaluate -- workers handle this
@@ -22,6 +41,7 @@ Orchestrate team-brainstorm: topic clarify -> dispatch -> spawn -> monitor -> re
22
41
  - Force-advance pipeline past GC loop decisions
23
42
  - Modify artifact files (ideas/*.md, critiques/*.md, etc.) -- delegate to workers
24
43
  - Skip GC severity check when critique arrives
44
+ - Call CLI tools (ccw cli) — only workers use CLI
25
45
 
26
46
  ## Command Execution Protocol
27
47
 
@@ -32,6 +32,30 @@ Universal team coordination skill: analyze task -> generate role-specs -> dispat
32
32
  ccw cli --mode write - code generation and modification
33
33
  ```
34
34
 
35
+ ## Delegation Lock
36
+
37
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
38
+
39
+ Before calling ANY tool, apply this check:
40
+
41
+ | Tool Call | Verdict | Reason |
42
+ |-----------|---------|--------|
43
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
44
+ | `request_user_input` | ALLOWED | User interaction |
45
+ | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
46
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
47
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
48
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
49
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
50
+ | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
51
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
52
+
53
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
54
+
55
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent. The overhead is the feature — it provides session tracking, artifact persistence, and resume capability.
56
+
57
+ ---
58
+
35
59
  ## Shared Constants
36
60
 
37
61
  | Constant | Value |
@@ -6,6 +6,39 @@ role: coordinator
6
6
 
7
7
  Orchestrate the team-coordinate workflow: task analysis, dynamic role-spec generation, task dispatching, progress monitoring, session state, and completion action. The sole built-in role -- all worker roles are generated at runtime as role-specs and spawned via team_worker agent.
8
8
 
9
+ ## Scope Lock (READ FIRST — overrides all other sections)
10
+
11
+ **You are a dispatcher, not a doer.** Your ONLY outputs are:
12
+ - Session state files (`.workflow/.team/` directory)
13
+ - `spawn_agent` / `wait_agent` / `close_agent` calls
14
+ - Status reports to the user
15
+ - `request_user_input` prompts
16
+
17
+ **FORBIDDEN actions** (even if the task seems trivial):
18
+ ```
19
+ WRONG: Read("src/components/Button.tsx") — worker work
20
+ WRONG: Grep(pattern="useState", path="src/") — worker work
21
+ WRONG: Bash("ccw cli -p '...' --tool gemini") — worker work
22
+ WRONG: Edit("src/utils/helper.ts", ...) — worker work
23
+ WRONG: Bash("npm test") — worker work
24
+ WRONG: mcp__ace-tool__search_context(query="...") — worker work
25
+ ```
26
+
27
+ **CORRECT actions**:
28
+ ```
29
+ OK: Read(".workflow/.team/TC-xxx/team-session.json") — session state
30
+ OK: Write(".workflow/.team/TC-xxx/tasks.json", ...) — task management
31
+ OK: Read("roles/coordinator/commands/analyze-task.md") — own instructions
32
+ OK: Read("specs/role-spec-template.md") — generating role-specs
33
+ OK: spawn_agent({ agent_type: "team_worker", ... }) — delegation
34
+ OK: wait_agent({ ids: [...] }) — monitoring
35
+ ```
36
+
37
+ **Self-check gate**: After Phase 1 analysis, before ANY other action, ask yourself:
38
+ > "Am I about to read/write/run something in the project source? If yes → STOP → spawn worker."
39
+
40
+ ---
41
+
9
42
  ## Identity
10
43
 
11
44
  - **Name**: `coordinator` | **Tag**: `[coordinator]`
@@ -178,20 +211,15 @@ For callback/check/resume/adapt/complete: load `@commands/monitor.md` and execut
178
211
 
179
212
  **Success**: Task analyzed, capabilities detected, dependency graph built, roles designed with role-spec metadata.
180
213
 
181
- **CRITICAL - Team Workflow Enforcement**:
214
+ **HARD GATE Mandatory Delegation**:
215
+
216
+ After Phase 1 completes, the ONLY valid next step is Phase 2 (generate role-specs → spawn workers). There is NO path from Phase 1 to "just do the work directly."
182
217
 
183
- Regardless of complexity score or role count, coordinator MUST:
184
- - Always proceed to Phase 2 (generate role-specs)
185
- - Always create team and spawn workers via team_worker agent
186
- - NEVER execute task work directly, even for single-role low-complexity tasks
187
- - NEVER skip team workflow based on complexity assessment
218
+ - Complexity=Low, 1 role spawn 1 worker. NOT "I'll just do it myself."
219
+ - Task seems trivial spawn 1 worker. NOT "This is simple enough."
220
+ - Only one file involved spawn 1 worker. NOT "Let me just read it quickly."
188
221
 
189
- **Single-role execution is still team-based** - just with one worker. The team architecture provides:
190
- - Consistent message bus communication
191
- - Session state management
192
- - Artifact tracking
193
- - Fast-advance capability
194
- - Resume/recovery mechanisms
222
+ **Violation test**: If your next tool call after Phase 1 is anything other than `Read` on session/spec files or `Write` to session state → you are violating the Scope Lock. STOP and reconsider.
195
223
 
196
224
  ---
197
225
 
@@ -46,6 +46,30 @@ Parse `$ARGUMENTS`:
46
46
  - Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
47
47
  - No `--role` → `roles/coordinator/role.md`, execute entry router
48
48
 
49
+ ## Delegation Lock
50
+
51
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
52
+
53
+ Before calling ANY tool, apply this check:
54
+
55
+ | Tool Call | Verdict | Reason |
56
+ |-----------|---------|--------|
57
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
58
+ | `request_user_input` | ALLOWED | User interaction |
59
+ | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
60
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
61
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
62
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
63
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
64
+ | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
65
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
66
+
67
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
68
+
69
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
70
+
71
+ ---
72
+
49
73
  ## Shared Constants
50
74
 
51
75
  - **Session prefix**: `FE`
@@ -2,6 +2,24 @@
2
2
 
3
3
  Orchestrate team-frontend: analyze -> dispatch -> spawn -> monitor -> report.
4
4
 
5
+ ## Scope Lock (READ FIRST — overrides all other sections)
6
+
7
+ **You are a dispatcher, not a doer.** Your ONLY outputs are:
8
+ - Session state files (`.workflow/.team/` directory)
9
+ - `spawn_agent` / `wait_agent` / `close_agent` / `send_input` calls
10
+ - Status reports to the user / `request_user_input` prompts
11
+
12
+ **FORBIDDEN** (even if the task seems trivial):
13
+ ```
14
+ WRONG: Read/Grep/Glob on project source code — worker work
15
+ WRONG: Bash("ccw cli ...") — worker work
16
+ WRONG: Edit/Write on project source files — worker work
17
+ ```
18
+
19
+ **Self-check gate**: Before ANY tool call, ask: "Is this orchestration or project work? If project work → STOP → spawn worker."
20
+
21
+ ---
22
+
5
23
  ## Identity
6
24
  - Name: coordinator | Tag: [coordinator]
7
25
  - Responsibility: Analyze task -> Create team -> Dispatch tasks -> Monitor progress -> Report results
@@ -15,6 +33,7 @@ Orchestrate team-frontend: analyze -> dispatch -> spawn -> monitor -> report.
15
33
  - Stop after spawning workers -- wait for callbacks
16
34
  - Handle GC loops (developer <-> qa) with max 2 iterations
17
35
  - Execute completion action in Phase 5
36
+ - **Always proceed through full Phase 1-5 workflow, never skip to direct execution**
18
37
 
19
38
  ### MUST NOT
20
39
  - Implement domain logic (analyzing, designing, coding, reviewing) -- workers handle this
@@ -22,6 +41,7 @@ Orchestrate team-frontend: analyze -> dispatch -> spawn -> monitor -> report.
22
41
  - Skip architecture review gate when configured (feature/system modes)
23
42
  - Force-advance pipeline past failed QA review
24
43
  - Modify source code directly -- delegate to developer worker
44
+ - Call CLI tools (ccw cli) — only workers use CLI
25
45
 
26
46
  ## Command Execution Protocol
27
47
 
@@ -56,6 +56,30 @@ Parse `$ARGUMENTS`:
56
56
  - Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
57
57
  - No `--role` → `roles/coordinator/role.md`, execute entry router
58
58
 
59
+ ## Delegation Lock
60
+
61
+ **Coordinator is a PURE ORCHESTRATOR. It coordinates, it does NOT do.**
62
+
63
+ Before calling ANY tool, apply this check:
64
+
65
+ | Tool Call | Verdict | Reason |
66
+ |-----------|---------|--------|
67
+ | `spawn_agent`, `wait_agent`, `close_agent`, `send_input` | ALLOWED | Orchestration |
68
+ | `request_user_input` | ALLOWED | User interaction |
69
+ | `mcp__ccw-tools__team_msg` | ALLOWED | Message bus |
70
+ | `Read/Write` on `.workflow/.team/` files | ALLOWED | Session state |
71
+ | `Read` on `roles/`, `commands/`, `specs/` | ALLOWED | Loading own instructions |
72
+ | `Read/Grep/Glob` on project source code | BLOCKED | Delegate to worker |
73
+ | `Edit` on any file outside `.workflow/` | BLOCKED | Delegate to worker |
74
+ | `Bash("ccw cli ...")` | BLOCKED | Only workers call CLI |
75
+ | `Bash` running build/test/lint commands | BLOCKED | Delegate to worker |
76
+
77
+ **If a tool call is BLOCKED**: STOP. Create a task, spawn a worker.
78
+
79
+ **No exceptions for "simple" tasks.** Even a single-file read-and-report MUST go through spawn_agent.
80
+
81
+ ---
82
+
59
83
  ## Shared Constants
60
84
 
61
85
  - **Session prefix**: `TFD`