claude-code-workflow 7.2.15 → 7.2.16

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 (526) hide show
  1. package/.ccw/workflows/cli-templates/schemas/team-tasks-schema.json +255 -0
  2. package/.codex/agents/team-supervisor.toml +39 -0
  3. package/.codex/agents/team-worker.toml +46 -0
  4. package/.codex/skills/team-arch-opt/SKILL.md +151 -698
  5. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -0
  6. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -0
  7. package/.codex/skills/team-arch-opt/roles/coordinator/commands/dispatch.md +287 -0
  8. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +204 -0
  9. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +162 -0
  10. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -0
  11. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -0
  12. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -0
  13. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -0
  14. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -0
  15. package/.codex/skills/team-arch-opt/specs/team-config.json +263 -0
  16. package/.codex/skills/team-brainstorm/SKILL.md +167 -724
  17. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -0
  18. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -0
  19. package/.codex/skills/team-brainstorm/roles/coordinator/commands/dispatch.md +162 -0
  20. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +171 -0
  21. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +140 -0
  22. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -0
  23. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -0
  24. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -0
  25. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -0
  26. package/.codex/skills/team-brainstorm/specs/team-config.json +86 -0
  27. package/.codex/skills/team-coordinate/SKILL.md +267 -667
  28. package/.codex/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
  29. package/.codex/skills/team-coordinate/roles/coordinator/commands/dispatch.md +126 -0
  30. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +327 -0
  31. package/.codex/skills/team-coordinate/roles/coordinator/role.md +361 -0
  32. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
  33. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -0
  34. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -0
  35. package/.codex/skills/team-coordinate/specs/role-spec-template.md +192 -0
  36. package/.codex/skills/team-designer/SKILL.md +153 -691
  37. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -0
  38. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -0
  39. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -0
  40. package/.codex/skills/team-designer/phases/04-validation.md +320 -0
  41. package/.codex/skills/team-executor/SKILL.md +191 -515
  42. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +280 -0
  43. package/.codex/skills/team-executor/roles/executor/role.md +170 -0
  44. package/.codex/skills/team-executor/specs/session-schema.md +264 -0
  45. package/.codex/skills/team-frontend/SKILL.md +129 -750
  46. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -0
  47. package/.codex/skills/team-frontend/roles/architect/role.md +86 -0
  48. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -0
  49. package/.codex/skills/team-frontend/roles/coordinator/commands/dispatch.md +151 -0
  50. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +188 -0
  51. package/.codex/skills/team-frontend/roles/coordinator/role.md +157 -0
  52. package/.codex/skills/team-frontend/roles/developer/role.md +93 -0
  53. package/.codex/skills/team-frontend/roles/qa/role.md +79 -0
  54. package/.codex/skills/team-frontend/specs/pipelines.md +76 -0
  55. package/.codex/skills/team-frontend/specs/team-config.json +84 -0
  56. package/.codex/skills/team-frontend-debug/SKILL.md +191 -821
  57. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -0
  58. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -0
  59. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -0
  60. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +143 -0
  61. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +131 -0
  62. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -0
  63. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -0
  64. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -0
  65. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -0
  66. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -0
  67. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -0
  68. package/.codex/skills/team-issue/SKILL.md +166 -751
  69. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -0
  70. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -0
  71. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +194 -0
  72. package/.codex/skills/team-issue/roles/coordinator/role.md +175 -0
  73. package/.codex/skills/team-issue/roles/explorer/role.md +94 -0
  74. package/.codex/skills/team-issue/roles/implementer/role.md +87 -0
  75. package/.codex/skills/team-issue/roles/integrator/role.md +84 -0
  76. package/.codex/skills/team-issue/roles/planner/role.md +81 -0
  77. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -0
  78. package/.codex/skills/team-issue/specs/pipelines.md +124 -0
  79. package/.codex/skills/team-issue/specs/team-config.json +70 -0
  80. package/.codex/skills/team-iterdev/SKILL.md +134 -825
  81. package/.codex/skills/team-iterdev/roles/architect/role.md +65 -0
  82. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +62 -0
  83. package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +187 -0
  84. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +186 -0
  85. package/.codex/skills/team-iterdev/roles/coordinator/role.md +161 -0
  86. package/.codex/skills/team-iterdev/roles/developer/role.md +74 -0
  87. package/.codex/skills/team-iterdev/roles/reviewer/role.md +66 -0
  88. package/.codex/skills/team-iterdev/roles/tester/role.md +88 -0
  89. package/.codex/skills/team-iterdev/specs/pipelines.md +94 -0
  90. package/.codex/skills/team-iterdev/specs/team-config.json +172 -0
  91. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +512 -0
  92. package/.codex/skills/team-lifecycle-v4/SKILL.md +166 -723
  93. package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +104 -0
  94. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
  95. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +61 -0
  96. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +177 -0
  97. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +152 -0
  98. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
  99. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +63 -0
  100. package/.codex/skills/team-lifecycle-v4/roles/executor/role.md +89 -0
  101. package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +108 -0
  102. package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +57 -0
  103. package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
  104. package/.codex/skills/team-lifecycle-v4/roles/reviewer/role.md +98 -0
  105. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +210 -0
  106. package/.codex/skills/team-lifecycle-v4/roles/tester/role.md +126 -0
  107. package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +125 -0
  108. package/.codex/skills/team-lifecycle-v4/schemas/tasks-schema.md +82 -160
  109. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +136 -0
  110. package/.codex/skills/team-lifecycle-v4/specs/pipelines.md +125 -0
  111. package/.codex/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
  112. package/.codex/skills/team-perf-opt/SKILL.md +169 -697
  113. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -0
  114. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -0
  115. package/.codex/skills/team-perf-opt/roles/coordinator/commands/dispatch.md +262 -0
  116. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +320 -0
  117. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +147 -0
  118. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -0
  119. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -0
  120. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -0
  121. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -0
  122. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -0
  123. package/.codex/skills/team-perf-opt/specs/team-config.json +246 -0
  124. package/.codex/skills/team-planex/SKILL.md +103 -477
  125. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -0
  126. package/.codex/skills/team-planex/roles/coordinator/commands/dispatch.md +80 -0
  127. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +164 -0
  128. package/.codex/skills/team-planex/roles/coordinator/role.md +140 -0
  129. package/.codex/skills/team-planex/roles/executor/role.md +91 -0
  130. package/.codex/skills/team-planex/roles/planner/role.md +112 -0
  131. package/.codex/skills/team-planex/specs/pipelines.md +93 -0
  132. package/.codex/skills/team-quality-assurance/SKILL.md +148 -813
  133. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -0
  134. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
  135. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -0
  136. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +209 -0
  137. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
  138. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -0
  139. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -0
  140. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -0
  141. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -0
  142. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -0
  143. package/.codex/skills/team-quality-assurance/specs/team-config.json +131 -0
  144. package/.codex/skills/team-review/SKILL.md +148 -533
  145. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
  146. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -0
  147. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +185 -0
  148. package/.codex/skills/team-review/roles/coordinator/role.md +142 -0
  149. package/.codex/skills/team-review/roles/fixer/role.md +76 -0
  150. package/.codex/skills/team-review/roles/reviewer/role.md +68 -0
  151. package/.codex/skills/team-review/roles/scanner/role.md +71 -0
  152. package/.codex/skills/team-review/specs/dimensions.md +82 -0
  153. package/.codex/skills/team-review/specs/finding-schema.json +82 -0
  154. package/.codex/skills/team-review/specs/pipelines.md +102 -0
  155. package/.codex/skills/team-review/specs/team-config.json +27 -0
  156. package/.codex/skills/team-roadmap-dev/SKILL.md +162 -683
  157. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -0
  158. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +241 -0
  159. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +468 -0
  160. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +90 -0
  161. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +137 -0
  162. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +243 -0
  163. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +303 -0
  164. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -0
  165. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -0
  166. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -0
  167. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -0
  168. package/.codex/skills/team-roadmap-dev/specs/team-config.json +95 -0
  169. package/.codex/skills/team-tech-debt/SKILL.md +129 -708
  170. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -0
  171. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
  172. package/.codex/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +163 -0
  173. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +231 -0
  174. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +141 -0
  175. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -0
  176. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -0
  177. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -0
  178. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -0
  179. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -0
  180. package/.codex/skills/team-tech-debt/specs/team-config.json +129 -0
  181. package/.codex/skills/team-testing/SKILL.md +144 -769
  182. package/.codex/skills/team-testing/roles/analyst/role.md +95 -0
  183. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
  184. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -0
  185. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +242 -0
  186. package/.codex/skills/team-testing/roles/coordinator/role.md +151 -0
  187. package/.codex/skills/team-testing/roles/executor/role.md +96 -0
  188. package/.codex/skills/team-testing/roles/generator/role.md +95 -0
  189. package/.codex/skills/team-testing/roles/strategist/role.md +83 -0
  190. package/.codex/skills/team-testing/specs/pipelines.md +101 -0
  191. package/.codex/skills/team-testing/specs/team-config.json +93 -0
  192. package/.codex/skills/team-uidesign/SKILL.md +133 -767
  193. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -0
  194. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -0
  195. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +194 -0
  196. package/.codex/skills/team-uidesign/roles/coordinator/role.md +179 -0
  197. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -0
  198. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -0
  199. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -0
  200. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -0
  201. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -0
  202. package/.codex/skills/team-uidesign/specs/team-config.json +107 -0
  203. package/.codex/skills/team-ultra-analyze/SKILL.md +166 -786
  204. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -0
  205. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -0
  206. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +225 -0
  207. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +327 -0
  208. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +223 -0
  209. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -0
  210. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -0
  211. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -0
  212. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -0
  213. package/.codex/skills/team-ultra-analyze/specs/team-config.json +129 -0
  214. package/.codex/skills/team-ux-improve/SKILL.md +142 -638
  215. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -0
  216. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -0
  217. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +160 -0
  218. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +138 -0
  219. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -0
  220. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -0
  221. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -0
  222. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -0
  223. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -0
  224. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -0
  225. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -0
  226. package/.codex/skills/team-ux-improve/specs/team-config.json +181 -0
  227. package/.codex/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +17 -0
  228. package/.codex/skills/team-ux-improve/wisdom/contributions/.gitkeep +0 -0
  229. package/.codex/skills/team-ux-improve/wisdom/patterns/state-management.md +14 -0
  230. package/.codex/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +16 -0
  231. package/.codex/skills/team-ux-improve/wisdom/principles/general-ux.md +16 -0
  232. package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -1
  233. package/ccw/dist/core/routes/cli-settings-routes.js +135 -133
  234. package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -1
  235. package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js → AlertDialog-CnpjWAGm.js} +2 -2
  236. package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js.map → AlertDialog-CnpjWAGm.js.map} +1 -1
  237. package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js → AnalysisPage-BT2rDDUD.js} +2 -2
  238. package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js.map → AnalysisPage-BT2rDDUD.js.map} +1 -1
  239. package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js → ApiSettingsPage-DGpjiNVu.js} +2 -2
  240. package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js.map → ApiSettingsPage-DGpjiNVu.js.map} +1 -1
  241. package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js → CliModeToggle-BqUadHn3.js} +2 -2
  242. package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js.map → CliModeToggle-BqUadHn3.js.map} +1 -1
  243. package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js → CliSessionSharePage-C3AdsDkm.js} +2 -2
  244. package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js.map → CliSessionSharePage-C3AdsDkm.js.map} +1 -1
  245. package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js → CliViewerPage-BZXpgY0N.js} +2 -2
  246. package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js.map → CliViewerPage-BZXpgY0N.js.map} +1 -1
  247. package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js → CodexLensPage-CePoJz-u.js} +2 -2
  248. package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js.map → CodexLensPage-CePoJz-u.js.map} +1 -1
  249. package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js → Collapsible-DXVzWwmb.js} +2 -2
  250. package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js.map → Collapsible-DXVzWwmb.js.map} +1 -1
  251. package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js → CommandsManagerPage-B6wJYF0z.js} +2 -2
  252. package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js.map → CommandsManagerPage-B6wJYF0z.js.map} +1 -1
  253. package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js → DeepWikiPage-D55fcvSk.js} +2 -2
  254. package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js.map → DeepWikiPage-D55fcvSk.js.map} +1 -1
  255. package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js → EndpointsPage-DcGziJ5t.js} +2 -2
  256. package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js.map → EndpointsPage-DcGziJ5t.js.map} +1 -1
  257. package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js → ExplorerPage-C4eKzn7F.js} +2 -2
  258. package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js.map → ExplorerPage-C4eKzn7F.js.map} +1 -1
  259. package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js → FixSessionPage-BUHh954A.js} +2 -2
  260. package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js.map → FixSessionPage-BUHh954A.js.map} +1 -1
  261. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js → FloatingFileBrowser-C3GF_u1C.js} +2 -2
  262. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js.map → FloatingFileBrowser-C3GF_u1C.js.map} +1 -1
  263. package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js → FloatingPanel-Cn-q9PyJ.js} +2 -2
  264. package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js.map → FloatingPanel-Cn-q9PyJ.js.map} +1 -1
  265. package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js → GraphExplorerPage-DIpqgvoU.js} +2 -2
  266. package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js.map → GraphExplorerPage-DIpqgvoU.js.map} +1 -1
  267. package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js → HistoryPage-DzSvEAFe.js} +2 -2
  268. package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js.map → HistoryPage-DzSvEAFe.js.map} +1 -1
  269. package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js → HookManagerPage-C6LDhWrH.js} +2 -2
  270. package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js.map → HookManagerPage-C6LDhWrH.js.map} +1 -1
  271. package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js → InstallationsPage-D9ct9xFV.js} +2 -2
  272. package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js.map → InstallationsPage-D9ct9xFV.js.map} +1 -1
  273. package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js → IssueHubPage-CXgDC8pS.js} +2 -2
  274. package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js.map → IssueHubPage-CXgDC8pS.js.map} +1 -1
  275. package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js → LiteTasksPage-DMkauCwG.js} +2 -2
  276. package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js.map → LiteTasksPage-DMkauCwG.js.map} +1 -1
  277. package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js → McpManagerPage-DhLDydgc.js} +2 -2
  278. package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js.map → McpManagerPage-DhLDydgc.js.map} +1 -1
  279. package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js → MemoryPage-Be3nhq40.js} +2 -2
  280. package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js.map → MemoryPage-Be3nhq40.js.map} +1 -1
  281. package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js → NotFoundPage-0yGnCePd.js} +2 -2
  282. package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js.map → NotFoundPage-0yGnCePd.js.map} +1 -1
  283. package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js → OrchestratorPage-_SmXZcGl.js} +2 -2
  284. package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js.map → OrchestratorPage-_SmXZcGl.js.map} +1 -1
  285. package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js → ProjectOverviewPage-BeXTMsdo.js} +2 -2
  286. package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js.map → ProjectOverviewPage-BeXTMsdo.js.map} +1 -1
  287. package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js → PromptHistoryPage-DS6ycuAv.js} +2 -2
  288. package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js.map → PromptHistoryPage-DS6ycuAv.js.map} +1 -1
  289. package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js → ReviewSessionPage-BoqyjhPo.js} +2 -2
  290. package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js.map → ReviewSessionPage-BoqyjhPo.js.map} +1 -1
  291. package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js → RulesManagerPage-DMAwkKlc.js} +2 -2
  292. package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js.map → RulesManagerPage-DMAwkKlc.js.map} +1 -1
  293. package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js → SessionDetailPage-BgJRHIF4.js} +2 -2
  294. package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js.map → SessionDetailPage-BgJRHIF4.js.map} +1 -1
  295. package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js → SessionsPage-DBPdWlji.js} +2 -2
  296. package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js.map → SessionsPage-DBPdWlji.js.map} +1 -1
  297. package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js → SettingsPage-BY3QiJhm.js} +4 -4
  298. package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js.map → SettingsPage-BY3QiJhm.js.map} +1 -1
  299. package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js → SkillsManagerPage-DS101Adm.js} +2 -2
  300. package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js.map → SkillsManagerPage-DS101Adm.js.map} +1 -1
  301. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js → SpecsSettingsPage-BcsLu1qq.js} +2 -2
  302. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js.map → SpecsSettingsPage-BcsLu1qq.js.map} +1 -1
  303. package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js → Switch-BL9AmNPC.js} +2 -2
  304. package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js.map → Switch-BL9AmNPC.js.map} +1 -1
  305. package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js → TabsNavigation-BUcjsLeE.js} +2 -2
  306. package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js.map → TabsNavigation-BUcjsLeE.js.map} +1 -1
  307. package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js → TaskDrawer-BNvfS6dq.js} +2 -2
  308. package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js.map → TaskDrawer-BNvfS6dq.js.map} +1 -1
  309. package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js → TeamPage-CT-zNCrF.js} +2 -2
  310. package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js.map → TeamPage-CT-zNCrF.js.map} +1 -1
  311. package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js → TerminalDashboardPage-DfZFGs8g.js} +2 -2
  312. package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js.map → TerminalDashboardPage-DfZFGs8g.js.map} +1 -1
  313. package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js → archive-Cev1SaQq.js} +2 -2
  314. package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js.map → archive-Cev1SaQq.js.map} +1 -1
  315. package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js → archive-restore-BIVluaHZ.js} +2 -2
  316. package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js.map → archive-restore-BIVluaHZ.js.map} +1 -1
  317. package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js → arrow-right-DrivbS5j.js} +2 -2
  318. package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js.map → arrow-right-DrivbS5j.js.map} +1 -1
  319. package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js → bookmark-plus-DKyzL0Xg.js} +2 -2
  320. package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js.map → bookmark-plus-DKyzL0Xg.js.map} +1 -1
  321. package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js → bot-GBUkPAe3.js} +2 -2
  322. package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js.map → bot-GBUkPAe3.js.map} +1 -1
  323. package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js → braces-BWhm2c4g.js} +2 -2
  324. package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js.map → braces-BWhm2c4g.js.map} +1 -1
  325. package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js → circle-stop-CBcZSKNp.js} +2 -2
  326. package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js.map → circle-stop-CBcZSKNp.js.map} +1 -1
  327. package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js → cpu-CzNmuTZD.js} +2 -2
  328. package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js.map → cpu-CzNmuTZD.js.map} +1 -1
  329. package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js → ellipsis-vertical-BoIyQKaI.js} +2 -2
  330. package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js.map → ellipsis-vertical-BoIyQKaI.js.map} +1 -1
  331. package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js → eye-BqxyhxQq.js} +2 -2
  332. package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js.map → eye-BqxyhxQq.js.map} +1 -1
  333. package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js → eye-off-D9dTZP1A.js} +2 -2
  334. package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js.map → eye-off-D9dTZP1A.js.map} +1 -1
  335. package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js → file-json-CLYEUI6e.js} +2 -2
  336. package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js.map → file-json-CLYEUI6e.js.map} +1 -1
  337. package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js → file-text-D5j9C5XC.js} +2 -2
  338. package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js.map → file-text-D5j9C5XC.js.map} +1 -1
  339. package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js → filter-CEUK5jsA.js} +2 -2
  340. package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js.map → filter-CEUK5jsA.js.map} +1 -1
  341. package/ccw/frontend/dist/assets/{folder-CV8511y9.js → folder-BEOY8txM.js} +2 -2
  342. package/ccw/frontend/dist/assets/{folder-CV8511y9.js.map → folder-BEOY8txM.js.map} +1 -1
  343. package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js → gauge-CbumHmVn.js} +2 -2
  344. package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js.map → gauge-CbumHmVn.js.map} +1 -1
  345. package/ccw/frontend/dist/assets/{globe-C56cDUzX.js → globe-D8_IB9gV.js} +2 -2
  346. package/ccw/frontend/dist/assets/{globe-C56cDUzX.js.map → globe-D8_IB9gV.js.map} +1 -1
  347. package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js → grid-3x3-BpzWmYF5.js} +2 -2
  348. package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js.map → grid-3x3-BpzWmYF5.js.map} +1 -1
  349. package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js → hard-drive-QIHpGln7.js} +2 -2
  350. package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js.map → hard-drive-QIHpGln7.js.map} +1 -1
  351. package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js → hash-CP0YRHVs.js} +2 -2
  352. package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js.map → hash-CP0YRHVs.js.map} +1 -1
  353. package/ccw/frontend/dist/assets/{history-C1pJZQCL.js → history-hOjgVKax.js} +2 -2
  354. package/ccw/frontend/dist/assets/{history-C1pJZQCL.js.map → history-hOjgVKax.js.map} +1 -1
  355. package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js → index-B_ysvdnP.js} +2 -2
  356. package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js.map → index-B_ysvdnP.js.map} +1 -1
  357. package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js → index-C5Oqx2xI.js} +3 -3
  358. package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js.map → index-C5Oqx2xI.js.map} +1 -1
  359. package/ccw/frontend/dist/assets/{index-CI8-rBff.js → index-CJi0bWL-.js} +2 -2
  360. package/ccw/frontend/dist/assets/{index-CI8-rBff.js.map → index-CJi0bWL-.js.map} +1 -1
  361. package/ccw/frontend/dist/assets/{index-anSMmEF8.js → index-CdQpo1x0.js} +2 -2
  362. package/ccw/frontend/dist/assets/{index-anSMmEF8.js.map → index-CdQpo1x0.js.map} +1 -1
  363. package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js → layout-grid-C38fQyLs.js} +2 -2
  364. package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js.map → layout-grid-C38fQyLs.js.map} +1 -1
  365. package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js → lightbulb-CClbCUzu.js} +2 -2
  366. package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js.map → lightbulb-CClbCUzu.js.map} +1 -1
  367. package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js → link-2-CB-LKbI0.js} +2 -2
  368. package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js.map → link-2-CB-LKbI0.js.map} +1 -1
  369. package/ccw/frontend/dist/assets/{link-BZtPgLW0.js → link-BK6SBzHS.js} +2 -2
  370. package/ccw/frontend/dist/assets/{link-BZtPgLW0.js.map → link-BK6SBzHS.js.map} +1 -1
  371. package/ccw/frontend/dist/assets/{list-DubWyY-U.js → list-BME_WOA_.js} +2 -2
  372. package/ccw/frontend/dist/assets/{list-DubWyY-U.js.map → list-BME_WOA_.js.map} +1 -1
  373. package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js → map-pin-ADsnCyjJ.js} +2 -2
  374. package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js.map → map-pin-ADsnCyjJ.js.map} +1 -1
  375. package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js → messages-square-CLflB1Cq.js} +2 -2
  376. package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js.map → messages-square-CLflB1Cq.js.map} +1 -1
  377. package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js → minimize-2-B3ZNzfGr.js} +2 -2
  378. package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js.map → minimize-2-B3ZNzfGr.js.map} +1 -1
  379. package/ccw/frontend/dist/assets/{package-nzWY6ilt.js → package-CByPhtMG.js} +2 -2
  380. package/ccw/frontend/dist/assets/{package-nzWY6ilt.js.map → package-CByPhtMG.js.map} +1 -1
  381. package/ccw/frontend/dist/assets/{plug-CiLce49C.js → plug-BggRzPX9.js} +2 -2
  382. package/ccw/frontend/dist/assets/{plug-CiLce49C.js.map → plug-BggRzPX9.js.map} +1 -1
  383. package/ccw/frontend/dist/assets/{power-CFLmB-U9.js → power-CWuxQSJK.js} +2 -2
  384. package/ccw/frontend/dist/assets/{power-CFLmB-U9.js.map → power-CWuxQSJK.js.map} +1 -1
  385. package/ccw/frontend/dist/assets/{save-DuO6OF0C.js → save-BdJ6EX4Q.js} +2 -2
  386. package/ccw/frontend/dist/assets/{save-DuO6OF0C.js.map → save-BdJ6EX4Q.js.map} +1 -1
  387. package/ccw/frontend/dist/assets/{send-CZk9p0mM.js → send-Ce9wuY7Q.js} +2 -2
  388. package/ccw/frontend/dist/assets/{send-CZk9p0mM.js.map → send-Ce9wuY7Q.js.map} +1 -1
  389. package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js → square-check-big-D6jItkfw.js} +2 -2
  390. package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js.map → square-check-big-D6jItkfw.js.map} +1 -1
  391. package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js → square-pen-Byxq21zp.js} +2 -2
  392. package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js.map → square-pen-Byxq21zp.js.map} +1 -1
  393. package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js → star-Codj9dvK.js} +2 -2
  394. package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js.map → star-Codj9dvK.js.map} +1 -1
  395. package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js → style-4bYpUGcc.js} +2 -2
  396. package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js.map → style-4bYpUGcc.js.map} +1 -1
  397. package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js → target-DKBoDNCn.js} +2 -2
  398. package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js.map → target-DKBoDNCn.js.map} +1 -1
  399. package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js → test-tube-DTqZcBtA.js} +2 -2
  400. package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js.map → test-tube-DTqZcBtA.js.map} +1 -1
  401. package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js → upload-DlUl-e6b.js} +2 -2
  402. package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js.map → upload-DlUl-e6b.js.map} +1 -1
  403. package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js → useApiSettings-D4zhKKT-.js} +2 -2
  404. package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js.map → useApiSettings-D4zhKKT-.js.map} +1 -1
  405. package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js → useCli-D-qDwsAH.js} +2 -2
  406. package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js.map → useCli-D-qDwsAH.js.map} +1 -1
  407. package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js → useCommands-B0sidbbW.js} +2 -2
  408. package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js.map → useCommands-B0sidbbW.js.map} +1 -1
  409. package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js → useDebounce-eTtbKevt.js} +2 -2
  410. package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js.map → useDebounce-eTtbKevt.js.map} +1 -1
  411. package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js → useFileExplorer-MGSK0h33.js} +2 -2
  412. package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js.map → useFileExplorer-MGSK0h33.js.map} +1 -1
  413. package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js → useLocale-DDNxU7pJ.js} +2 -2
  414. package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js.map → useLocale-DDNxU7pJ.js.map} +1 -1
  415. package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js → useSkills-CZCRBtMY.js} +3 -3
  416. package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js.map → useSkills-CZCRBtMY.js.map} +1 -1
  417. package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js → useSystemSettings-DfQEFXSD.js} +2 -2
  418. package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js.map → useSystemSettings-DfQEFXSD.js.map} +1 -1
  419. package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js → wand-sparkles-DCLvfgl1.js} +2 -2
  420. package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js.map → wand-sparkles-DCLvfgl1.js.map} +1 -1
  421. package/ccw/frontend/dist/index.html +1 -1
  422. package/package.json +1 -1
  423. package/.codex/skills/team-arch-opt/agents/completion-handler.md +0 -138
  424. package/.codex/skills/team-arch-opt/agents/fix-cycle-handler.md +0 -146
  425. package/.codex/skills/team-arch-opt/agents/plan-reviewer.md +0 -150
  426. package/.codex/skills/team-arch-opt/instructions/agent-instruction.md +0 -114
  427. package/.codex/skills/team-arch-opt/schemas/tasks-schema.md +0 -174
  428. package/.codex/skills/team-brainstorm/agents/gc-controller.md +0 -122
  429. package/.codex/skills/team-brainstorm/agents/topic-clarifier.md +0 -126
  430. package/.codex/skills/team-brainstorm/instructions/agent-instruction.md +0 -105
  431. package/.codex/skills/team-brainstorm/schemas/tasks-schema.md +0 -171
  432. package/.codex/skills/team-coordinate/agents/completion-handler.md +0 -127
  433. package/.codex/skills/team-coordinate/agents/plan-reviewer.md +0 -145
  434. package/.codex/skills/team-coordinate/instructions/agent-instruction.md +0 -184
  435. package/.codex/skills/team-coordinate/schemas/tasks-schema.md +0 -165
  436. package/.codex/skills/team-designer/agents/requirement-clarifier.md +0 -247
  437. package/.codex/skills/team-designer/agents/validation-reporter.md +0 -186
  438. package/.codex/skills/team-designer/instructions/agent-instruction.md +0 -163
  439. package/.codex/skills/team-designer/schemas/tasks-schema.md +0 -180
  440. package/.codex/skills/team-executor/instructions/agent-instruction.md +0 -62
  441. package/.codex/skills/team-executor/schemas/tasks-schema.md +0 -141
  442. package/.codex/skills/team-frontend/agents/completion-handler.md +0 -131
  443. package/.codex/skills/team-frontend/agents/qa-gate-reviewer.md +0 -153
  444. package/.codex/skills/team-frontend/instructions/agent-instruction.md +0 -197
  445. package/.codex/skills/team-frontend/schemas/tasks-schema.md +0 -188
  446. package/.codex/skills/team-frontend-debug/agents/completion-handler.md +0 -142
  447. package/.codex/skills/team-frontend-debug/agents/conditional-skip-gate.md +0 -130
  448. package/.codex/skills/team-frontend-debug/agents/iteration-handler.md +0 -120
  449. package/.codex/skills/team-frontend-debug/instructions/agent-instruction.md +0 -272
  450. package/.codex/skills/team-frontend-debug/schemas/tasks-schema.md +0 -198
  451. package/.codex/skills/team-issue/agents/reviewer.md +0 -204
  452. package/.codex/skills/team-issue/instructions/agent-instruction.md +0 -198
  453. package/.codex/skills/team-issue/schemas/tasks-schema.md +0 -198
  454. package/.codex/skills/team-iterdev/agents/gc-controller.md +0 -193
  455. package/.codex/skills/team-iterdev/agents/task-analyzer.md +0 -206
  456. package/.codex/skills/team-iterdev/instructions/agent-instruction.md +0 -118
  457. package/.codex/skills/team-iterdev/schemas/tasks-schema.md +0 -174
  458. package/.codex/skills/team-lifecycle/SKILL.md +0 -906
  459. package/.codex/skills/team-lifecycle/agents/analyst.md +0 -424
  460. package/.codex/skills/team-lifecycle/agents/architect.md +0 -274
  461. package/.codex/skills/team-lifecycle/agents/discuss-agent.md +0 -422
  462. package/.codex/skills/team-lifecycle/agents/executor.md +0 -423
  463. package/.codex/skills/team-lifecycle/agents/explore-agent.md +0 -471
  464. package/.codex/skills/team-lifecycle/agents/fe-developer.md +0 -239
  465. package/.codex/skills/team-lifecycle/agents/fe-qa.md +0 -357
  466. package/.codex/skills/team-lifecycle/agents/planner.md +0 -437
  467. package/.codex/skills/team-lifecycle/agents/reviewer.md +0 -483
  468. package/.codex/skills/team-lifecycle/agents/tester.md +0 -423
  469. package/.codex/skills/team-lifecycle/agents/writer.md +0 -502
  470. package/.codex/skills/team-lifecycle/phases/01-requirement-clarification.md +0 -209
  471. package/.codex/skills/team-lifecycle/phases/02-team-initialization.md +0 -263
  472. package/.codex/skills/team-lifecycle/phases/03-task-chain-creation.md +0 -251
  473. package/.codex/skills/team-lifecycle/phases/04-pipeline-coordination.md +0 -831
  474. package/.codex/skills/team-lifecycle/phases/05-completion-report.md +0 -309
  475. package/.codex/skills/team-lifecycle/specs/document-standards.md +0 -192
  476. package/.codex/skills/team-lifecycle/specs/quality-gates.md +0 -207
  477. package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +0 -165
  478. package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +0 -163
  479. package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +0 -182
  480. package/.codex/skills/team-perf-opt/agents/completion-handler.md +0 -141
  481. package/.codex/skills/team-perf-opt/agents/fix-cycle-handler.md +0 -156
  482. package/.codex/skills/team-perf-opt/agents/plan-reviewer.md +0 -150
  483. package/.codex/skills/team-perf-opt/instructions/agent-instruction.md +0 -122
  484. package/.codex/skills/team-perf-opt/schemas/tasks-schema.md +0 -174
  485. package/.codex/skills/team-planex/instructions/agent-instruction.md +0 -301
  486. package/.codex/skills/team-planex/schemas/tasks-schema.md +0 -198
  487. package/.codex/skills/team-planex-v2/SKILL.md +0 -652
  488. package/.codex/skills/team-planex-v2/instructions/agent-instruction.md +0 -193
  489. package/.codex/skills/team-planex-v2/schemas/tasks-schema.md +0 -206
  490. package/.codex/skills/team-quality-assurance/agents/executor.md +0 -192
  491. package/.codex/skills/team-quality-assurance/agents/gc-loop-handler.md +0 -163
  492. package/.codex/skills/team-quality-assurance/instructions/agent-instruction.md +0 -185
  493. package/.codex/skills/team-quality-assurance/schemas/tasks-schema.md +0 -190
  494. package/.codex/skills/team-review/agents/fixer.md +0 -360
  495. package/.codex/skills/team-review/instructions/agent-instruction.md +0 -102
  496. package/.codex/skills/team-review/schemas/tasks-schema.md +0 -143
  497. package/.codex/skills/team-roadmap-dev/agents/roadmap-discusser.md +0 -176
  498. package/.codex/skills/team-roadmap-dev/agents/roadmap-planner.md +0 -194
  499. package/.codex/skills/team-roadmap-dev/agents/roadmap-verifier.md +0 -221
  500. package/.codex/skills/team-roadmap-dev/instructions/executor-instruction.md +0 -55
  501. package/.codex/skills/team-roadmap-dev/schemas/tasks-schema.md +0 -144
  502. package/.codex/skills/team-tech-debt/agents/gc-loop-manager.md +0 -130
  503. package/.codex/skills/team-tech-debt/agents/plan-approver.md +0 -151
  504. package/.codex/skills/team-tech-debt/instructions/agent-instruction.md +0 -390
  505. package/.codex/skills/team-tech-debt/schemas/tasks-schema.md +0 -196
  506. package/.codex/skills/team-testing/agents/executor.md +0 -195
  507. package/.codex/skills/team-testing/agents/gc-loop-handler.md +0 -155
  508. package/.codex/skills/team-testing/instructions/agent-instruction.md +0 -142
  509. package/.codex/skills/team-testing/schemas/tasks-schema.md +0 -172
  510. package/.codex/skills/team-uidesign/agents/completion-handler.md +0 -177
  511. package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +0 -162
  512. package/.codex/skills/team-uidesign/instructions/agent-instruction.md +0 -509
  513. package/.codex/skills/team-uidesign/schemas/tasks-schema.md +0 -187
  514. package/.codex/skills/team-ultra-analyze/agents/discussion-feedback.md +0 -155
  515. package/.codex/skills/team-ultra-analyze/agents/topic-analyzer.md +0 -153
  516. package/.codex/skills/team-ultra-analyze/instructions/agent-instruction.md +0 -169
  517. package/.codex/skills/team-ultra-analyze/schemas/tasks-schema.md +0 -180
  518. package/.codex/skills/team-ux-improve/agents/ux-designer.md +0 -136
  519. package/.codex/skills/team-ux-improve/agents/ux-explorer.md +0 -158
  520. package/.codex/skills/team-ux-improve/agents/ux-tester.md +0 -174
  521. package/.codex/skills/team-ux-improve/instructions/ux-worker-instruction.md +0 -55
  522. package/.codex/skills/team-ux-improve/schemas/tasks-schema.md +0 -87
  523. /package/.codex/skills/{team-lifecycle/templates/architecture-doc.md → team-lifecycle-v4/templates/architecture.md} +0 -0
  524. /package/.codex/skills/{team-lifecycle/templates/epics-template.md → team-lifecycle-v4/templates/epics.md} +0 -0
  525. /package/.codex/skills/{team-lifecycle → team-lifecycle-v4}/templates/product-brief.md +0 -0
  526. /package/.codex/skills/{team-lifecycle/templates/requirements-prd.md → team-lifecycle-v4/templates/requirements.md} +0 -0
@@ -1,821 +1,191 @@
1
- ---
2
- name: team-frontend-debug
3
- description: Frontend debugging team using Chrome DevTools MCP. Dual-mode -- feature-list testing or bug-report debugging. Covers reproduction, root cause analysis, code fixes, and verification. CSV wave pipeline with conditional skip and iteration loops.
4
- argument-hint: "[-y|--yes] [-c|--concurrency N] [--continue] \"feature list or bug description\""
5
- allowed-tools: spawn_agents_on_csv, spawn_agent, wait, send_input, close_agent, Read, Write, Edit, Bash, Glob, Grep, request_user_input
6
- ---
7
-
8
- ## Auto Mode
9
-
10
- When `--yes` or `-y`: Auto-confirm task decomposition, skip interactive validation, use defaults.
11
-
12
- # Frontend Debug Team
13
-
14
- ## Usage
15
-
16
- ```bash
17
- $team-frontend-debug "Test features: login, dashboard, user profile at localhost:3000"
18
- $team-frontend-debug "Bug: clicking save button on /settings causes white screen"
19
- $team-frontend-debug -y "Test: 1. User registration 2. Email verification 3. Password reset"
20
- $team-frontend-debug --continue "tfd-login-bug-20260308"
21
- ```
22
-
23
- **Flags**:
24
- - `-y, --yes`: Skip all confirmations (auto mode)
25
- - `-c, --concurrency N`: Max concurrent agents within each wave (default: 2)
26
- - `--continue`: Resume existing session
27
-
28
- **Output Directory**: `.workflow/.csv-wave/{session-id}/`
29
- **Core Output**: `tasks.csv` (master state) + `results.csv` (final) + `discoveries.ndjson` (shared exploration) + `context.md` (human-readable report)
30
-
31
- ---
32
-
33
- ## Overview
34
-
35
- Dual-mode frontend debugging: feature-list testing or bug-report debugging, powered by Chrome DevTools MCP. Roles: tester (test-pipeline), reproducer (debug-pipeline), analyzer, fixer, verifier. Supports conditional skip (all tests pass -> no downstream tasks), iteration loops (analyzer requesting more evidence, verifier triggering re-fix), and Chrome DevTools-based browser interaction.
36
-
37
- **Execution Model**: Hybrid -- CSV wave pipeline (primary) + individual agent spawn (secondary)
38
-
39
- ```
40
- +-------------------------------------------------------------------+
41
- | FRONTEND DEBUG WORKFLOW |
42
- +-------------------------------------------------------------------+
43
- | |
44
- | Phase 0: Pre-Wave Interactive (Input Analysis) |
45
- | +- Parse user input (feature list or bug report) |
46
- | +- Detect mode: test-pipeline or debug-pipeline |
47
- | +- Extract: base URL, features/steps, evidence plan |
48
- | +- Output: refined requirements for decomposition |
49
- | |
50
- | Phase 1: Requirement -> CSV + Classification |
51
- | +- Select pipeline (test or debug) |
52
- | +- Build dependency graph from pipeline definition |
53
- | +- Classify tasks: csv-wave | interactive (exec_mode) |
54
- | +- Compute dependency waves (topological sort) |
55
- | +- Generate tasks.csv with wave + exec_mode columns |
56
- | +- User validates task breakdown (skip if -y) |
57
- | |
58
- | Phase 2: Wave Execution Engine (Extended) |
59
- | +- For each wave (1..N): |
60
- | | +- Execute pre-wave interactive tasks (if any) |
61
- | | +- Build wave CSV (filter csv-wave tasks for this wave) |
62
- | | +- Inject previous findings into prev_context column |
63
- | | +- spawn_agents_on_csv(wave CSV) |
64
- | | +- Execute post-wave interactive tasks (if any) |
65
- | | +- Merge all results into master tasks.csv |
66
- | | +- Conditional skip: TEST-001 with 0 issues -> done |
67
- | | +- Iteration: ANALYZE needs more evidence -> REPRODUCE-002 |
68
- | | +- Re-fix: VERIFY fails -> FIX-002 -> VERIFY-002 |
69
- | +- discoveries.ndjson shared across all modes (append-only) |
70
- | |
71
- | Phase 3: Post-Wave Interactive (Completion Action) |
72
- | +- Pipeline completion report with debug summary |
73
- | +- Interactive completion choice (Archive/Keep/Export) |
74
- | +- Final aggregation / report |
75
- | |
76
- | Phase 4: Results Aggregation |
77
- | +- Export final results.csv |
78
- | +- Generate context.md with all findings |
79
- | +- Display summary: completed/failed/skipped per wave |
80
- | +- Offer: view results | retry failed | done |
81
- | |
82
- +-------------------------------------------------------------------+
83
- ```
84
-
85
- ---
86
-
87
- ## Pipeline Modes
88
-
89
- | Input Pattern | Pipeline | Flow |
90
- |---------------|----------|------|
91
- | Feature list / function checklist / test items | `test-pipeline` | TEST -> ANALYZE -> FIX -> VERIFY |
92
- | Bug report / error description / crash report | `debug-pipeline` | REPRODUCE -> ANALYZE -> FIX -> VERIFY |
93
-
94
- ### Pipeline Selection Keywords
95
-
96
- | Keywords | Pipeline |
97
- |----------|----------|
98
- | feature, test, list, check, verify functions, validate | `test-pipeline` |
99
- | bug, error, crash, broken, white screen, not working | `debug-pipeline` |
100
- | performance, slow, latency, memory leak | `debug-pipeline` (perf dimension) |
101
- | Ambiguous / unclear | request_user_input to clarify |
102
-
103
- ---
104
-
105
- ## Task Classification Rules
106
-
107
- Each task is classified by `exec_mode`:
108
-
109
- | exec_mode | Mechanism | Criteria |
110
- |-----------|-----------|----------|
111
- | `csv-wave` | `spawn_agents_on_csv` | One-shot, structured I/O, no multi-round interaction |
112
- | `interactive` | `spawn_agent`/`wait`/`send_input`/`close_agent` | Multi-round, progress updates, inner loop |
113
-
114
- **Classification Decision**:
115
-
116
- | Task Property | Classification |
117
- |---------------|---------------|
118
- | Feature testing with inner loop (tester iterates over features) | `csv-wave` |
119
- | Bug reproduction (single pass) | `csv-wave` |
120
- | Root cause analysis (single pass) | `csv-wave` |
121
- | Code fix implementation | `csv-wave` |
122
- | Fix verification (single pass) | `csv-wave` |
123
- | Conditional skip gate (evaluating TEST results) | `interactive` |
124
- | Pipeline completion action | `interactive` |
125
-
126
- ---
127
-
128
- ## CSV Schema
129
-
130
- ### tasks.csv (Master State)
131
-
132
- ```csv
133
- id,title,description,role,pipeline_mode,base_url,evidence_dimensions,deps,context_from,exec_mode,wave,status,findings,artifacts_produced,issues_count,verdict,error
134
- "TEST-001","Feature testing","PURPOSE: Test all features from list | Success: All features tested with evidence","tester","test-pipeline","http://localhost:3000","screenshot;console;network","","","csv-wave","1","pending","","","","",""
135
- "ANALYZE-001","Root cause analysis","PURPOSE: Analyze discovered issues | Success: RCA for each issue","analyzer","test-pipeline","","console;network","TEST-001","TEST-001","csv-wave","2","pending","","","","",""
136
- ```
137
-
138
- **Columns**:
139
-
140
- | Column | Phase | Description |
141
- |--------|-------|-------------|
142
- | `id` | Input | Unique task identifier (PREFIX-NNN: TEST, REPRODUCE, ANALYZE, FIX, VERIFY) |
143
- | `title` | Input | Short task title |
144
- | `description` | Input | Detailed task description with PURPOSE/TASK/CONTEXT/EXPECTED/CONSTRAINTS |
145
- | `role` | Input | Role name: `tester`, `reproducer`, `analyzer`, `fixer`, `verifier` |
146
- | `pipeline_mode` | Input | Pipeline: `test-pipeline` or `debug-pipeline` |
147
- | `base_url` | Input | Target URL for browser-based tasks (empty for non-browser tasks) |
148
- | `evidence_dimensions` | Input | Semicolon-separated evidence types: `screenshot`, `console`, `network`, `snapshot`, `performance` |
149
- | `deps` | Input | Semicolon-separated dependency task IDs |
150
- | `context_from` | Input | Semicolon-separated task IDs whose findings this task needs |
151
- | `exec_mode` | Input | `csv-wave` or `interactive` |
152
- | `wave` | Computed | Wave number (computed by topological sort, 1-based) |
153
- | `status` | Output | `pending` -> `completed` / `failed` / `skipped` |
154
- | `findings` | Output | Key discoveries or implementation notes (max 500 chars) |
155
- | `artifacts_produced` | Output | Semicolon-separated paths of produced artifacts |
156
- | `issues_count` | Output | Number of issues found (tester/analyzer), empty for others |
157
- | `verdict` | Output | Verification verdict: `pass`, `pass_with_warnings`, `fail` (verifier only) |
158
- | `error` | Output | Error message if failed (empty if success) |
159
-
160
- ### Per-Wave CSV (Temporary)
161
-
162
- Each wave generates a temporary `wave-{N}.csv` with extra `prev_context` column (csv-wave tasks only).
163
-
164
- ---
165
-
166
- ## Agent Registry (Interactive Agents)
167
-
168
- | Agent | Role File | Pattern | Responsibility | Position |
169
- |-------|-----------|---------|----------------|----------|
170
- | Conditional Skip Gate | agents/conditional-skip-gate.md | 2.3 (send_input cycle) | Evaluate TEST results and skip downstream if no issues | post-wave |
171
- | Iteration Handler | agents/iteration-handler.md | 2.3 (send_input cycle) | Handle analyzer's need_more_evidence request | post-wave |
172
- | Completion Handler | agents/completion-handler.md | 2.3 (send_input cycle) | Handle pipeline completion action (Archive/Keep/Export) | standalone |
173
-
174
- > **COMPACT PROTECTION**: Agent files are execution documents. When context compression occurs, **you MUST immediately `Read` the corresponding agent.md** to reload.
175
-
176
- ---
177
-
178
- ## Chrome DevTools MCP Tools
179
-
180
- All browser inspection operations use Chrome DevTools MCP. Tester, reproducer, and verifier are primary consumers. These tools are available to CSV wave agents.
181
-
182
- | Tool | Purpose |
183
- |------|---------|
184
- | `mcp__chrome-devtools__navigate_page` | Navigate to target URL |
185
- | `mcp__chrome-devtools__take_screenshot` | Capture visual state |
186
- | `mcp__chrome-devtools__take_snapshot` | Capture DOM/a11y tree |
187
- | `mcp__chrome-devtools__list_console_messages` | Read console logs |
188
- | `mcp__chrome-devtools__get_console_message` | Get specific console message |
189
- | `mcp__chrome-devtools__list_network_requests` | Monitor network activity |
190
- | `mcp__chrome-devtools__get_network_request` | Inspect request/response detail |
191
- | `mcp__chrome-devtools__performance_start_trace` | Start performance recording |
192
- | `mcp__chrome-devtools__performance_stop_trace` | Stop and analyze trace |
193
- | `mcp__chrome-devtools__click` | Simulate user click |
194
- | `mcp__chrome-devtools__fill` | Fill form inputs |
195
- | `mcp__chrome-devtools__hover` | Hover over elements |
196
- | `mcp__chrome-devtools__evaluate_script` | Execute JavaScript in page |
197
- | `mcp__chrome-devtools__wait_for` | Wait for element/text |
198
- | `mcp__chrome-devtools__list_pages` | List open browser tabs |
199
- | `mcp__chrome-devtools__select_page` | Switch active tab |
200
- | `mcp__chrome-devtools__press_key` | Press keyboard keys |
201
-
202
- ---
203
-
204
- ## Output Artifacts
205
-
206
- | File | Purpose | Lifecycle |
207
- |------|---------|-----------|
208
- | `tasks.csv` | Master state -- all tasks with status/findings | Updated after each wave |
209
- | `wave-{N}.csv` | Per-wave input (temporary, csv-wave tasks only) | Created before wave, deleted after |
210
- | `results.csv` | Final export of all task results | Created in Phase 4 |
211
- | `discoveries.ndjson` | Shared exploration board (all agents, both modes) | Append-only, carries across waves |
212
- | `context.md` | Human-readable execution report | Created in Phase 4 |
213
- | `task-analysis.json` | Phase 0/1 output: mode, features/steps, dimensions | Created in Phase 1 |
214
- | `role-instructions/` | Per-role instruction templates for CSV agents | Created in Phase 1 |
215
- | `artifacts/` | All deliverables: test reports, RCA reports, fix changes, verification reports | Created by agents |
216
- | `evidence/` | Screenshots, snapshots, network logs, performance traces | Created by tester/reproducer/verifier |
217
- | `interactive/{id}-result.json` | Results from interactive tasks | Created per interactive task |
218
-
219
- ---
220
-
221
- ## Session Structure
222
-
223
- ```
224
- .workflow/.csv-wave/{session-id}/
225
- +-- tasks.csv # Master state (all tasks, both modes)
226
- +-- results.csv # Final results export
227
- +-- discoveries.ndjson # Shared discovery board (all agents)
228
- +-- context.md # Human-readable report
229
- +-- task-analysis.json # Phase 1 analysis output
230
- +-- wave-{N}.csv # Temporary per-wave input (csv-wave only)
231
- +-- role-instructions/ # Per-role instruction templates
232
- | +-- tester.md # (test-pipeline)
233
- | +-- reproducer.md # (debug-pipeline)
234
- | +-- analyzer.md
235
- | +-- fixer.md
236
- | +-- verifier.md
237
- +-- artifacts/ # All deliverables
238
- | +-- TEST-001-report.md
239
- | +-- TEST-001-issues.json
240
- | +-- ANALYZE-001-rca.md
241
- | +-- FIX-001-changes.md
242
- | +-- VERIFY-001-report.md
243
- +-- evidence/ # Browser evidence
244
- | +-- F-001-login-before.png
245
- | +-- F-001-login-after.png
246
- | +-- before-screenshot.png
247
- | +-- after-screenshot.png
248
- | +-- before-snapshot.txt
249
- | +-- after-snapshot.txt
250
- | +-- evidence-summary.json
251
- +-- interactive/ # Interactive task artifacts
252
- | +-- {id}-result.json
253
- +-- wisdom/ # Cross-task knowledge
254
- +-- learnings.md
255
- ```
256
-
257
- ---
258
-
259
- ## Implementation
260
-
261
- ### Session Initialization
262
-
263
- ```javascript
264
- const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
265
-
266
- const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
267
- const continueMode = $ARGUMENTS.includes('--continue')
268
- const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
269
- const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 2
270
-
271
- const requirement = $ARGUMENTS
272
- .replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+/g, '')
273
- .trim()
274
-
275
- const slug = requirement.toLowerCase()
276
- .replace(/[^a-z0-9\u4e00-\u9fa5]+/g, '-')
277
- .substring(0, 40)
278
- const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
279
- const sessionId = `tfd-${slug}-${dateStr}`
280
- const sessionFolder = `.workflow/.csv-wave/${sessionId}`
281
-
282
- Bash(`mkdir -p ${sessionFolder}/artifacts ${sessionFolder}/evidence ${sessionFolder}/role-instructions ${sessionFolder}/interactive ${sessionFolder}/wisdom`)
283
-
284
- Write(`${sessionFolder}/discoveries.ndjson`, '')
285
- Write(`${sessionFolder}/wisdom/learnings.md`, '# Debug Learnings\n')
286
- ```
287
-
288
- ---
289
-
290
- ### Phase 0: Pre-Wave Interactive (Input Analysis)
291
-
292
- **Objective**: Parse user input, detect mode (test vs debug), extract parameters.
293
-
294
- **Workflow**:
295
-
296
- 1. **Parse user input** from $ARGUMENTS
297
-
298
- 2. **Check for existing sessions** (continue mode):
299
- - Scan `.workflow/.csv-wave/tfd-*/tasks.csv` for sessions with pending tasks
300
- - If `--continue`: resume the specified or most recent session, skip to Phase 2
301
-
302
- 3. **Detect mode**:
303
-
304
- | Input Pattern | Mode |
305
- |---------------|------|
306
- | Contains: feature, test, list, check, verify | `test-pipeline` |
307
- | Contains: bug, error, crash, broken, not working | `debug-pipeline` |
308
- | Ambiguous | request_user_input to clarify |
309
-
310
- 4. **Extract parameters by mode**:
311
-
312
- **Test Mode**:
313
- - `base_url`: URL in text or request_user_input
314
- - `features`: Parse feature list (bullet points, numbered list, free text)
315
- - Generate structured feature items with id, name, url
316
-
317
- **Debug Mode**:
318
- - `bug_description`: Bug description text
319
- - `target_url`: URL in text or request_user_input
320
- - `reproduction_steps`: Steps in text or request_user_input
321
- - `evidence_plan`: Detect dimensions from keywords (UI, network, console, performance)
322
-
323
- 5. **Dimension Detection** (debug mode):
324
-
325
- | Keywords | Dimension |
326
- |----------|-----------|
327
- | render, style, display, layout, CSS | screenshot, snapshot |
328
- | request, API, network, timeout | network |
329
- | error, crash, exception | console |
330
- | slow, performance, lag, memory | performance |
331
- | interaction, click, input, form | screenshot, console |
332
-
333
- **Success Criteria**:
334
- - Mode determined (test-pipeline or debug-pipeline)
335
- - Base URL and features/steps extracted
336
- - Evidence dimensions identified
337
-
338
- ---
339
-
340
- ### Phase 1: Requirement -> CSV + Classification
341
-
342
- **Objective**: Build task dependency graph, generate tasks.csv and per-role instruction templates.
343
-
344
- **Decomposition Rules**:
345
-
346
- 1. **Pipeline Definition**:
347
-
348
- **Test Pipeline** (4 tasks, conditional):
349
- ```
350
- TEST-001 -> [issues?] -> ANALYZE-001 -> FIX-001 -> VERIFY-001
351
- |
352
- +-- no issues -> Pipeline Complete (skip downstream)
353
- ```
354
-
355
- **Debug Pipeline** (4 tasks, linear with iteration):
356
- ```
357
- REPRODUCE-001 -> ANALYZE-001 -> FIX-001 -> VERIFY-001
358
- ^ |
359
- | (if fail) |
360
- +--- REPRODUCE-002 <-----+
361
- ```
362
-
363
- 2. **Task Description Template**: Every task uses PURPOSE/TASK/CONTEXT/EXPECTED/CONSTRAINTS format with session path, base URL, and upstream artifact references
364
-
365
- 3. **Role Instruction Generation**: Write per-role instruction templates to `role-instructions/{role}.md` using the base instruction template customized for each role
366
-
367
- **Classification Rules**:
368
-
369
- | Task Property | exec_mode |
370
- |---------------|-----------|
371
- | Feature testing (tester with inner loop) | `csv-wave` |
372
- | Bug reproduction (single pass) | `csv-wave` |
373
- | Root cause analysis (single pass) | `csv-wave` |
374
- | Code fix (may need multiple passes) | `csv-wave` |
375
- | Fix verification (single pass) | `csv-wave` |
376
- | All standard pipeline tasks | `csv-wave` |
377
-
378
- **Wave Computation**: Kahn's BFS topological sort with depth tracking.
379
-
380
- ```javascript
381
- // Generate per-role instruction templates
382
- const roles = pipelineMode === 'test-pipeline'
383
- ? ['tester', 'analyzer', 'fixer', 'verifier']
384
- : ['reproducer', 'analyzer', 'fixer', 'verifier']
385
-
386
- for (const role of roles) {
387
- const instruction = generateRoleInstruction(role, sessionFolder, pipelineMode)
388
- Write(`${sessionFolder}/role-instructions/${role}.md`, instruction)
389
- }
390
-
391
- const tasks = buildTasksCsv(pipelineMode, requirement, sessionFolder, baseUrl, evidencePlan)
392
- Write(`${sessionFolder}/tasks.csv`, toCsv(tasks))
393
- Write(`${sessionFolder}/task-analysis.json`, JSON.stringify(analysisResult, null, 2))
394
- ```
395
-
396
- **User Validation**: Display task breakdown (skip if AUTO_YES).
397
-
398
- **Success Criteria**:
399
- - tasks.csv created with valid schema and wave assignments
400
- - Role instruction templates generated
401
- - task-analysis.json written
402
- - No circular dependencies
403
-
404
- ---
405
-
406
- ### Phase 2: Wave Execution Engine (Extended)
407
-
408
- **Objective**: Execute tasks wave-by-wave with conditional skip, iteration loops, and re-fix cycles.
409
-
410
- ```javascript
411
- const masterCsv = Read(`${sessionFolder}/tasks.csv`)
412
- let tasks = parseCsv(masterCsv)
413
- let maxWave = Math.max(...tasks.map(t => t.wave))
414
- let fixRound = 0
415
- const MAX_FIX_ROUNDS = 3
416
- const MAX_REPRODUCE_ROUNDS = 2
417
-
418
- for (let wave = 1; wave <= maxWave; wave++) {
419
- console.log(`\nWave ${wave}/${maxWave}`)
420
-
421
- const waveTasks = tasks.filter(t => t.wave === wave && t.status === 'pending')
422
- const csvTasks = waveTasks.filter(t => t.exec_mode === 'csv-wave')
423
- const interactiveTasks = waveTasks.filter(t => t.exec_mode === 'interactive')
424
-
425
- // Check dependencies -- skip tasks whose deps failed
426
- for (const task of waveTasks) {
427
- const depIds = (task.deps || '').split(';').filter(Boolean)
428
- const depStatuses = depIds.map(id => tasks.find(t => t.id === id)?.status)
429
- if (depStatuses.some(s => s === 'failed' || s === 'skipped')) {
430
- task.status = 'skipped'
431
- task.error = `Dependency failed: ${depIds.filter((id, i) =>
432
- ['failed','skipped'].includes(depStatuses[i])).join(', ')}`
433
- }
434
- }
435
-
436
- // Execute pre-wave interactive tasks (if any)
437
- for (const task of interactiveTasks.filter(t => t.status === 'pending')) {
438
- // Determine agent file based on task type
439
- const agentFile = task.id.includes('skip') ? 'agents/conditional-skip-gate.md'
440
- : task.id.includes('iter') ? 'agents/iteration-handler.md'
441
- : 'agents/completion-handler.md'
442
-
443
- Read(agentFile)
444
- const agent = spawn_agent({
445
- message: `## TASK ASSIGNMENT\n\n### MANDATORY FIRST STEPS\n1. Read: ${agentFile}\n2. Read: ${sessionFolder}/discoveries.ndjson\n\nGoal: ${task.description}\nSession: ${sessionFolder}\n\n### Previous Context\n${buildPrevContext(task, tasks)}`
446
- })
447
- const result = wait({ ids: [agent], timeout_ms: 600000 })
448
- if (result.timed_out) {
449
- send_input({ id: agent, message: "Please finalize and output current findings." })
450
- wait({ ids: [agent], timeout_ms: 120000 })
451
- }
452
- Write(`${sessionFolder}/interactive/${task.id}-result.json`, JSON.stringify({
453
- task_id: task.id, status: "completed", findings: parseFindings(result),
454
- timestamp: getUtc8ISOString()
455
- }))
456
- close_agent({ id: agent })
457
- task.status = 'completed'
458
- task.findings = parseFindings(result)
459
- }
460
-
461
- // Build prev_context for csv-wave tasks
462
- const pendingCsvTasks = csvTasks.filter(t => t.status === 'pending')
463
- for (const task of pendingCsvTasks) {
464
- task.prev_context = buildPrevContext(task, tasks)
465
- }
466
-
467
- if (pendingCsvTasks.length > 0) {
468
- Write(`${sessionFolder}/wave-${wave}.csv`, toCsv(pendingCsvTasks))
469
-
470
- const waveInstruction = buildWaveInstruction(pendingCsvTasks, sessionFolder, wave)
471
-
472
- spawn_agents_on_csv({
473
- csv_path: `${sessionFolder}/wave-${wave}.csv`,
474
- id_column: "id",
475
- instruction: waveInstruction,
476
- max_concurrency: maxConcurrency,
477
- max_runtime_seconds: 1200,
478
- output_csv_path: `${sessionFolder}/wave-${wave}-results.csv`,
479
- output_schema: {
480
- type: "object",
481
- properties: {
482
- id: { type: "string" },
483
- status: { type: "string", enum: ["completed", "failed"] },
484
- findings: { type: "string" },
485
- artifacts_produced: { type: "string" },
486
- issues_count: { type: "string" },
487
- verdict: { type: "string" },
488
- error: { type: "string" }
489
- }
490
- }
491
- })
492
-
493
- // Merge results into master CSV
494
- const results = parseCsv(Read(`${sessionFolder}/wave-${wave}-results.csv`))
495
- for (const r of results) {
496
- const t = tasks.find(t => t.id === r.id)
497
- if (t) Object.assign(t, r)
498
- }
499
-
500
- // Conditional Skip: TEST-001 with 0 issues
501
- const testResult = results.find(r => r.id === 'TEST-001')
502
- if (testResult && parseInt(testResult.issues_count || '0') === 0) {
503
- // Skip all downstream tasks
504
- tasks.filter(t => t.wave > wave && t.status === 'pending').forEach(t => {
505
- t.status = 'skipped'
506
- t.error = 'No issues found in testing -- skipped'
507
- })
508
- console.log('All features passed. No issues found. Pipeline complete.')
509
- }
510
-
511
- // Iteration: Analyzer needs more evidence
512
- const analyzerResult = results.find(r => r.id.startsWith('ANALYZE') && r.findings?.includes('need_more_evidence'))
513
- if (analyzerResult) {
514
- const reproduceRound = tasks.filter(t => t.id.startsWith('REPRODUCE')).length
515
- if (reproduceRound < MAX_REPRODUCE_ROUNDS) {
516
- const newRepId = `REPRODUCE-${String(reproduceRound + 1).padStart(3, '0')}`
517
- const newAnalyzeId = `ANALYZE-${String(tasks.filter(t => t.id.startsWith('ANALYZE')).length + 1).padStart(3, '0')}`
518
- tasks.push({
519
- id: newRepId, title: 'Supplemental evidence collection',
520
- description: `PURPOSE: Collect additional evidence per Analyzer request | Success: Targeted evidence collected`,
521
- role: 'reproducer', pipeline_mode: tasks[0].pipeline_mode,
522
- base_url: tasks[0].base_url, evidence_dimensions: tasks[0].evidence_dimensions,
523
- deps: '', context_from: analyzerResult.id,
524
- exec_mode: 'csv-wave', wave: wave + 1, status: 'pending',
525
- findings: '', artifacts_produced: '', issues_count: '', verdict: '', error: ''
526
- })
527
- tasks.push({
528
- id: newAnalyzeId, title: 'Re-analysis with supplemental evidence',
529
- description: `PURPOSE: Re-analyze with additional evidence | Success: Higher-confidence RCA`,
530
- role: 'analyzer', pipeline_mode: tasks[0].pipeline_mode,
531
- base_url: '', evidence_dimensions: '',
532
- deps: newRepId, context_from: `${analyzerResult.id};${newRepId}`,
533
- exec_mode: 'csv-wave', wave: wave + 2, status: 'pending',
534
- findings: '', artifacts_produced: '', issues_count: '', verdict: '', error: ''
535
- })
536
- // Update FIX task deps
537
- const fixTask = tasks.find(t => t.id === 'FIX-001' && t.status === 'pending')
538
- if (fixTask) fixTask.deps = newAnalyzeId
539
- }
540
- }
541
-
542
- // Re-fix: Verifier verdict = fail
543
- const verifyResult = results.find(r => r.id.startsWith('VERIFY') && r.verdict === 'fail')
544
- if (verifyResult && fixRound < MAX_FIX_ROUNDS) {
545
- fixRound++
546
- const newFixId = `FIX-${String(fixRound + 1).padStart(3, '0')}`
547
- const newVerifyId = `VERIFY-${String(fixRound + 1).padStart(3, '0')}`
548
- tasks.push({
549
- id: newFixId, title: `Re-fix (round ${fixRound + 1})`,
550
- description: `PURPOSE: Re-fix based on verification failure | Success: Issue resolved`,
551
- role: 'fixer', pipeline_mode: tasks[0].pipeline_mode,
552
- base_url: '', evidence_dimensions: '',
553
- deps: verifyResult.id, context_from: verifyResult.id,
554
- exec_mode: 'csv-wave', wave: wave + 1, status: 'pending',
555
- findings: '', artifacts_produced: '', issues_count: '', verdict: '', error: ''
556
- })
557
- tasks.push({
558
- id: newVerifyId, title: `Re-verify (round ${fixRound + 1})`,
559
- description: `PURPOSE: Re-verify after fix | Success: Bug resolved`,
560
- role: 'verifier', pipeline_mode: tasks[0].pipeline_mode,
561
- base_url: tasks[0].base_url, evidence_dimensions: tasks[0].evidence_dimensions,
562
- deps: newFixId, context_from: newFixId,
563
- exec_mode: 'csv-wave', wave: wave + 2, status: 'pending',
564
- findings: '', artifacts_produced: '', issues_count: '', verdict: '', error: ''
565
- })
566
- }
567
- }
568
-
569
- // Update master CSV
570
- Write(`${sessionFolder}/tasks.csv`, toCsv(tasks))
571
-
572
- // Cleanup temp files
573
- Bash(`rm -f ${sessionFolder}/wave-${wave}.csv ${sessionFolder}/wave-${wave}-results.csv`)
574
-
575
- // Recalculate maxWave (may have grown from iteration/re-fix)
576
- maxWave = Math.max(maxWave, ...tasks.map(t => t.wave))
577
-
578
- // Display wave summary
579
- const completed = waveTasks.filter(t => t.status === 'completed').length
580
- const failed = waveTasks.filter(t => t.status === 'failed').length
581
- const skipped = waveTasks.filter(t => t.status === 'skipped').length
582
- console.log(`Wave ${wave} Complete: ${completed} completed, ${failed} failed, ${skipped} skipped`)
583
- }
584
- ```
585
-
586
- **Success Criteria**:
587
- - All waves executed in order
588
- - Conditional skip handled (TEST with 0 issues)
589
- - Iteration loops handled (analyzer need_more_evidence)
590
- - Re-fix cycles handled (verifier fail verdict)
591
- - discoveries.ndjson accumulated across all waves
592
- - Max iteration/fix bounds respected
593
-
594
- ---
595
-
596
- ### Phase 3: Post-Wave Interactive (Completion Action)
597
-
598
- **Objective**: Pipeline completion report with debug summary.
599
-
600
- ```javascript
601
- const tasks = parseCsv(Read(`${sessionFolder}/tasks.csv`))
602
- const completed = tasks.filter(t => t.status === 'completed')
603
- const pipelineMode = tasks[0]?.pipeline_mode
604
-
605
- console.log(`
606
- ============================================
607
- FRONTEND DEBUG COMPLETE
608
-
609
- Pipeline: ${pipelineMode} | ${completed.length}/${tasks.length} tasks
610
- Fix Rounds: ${fixRound}/${MAX_FIX_ROUNDS}
611
- Session: ${sessionFolder}
612
-
613
- Results:
614
- ${completed.map(t => ` [DONE] ${t.id} (${t.role}): ${t.findings?.substring(0, 80) || 'completed'}`).join('\n')}
615
- ============================================
616
- `)
617
-
618
- if (!AUTO_YES) {
619
- request_user_input({
620
- questions: [{
621
- question: "Debug pipeline complete. Choose next action.",
622
- header: "Done",
623
- id: "completion",
624
- options: [
625
- { label: "Archive (Recommended)", description: "Archive session, output final summary" },
626
- { label: "Keep Active", description: "Keep session for follow-up debugging" },
627
- { label: "Export Results", description: "Export debug report and patches" }
628
- ]
629
- }]
630
- })
631
- }
632
- ```
633
-
634
- **Success Criteria**:
635
- - User informed of debug pipeline results
636
- - Completion action taken
637
-
638
- ---
639
-
640
- ### Phase 4: Results Aggregation
641
-
642
- **Objective**: Generate final results and human-readable report.
643
-
644
- ```javascript
645
- Bash(`cp ${sessionFolder}/tasks.csv ${sessionFolder}/results.csv`)
646
-
647
- const tasks = parseCsv(Read(`${sessionFolder}/tasks.csv`))
648
- let contextMd = `# Frontend Debug Report\n\n`
649
- contextMd += `**Session**: ${sessionId}\n`
650
- contextMd += `**Pipeline**: ${tasks[0]?.pipeline_mode}\n`
651
- contextMd += `**Date**: ${getUtc8ISOString().substring(0, 10)}\n\n`
652
-
653
- contextMd += `## Summary\n`
654
- contextMd += `| Status | Count |\n|--------|-------|\n`
655
- contextMd += `| Completed | ${tasks.filter(t => t.status === 'completed').length} |\n`
656
- contextMd += `| Failed | ${tasks.filter(t => t.status === 'failed').length} |\n`
657
- contextMd += `| Skipped | ${tasks.filter(t => t.status === 'skipped').length} |\n\n`
658
-
659
- const maxWave = Math.max(...tasks.map(t => t.wave))
660
- contextMd += `## Wave Execution\n\n`
661
- for (let w = 1; w <= maxWave; w++) {
662
- const waveTasks = tasks.filter(t => t.wave === w)
663
- contextMd += `### Wave ${w}\n\n`
664
- for (const t of waveTasks) {
665
- const icon = t.status === 'completed' ? '[DONE]' : t.status === 'failed' ? '[FAIL]' : '[SKIP]'
666
- contextMd += `${icon} **${t.title}** [${t.role}]`
667
- if (t.verdict) contextMd += ` Verdict: ${t.verdict}`
668
- if (t.issues_count) contextMd += ` Issues: ${t.issues_count}`
669
- contextMd += ` ${t.findings || ''}\n\n`
670
- }
671
- }
672
-
673
- // Debug-specific sections
674
- const verifyTasks = tasks.filter(t => t.role === 'verifier' && t.verdict)
675
- if (verifyTasks.length > 0) {
676
- contextMd += `## Verification Results\n\n`
677
- for (const v of verifyTasks) {
678
- contextMd += `- **${v.id}**: ${v.verdict}\n`
679
- }
680
- }
681
-
682
- Write(`${sessionFolder}/context.md`, contextMd)
683
- console.log(`Results exported to: ${sessionFolder}/results.csv`)
684
- console.log(`Report generated at: ${sessionFolder}/context.md`)
685
- ```
686
-
687
- **Success Criteria**:
688
- - results.csv exported
689
- - context.md generated with debug summary
690
- - Summary displayed to user
691
-
692
- ---
693
-
694
- ## Shared Discovery Board Protocol
695
-
696
- All agents share a single `discoveries.ndjson` file.
697
-
698
- **Format**: One JSON object per line (NDJSON):
699
-
700
- ```jsonl
701
- {"ts":"2026-03-08T10:00:00Z","worker":"TEST-001","type":"feature_tested","data":{"feature":"F-001","name":"Login","result":"fail","issues":2}}
702
- {"ts":"2026-03-08T10:05:00Z","worker":"REPRODUCE-001","type":"bug_reproduced","data":{"url":"/settings","steps":3,"console_errors":2,"network_failures":1}}
703
- {"ts":"2026-03-08T10:10:00Z","worker":"ANALYZE-001","type":"root_cause_found","data":{"category":"TypeError","file":"src/components/Settings.tsx","line":142,"confidence":"high"}}
704
- {"ts":"2026-03-08T10:15:00Z","worker":"FIX-001","type":"file_modified","data":{"file":"src/components/Settings.tsx","change":"Added null check","lines_added":3}}
705
- {"ts":"2026-03-08T10:20:00Z","worker":"VERIFY-001","type":"verification_result","data":{"verdict":"pass","original_error_resolved":true,"new_errors":0}}
706
- ```
707
-
708
- **Discovery Types**:
709
-
710
- | Type | Data Schema | Description |
711
- |------|-------------|-------------|
712
- | `feature_tested` | `{feature, name, result, issues}` | Feature test result |
713
- | `bug_reproduced` | `{url, steps, console_errors, network_failures}` | Bug reproduction result |
714
- | `evidence_collected` | `{dimension, file, description}` | Evidence artifact saved |
715
- | `root_cause_found` | `{category, file, line, confidence}` | Root cause identified |
716
- | `file_modified` | `{file, change, lines_added}` | Code fix applied |
717
- | `verification_result` | `{verdict, original_error_resolved, new_errors}` | Fix verification result |
718
- | `issue_found` | `{file, line, severity, description}` | Issue discovered |
719
-
720
- **Protocol**:
721
- 1. Agents MUST read discoveries.ndjson at start of execution
722
- 2. Agents MUST append relevant discoveries during execution
723
- 3. Agents MUST NOT modify or delete existing entries
724
- 4. Deduplication by `{type, data.file}` key
725
-
726
- ---
727
-
728
- ## Conditional Skip Logic
729
-
730
- After TEST-001 completes, evaluate issues:
731
-
732
- | Condition | Action |
733
- |-----------|--------|
734
- | `issues_count === 0` | Skip ANALYZE/FIX/VERIFY. Pipeline complete with all-pass. |
735
- | Only low-severity warnings | request_user_input: fix warnings or complete |
736
- | High/medium severity issues | Proceed with ANALYZE -> FIX -> VERIFY |
737
-
738
- ---
739
-
740
- ## Iteration Rules
741
-
742
- | Trigger | Condition | Action | Max |
743
- |---------|-----------|--------|-----|
744
- | Analyzer -> Reproducer | Confidence < 50% | Create REPRODUCE-002 -> ANALYZE-002 | 2 reproduction rounds |
745
- | Verifier -> Fixer | Verdict = fail | Create FIX-002 -> VERIFY-002 | 3 fix rounds |
746
- | Max iterations reached | Round >= max | Report to user for manual intervention | -- |
747
-
748
- ---
749
-
750
- ## Error Handling
751
-
752
- | Error | Resolution |
753
- |-------|------------|
754
- | Circular dependency | Detect in wave computation, abort with error message |
755
- | CSV agent timeout | Mark as failed in results, continue with wave |
756
- | CSV agent failed | Mark as failed, skip dependent tasks in later waves |
757
- | Interactive agent timeout | Urge convergence via send_input, then close if still timed out |
758
- | All agents in wave failed | Log error, offer retry or abort |
759
- | CSV parse error | Validate CSV format before execution, show line number |
760
- | discoveries.ndjson corrupt | Ignore malformed lines, continue with valid entries |
761
- | All features pass test | Skip downstream tasks, report success |
762
- | Bug not reproducible | Report failure, ask user for more details |
763
- | Browser not available | Report error, suggest manual reproduction steps |
764
- | Analysis inconclusive | Request more evidence via iteration loop |
765
- | Fix introduces regression | Verifier reports fail, dispatch re-fix |
766
- | Max iterations reached | Escalate to user for manual intervention |
767
- | Continue mode: no session found | List available sessions, prompt user to select |
768
-
769
- ---
770
-
771
- ## Core Rules
772
-
773
- 1. **Start Immediately**: First action is session initialization, then Phase 0/1
774
- 2. **Wave Order is Sacred**: Never execute wave N before wave N-1 completes and results are merged
775
- 3. **CSV is Source of Truth**: Master tasks.csv holds all state (both csv-wave and interactive)
776
- 4. **CSV First**: Default to csv-wave for tasks; only use interactive when interaction pattern requires it
777
- 5. **Context Propagation**: prev_context built from master CSV, not from memory
778
- 6. **Discovery Board is Append-Only**: Never clear, modify, or recreate discoveries.ndjson
779
- 7. **Skip on Failure**: If a dependency failed, skip the dependent task
780
- 8. **Conditional Skip**: If TEST finds 0 issues, skip all downstream tasks
781
- 9. **Iteration Bounds**: Max 2 reproduction rounds, max 3 fix rounds
782
- 10. **Cleanup Temp Files**: Remove wave-{N}.csv after results are merged
783
- 11. **DO NOT STOP**: Continuous execution until all waves complete or all remaining tasks are skipped
784
-
785
-
786
- ---
787
-
788
- ## Coordinator Role Constraints (Main Agent)
789
-
790
- **CRITICAL**: The coordinator (main agent executing this skill) is responsible for **orchestration only**, NOT implementation.
791
-
792
- 15. **Coordinator Does NOT Execute Code**: The main agent MUST NOT write, modify, or implement any code directly. All implementation work is delegated to spawned team agents. The coordinator only:
793
- - Spawns agents with task assignments
794
- - Waits for agent callbacks
795
- - Merges results and coordinates workflow
796
- - Manages workflow transitions between phases
797
-
798
- 16. **Patient Waiting is Mandatory**: Agent execution takes significant time (typically 10-30 minutes per phase, sometimes longer). The coordinator MUST:
799
- - Wait patiently for `wait()` calls to complete
800
- - NOT skip workflow steps due to perceived delays
801
- - NOT assume agents have failed just because they're taking time
802
- - Trust the timeout mechanisms defined in the skill
803
-
804
- 17. **Use send_input for Clarification**: When agents need guidance or appear stuck, the coordinator MUST:
805
- - Use `send_input()` to ask questions or provide clarification
806
- - NOT skip the agent or move to next phase prematurely
807
- - Give agents opportunity to respond before escalating
808
- - Example: `send_input({ id: agent_id, message: "Please provide status update or clarify blockers" })`
809
-
810
- 18. **No Workflow Shortcuts**: The coordinator MUST NOT:
811
- - Skip phases or stages defined in the workflow
812
- - Bypass required approval or review steps
813
- - Execute dependent tasks before prerequisites complete
814
- - Assume task completion without explicit agent callback
815
- - Make up or fabricate agent results
816
-
817
- 19. **Respect Long-Running Processes**: This is a complex multi-agent workflow that requires patience:
818
- - Total execution time may range from 30-90 minutes or longer
819
- - Each phase may take 10-30 minutes depending on complexity
820
- - The coordinator must remain active and attentive throughout the entire process
821
- - Do not terminate or skip steps due to time concerns
1
+ ---
2
+ name: team-frontend-debug
3
+ description: Frontend debugging team using Chrome DevTools MCP. Dual-mode feature-list testing or bug-report debugging. Triggers on "team-frontend-debug", "frontend debug".
4
+ allowed-tools: spawn_agent(*), wait_agent(*), send_input(*), close_agent(*), report_agent_job_result(*), request_user_input(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*), mcp__chrome-devtools__*(*)
5
+ ---
6
+
7
+ # Frontend Debug Team
8
+
9
+ Dual-mode frontend debugging: feature-list testing or bug-report debugging, powered by Chrome DevTools MCP.
10
+
11
+ ## Architecture
12
+
13
+ ```
14
+ Skill(skill="team-frontend-debug", args="feature list or bug description")
15
+ |
16
+ SKILL.md (this file) = Router
17
+ |
18
+ +--------------+--------------+
19
+ | |
20
+ no --role flag --role <name>
21
+ | |
22
+ Coordinator Worker
23
+ roles/coordinator/role.md roles/<name>/role.md
24
+ |
25
+ +-- analyze input select pipeline dispatch spawn STOP
26
+ |
27
+ ┌──────────────────────────┼──────────────────────┐
28
+ v v v
29
+ [test-pipeline] [debug-pipeline] [shared]
30
+ tester(DevTools) reproducer(DevTools) analyzer
31
+ fixer
32
+ verifier
33
+ ```
34
+
35
+ ## Pipeline Modes
36
+
37
+ | Input | Pipeline | Flow |
38
+ |-------|----------|------|
39
+ | Feature list / 功能清单 | `test-pipeline` | TEST → ANALYZE → FIX → VERIFY |
40
+ | Bug report / 错误描述 | `debug-pipeline` | REPRODUCE → ANALYZE → FIX → VERIFY |
41
+
42
+ ## Role Registry
43
+
44
+ | Role | Path | Prefix | Inner Loop |
45
+ |------|------|--------|------------|
46
+ | coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | | — |
47
+ | tester | [roles/tester/role.md](roles/tester/role.md) | TEST-* | true |
48
+ | reproducer | [roles/reproducer/role.md](roles/reproducer/role.md) | REPRODUCE-* | false |
49
+ | analyzer | [roles/analyzer/role.md](roles/analyzer/role.md) | ANALYZE-* | false |
50
+ | fixer | [roles/fixer/role.md](roles/fixer/role.md) | FIX-* | true |
51
+ | verifier | [roles/verifier/role.md](roles/verifier/role.md) | VERIFY-* | false |
52
+
53
+ ## Role Router
54
+
55
+ Parse `$ARGUMENTS`:
56
+ - Has `--role <name>` Read `roles/<name>/role.md`, execute Phase 2-4
57
+ - No `--role` → `roles/coordinator/role.md`, execute entry router
58
+
59
+ ## Shared Constants
60
+
61
+ - **Session prefix**: `TFD`
62
+ - **Session path**: `.workflow/.team/TFD-<slug>-<date>/`
63
+ - **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
64
+ - **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
65
+
66
+ ## Workspace Resolution
67
+
68
+ Coordinator MUST resolve paths at Phase 2 before spawning workers:
69
+
70
+ 1. Run `Bash({ command: "pwd" })` → capture `project_root` (absolute path)
71
+ 2. `skill_root = <project_root>/.claude/skills/team-frontend-debug`
72
+ 3. Store in `team-session.json`:
73
+ ```json
74
+ { "project_root": "/abs/path/to/project", "skill_root": "/abs/path/to/skill" }
75
+ ```
76
+ 4. All worker `role_spec` values MUST use `<skill_root>/roles/<role>/role.md` (absolute)
77
+
78
+ This ensures workers always receive an absolute, resolvable path regardless of their working directory.
79
+
80
+ ## Chrome DevTools MCP Tools
81
+
82
+ All browser inspection operations use Chrome DevTools MCP. Reproducer and Verifier are primary consumers.
83
+
84
+ | Tool | Purpose |
85
+ |------|---------|
86
+ | `mcp__chrome-devtools__navigate_page` | Navigate to target URL |
87
+ | `mcp__chrome-devtools__take_screenshot` | Capture visual state |
88
+ | `mcp__chrome-devtools__take_snapshot` | Capture DOM/a11y tree |
89
+ | `mcp__chrome-devtools__list_console_messages` | Read console logs |
90
+ | `mcp__chrome-devtools__get_console_message` | Get specific console message |
91
+ | `mcp__chrome-devtools__list_network_requests` | Monitor network activity |
92
+ | `mcp__chrome-devtools__get_network_request` | Inspect request/response detail |
93
+ | `mcp__chrome-devtools__performance_start_trace` | Start performance recording |
94
+ | `mcp__chrome-devtools__performance_stop_trace` | Stop and analyze trace |
95
+ | `mcp__chrome-devtools__click` | Simulate user click |
96
+ | `mcp__chrome-devtools__fill` | Fill form inputs |
97
+ | `mcp__chrome-devtools__hover` | Hover over elements |
98
+ | `mcp__chrome-devtools__evaluate_script` | Execute JavaScript in page |
99
+ | `mcp__chrome-devtools__wait_for` | Wait for element/text |
100
+ | `mcp__chrome-devtools__list_pages` | List open browser tabs |
101
+ | `mcp__chrome-devtools__select_page` | Switch active tab |
102
+
103
+ ## Worker Spawn Template
104
+
105
+ Coordinator spawns workers using this template:
106
+
107
+ ```
108
+ spawn_agent({
109
+ agent_type: "team_worker",
110
+ items: [
111
+ { type: "text", text: `## Role Assignment
112
+ role: <role>
113
+ role_spec: <skill_root>/roles/<role>/role.md
114
+ session: <session-folder>
115
+ session_id: <session-id>
116
+ requirement: <task-description>
117
+ inner_loop: <true|false>
118
+
119
+ Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
120
+
121
+ { type: "text", text: `## Task Context
122
+ task_id: <task-id>
123
+ title: <task-title>
124
+ description: <task-description>
125
+ pipeline_phase: <pipeline-phase>` },
126
+
127
+ { type: "text", text: `## Upstream Context
128
+ <prev_context>` }
129
+ ]
130
+ })
131
+ ```
132
+
133
+ After spawning, use `wait_agent({ ids: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ id })` each worker.
134
+
135
+ ## User Commands
136
+
137
+ | Command | Action |
138
+ |---------|--------|
139
+ | `check` / `status` | View execution status graph |
140
+ | `resume` / `continue` | Advance to next step |
141
+ | `revise <TASK-ID> [feedback]` | Revise specific task |
142
+ | `feedback <text>` | Inject feedback for revision |
143
+ | `retry <TASK-ID>` | Re-run a failed task |
144
+
145
+ ## Completion Action
146
+
147
+ When pipeline completes, coordinator presents:
148
+
149
+ ```
150
+ request_user_input({
151
+ questions: [{
152
+ question: "Pipeline complete. What would you like to do?",
153
+ header: "Completion",
154
+ multiSelect: false,
155
+ options: [
156
+ { label: "Archive & Clean (Recommended)", description: "Archive session, clean up" },
157
+ { label: "Keep Active", description: "Keep session for follow-up debugging" },
158
+ { label: "Export Results", description: "Export debug report and patches" }
159
+ ]
160
+ }]
161
+ })
162
+ ```
163
+
164
+ ## Specs Reference
165
+
166
+ - [specs/pipelines.md](specs/pipelines.md) Pipeline definitions and task registry
167
+ - [specs/debug-tools.md](specs/debug-tools.md) — Chrome DevTools MCP usage patterns and evidence collection
168
+
169
+ ## Session Directory
170
+
171
+ ```
172
+ .workflow/.team/TFD-<slug>-<date>/
173
+ ├── team-session.json # Session state + role registry
174
+ ├── evidence/ # Screenshots, snapshots, network logs
175
+ ├── artifacts/ # Test reports, RCA reports, patches, verification reports
176
+ ├── wisdom/ # Cross-task debug knowledge
177
+ └── .msg/ # Team message bus
178
+ ```
179
+
180
+ ## Error Handling
181
+
182
+ | Scenario | Resolution |
183
+ |----------|------------|
184
+ | All features pass test | Report success, pipeline completes without ANALYZE/FIX/VERIFY |
185
+ | Bug not reproducible | Reproducer reports failure, coordinator asks user for more details |
186
+ | Browser not available | Report error, suggest manual reproduction steps |
187
+ | Analysis inconclusive | Analyzer requests more evidence via iteration loop |
188
+ | Fix introduces regression | Verifier reports fail, coordinator dispatches re-fix |
189
+ | No issues found in test | Skip downstream tasks, report all-pass |
190
+ | Unknown command | Error with available command list |
191
+ | Role not found | Error with role registry |