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.
- package/.ccw/workflows/cli-templates/schemas/team-tasks-schema.json +255 -0
- package/.codex/agents/team-supervisor.toml +39 -0
- package/.codex/agents/team-worker.toml +46 -0
- package/.codex/skills/team-arch-opt/SKILL.md +151 -698
- package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -0
- package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -0
- package/.codex/skills/team-arch-opt/roles/coordinator/commands/dispatch.md +287 -0
- package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +204 -0
- package/.codex/skills/team-arch-opt/roles/coordinator/role.md +162 -0
- package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -0
- package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -0
- package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -0
- package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -0
- package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -0
- package/.codex/skills/team-arch-opt/specs/team-config.json +263 -0
- package/.codex/skills/team-brainstorm/SKILL.md +167 -724
- package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -0
- package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -0
- package/.codex/skills/team-brainstorm/roles/coordinator/commands/dispatch.md +162 -0
- package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +171 -0
- package/.codex/skills/team-brainstorm/roles/coordinator/role.md +140 -0
- package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -0
- package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -0
- package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -0
- package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -0
- package/.codex/skills/team-brainstorm/specs/team-config.json +86 -0
- package/.codex/skills/team-coordinate/SKILL.md +267 -667
- package/.codex/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
- package/.codex/skills/team-coordinate/roles/coordinator/commands/dispatch.md +126 -0
- package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +327 -0
- package/.codex/skills/team-coordinate/roles/coordinator/role.md +361 -0
- package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
- package/.codex/skills/team-coordinate/specs/pipelines.md +97 -0
- package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -0
- package/.codex/skills/team-coordinate/specs/role-spec-template.md +192 -0
- package/.codex/skills/team-designer/SKILL.md +153 -691
- package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -0
- package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -0
- package/.codex/skills/team-designer/phases/03-content-generation.md +330 -0
- package/.codex/skills/team-designer/phases/04-validation.md +320 -0
- package/.codex/skills/team-executor/SKILL.md +191 -515
- package/.codex/skills/team-executor/roles/executor/commands/monitor.md +280 -0
- package/.codex/skills/team-executor/roles/executor/role.md +170 -0
- package/.codex/skills/team-executor/specs/session-schema.md +264 -0
- package/.codex/skills/team-frontend/SKILL.md +129 -750
- package/.codex/skills/team-frontend/roles/analyst/role.md +92 -0
- package/.codex/skills/team-frontend/roles/architect/role.md +86 -0
- package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -0
- package/.codex/skills/team-frontend/roles/coordinator/commands/dispatch.md +151 -0
- package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +188 -0
- package/.codex/skills/team-frontend/roles/coordinator/role.md +157 -0
- package/.codex/skills/team-frontend/roles/developer/role.md +93 -0
- package/.codex/skills/team-frontend/roles/qa/role.md +79 -0
- package/.codex/skills/team-frontend/specs/pipelines.md +76 -0
- package/.codex/skills/team-frontend/specs/team-config.json +84 -0
- package/.codex/skills/team-frontend-debug/SKILL.md +191 -821
- package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -0
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -0
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -0
- package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +143 -0
- package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +131 -0
- package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -0
- package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -0
- package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -0
- package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -0
- package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -0
- package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -0
- package/.codex/skills/team-issue/SKILL.md +166 -751
- package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -0
- package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -0
- package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +194 -0
- package/.codex/skills/team-issue/roles/coordinator/role.md +175 -0
- package/.codex/skills/team-issue/roles/explorer/role.md +94 -0
- package/.codex/skills/team-issue/roles/implementer/role.md +87 -0
- package/.codex/skills/team-issue/roles/integrator/role.md +84 -0
- package/.codex/skills/team-issue/roles/planner/role.md +81 -0
- package/.codex/skills/team-issue/roles/reviewer/role.md +86 -0
- package/.codex/skills/team-issue/specs/pipelines.md +124 -0
- package/.codex/skills/team-issue/specs/team-config.json +70 -0
- package/.codex/skills/team-iterdev/SKILL.md +134 -825
- package/.codex/skills/team-iterdev/roles/architect/role.md +65 -0
- package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +62 -0
- package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +187 -0
- package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +186 -0
- package/.codex/skills/team-iterdev/roles/coordinator/role.md +161 -0
- package/.codex/skills/team-iterdev/roles/developer/role.md +74 -0
- package/.codex/skills/team-iterdev/roles/reviewer/role.md +66 -0
- package/.codex/skills/team-iterdev/roles/tester/role.md +88 -0
- package/.codex/skills/team-iterdev/specs/pipelines.md +94 -0
- package/.codex/skills/team-iterdev/specs/team-config.json +172 -0
- package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +512 -0
- package/.codex/skills/team-lifecycle-v4/SKILL.md +166 -723
- package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +104 -0
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +61 -0
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +177 -0
- package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +152 -0
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
- package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +63 -0
- package/.codex/skills/team-lifecycle-v4/roles/executor/role.md +89 -0
- package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +108 -0
- package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +57 -0
- package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
- package/.codex/skills/team-lifecycle-v4/roles/reviewer/role.md +98 -0
- package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +210 -0
- package/.codex/skills/team-lifecycle-v4/roles/tester/role.md +126 -0
- package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +125 -0
- package/.codex/skills/team-lifecycle-v4/schemas/tasks-schema.md +82 -160
- package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +136 -0
- package/.codex/skills/team-lifecycle-v4/specs/pipelines.md +125 -0
- package/.codex/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
- package/.codex/skills/team-perf-opt/SKILL.md +169 -697
- package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -0
- package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -0
- package/.codex/skills/team-perf-opt/roles/coordinator/commands/dispatch.md +262 -0
- package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +320 -0
- package/.codex/skills/team-perf-opt/roles/coordinator/role.md +147 -0
- package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -0
- package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -0
- package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -0
- package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -0
- package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -0
- package/.codex/skills/team-perf-opt/specs/team-config.json +246 -0
- package/.codex/skills/team-planex/SKILL.md +103 -477
- package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -0
- package/.codex/skills/team-planex/roles/coordinator/commands/dispatch.md +80 -0
- package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +164 -0
- package/.codex/skills/team-planex/roles/coordinator/role.md +140 -0
- package/.codex/skills/team-planex/roles/executor/role.md +91 -0
- package/.codex/skills/team-planex/roles/planner/role.md +112 -0
- package/.codex/skills/team-planex/specs/pipelines.md +93 -0
- package/.codex/skills/team-quality-assurance/SKILL.md +148 -813
- package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -0
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -0
- package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +209 -0
- package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
- package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -0
- package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -0
- package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -0
- package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -0
- package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -0
- package/.codex/skills/team-quality-assurance/specs/team-config.json +131 -0
- package/.codex/skills/team-review/SKILL.md +148 -533
- package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
- package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -0
- package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +185 -0
- package/.codex/skills/team-review/roles/coordinator/role.md +142 -0
- package/.codex/skills/team-review/roles/fixer/role.md +76 -0
- package/.codex/skills/team-review/roles/reviewer/role.md +68 -0
- package/.codex/skills/team-review/roles/scanner/role.md +71 -0
- package/.codex/skills/team-review/specs/dimensions.md +82 -0
- package/.codex/skills/team-review/specs/finding-schema.json +82 -0
- package/.codex/skills/team-review/specs/pipelines.md +102 -0
- package/.codex/skills/team-review/specs/team-config.json +27 -0
- package/.codex/skills/team-roadmap-dev/SKILL.md +162 -683
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -0
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +241 -0
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +468 -0
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +90 -0
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +137 -0
- package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +243 -0
- package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +303 -0
- package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -0
- package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -0
- package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -0
- package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -0
- package/.codex/skills/team-roadmap-dev/specs/team-config.json +95 -0
- package/.codex/skills/team-tech-debt/SKILL.md +129 -708
- package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -0
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +163 -0
- package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +231 -0
- package/.codex/skills/team-tech-debt/roles/coordinator/role.md +141 -0
- package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -0
- package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -0
- package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -0
- package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -0
- package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -0
- package/.codex/skills/team-tech-debt/specs/team-config.json +129 -0
- package/.codex/skills/team-testing/SKILL.md +144 -769
- package/.codex/skills/team-testing/roles/analyst/role.md +95 -0
- package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
- package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -0
- package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +242 -0
- package/.codex/skills/team-testing/roles/coordinator/role.md +151 -0
- package/.codex/skills/team-testing/roles/executor/role.md +96 -0
- package/.codex/skills/team-testing/roles/generator/role.md +95 -0
- package/.codex/skills/team-testing/roles/strategist/role.md +83 -0
- package/.codex/skills/team-testing/specs/pipelines.md +101 -0
- package/.codex/skills/team-testing/specs/team-config.json +93 -0
- package/.codex/skills/team-uidesign/SKILL.md +133 -767
- package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -0
- package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -0
- package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +194 -0
- package/.codex/skills/team-uidesign/roles/coordinator/role.md +179 -0
- package/.codex/skills/team-uidesign/roles/designer/role.md +69 -0
- package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -0
- package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -0
- package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -0
- package/.codex/skills/team-uidesign/specs/pipelines.md +76 -0
- package/.codex/skills/team-uidesign/specs/team-config.json +107 -0
- package/.codex/skills/team-ultra-analyze/SKILL.md +166 -786
- package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -0
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -0
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +225 -0
- package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +327 -0
- package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +223 -0
- package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -0
- package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -0
- package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -0
- package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -0
- package/.codex/skills/team-ultra-analyze/specs/team-config.json +129 -0
- package/.codex/skills/team-ux-improve/SKILL.md +142 -638
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -0
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -0
- package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +160 -0
- package/.codex/skills/team-ux-improve/roles/coordinator/role.md +138 -0
- package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -0
- package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -0
- package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -0
- package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -0
- package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -0
- package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -0
- package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -0
- package/.codex/skills/team-ux-improve/specs/team-config.json +181 -0
- package/.codex/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +17 -0
- package/.codex/skills/team-ux-improve/wisdom/contributions/.gitkeep +0 -0
- package/.codex/skills/team-ux-improve/wisdom/patterns/state-management.md +14 -0
- package/.codex/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +16 -0
- package/.codex/skills/team-ux-improve/wisdom/principles/general-ux.md +16 -0
- package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-settings-routes.js +135 -133
- package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -1
- package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js → AlertDialog-CnpjWAGm.js} +2 -2
- package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js.map → AlertDialog-CnpjWAGm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js → AnalysisPage-BT2rDDUD.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js.map → AnalysisPage-BT2rDDUD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js → ApiSettingsPage-DGpjiNVu.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js.map → ApiSettingsPage-DGpjiNVu.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js → CliModeToggle-BqUadHn3.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js.map → CliModeToggle-BqUadHn3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js → CliSessionSharePage-C3AdsDkm.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js.map → CliSessionSharePage-C3AdsDkm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js → CliViewerPage-BZXpgY0N.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js.map → CliViewerPage-BZXpgY0N.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js → CodexLensPage-CePoJz-u.js} +2 -2
- package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js.map → CodexLensPage-CePoJz-u.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js → Collapsible-DXVzWwmb.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js.map → Collapsible-DXVzWwmb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js → CommandsManagerPage-B6wJYF0z.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js.map → CommandsManagerPage-B6wJYF0z.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js → DeepWikiPage-D55fcvSk.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js.map → DeepWikiPage-D55fcvSk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js → EndpointsPage-DcGziJ5t.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js.map → EndpointsPage-DcGziJ5t.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js → ExplorerPage-C4eKzn7F.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js.map → ExplorerPage-C4eKzn7F.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js → FixSessionPage-BUHh954A.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js.map → FixSessionPage-BUHh954A.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js → FloatingFileBrowser-C3GF_u1C.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js.map → FloatingFileBrowser-C3GF_u1C.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js → FloatingPanel-Cn-q9PyJ.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js.map → FloatingPanel-Cn-q9PyJ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js → GraphExplorerPage-DIpqgvoU.js} +2 -2
- package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js.map → GraphExplorerPage-DIpqgvoU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js → HistoryPage-DzSvEAFe.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js.map → HistoryPage-DzSvEAFe.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js → HookManagerPage-C6LDhWrH.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js.map → HookManagerPage-C6LDhWrH.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js → InstallationsPage-D9ct9xFV.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js.map → InstallationsPage-D9ct9xFV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js → IssueHubPage-CXgDC8pS.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js.map → IssueHubPage-CXgDC8pS.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js → LiteTasksPage-DMkauCwG.js} +2 -2
- package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js.map → LiteTasksPage-DMkauCwG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js → McpManagerPage-DhLDydgc.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js.map → McpManagerPage-DhLDydgc.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js → MemoryPage-Be3nhq40.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js.map → MemoryPage-Be3nhq40.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js → NotFoundPage-0yGnCePd.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js.map → NotFoundPage-0yGnCePd.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js → OrchestratorPage-_SmXZcGl.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js.map → OrchestratorPage-_SmXZcGl.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js → ProjectOverviewPage-BeXTMsdo.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js.map → ProjectOverviewPage-BeXTMsdo.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js → PromptHistoryPage-DS6ycuAv.js} +2 -2
- package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js.map → PromptHistoryPage-DS6ycuAv.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js → ReviewSessionPage-BoqyjhPo.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js.map → ReviewSessionPage-BoqyjhPo.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js → RulesManagerPage-DMAwkKlc.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js.map → RulesManagerPage-DMAwkKlc.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js → SessionDetailPage-BgJRHIF4.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js.map → SessionDetailPage-BgJRHIF4.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js → SessionsPage-DBPdWlji.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js.map → SessionsPage-DBPdWlji.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js → SettingsPage-BY3QiJhm.js} +4 -4
- package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js.map → SettingsPage-BY3QiJhm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js → SkillsManagerPage-DS101Adm.js} +2 -2
- package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js.map → SkillsManagerPage-DS101Adm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js → SpecsSettingsPage-BcsLu1qq.js} +2 -2
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js.map → SpecsSettingsPage-BcsLu1qq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js → Switch-BL9AmNPC.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js.map → Switch-BL9AmNPC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js → TabsNavigation-BUcjsLeE.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js.map → TabsNavigation-BUcjsLeE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js → TaskDrawer-BNvfS6dq.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js.map → TaskDrawer-BNvfS6dq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js → TeamPage-CT-zNCrF.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js.map → TeamPage-CT-zNCrF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js → TerminalDashboardPage-DfZFGs8g.js} +2 -2
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js.map → TerminalDashboardPage-DfZFGs8g.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js → archive-Cev1SaQq.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js.map → archive-Cev1SaQq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js → archive-restore-BIVluaHZ.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js.map → archive-restore-BIVluaHZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js → arrow-right-DrivbS5j.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js.map → arrow-right-DrivbS5j.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js → bookmark-plus-DKyzL0Xg.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js.map → bookmark-plus-DKyzL0Xg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js → bot-GBUkPAe3.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js.map → bot-GBUkPAe3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js → braces-BWhm2c4g.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js.map → braces-BWhm2c4g.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js → circle-stop-CBcZSKNp.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js.map → circle-stop-CBcZSKNp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js → cpu-CzNmuTZD.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js.map → cpu-CzNmuTZD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js → ellipsis-vertical-BoIyQKaI.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js.map → ellipsis-vertical-BoIyQKaI.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js → eye-BqxyhxQq.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js.map → eye-BqxyhxQq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js → eye-off-D9dTZP1A.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js.map → eye-off-D9dTZP1A.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js → file-json-CLYEUI6e.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js.map → file-json-CLYEUI6e.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js → file-text-D5j9C5XC.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js.map → file-text-D5j9C5XC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js → filter-CEUK5jsA.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js.map → filter-CEUK5jsA.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-CV8511y9.js → folder-BEOY8txM.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-CV8511y9.js.map → folder-BEOY8txM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js → gauge-CbumHmVn.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js.map → gauge-CbumHmVn.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-C56cDUzX.js → globe-D8_IB9gV.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-C56cDUzX.js.map → globe-D8_IB9gV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js → grid-3x3-BpzWmYF5.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js.map → grid-3x3-BpzWmYF5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js → hard-drive-QIHpGln7.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js.map → hard-drive-QIHpGln7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js → hash-CP0YRHVs.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js.map → hash-CP0YRHVs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-C1pJZQCL.js → history-hOjgVKax.js} +2 -2
- package/ccw/frontend/dist/assets/{history-C1pJZQCL.js.map → history-hOjgVKax.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js → index-B_ysvdnP.js} +2 -2
- package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js.map → index-B_ysvdnP.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js → index-C5Oqx2xI.js} +3 -3
- package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js.map → index-C5Oqx2xI.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CI8-rBff.js → index-CJi0bWL-.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CI8-rBff.js.map → index-CJi0bWL-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-anSMmEF8.js → index-CdQpo1x0.js} +2 -2
- package/ccw/frontend/dist/assets/{index-anSMmEF8.js.map → index-CdQpo1x0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js → layout-grid-C38fQyLs.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js.map → layout-grid-C38fQyLs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js → lightbulb-CClbCUzu.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js.map → lightbulb-CClbCUzu.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js → link-2-CB-LKbI0.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js.map → link-2-CB-LKbI0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-BZtPgLW0.js → link-BK6SBzHS.js} +2 -2
- package/ccw/frontend/dist/assets/{link-BZtPgLW0.js.map → link-BK6SBzHS.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-DubWyY-U.js → list-BME_WOA_.js} +2 -2
- package/ccw/frontend/dist/assets/{list-DubWyY-U.js.map → list-BME_WOA_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js → map-pin-ADsnCyjJ.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js.map → map-pin-ADsnCyjJ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js → messages-square-CLflB1Cq.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js.map → messages-square-CLflB1Cq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js → minimize-2-B3ZNzfGr.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js.map → minimize-2-B3ZNzfGr.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-nzWY6ilt.js → package-CByPhtMG.js} +2 -2
- package/ccw/frontend/dist/assets/{package-nzWY6ilt.js.map → package-CByPhtMG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-CiLce49C.js → plug-BggRzPX9.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-CiLce49C.js.map → plug-BggRzPX9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-CFLmB-U9.js → power-CWuxQSJK.js} +2 -2
- package/ccw/frontend/dist/assets/{power-CFLmB-U9.js.map → power-CWuxQSJK.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-DuO6OF0C.js → save-BdJ6EX4Q.js} +2 -2
- package/ccw/frontend/dist/assets/{save-DuO6OF0C.js.map → save-BdJ6EX4Q.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-CZk9p0mM.js → send-Ce9wuY7Q.js} +2 -2
- package/ccw/frontend/dist/assets/{send-CZk9p0mM.js.map → send-Ce9wuY7Q.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js → square-check-big-D6jItkfw.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js.map → square-check-big-D6jItkfw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js → square-pen-Byxq21zp.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js.map → square-pen-Byxq21zp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js → star-Codj9dvK.js} +2 -2
- package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js.map → star-Codj9dvK.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js → style-4bYpUGcc.js} +2 -2
- package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js.map → style-4bYpUGcc.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js → target-DKBoDNCn.js} +2 -2
- package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js.map → target-DKBoDNCn.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js → test-tube-DTqZcBtA.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js.map → test-tube-DTqZcBtA.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js → upload-DlUl-e6b.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js.map → upload-DlUl-e6b.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js → useApiSettings-D4zhKKT-.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js.map → useApiSettings-D4zhKKT-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js → useCli-D-qDwsAH.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js.map → useCli-D-qDwsAH.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js → useCommands-B0sidbbW.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js.map → useCommands-B0sidbbW.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js → useDebounce-eTtbKevt.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js.map → useDebounce-eTtbKevt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js → useFileExplorer-MGSK0h33.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js.map → useFileExplorer-MGSK0h33.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js → useLocale-DDNxU7pJ.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js.map → useLocale-DDNxU7pJ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js → useSkills-CZCRBtMY.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js.map → useSkills-CZCRBtMY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js → useSystemSettings-DfQEFXSD.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js.map → useSystemSettings-DfQEFXSD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js → wand-sparkles-DCLvfgl1.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js.map → wand-sparkles-DCLvfgl1.js.map} +1 -1
- package/ccw/frontend/dist/index.html +1 -1
- package/package.json +1 -1
- package/.codex/skills/team-arch-opt/agents/completion-handler.md +0 -138
- package/.codex/skills/team-arch-opt/agents/fix-cycle-handler.md +0 -146
- package/.codex/skills/team-arch-opt/agents/plan-reviewer.md +0 -150
- package/.codex/skills/team-arch-opt/instructions/agent-instruction.md +0 -114
- package/.codex/skills/team-arch-opt/schemas/tasks-schema.md +0 -174
- package/.codex/skills/team-brainstorm/agents/gc-controller.md +0 -122
- package/.codex/skills/team-brainstorm/agents/topic-clarifier.md +0 -126
- package/.codex/skills/team-brainstorm/instructions/agent-instruction.md +0 -105
- package/.codex/skills/team-brainstorm/schemas/tasks-schema.md +0 -171
- package/.codex/skills/team-coordinate/agents/completion-handler.md +0 -127
- package/.codex/skills/team-coordinate/agents/plan-reviewer.md +0 -145
- package/.codex/skills/team-coordinate/instructions/agent-instruction.md +0 -184
- package/.codex/skills/team-coordinate/schemas/tasks-schema.md +0 -165
- package/.codex/skills/team-designer/agents/requirement-clarifier.md +0 -247
- package/.codex/skills/team-designer/agents/validation-reporter.md +0 -186
- package/.codex/skills/team-designer/instructions/agent-instruction.md +0 -163
- package/.codex/skills/team-designer/schemas/tasks-schema.md +0 -180
- package/.codex/skills/team-executor/instructions/agent-instruction.md +0 -62
- package/.codex/skills/team-executor/schemas/tasks-schema.md +0 -141
- package/.codex/skills/team-frontend/agents/completion-handler.md +0 -131
- package/.codex/skills/team-frontend/agents/qa-gate-reviewer.md +0 -153
- package/.codex/skills/team-frontend/instructions/agent-instruction.md +0 -197
- package/.codex/skills/team-frontend/schemas/tasks-schema.md +0 -188
- package/.codex/skills/team-frontend-debug/agents/completion-handler.md +0 -142
- package/.codex/skills/team-frontend-debug/agents/conditional-skip-gate.md +0 -130
- package/.codex/skills/team-frontend-debug/agents/iteration-handler.md +0 -120
- package/.codex/skills/team-frontend-debug/instructions/agent-instruction.md +0 -272
- package/.codex/skills/team-frontend-debug/schemas/tasks-schema.md +0 -198
- package/.codex/skills/team-issue/agents/reviewer.md +0 -204
- package/.codex/skills/team-issue/instructions/agent-instruction.md +0 -198
- package/.codex/skills/team-issue/schemas/tasks-schema.md +0 -198
- package/.codex/skills/team-iterdev/agents/gc-controller.md +0 -193
- package/.codex/skills/team-iterdev/agents/task-analyzer.md +0 -206
- package/.codex/skills/team-iterdev/instructions/agent-instruction.md +0 -118
- package/.codex/skills/team-iterdev/schemas/tasks-schema.md +0 -174
- package/.codex/skills/team-lifecycle/SKILL.md +0 -906
- package/.codex/skills/team-lifecycle/agents/analyst.md +0 -424
- package/.codex/skills/team-lifecycle/agents/architect.md +0 -274
- package/.codex/skills/team-lifecycle/agents/discuss-agent.md +0 -422
- package/.codex/skills/team-lifecycle/agents/executor.md +0 -423
- package/.codex/skills/team-lifecycle/agents/explore-agent.md +0 -471
- package/.codex/skills/team-lifecycle/agents/fe-developer.md +0 -239
- package/.codex/skills/team-lifecycle/agents/fe-qa.md +0 -357
- package/.codex/skills/team-lifecycle/agents/planner.md +0 -437
- package/.codex/skills/team-lifecycle/agents/reviewer.md +0 -483
- package/.codex/skills/team-lifecycle/agents/tester.md +0 -423
- package/.codex/skills/team-lifecycle/agents/writer.md +0 -502
- package/.codex/skills/team-lifecycle/phases/01-requirement-clarification.md +0 -209
- package/.codex/skills/team-lifecycle/phases/02-team-initialization.md +0 -263
- package/.codex/skills/team-lifecycle/phases/03-task-chain-creation.md +0 -251
- package/.codex/skills/team-lifecycle/phases/04-pipeline-coordination.md +0 -831
- package/.codex/skills/team-lifecycle/phases/05-completion-report.md +0 -309
- package/.codex/skills/team-lifecycle/specs/document-standards.md +0 -192
- package/.codex/skills/team-lifecycle/specs/quality-gates.md +0 -207
- package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +0 -165
- package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +0 -163
- package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +0 -182
- package/.codex/skills/team-perf-opt/agents/completion-handler.md +0 -141
- package/.codex/skills/team-perf-opt/agents/fix-cycle-handler.md +0 -156
- package/.codex/skills/team-perf-opt/agents/plan-reviewer.md +0 -150
- package/.codex/skills/team-perf-opt/instructions/agent-instruction.md +0 -122
- package/.codex/skills/team-perf-opt/schemas/tasks-schema.md +0 -174
- package/.codex/skills/team-planex/instructions/agent-instruction.md +0 -301
- package/.codex/skills/team-planex/schemas/tasks-schema.md +0 -198
- package/.codex/skills/team-planex-v2/SKILL.md +0 -652
- package/.codex/skills/team-planex-v2/instructions/agent-instruction.md +0 -193
- package/.codex/skills/team-planex-v2/schemas/tasks-schema.md +0 -206
- package/.codex/skills/team-quality-assurance/agents/executor.md +0 -192
- package/.codex/skills/team-quality-assurance/agents/gc-loop-handler.md +0 -163
- package/.codex/skills/team-quality-assurance/instructions/agent-instruction.md +0 -185
- package/.codex/skills/team-quality-assurance/schemas/tasks-schema.md +0 -190
- package/.codex/skills/team-review/agents/fixer.md +0 -360
- package/.codex/skills/team-review/instructions/agent-instruction.md +0 -102
- package/.codex/skills/team-review/schemas/tasks-schema.md +0 -143
- package/.codex/skills/team-roadmap-dev/agents/roadmap-discusser.md +0 -176
- package/.codex/skills/team-roadmap-dev/agents/roadmap-planner.md +0 -194
- package/.codex/skills/team-roadmap-dev/agents/roadmap-verifier.md +0 -221
- package/.codex/skills/team-roadmap-dev/instructions/executor-instruction.md +0 -55
- package/.codex/skills/team-roadmap-dev/schemas/tasks-schema.md +0 -144
- package/.codex/skills/team-tech-debt/agents/gc-loop-manager.md +0 -130
- package/.codex/skills/team-tech-debt/agents/plan-approver.md +0 -151
- package/.codex/skills/team-tech-debt/instructions/agent-instruction.md +0 -390
- package/.codex/skills/team-tech-debt/schemas/tasks-schema.md +0 -196
- package/.codex/skills/team-testing/agents/executor.md +0 -195
- package/.codex/skills/team-testing/agents/gc-loop-handler.md +0 -155
- package/.codex/skills/team-testing/instructions/agent-instruction.md +0 -142
- package/.codex/skills/team-testing/schemas/tasks-schema.md +0 -172
- package/.codex/skills/team-uidesign/agents/completion-handler.md +0 -177
- package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +0 -162
- package/.codex/skills/team-uidesign/instructions/agent-instruction.md +0 -509
- package/.codex/skills/team-uidesign/schemas/tasks-schema.md +0 -187
- package/.codex/skills/team-ultra-analyze/agents/discussion-feedback.md +0 -155
- package/.codex/skills/team-ultra-analyze/agents/topic-analyzer.md +0 -153
- package/.codex/skills/team-ultra-analyze/instructions/agent-instruction.md +0 -169
- package/.codex/skills/team-ultra-analyze/schemas/tasks-schema.md +0 -180
- package/.codex/skills/team-ux-improve/agents/ux-designer.md +0 -136
- package/.codex/skills/team-ux-improve/agents/ux-explorer.md +0 -158
- package/.codex/skills/team-ux-improve/agents/ux-tester.md +0 -174
- package/.codex/skills/team-ux-improve/instructions/ux-worker-instruction.md +0 -55
- package/.codex/skills/team-ux-improve/schemas/tasks-schema.md +0 -87
- /package/.codex/skills/{team-lifecycle/templates/architecture-doc.md → team-lifecycle-v4/templates/architecture.md} +0 -0
- /package/.codex/skills/{team-lifecycle/templates/epics-template.md → team-lifecycle-v4/templates/epics.md} +0 -0
- /package/.codex/skills/{team-lifecycle → team-lifecycle-v4}/templates/product-brief.md +0 -0
- /package/.codex/skills/{team-lifecycle/templates/requirements-prd.md → team-lifecycle-v4/templates/requirements.md} +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
role: analyst
|
|
3
|
+
prefix: TESTANA
|
|
4
|
+
inner_loop: false
|
|
5
|
+
message_types:
|
|
6
|
+
success: analysis_ready
|
|
7
|
+
error: error
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Test Quality Analyst
|
|
11
|
+
|
|
12
|
+
Analyze defect patterns, identify coverage gaps, assess GC loop effectiveness, and generate a quality report with actionable recommendations.
|
|
13
|
+
|
|
14
|
+
## Phase 2: Context Loading
|
|
15
|
+
|
|
16
|
+
| Input | Source | Required |
|
|
17
|
+
|-------|--------|----------|
|
|
18
|
+
| Task description | From task subject/description | Yes |
|
|
19
|
+
| Session path | Extracted from task description | Yes |
|
|
20
|
+
| Execution results | <session>/results/run-*.json | Yes |
|
|
21
|
+
| Test strategy | <session>/strategy/test-strategy.md | Yes |
|
|
22
|
+
| .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
|
|
23
|
+
|
|
24
|
+
1. Extract session path from task description
|
|
25
|
+
2. Read .msg/meta.json for execution context (executor, generator namespaces)
|
|
26
|
+
3. Read all execution results:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
Glob("<session>/results/run-*.json")
|
|
30
|
+
Read("<session>/results/run-001.json")
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
4. Read test strategy:
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
Read("<session>/strategy/test-strategy.md")
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
5. Read test files for pattern analysis:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Glob("<session>/tests/**/*")
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Phase 3: Quality Analysis
|
|
46
|
+
|
|
47
|
+
**Analysis dimensions**:
|
|
48
|
+
|
|
49
|
+
1. **Coverage Analysis** -- Aggregate coverage by layer:
|
|
50
|
+
|
|
51
|
+
| Layer | Coverage | Target | Status |
|
|
52
|
+
|-------|----------|--------|--------|
|
|
53
|
+
| L1 | X% | Y% | Met/Below |
|
|
54
|
+
|
|
55
|
+
2. **Defect Pattern Analysis** -- Frequency and severity:
|
|
56
|
+
|
|
57
|
+
| Pattern | Frequency | Severity |
|
|
58
|
+
|---------|-----------|----------|
|
|
59
|
+
| pattern | count | HIGH (>=3) / MEDIUM (>=2) / LOW (<2) |
|
|
60
|
+
|
|
61
|
+
3. **GC Loop Effectiveness**:
|
|
62
|
+
|
|
63
|
+
| Metric | Value | Assessment |
|
|
64
|
+
|--------|-------|------------|
|
|
65
|
+
| Rounds | N | - |
|
|
66
|
+
| Coverage Improvement | +/-X% | HIGH (>10%) / MEDIUM (>5%) / LOW (<=5%) |
|
|
67
|
+
|
|
68
|
+
4. **Coverage Gaps** -- per module/feature:
|
|
69
|
+
- Area, Current %, Gap %, Reason, Recommendation
|
|
70
|
+
|
|
71
|
+
5. **Quality Score**:
|
|
72
|
+
|
|
73
|
+
| Dimension | Score (1-10) | Weight |
|
|
74
|
+
|-----------|-------------|--------|
|
|
75
|
+
| Coverage Achievement | score | 30% |
|
|
76
|
+
| Test Effectiveness | score | 25% |
|
|
77
|
+
| Defect Detection | score | 25% |
|
|
78
|
+
| GC Loop Efficiency | score | 20% |
|
|
79
|
+
|
|
80
|
+
Write report to `<session>/analysis/quality-report.md`
|
|
81
|
+
|
|
82
|
+
## Phase 4: Trend Analysis & State Update
|
|
83
|
+
|
|
84
|
+
**Historical comparison** (if multiple sessions exist):
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
Glob(".workflow/.team/TST-*/.msg/meta.json")
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
- Track coverage trends over time
|
|
91
|
+
- Identify defect pattern evolution
|
|
92
|
+
- Compare GC loop effectiveness across sessions
|
|
93
|
+
|
|
94
|
+
Update `<session>/wisdom/.msg/meta.json` under `analyst` namespace:
|
|
95
|
+
- Merge `{ "analyst": { quality_score, coverage_gaps, top_defect_patterns, gc_effectiveness, recommendations } }`
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Analyze Task
|
|
2
|
+
|
|
3
|
+
Parse user task -> detect testing capabilities -> select pipeline -> design roles.
|
|
4
|
+
|
|
5
|
+
**CONSTRAINT**: Text-level analysis only. NO source code reading, NO codebase exploration.
|
|
6
|
+
|
|
7
|
+
## Signal Detection
|
|
8
|
+
|
|
9
|
+
| Keywords | Capability | Prefix |
|
|
10
|
+
|----------|------------|--------|
|
|
11
|
+
| strategy, plan, layers, scope | strategist | STRATEGY |
|
|
12
|
+
| generate tests, write tests, create tests | generator | TESTGEN |
|
|
13
|
+
| run tests, execute, coverage | executor | TESTRUN |
|
|
14
|
+
| analyze, report, quality, defects | analyst | TESTANA |
|
|
15
|
+
|
|
16
|
+
## Pipeline Mode Detection
|
|
17
|
+
|
|
18
|
+
| Condition | Pipeline |
|
|
19
|
+
|-----------|----------|
|
|
20
|
+
| fileCount <= 3 AND moduleCount <= 1 | targeted |
|
|
21
|
+
| fileCount <= 10 AND moduleCount <= 3 | standard |
|
|
22
|
+
| Otherwise | comprehensive |
|
|
23
|
+
|
|
24
|
+
## Dependency Graph
|
|
25
|
+
|
|
26
|
+
Natural ordering for testing pipeline:
|
|
27
|
+
- Tier 0: strategist (change analysis, no upstream dependency)
|
|
28
|
+
- Tier 1: generator (requires strategy)
|
|
29
|
+
- Tier 2: executor (requires generated tests; GC loop with generator)
|
|
30
|
+
- Tier 3: analyst (requires execution results)
|
|
31
|
+
|
|
32
|
+
## Pipeline Definitions
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Targeted: STRATEGY -> TESTGEN(L1) -> TESTRUN(L1)
|
|
36
|
+
Standard: STRATEGY -> TESTGEN(L1) -> TESTRUN(L1) -> TESTGEN(L2) -> TESTRUN(L2) -> TESTANA
|
|
37
|
+
Comprehensive: STRATEGY -> [TESTGEN(L1) || TESTGEN(L2)] -> [TESTRUN(L1) || TESTRUN(L2)] -> TESTGEN(L3) -> TESTRUN(L3) -> TESTANA
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Complexity Scoring
|
|
41
|
+
|
|
42
|
+
| Factor | Points |
|
|
43
|
+
|--------|--------|
|
|
44
|
+
| Per test layer | +1 |
|
|
45
|
+
| Parallel tracks | +1 per track |
|
|
46
|
+
| GC loop enabled | +1 |
|
|
47
|
+
| Serial depth > 3 | +1 |
|
|
48
|
+
|
|
49
|
+
Results: 1-2 Low, 3-5 Medium, 6+ High
|
|
50
|
+
|
|
51
|
+
## Role Minimization
|
|
52
|
+
|
|
53
|
+
- Cap at 5 roles (coordinator + 4 workers)
|
|
54
|
+
- GC loop: generator <-> executor iterate up to 3 rounds per layer
|
|
55
|
+
|
|
56
|
+
## Output
|
|
57
|
+
|
|
58
|
+
Write <session>/task-analysis.json:
|
|
59
|
+
```json
|
|
60
|
+
{
|
|
61
|
+
"task_description": "<original>",
|
|
62
|
+
"pipeline_mode": "<targeted|standard|comprehensive>",
|
|
63
|
+
"capabilities": [{ "name": "<cap>", "prefix": "<PREFIX>", "keywords": ["..."] }],
|
|
64
|
+
"dependency_graph": { "<TASK-ID>": { "role": "<role>", "blockedBy": ["..."], "layer": "L1|L2|L3" } },
|
|
65
|
+
"roles": [{ "name": "<role>", "prefix": "<PREFIX>", "inner_loop": true }],
|
|
66
|
+
"complexity": { "score": 0, "level": "Low|Medium|High" },
|
|
67
|
+
"coverage_targets": { "L1": 80, "L2": 60, "L3": 40 },
|
|
68
|
+
"gc_loop_enabled": true
|
|
69
|
+
}
|
|
70
|
+
```
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Dispatch Tasks
|
|
2
|
+
|
|
3
|
+
Create testing task chains with correct dependencies. Supports targeted, standard, and comprehensive pipelines.
|
|
4
|
+
|
|
5
|
+
## Workflow
|
|
6
|
+
|
|
7
|
+
1. Read task-analysis.json -> extract pipeline_mode and dependency_graph
|
|
8
|
+
2. Read specs/pipelines.md -> get task registry for selected pipeline
|
|
9
|
+
3. Topological sort tasks (respect deps)
|
|
10
|
+
4. Validate all owners exist in role registry (SKILL.md)
|
|
11
|
+
5. For each task (in order):
|
|
12
|
+
- Add task entry to tasks.json `tasks` object (see template below)
|
|
13
|
+
- Set deps array with upstream task IDs
|
|
14
|
+
6. Update tasks.json metadata: total count
|
|
15
|
+
7. Validate chain (no orphans, no cycles, all refs valid)
|
|
16
|
+
|
|
17
|
+
## Task Entry Template
|
|
18
|
+
|
|
19
|
+
Each task in tasks.json `tasks` object:
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"<TASK-ID>": {
|
|
23
|
+
"title": "<concise title>",
|
|
24
|
+
"description": "PURPOSE: <goal> | Success: <criteria>\nTASK:\n - <step 1>\n - <step 2>\nCONTEXT:\n - Session: <session-folder>\n - Scope: <scope>\n - Layer: <L1-unit|L2-integration|L3-e2e>\n - Upstream artifacts: <artifact-1>, <artifact-2>\n - Shared memory: <session>/wisdom/.msg/meta.json\nEXPECTED: <deliverable path> + <quality criteria>\nCONSTRAINTS: <scope limits, focus areas>\n---\nInnerLoop: <true|false>\nRoleSpec: <project>/.codex/skills/team-testing/roles/<role>/role.md",
|
|
25
|
+
"role": "<role-name>",
|
|
26
|
+
"prefix": "<PREFIX>",
|
|
27
|
+
"deps": ["<upstream-task-id>"],
|
|
28
|
+
"status": "pending",
|
|
29
|
+
"findings": null,
|
|
30
|
+
"error": null
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Pipeline Task Registry
|
|
36
|
+
|
|
37
|
+
### Targeted Pipeline
|
|
38
|
+
```
|
|
39
|
+
STRATEGY-001 (strategist): Analyze change scope, define test strategy
|
|
40
|
+
deps: []
|
|
41
|
+
TESTGEN-001 (generator): Generate L1 unit tests
|
|
42
|
+
deps: [STRATEGY-001], meta: layer=L1-unit
|
|
43
|
+
TESTRUN-001 (executor): Execute L1 tests, collect coverage
|
|
44
|
+
deps: [TESTGEN-001], inner_loop: true, meta: layer=L1-unit, coverage_target=80%
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Standard Pipeline
|
|
48
|
+
```
|
|
49
|
+
STRATEGY-001 (strategist): Analyze change scope, define test strategy
|
|
50
|
+
deps: []
|
|
51
|
+
TESTGEN-001 (generator): Generate L1 unit tests
|
|
52
|
+
deps: [STRATEGY-001], meta: layer=L1-unit
|
|
53
|
+
TESTRUN-001 (executor): Execute L1 tests, collect coverage
|
|
54
|
+
deps: [TESTGEN-001], inner_loop: true, meta: layer=L1-unit, coverage_target=80%
|
|
55
|
+
TESTGEN-002 (generator): Generate L2 integration tests
|
|
56
|
+
deps: [TESTRUN-001], meta: layer=L2-integration
|
|
57
|
+
TESTRUN-002 (executor): Execute L2 tests, collect coverage
|
|
58
|
+
deps: [TESTGEN-002], inner_loop: true, meta: layer=L2-integration, coverage_target=60%
|
|
59
|
+
TESTANA-001 (analyst): Defect pattern analysis, quality report
|
|
60
|
+
deps: [TESTRUN-002]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Comprehensive Pipeline
|
|
64
|
+
```
|
|
65
|
+
STRATEGY-001 (strategist): Analyze change scope, define test strategy
|
|
66
|
+
deps: []
|
|
67
|
+
TESTGEN-001 (generator-1): Generate L1 unit tests
|
|
68
|
+
deps: [STRATEGY-001], meta: layer=L1-unit
|
|
69
|
+
TESTGEN-002 (generator-2): Generate L2 integration tests
|
|
70
|
+
deps: [STRATEGY-001], meta: layer=L2-integration
|
|
71
|
+
TESTRUN-001 (executor-1): Execute L1 tests, collect coverage
|
|
72
|
+
deps: [TESTGEN-001], inner_loop: true, meta: layer=L1-unit, coverage_target=80%
|
|
73
|
+
TESTRUN-002 (executor-2): Execute L2 tests, collect coverage
|
|
74
|
+
deps: [TESTGEN-002], inner_loop: true, meta: layer=L2-integration, coverage_target=60%
|
|
75
|
+
TESTGEN-003 (generator): Generate L3 E2E tests
|
|
76
|
+
deps: [TESTRUN-001, TESTRUN-002], meta: layer=L3-e2e
|
|
77
|
+
TESTRUN-003 (executor): Execute L3 tests, collect coverage
|
|
78
|
+
deps: [TESTGEN-003], inner_loop: true, meta: layer=L3-e2e, coverage_target=40%
|
|
79
|
+
TESTANA-001 (analyst): Defect pattern analysis, quality report
|
|
80
|
+
deps: [TESTRUN-003]
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## InnerLoop Flag Rules
|
|
84
|
+
|
|
85
|
+
- true: generator, executor roles (GC loop iterations)
|
|
86
|
+
- false: strategist, analyst roles
|
|
87
|
+
|
|
88
|
+
## Dependency Validation
|
|
89
|
+
|
|
90
|
+
- No orphan tasks (all tasks have valid owner)
|
|
91
|
+
- No circular dependencies
|
|
92
|
+
- All deps references exist in tasks object
|
|
93
|
+
- Session reference in every task description
|
|
94
|
+
- RoleSpec reference in every task description
|
|
95
|
+
|
|
96
|
+
## Log After Creation
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
mcp__ccw-tools__team_msg({
|
|
100
|
+
operation: "log",
|
|
101
|
+
session_id: <session-id>,
|
|
102
|
+
from: "coordinator",
|
|
103
|
+
type: "pipeline_selected",
|
|
104
|
+
data: { pipeline: "<mode>", task_count: <N> }
|
|
105
|
+
})
|
|
106
|
+
```
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
# Monitor Pipeline
|
|
2
|
+
|
|
3
|
+
Synchronous pipeline coordination using spawn_agent + wait_agent.
|
|
4
|
+
|
|
5
|
+
## Constants
|
|
6
|
+
|
|
7
|
+
- WORKER_AGENT: team_worker
|
|
8
|
+
- ONE_STEP_PER_INVOCATION: false (synchronous wait loop)
|
|
9
|
+
- FAST_ADVANCE_AWARE: true
|
|
10
|
+
- MAX_GC_ROUNDS: 3
|
|
11
|
+
|
|
12
|
+
## Handler Router
|
|
13
|
+
|
|
14
|
+
| Source | Handler |
|
|
15
|
+
|--------|---------|
|
|
16
|
+
| "capability_gap" | handleAdapt |
|
|
17
|
+
| "check" or "status" | handleCheck |
|
|
18
|
+
| "resume" or "continue" | handleResume |
|
|
19
|
+
| All tasks completed | handleComplete |
|
|
20
|
+
| Default | handleSpawnNext |
|
|
21
|
+
|
|
22
|
+
## Role-Worker Map
|
|
23
|
+
|
|
24
|
+
| Prefix | Role | Role Spec | inner_loop |
|
|
25
|
+
|--------|------|-----------|------------|
|
|
26
|
+
| STRATEGY-* | strategist | `<project>/.codex/skills/team-testing/roles/strategist/role.md` | false |
|
|
27
|
+
| TESTGEN-* | generator | `<project>/.codex/skills/team-testing/roles/generator/role.md` | true |
|
|
28
|
+
| TESTRUN-* | executor | `<project>/.codex/skills/team-testing/roles/executor/role.md` | true |
|
|
29
|
+
| TESTANA-* | analyst | `<project>/.codex/skills/team-testing/roles/analyst/role.md` | false |
|
|
30
|
+
|
|
31
|
+
## handleCheck
|
|
32
|
+
|
|
33
|
+
Read-only status report from tasks.json, then STOP.
|
|
34
|
+
|
|
35
|
+
1. Read tasks.json
|
|
36
|
+
2. Count tasks by status (pending, in_progress, completed, failed)
|
|
37
|
+
|
|
38
|
+
Output:
|
|
39
|
+
```
|
|
40
|
+
[coordinator] Testing Pipeline Status
|
|
41
|
+
[coordinator] Mode: <pipeline_mode>
|
|
42
|
+
[coordinator] Progress: <done>/<total> (<pct>%)
|
|
43
|
+
[coordinator] GC Rounds: L1: <n>/3, L2: <n>/3
|
|
44
|
+
|
|
45
|
+
[coordinator] Pipeline Graph:
|
|
46
|
+
STRATEGY-001: <done|run|wait> test-strategy.md
|
|
47
|
+
TESTGEN-001: <done|run|wait> generating L1...
|
|
48
|
+
TESTRUN-001: <done|run|wait> blocked by TESTGEN-001
|
|
49
|
+
TESTGEN-002: <done|run|wait> blocked by TESTRUN-001
|
|
50
|
+
TESTRUN-002: <done|run|wait> blocked by TESTGEN-002
|
|
51
|
+
TESTANA-001: <done|run|wait> blocked by TESTRUN-*
|
|
52
|
+
|
|
53
|
+
[coordinator] Active agents: <list with elapsed time>
|
|
54
|
+
[coordinator] Ready: <pending tasks with resolved deps>
|
|
55
|
+
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Then STOP.
|
|
59
|
+
|
|
60
|
+
## handleResume
|
|
61
|
+
|
|
62
|
+
1. Read tasks.json, check active_agents
|
|
63
|
+
2. No active agents -> handleSpawnNext
|
|
64
|
+
3. Has active agents -> check each status
|
|
65
|
+
- completed -> mark done
|
|
66
|
+
- in_progress -> still running
|
|
67
|
+
4. Some completed -> handleSpawnNext
|
|
68
|
+
5. All running -> report status, STOP
|
|
69
|
+
|
|
70
|
+
## handleSpawnNext
|
|
71
|
+
|
|
72
|
+
Find ready tasks, spawn workers, wait for completion, process results.
|
|
73
|
+
|
|
74
|
+
1. Read tasks.json
|
|
75
|
+
2. Collect:
|
|
76
|
+
- completedTasks: status = completed
|
|
77
|
+
- inProgressTasks: status = in_progress
|
|
78
|
+
- readyTasks: status = pending AND all deps in completedTasks
|
|
79
|
+
|
|
80
|
+
3. No ready + work in progress -> report waiting, STOP
|
|
81
|
+
4. No ready + nothing in progress -> handleComplete
|
|
82
|
+
5. Has ready -> for each ready task:
|
|
83
|
+
a. Determine role from prefix (use Role-Worker Map)
|
|
84
|
+
b. Check if inner loop role (generator/executor) with active worker -> skip (worker picks up next task)
|
|
85
|
+
c. Update task status in tasks.json -> in_progress
|
|
86
|
+
d. team_msg log -> task_unblocked
|
|
87
|
+
|
|
88
|
+
### Spawn Workers
|
|
89
|
+
|
|
90
|
+
For each ready task:
|
|
91
|
+
|
|
92
|
+
```javascript
|
|
93
|
+
// 1) Update status in tasks.json
|
|
94
|
+
state.tasks[taskId].status = 'in_progress'
|
|
95
|
+
|
|
96
|
+
// 2) Spawn worker
|
|
97
|
+
const agentId = spawn_agent({
|
|
98
|
+
agent_type: "team_worker",
|
|
99
|
+
items: [
|
|
100
|
+
{ type: "text", text: `## Role Assignment
|
|
101
|
+
role: ${task.role}
|
|
102
|
+
role_spec: ${skillRoot}/roles/${task.role}/role.md
|
|
103
|
+
session: ${sessionFolder}
|
|
104
|
+
session_id: ${sessionId}
|
|
105
|
+
team_name: testing
|
|
106
|
+
requirement: ${task.description}
|
|
107
|
+
inner_loop: ${task.role === 'generator' || task.role === 'executor'}
|
|
108
|
+
|
|
109
|
+
## Current Task
|
|
110
|
+
- Task ID: ${taskId}
|
|
111
|
+
- Task: ${task.title}` },
|
|
112
|
+
|
|
113
|
+
{ type: "text", text: `Read role_spec file (${skillRoot}/roles/${task.role}/role.md) to load Phase 2-4 domain instructions.
|
|
114
|
+
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).` },
|
|
115
|
+
|
|
116
|
+
{ type: "text", text: `## Task Context
|
|
117
|
+
task_id: ${taskId}
|
|
118
|
+
title: ${task.title}
|
|
119
|
+
description: ${task.description}` },
|
|
120
|
+
|
|
121
|
+
{ type: "text", text: `## Upstream Context\n${prevContext}` }
|
|
122
|
+
]
|
|
123
|
+
})
|
|
124
|
+
|
|
125
|
+
// 3) Track agent
|
|
126
|
+
state.active_agents[taskId] = { agentId, role: task.role, started_at: now }
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
6. **Parallel spawn** (comprehensive pipeline):
|
|
130
|
+
- TESTGEN-001 + TESTGEN-002 both unblocked -> spawn both in parallel (name: "generator-1", "generator-2")
|
|
131
|
+
- TESTRUN-001 + TESTRUN-002 both unblocked -> spawn both in parallel (name: "executor-1", "executor-2")
|
|
132
|
+
|
|
133
|
+
### Wait and Process Results
|
|
134
|
+
|
|
135
|
+
After spawning all ready tasks:
|
|
136
|
+
|
|
137
|
+
```javascript
|
|
138
|
+
// 4) Batch wait for all spawned workers
|
|
139
|
+
const agentIds = Object.values(state.active_agents).map(a => a.agentId)
|
|
140
|
+
wait_agent({ ids: agentIds, timeout_ms: 900000 })
|
|
141
|
+
|
|
142
|
+
// 5) Collect results
|
|
143
|
+
for (const [taskId, agent] of Object.entries(state.active_agents)) {
|
|
144
|
+
state.tasks[taskId].status = 'completed'
|
|
145
|
+
close_agent({ id: agent.agentId })
|
|
146
|
+
delete state.active_agents[taskId]
|
|
147
|
+
}
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### GC Checkpoint (TESTRUN-* completes)
|
|
151
|
+
|
|
152
|
+
After TESTRUN-* completion, read meta.json for executor.pass_rate and executor.coverage:
|
|
153
|
+
- (pass_rate >= 0.95 AND coverage >= target) OR gc_rounds[layer] >= MAX_GC_ROUNDS -> proceed
|
|
154
|
+
- (pass_rate < 0.95 OR coverage < target) AND gc_rounds[layer] < MAX_GC_ROUNDS -> create GC fix tasks, increment gc_rounds[layer]
|
|
155
|
+
|
|
156
|
+
**GC Fix Task Creation** (when coverage below target):
|
|
157
|
+
|
|
158
|
+
Add to tasks.json:
|
|
159
|
+
```json
|
|
160
|
+
{
|
|
161
|
+
"TESTGEN-<layer>-fix-<round>": {
|
|
162
|
+
"title": "Revise <layer> tests (GC #<round>)",
|
|
163
|
+
"description": "PURPOSE: Revise tests to fix failures and improve coverage | Success: pass_rate >= 0.95 AND coverage >= target\nTASK:\n - Read previous test results and failure details\n - Revise tests to address failures\n - Improve coverage for uncovered areas\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Previous results: <session>/results/run-<N>.json\nEXPECTED: Revised test files in <session>/tests/<layer>/\nCONSTRAINTS: Only modify test files\n---\nInnerLoop: true\nRoleSpec: <project>/.codex/skills/team-testing/roles/generator/role.md",
|
|
164
|
+
"role": "generator",
|
|
165
|
+
"prefix": "TESTGEN",
|
|
166
|
+
"deps": [],
|
|
167
|
+
"status": "pending",
|
|
168
|
+
"findings": null,
|
|
169
|
+
"error": null
|
|
170
|
+
},
|
|
171
|
+
"TESTRUN-<layer>-fix-<round>": {
|
|
172
|
+
"title": "Re-execute <layer> (GC #<round>)",
|
|
173
|
+
"description": "PURPOSE: Re-execute tests after revision | Success: pass_rate >= 0.95\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Input: tests/<layer>\nEXPECTED: <session>/results/run-<N>-gc.json\n---\nInnerLoop: true\nRoleSpec: <project>/.codex/skills/team-testing/roles/executor/role.md",
|
|
174
|
+
"role": "executor",
|
|
175
|
+
"prefix": "TESTRUN",
|
|
176
|
+
"deps": ["TESTGEN-<layer>-fix-<round>"],
|
|
177
|
+
"status": "pending",
|
|
178
|
+
"findings": null,
|
|
179
|
+
"error": null
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
```
|
|
183
|
+
Update tasks.json gc_rounds[layer]++
|
|
184
|
+
|
|
185
|
+
### Persist and Loop
|
|
186
|
+
|
|
187
|
+
After processing all results:
|
|
188
|
+
1. Write updated tasks.json
|
|
189
|
+
2. Check if more tasks are now ready (deps newly resolved)
|
|
190
|
+
3. If yes -> loop back to step 1 of handleSpawnNext
|
|
191
|
+
4. If no more ready and all done -> handleComplete
|
|
192
|
+
5. If no more ready but some still blocked -> report status, STOP
|
|
193
|
+
|
|
194
|
+
## handleComplete
|
|
195
|
+
|
|
196
|
+
Pipeline done. Generate report and completion action.
|
|
197
|
+
|
|
198
|
+
1. Verify all tasks (including any GC fix tasks) have status "completed" or "failed"
|
|
199
|
+
2. If any tasks incomplete -> return to handleSpawnNext
|
|
200
|
+
3. If all complete:
|
|
201
|
+
- Read final state from meta.json (analyst.quality_score, executor.coverage, gc_rounds)
|
|
202
|
+
- Generate summary (deliverables, task count, GC rounds, coverage metrics)
|
|
203
|
+
4. Execute completion action per tasks.json completion_action:
|
|
204
|
+
- interactive -> request_user_input (Archive/Keep/Deepen Coverage)
|
|
205
|
+
- auto_archive -> Archive & Clean (rm -rf session folder)
|
|
206
|
+
- auto_keep -> Keep Active (status=paused)
|
|
207
|
+
|
|
208
|
+
## handleAdapt
|
|
209
|
+
|
|
210
|
+
Capability gap reported mid-pipeline.
|
|
211
|
+
|
|
212
|
+
1. Parse gap description
|
|
213
|
+
2. Check if existing role covers it -> redirect
|
|
214
|
+
3. Role count < 5 -> generate dynamic role-spec in <session>/role-specs/
|
|
215
|
+
4. Add new task to tasks.json, spawn worker via spawn_agent + wait_agent
|
|
216
|
+
5. Role count >= 5 -> merge or pause
|
|
217
|
+
|
|
218
|
+
## Fast-Advance Reconciliation
|
|
219
|
+
|
|
220
|
+
On every coordinator wake:
|
|
221
|
+
1. Read team_msg entries with type="fast_advance"
|
|
222
|
+
2. Sync active_agents with spawned successors
|
|
223
|
+
3. No duplicate spawns
|
|
224
|
+
|
|
225
|
+
## Phase 4: State Persistence
|
|
226
|
+
|
|
227
|
+
After every handler execution:
|
|
228
|
+
1. Reconcile active_agents with actual tasks.json states
|
|
229
|
+
2. Remove entries for completed/failed tasks
|
|
230
|
+
3. Write updated tasks.json
|
|
231
|
+
4. STOP (wait for next invocation)
|
|
232
|
+
|
|
233
|
+
## Error Handling
|
|
234
|
+
|
|
235
|
+
| Scenario | Resolution |
|
|
236
|
+
|----------|------------|
|
|
237
|
+
| Session file not found | Error, suggest re-initialization |
|
|
238
|
+
| Unknown role in callback | Log info, scan for other completions |
|
|
239
|
+
| GC loop exceeded (3 rounds) | Accept current coverage with warning, proceed |
|
|
240
|
+
| Pipeline stall | Check deps chains, report to user |
|
|
241
|
+
| Coverage tool unavailable | Degrade to pass rate judgment |
|
|
242
|
+
| Worker crash | Reset task to pending in tasks.json, respawn via spawn_agent |
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Coordinator Role
|
|
2
|
+
|
|
3
|
+
Orchestrate team-testing: analyze -> dispatch -> spawn -> monitor -> report.
|
|
4
|
+
|
|
5
|
+
## Identity
|
|
6
|
+
- Name: coordinator | Tag: [coordinator]
|
|
7
|
+
- Responsibility: Change scope analysis -> Create session -> Dispatch tasks -> Monitor progress -> Report results
|
|
8
|
+
|
|
9
|
+
## Boundaries
|
|
10
|
+
|
|
11
|
+
### MUST
|
|
12
|
+
- Spawn workers via `spawn_agent({ agent_type: "team_worker" })` and wait via `wait_agent`
|
|
13
|
+
- Follow Command Execution Protocol for dispatch and monitor commands
|
|
14
|
+
- Respect pipeline stage dependencies (deps)
|
|
15
|
+
- Handle Generator-Critic cycles with max 3 iterations per layer
|
|
16
|
+
- Execute completion action in Phase 5
|
|
17
|
+
|
|
18
|
+
### MUST NOT
|
|
19
|
+
- Implement domain logic (test generation, execution, analysis) -- workers handle this
|
|
20
|
+
- Spawn workers without creating tasks first
|
|
21
|
+
- Skip quality gates when coverage is below target
|
|
22
|
+
- Modify test files or source code directly -- delegate to workers
|
|
23
|
+
- Force-advance pipeline past failed GC loops
|
|
24
|
+
|
|
25
|
+
## Command Execution Protocol
|
|
26
|
+
When coordinator needs to execute a specific phase:
|
|
27
|
+
1. Read `commands/<command>.md`
|
|
28
|
+
2. Follow the workflow defined in the command
|
|
29
|
+
3. Commands are inline execution guides, NOT separate agents
|
|
30
|
+
4. Execute synchronously, complete before proceeding
|
|
31
|
+
|
|
32
|
+
## Entry Router
|
|
33
|
+
|
|
34
|
+
| Detection | Condition | Handler |
|
|
35
|
+
|-----------|-----------|---------|
|
|
36
|
+
| Status check | Args contain "check" or "status" | -> handleCheck (monitor.md) |
|
|
37
|
+
| Manual resume | Args contain "resume" or "continue" | -> handleResume (monitor.md) |
|
|
38
|
+
| Capability gap | Message contains "capability_gap" | -> handleAdapt (monitor.md) |
|
|
39
|
+
| Pipeline complete | All tasks completed | -> handleComplete (monitor.md) |
|
|
40
|
+
| Interrupted session | Active session in .workflow/.team/TST-* | -> Phase 0 |
|
|
41
|
+
| New session | None of above | -> Phase 1 |
|
|
42
|
+
|
|
43
|
+
For check/resume/adapt/complete: load @commands/monitor.md, execute handler, STOP.
|
|
44
|
+
|
|
45
|
+
## Phase 0: Session Resume Check
|
|
46
|
+
|
|
47
|
+
1. Scan .workflow/.team/TST-*/tasks.json for active/paused sessions
|
|
48
|
+
2. No sessions -> Phase 1
|
|
49
|
+
3. Single session -> reconcile:
|
|
50
|
+
a. Read tasks.json, reset in_progress -> pending
|
|
51
|
+
b. Rebuild active_agents map
|
|
52
|
+
c. Kick first ready task via handleSpawnNext
|
|
53
|
+
4. Multiple -> request_user_input for selection
|
|
54
|
+
|
|
55
|
+
## Phase 1: Requirement Clarification
|
|
56
|
+
|
|
57
|
+
TEXT-LEVEL ONLY. No source code reading.
|
|
58
|
+
|
|
59
|
+
1. Parse task description from $ARGUMENTS
|
|
60
|
+
2. Analyze change scope:
|
|
61
|
+
```
|
|
62
|
+
Bash("git diff --name-only HEAD~1 2>/dev/null || git diff --name-only --cached")
|
|
63
|
+
```
|
|
64
|
+
3. Select pipeline:
|
|
65
|
+
|
|
66
|
+
| Condition | Pipeline |
|
|
67
|
+
|-----------|----------|
|
|
68
|
+
| fileCount <= 3 AND moduleCount <= 1 | targeted |
|
|
69
|
+
| fileCount <= 10 AND moduleCount <= 3 | standard |
|
|
70
|
+
| Otherwise | comprehensive |
|
|
71
|
+
|
|
72
|
+
4. Clarify if ambiguous (request_user_input for scope)
|
|
73
|
+
5. Delegate to @commands/analyze.md
|
|
74
|
+
6. Output: task-analysis.json
|
|
75
|
+
7. CRITICAL: Always proceed to Phase 2, never skip team workflow
|
|
76
|
+
|
|
77
|
+
## Phase 2: Create Session + Initialize
|
|
78
|
+
|
|
79
|
+
1. Resolve workspace paths (MUST do first):
|
|
80
|
+
- `project_root` = result of `Bash({ command: "pwd" })`
|
|
81
|
+
- `skill_root` = `<project_root>/.codex/skills/team-testing`
|
|
82
|
+
2. Generate session ID: TST-<slug>-<date>
|
|
83
|
+
3. Create session folder structure:
|
|
84
|
+
```bash
|
|
85
|
+
mkdir -p .workflow/.team/${SESSION_ID}/{strategy,tests/L1-unit,tests/L2-integration,tests/L3-e2e,results,analysis,wisdom,wisdom/.msg}
|
|
86
|
+
```
|
|
87
|
+
4. Read specs/pipelines.md -> select pipeline based on mode
|
|
88
|
+
5. Initialize pipeline via team_msg state_update:
|
|
89
|
+
```
|
|
90
|
+
mcp__ccw-tools__team_msg({
|
|
91
|
+
operation: "log", session_id: "<id>", from: "coordinator",
|
|
92
|
+
type: "state_update", summary: "Session initialized",
|
|
93
|
+
data: {
|
|
94
|
+
pipeline_mode: "<targeted|standard|comprehensive>",
|
|
95
|
+
pipeline_stages: ["strategist", "generator", "executor", "analyst"],
|
|
96
|
+
team_name: "testing",
|
|
97
|
+
coverage_targets: { "L1": 80, "L2": 60, "L3": 40 },
|
|
98
|
+
gc_rounds: {}
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
```
|
|
102
|
+
6. Write initial tasks.json:
|
|
103
|
+
```json
|
|
104
|
+
{
|
|
105
|
+
"session_id": "<id>",
|
|
106
|
+
"pipeline": "<targeted|standard|comprehensive>",
|
|
107
|
+
"requirement": "<original requirement>",
|
|
108
|
+
"created_at": "<ISO timestamp>",
|
|
109
|
+
"coverage_targets": { "L1": 80, "L2": 60, "L3": 40 },
|
|
110
|
+
"gc_rounds": {},
|
|
111
|
+
"completed_waves": [],
|
|
112
|
+
"active_agents": {},
|
|
113
|
+
"tasks": {}
|
|
114
|
+
}
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Phase 3: Create Task Chain
|
|
118
|
+
|
|
119
|
+
Delegate to @commands/dispatch.md:
|
|
120
|
+
1. Read specs/pipelines.md for selected pipeline's task registry
|
|
121
|
+
2. Topological sort tasks
|
|
122
|
+
3. Write tasks to tasks.json with deps arrays
|
|
123
|
+
4. Update tasks.json metadata
|
|
124
|
+
|
|
125
|
+
## Phase 4: Spawn-and-Wait
|
|
126
|
+
|
|
127
|
+
Delegate to @commands/monitor.md#handleSpawnNext:
|
|
128
|
+
1. Find ready tasks (pending + deps resolved)
|
|
129
|
+
2. Spawn team_worker agents via spawn_agent
|
|
130
|
+
3. Wait for completion via wait_agent
|
|
131
|
+
4. Process results, advance pipeline
|
|
132
|
+
5. Repeat until all waves complete or pipeline blocked
|
|
133
|
+
|
|
134
|
+
## Phase 5: Report + Completion Action
|
|
135
|
+
|
|
136
|
+
1. Generate summary (deliverables, pipeline stats, GC rounds, coverage metrics)
|
|
137
|
+
2. Execute completion action per tasks.json completion_action:
|
|
138
|
+
- interactive -> request_user_input (Archive/Keep/Deepen Coverage)
|
|
139
|
+
- auto_archive -> Archive & Clean (rm -rf session folder)
|
|
140
|
+
- auto_keep -> Keep Active
|
|
141
|
+
|
|
142
|
+
## Error Handling
|
|
143
|
+
|
|
144
|
+
| Error | Resolution |
|
|
145
|
+
|-------|------------|
|
|
146
|
+
| Task too vague | request_user_input for clarification |
|
|
147
|
+
| Session corruption | Attempt recovery, fallback to manual |
|
|
148
|
+
| Worker crash | Reset task to pending in tasks.json, respawn via spawn_agent |
|
|
149
|
+
| Dependency cycle | Detect in analysis, halt |
|
|
150
|
+
| GC loop exceeded (3 rounds) | Accept current coverage, log to wisdom, proceed |
|
|
151
|
+
| Coverage tool unavailable | Degrade to pass rate judgment |
|