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,80 @@
|
|
|
1
|
+
---
|
|
2
|
+
role: analyst
|
|
3
|
+
prefix: QAANA
|
|
4
|
+
inner_loop: false
|
|
5
|
+
message_types:
|
|
6
|
+
success: analysis_ready
|
|
7
|
+
report: quality_report
|
|
8
|
+
error: error
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Quality Analyst
|
|
12
|
+
|
|
13
|
+
Analyze defect patterns, coverage gaps, test effectiveness, and generate comprehensive quality reports. Maintain defect pattern database and provide quality scoring.
|
|
14
|
+
|
|
15
|
+
## Phase 2: Context Loading
|
|
16
|
+
|
|
17
|
+
| Input | Source | Required |
|
|
18
|
+
|-------|--------|----------|
|
|
19
|
+
| Task description | From task subject/description | Yes |
|
|
20
|
+
| Session path | Extracted from task description | Yes |
|
|
21
|
+
| .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
|
|
22
|
+
| Discovered issues | meta.json -> discovered_issues | No |
|
|
23
|
+
| Test strategy | meta.json -> test_strategy | No |
|
|
24
|
+
| Generated tests | meta.json -> generated_tests | No |
|
|
25
|
+
| Execution results | meta.json -> execution_results | No |
|
|
26
|
+
| Historical patterns | meta.json -> defect_patterns | No |
|
|
27
|
+
|
|
28
|
+
1. Extract session path from task description
|
|
29
|
+
2. Read .msg/meta.json for all accumulated QA data
|
|
30
|
+
3. Read coverage data from `coverage/coverage-summary.json` if available
|
|
31
|
+
4. Read layer execution results from `<session>/results/run-*.json`
|
|
32
|
+
5. Select analysis mode:
|
|
33
|
+
|
|
34
|
+
| Data Points | Mode |
|
|
35
|
+
|-------------|------|
|
|
36
|
+
| <= 5 issues + results | Direct inline analysis |
|
|
37
|
+
| > 5 | CLI-assisted deep analysis via gemini |
|
|
38
|
+
|
|
39
|
+
## Phase 3: Multi-Dimensional Analysis
|
|
40
|
+
|
|
41
|
+
**Five analysis dimensions**:
|
|
42
|
+
|
|
43
|
+
1. **Defect Pattern Analysis**: Group issues by type/perspective, identify patterns with >= 2 occurrences, record type/count/files/description
|
|
44
|
+
2. **Coverage Gap Analysis**: Compare actual coverage vs layer targets, identify per-file gaps (< 50% coverage), severity: critical (< 20%) / high (< 50%)
|
|
45
|
+
3. **Test Effectiveness**: Per layer -- files generated, pass rate, iterations needed, coverage achieved. Effective = pass_rate >= 95% AND iterations <= 2
|
|
46
|
+
4. **Quality Trend**: Compare against coverage_history. Trend: improving (delta > 5%), declining (delta < -5%), stable
|
|
47
|
+
5. **Quality Score** (0-100 starting from 100):
|
|
48
|
+
|
|
49
|
+
| Factor | Impact |
|
|
50
|
+
|--------|--------|
|
|
51
|
+
| Security issues | -10 per issue |
|
|
52
|
+
| Bug issues | -5 per issue |
|
|
53
|
+
| Coverage gap | -0.5 per gap percentage |
|
|
54
|
+
| Test failures | -(100 - pass_rate) * 0.3 per layer |
|
|
55
|
+
| Effective test layers | +5 per layer |
|
|
56
|
+
| Improving trend | +3 |
|
|
57
|
+
|
|
58
|
+
For CLI-assisted mode:
|
|
59
|
+
```
|
|
60
|
+
PURPOSE: Deep quality analysis on QA results to identify defect patterns and improvement opportunities
|
|
61
|
+
TASK: Classify defects by root cause, identify high-density files, analyze coverage gaps vs risk, generate recommendations
|
|
62
|
+
MODE: analysis
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Phase 4: Report Generation & Output
|
|
66
|
+
|
|
67
|
+
1. Generate quality report markdown with: score, defect patterns, coverage analysis, test effectiveness, quality trend, recommendations
|
|
68
|
+
2. Write report to `<session>/analysis/quality-report.md`
|
|
69
|
+
3. Update `<session>/wisdom/.msg/meta.json`:
|
|
70
|
+
- `defect_patterns`: identified patterns array
|
|
71
|
+
- `quality_score`: calculated score
|
|
72
|
+
- `coverage_history`: append new data point (date, coverage, quality_score, issues)
|
|
73
|
+
|
|
74
|
+
**Score-based recommendations**:
|
|
75
|
+
|
|
76
|
+
| Score | Recommendation |
|
|
77
|
+
|-------|----------------|
|
|
78
|
+
| >= 80 | Quality is GOOD. Maintain current testing practices. |
|
|
79
|
+
| 60-79 | Quality needs IMPROVEMENT. Focus on coverage gaps and recurring patterns. |
|
|
80
|
+
| < 60 | Quality is CONCERNING. Recommend comprehensive review and testing effort. |
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Analyze Task
|
|
2
|
+
|
|
3
|
+
Parse user task -> detect QA capabilities -> build dependency graph -> 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
|
+
| scan, discover, find issues, audit | scout | SCOUT |
|
|
12
|
+
| strategy, plan, test layers, coverage | strategist | QASTRAT |
|
|
13
|
+
| generate tests, write tests, create tests | generator | QAGEN |
|
|
14
|
+
| run tests, execute, fix tests | executor | QARUN |
|
|
15
|
+
| analyze, report, quality score | analyst | QAANA |
|
|
16
|
+
|
|
17
|
+
## QA Mode Detection
|
|
18
|
+
|
|
19
|
+
| Condition | Mode |
|
|
20
|
+
|-----------|------|
|
|
21
|
+
| Keywords: discovery, scan, issues, bug-finding | discovery |
|
|
22
|
+
| Keywords: test, coverage, TDD, unit, integration | testing |
|
|
23
|
+
| Both keyword types OR no clear match | full |
|
|
24
|
+
|
|
25
|
+
## Dependency Graph
|
|
26
|
+
|
|
27
|
+
Natural ordering tiers for QA pipeline:
|
|
28
|
+
- Tier 0: scout (issue discovery)
|
|
29
|
+
- Tier 1: strategist (strategy requires scout discoveries)
|
|
30
|
+
- Tier 2: generator (generation requires strategy)
|
|
31
|
+
- Tier 3: executor (execution requires generated tests)
|
|
32
|
+
- Tier 4: analyst (analysis requires execution results)
|
|
33
|
+
|
|
34
|
+
## Pipeline Definitions
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
Discovery Mode: SCOUT -> QASTRAT -> QAGEN(L1) -> QARUN(L1) -> QAANA
|
|
38
|
+
Testing Mode: QASTRAT -> QAGEN(L1) -> QARUN(L1) -> QAGEN(L2) -> QARUN(L2) -> QAANA
|
|
39
|
+
Full Mode: SCOUT -> QASTRAT -> [QAGEN(L1) || QAGEN(L2)] -> [QARUN(L1) || QARUN(L2)] -> QAANA -> SCOUT(regression)
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Complexity Scoring
|
|
43
|
+
|
|
44
|
+
| Factor | Points |
|
|
45
|
+
|--------|--------|
|
|
46
|
+
| Per capability | +1 |
|
|
47
|
+
| Cross-domain (test + discovery) | +2 |
|
|
48
|
+
| Parallel tracks | +1 per track |
|
|
49
|
+
| Serial depth > 3 | +1 |
|
|
50
|
+
|
|
51
|
+
Results: 1-3 Low, 4-6 Medium, 7+ High
|
|
52
|
+
|
|
53
|
+
## Role Minimization
|
|
54
|
+
|
|
55
|
+
- Cap at 6 roles (coordinator + 5 workers)
|
|
56
|
+
- Merge overlapping capabilities
|
|
57
|
+
- Absorb trivial single-step roles
|
|
58
|
+
|
|
59
|
+
## Output
|
|
60
|
+
|
|
61
|
+
Write <session>/task-analysis.json:
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"task_description": "<original>",
|
|
65
|
+
"pipeline_mode": "<discovery|testing|full>",
|
|
66
|
+
"capabilities": [{ "name": "<cap>", "prefix": "<PREFIX>", "keywords": ["..."] }],
|
|
67
|
+
"dependency_graph": { "<TASK-ID>": { "role": "<role>", "addBlockedBy": ["..."], "priority": "P0|P1|P2" } },
|
|
68
|
+
"roles": [{ "name": "<role>", "prefix": "<PREFIX>", "inner_loop": false }],
|
|
69
|
+
"complexity": { "score": 0, "level": "Low|Medium|High" },
|
|
70
|
+
"gc_loop_enabled": true
|
|
71
|
+
}
|
|
72
|
+
```
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# Dispatch Tasks
|
|
2
|
+
|
|
3
|
+
Create task chains from dependency graph with proper blockedBy relationships.
|
|
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 blockedBy)
|
|
10
|
+
4. Validate all owners exist in role registry (SKILL.md)
|
|
11
|
+
5. For each task (in order):
|
|
12
|
+
- Build JSON entry with structured description (see template below)
|
|
13
|
+
- Set blockedBy and owner fields in the entry
|
|
14
|
+
6. Write all entries to `<session>/tasks.json`
|
|
15
|
+
7. Update session.json with pipeline.tasks_total
|
|
16
|
+
8. Validate chain (no orphans, no cycles, all refs valid)
|
|
17
|
+
|
|
18
|
+
## Task Description Template
|
|
19
|
+
|
|
20
|
+
Each task is a JSON entry in the tasks array:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"id": "<TASK-ID>",
|
|
25
|
+
"subject": "<TASK-ID>",
|
|
26
|
+
"description": "PURPOSE: <goal> | Success: <criteria>\nTASK:\n - <step 1>\n - <step 2>\nCONTEXT:\n - Session: <session-folder>\n - Layer: <L1-unit|L2-integration|L3-e2e> (if applicable)\n - Upstream artifacts: <list>\n - Shared memory: <session>/wisdom/.msg/meta.json\nEXPECTED: <artifact path> + <quality criteria>\nCONSTRAINTS: <scope limits>\n---\nInnerLoop: <true|false>\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/<role>/role.md",
|
|
27
|
+
"status": "pending",
|
|
28
|
+
"owner": "<role>",
|
|
29
|
+
"blockedBy": ["<dependency-list>"]
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Pipeline Task Registry
|
|
34
|
+
|
|
35
|
+
### Discovery Mode
|
|
36
|
+
```
|
|
37
|
+
SCOUT-001 (scout): Multi-perspective issue scanning
|
|
38
|
+
blockedBy: []
|
|
39
|
+
QASTRAT-001 (strategist): Test strategy formulation
|
|
40
|
+
blockedBy: [SCOUT-001]
|
|
41
|
+
QAGEN-001 (generator): L1 unit test generation
|
|
42
|
+
blockedBy: [QASTRAT-001], meta: layer=L1
|
|
43
|
+
QARUN-001 (executor): L1 test execution + fix cycles
|
|
44
|
+
blockedBy: [QAGEN-001], inner_loop: true, meta: layer=L1
|
|
45
|
+
QAANA-001 (analyst): Quality analysis report
|
|
46
|
+
blockedBy: [QARUN-001]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Testing Mode
|
|
50
|
+
```
|
|
51
|
+
QASTRAT-001 (strategist): Test strategy formulation
|
|
52
|
+
blockedBy: []
|
|
53
|
+
QAGEN-L1-001 (generator): L1 unit test generation
|
|
54
|
+
blockedBy: [QASTRAT-001], meta: layer=L1
|
|
55
|
+
QARUN-L1-001 (executor): L1 test execution + fix cycles
|
|
56
|
+
blockedBy: [QAGEN-L1-001], inner_loop: true, meta: layer=L1
|
|
57
|
+
QAGEN-L2-001 (generator): L2 integration test generation
|
|
58
|
+
blockedBy: [QARUN-L1-001], meta: layer=L2
|
|
59
|
+
QARUN-L2-001 (executor): L2 test execution + fix cycles
|
|
60
|
+
blockedBy: [QAGEN-L2-001], inner_loop: true, meta: layer=L2
|
|
61
|
+
QAANA-001 (analyst): Quality analysis report
|
|
62
|
+
blockedBy: [QARUN-L2-001]
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Full Mode
|
|
66
|
+
```
|
|
67
|
+
SCOUT-001 (scout): Multi-perspective issue scanning
|
|
68
|
+
blockedBy: []
|
|
69
|
+
QASTRAT-001 (strategist): Test strategy formulation
|
|
70
|
+
blockedBy: [SCOUT-001]
|
|
71
|
+
QAGEN-L1-001 (generator-1): L1 unit test generation
|
|
72
|
+
blockedBy: [QASTRAT-001], meta: layer=L1
|
|
73
|
+
QAGEN-L2-001 (generator-2): L2 integration test generation
|
|
74
|
+
blockedBy: [QASTRAT-001], meta: layer=L2
|
|
75
|
+
QARUN-L1-001 (executor-1): L1 test execution + fix cycles
|
|
76
|
+
blockedBy: [QAGEN-L1-001], inner_loop: true, meta: layer=L1
|
|
77
|
+
QARUN-L2-001 (executor-2): L2 test execution + fix cycles
|
|
78
|
+
blockedBy: [QAGEN-L2-001], inner_loop: true, meta: layer=L2
|
|
79
|
+
QAANA-001 (analyst): Quality analysis report
|
|
80
|
+
blockedBy: [QARUN-L1-001, QARUN-L2-001]
|
|
81
|
+
SCOUT-002 (scout): Regression scan after fixes
|
|
82
|
+
blockedBy: [QAANA-001]
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## InnerLoop Flag Rules
|
|
86
|
+
|
|
87
|
+
- true: executor roles (run-fix cycles)
|
|
88
|
+
- false: scout, strategist, generator, analyst roles
|
|
89
|
+
|
|
90
|
+
## Dependency Validation
|
|
91
|
+
|
|
92
|
+
- No orphan tasks (all tasks have valid owner)
|
|
93
|
+
- No circular dependencies
|
|
94
|
+
- All blockedBy references exist
|
|
95
|
+
- Session reference in every task description
|
|
96
|
+
- RoleSpec reference in every task description
|
|
97
|
+
|
|
98
|
+
## Log After Creation
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
mcp__ccw-tools__team_msg({
|
|
102
|
+
operation: "log",
|
|
103
|
+
session_id: <session-id>,
|
|
104
|
+
from: "coordinator",
|
|
105
|
+
type: "pipeline_selected",
|
|
106
|
+
data: { pipeline: "<mode>", task_count: <N> }
|
|
107
|
+
})
|
|
108
|
+
```
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Monitor Pipeline
|
|
2
|
+
|
|
3
|
+
Event-driven pipeline coordination. Beat model: coordinator wake -> process -> spawn -> STOP.
|
|
4
|
+
|
|
5
|
+
## Constants
|
|
6
|
+
|
|
7
|
+
- SPAWN_MODE: background
|
|
8
|
+
- ONE_STEP_PER_INVOCATION: true
|
|
9
|
+
- FAST_ADVANCE_AWARE: true
|
|
10
|
+
- WORKER_AGENT: team-worker
|
|
11
|
+
- MAX_GC_ROUNDS: 3
|
|
12
|
+
|
|
13
|
+
## Handler Router
|
|
14
|
+
|
|
15
|
+
| Source | Handler |
|
|
16
|
+
|--------|---------|
|
|
17
|
+
| Message contains [scout], [strategist], [generator], [executor], [analyst] | handleCallback |
|
|
18
|
+
| "capability_gap" | handleAdapt |
|
|
19
|
+
| "check" or "status" | handleCheck |
|
|
20
|
+
| "resume" or "continue" | handleResume |
|
|
21
|
+
| All tasks completed | handleComplete |
|
|
22
|
+
| Default | handleSpawnNext |
|
|
23
|
+
|
|
24
|
+
## handleCallback
|
|
25
|
+
|
|
26
|
+
Worker completed. Process and advance.
|
|
27
|
+
|
|
28
|
+
1. Parse message to identify role and task ID:
|
|
29
|
+
|
|
30
|
+
| Message Pattern | Role Detection |
|
|
31
|
+
|----------------|---------------|
|
|
32
|
+
| `[scout]` or task ID `SCOUT-*` | scout |
|
|
33
|
+
| `[strategist]` or task ID `QASTRAT-*` | strategist |
|
|
34
|
+
| `[generator]` or task ID `QAGEN-*` | generator |
|
|
35
|
+
| `[executor]` or task ID `QARUN-*` | executor |
|
|
36
|
+
| `[analyst]` or task ID `QAANA-*` | analyst |
|
|
37
|
+
|
|
38
|
+
2. Check if progress update (inner loop) or final completion
|
|
39
|
+
3. Progress -> update session state, STOP
|
|
40
|
+
4. Completion -> mark task done (read `<session>/tasks.json`, set status to "completed", write back), remove from active_workers
|
|
41
|
+
5. Check for checkpoints:
|
|
42
|
+
- QARUN-* completes -> read meta.json for coverage:
|
|
43
|
+
- coverage >= target OR gc_rounds >= MAX_GC_ROUNDS -> proceed to handleSpawnNext
|
|
44
|
+
- coverage < target AND gc_rounds < MAX_GC_ROUNDS -> create GC fix tasks, increment gc_rounds
|
|
45
|
+
|
|
46
|
+
**GC Fix Task Creation** (when coverage below target) -- add new entries to `<session>/tasks.json`:
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"id": "QAGEN-fix-<round>",
|
|
50
|
+
"subject": "QAGEN-fix-<round>: Fix tests for <layer> (GC #<round>)",
|
|
51
|
+
"description": "PURPOSE: Fix failing tests and improve coverage | Success: Coverage meets target\nTASK:\n - Load execution results and failing test details\n - Fix broken tests and add missing coverage\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\n - Previous results: <session>/results/run-<layer>.json\nEXPECTED: Fixed test files | Improved coverage\nCONSTRAINTS: Only modify test files | No source changes\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/generator/role.md",
|
|
52
|
+
"status": "pending",
|
|
53
|
+
"owner": "generator",
|
|
54
|
+
"blockedBy": []
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"id": "QARUN-gc-<round>",
|
|
61
|
+
"subject": "QARUN-gc-<round>: Re-execute <layer> (GC #<round>)",
|
|
62
|
+
"description": "PURPOSE: Re-execute tests after fixes | Success: Coverage >= target\nTASK: Execute test suite, measure coverage, report results\nCONTEXT:\n - Session: <session-folder>\n - Layer: <layer>\nEXPECTED: <session>/results/run-<layer>-gc-<round>.json\nCONSTRAINTS: Read-only execution\n---\nInnerLoop: false\nRoleSpec: ~ or <project>/.codex/skills/team-quality-assurance/roles/executor/role.md",
|
|
63
|
+
"status": "pending",
|
|
64
|
+
"owner": "executor",
|
|
65
|
+
"blockedBy": ["QAGEN-fix-<round>"]
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
6. -> handleSpawnNext
|
|
70
|
+
|
|
71
|
+
## handleCheck
|
|
72
|
+
|
|
73
|
+
Read-only status report, then STOP.
|
|
74
|
+
|
|
75
|
+
Output:
|
|
76
|
+
```
|
|
77
|
+
[coordinator] QA Pipeline Status
|
|
78
|
+
[coordinator] Mode: <pipeline_mode>
|
|
79
|
+
[coordinator] Progress: <done>/<total> (<pct>%)
|
|
80
|
+
[coordinator] GC Rounds: <gc_rounds>/3
|
|
81
|
+
|
|
82
|
+
[coordinator] Pipeline Graph:
|
|
83
|
+
SCOUT-001: <done|run|wait> <summary>
|
|
84
|
+
QASTRAT-001: <done|run|wait> <summary>
|
|
85
|
+
QAGEN-001: <done|run|wait> <summary>
|
|
86
|
+
QARUN-001: <done|run|wait> <summary>
|
|
87
|
+
QAANA-001: <done|run|wait> <summary>
|
|
88
|
+
|
|
89
|
+
[coordinator] Active Workers: <list with elapsed time>
|
|
90
|
+
[coordinator] Ready: <pending tasks with resolved deps>
|
|
91
|
+
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Then STOP.
|
|
95
|
+
|
|
96
|
+
## handleResume
|
|
97
|
+
|
|
98
|
+
1. No active workers -> handleSpawnNext
|
|
99
|
+
2. Has active -> check each status
|
|
100
|
+
- completed -> mark done (update tasks.json)
|
|
101
|
+
- in_progress -> still running
|
|
102
|
+
3. Some completed -> handleSpawnNext
|
|
103
|
+
4. All running -> report status, STOP
|
|
104
|
+
|
|
105
|
+
## handleSpawnNext
|
|
106
|
+
|
|
107
|
+
Find ready tasks, spawn workers, STOP.
|
|
108
|
+
|
|
109
|
+
1. Collect from `<session>/tasks.json`:
|
|
110
|
+
- completedSubjects: status = completed
|
|
111
|
+
- inProgressSubjects: status = in_progress
|
|
112
|
+
- readySubjects: status = pending AND all blockedBy in completedSubjects
|
|
113
|
+
|
|
114
|
+
2. No ready + work in progress -> report waiting, STOP
|
|
115
|
+
3. No ready + nothing in progress -> handleComplete
|
|
116
|
+
4. Has ready -> for each:
|
|
117
|
+
a. Determine role from task prefix:
|
|
118
|
+
|
|
119
|
+
| Prefix | Role | inner_loop |
|
|
120
|
+
|--------|------|------------|
|
|
121
|
+
| SCOUT-* | scout | false |
|
|
122
|
+
| QASTRAT-* | strategist | false |
|
|
123
|
+
| QAGEN-* | generator | false |
|
|
124
|
+
| QARUN-* | executor | true |
|
|
125
|
+
| QAANA-* | analyst | false |
|
|
126
|
+
|
|
127
|
+
b. Check if inner loop role with active worker -> skip (worker picks up next task)
|
|
128
|
+
c. Update task status to "in_progress" in tasks.json
|
|
129
|
+
d. team_msg log -> task_unblocked
|
|
130
|
+
e. Spawn team-worker:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
spawn_agent({
|
|
134
|
+
agent_type: "team_worker",
|
|
135
|
+
items: [{
|
|
136
|
+
description: "Spawn <role> worker for <subject>",
|
|
137
|
+
team_name: "quality-assurance",
|
|
138
|
+
name: "<role>",
|
|
139
|
+
prompt: `## Role Assignment
|
|
140
|
+
role: <role>
|
|
141
|
+
role_spec: ~ or <project>/.codex/skills/team-quality-assurance/roles/<role>/role.md
|
|
142
|
+
session: <session-folder>
|
|
143
|
+
session_id: <session-id>
|
|
144
|
+
team_name: quality-assurance
|
|
145
|
+
requirement: <task-description>
|
|
146
|
+
inner_loop: <true|false>
|
|
147
|
+
|
|
148
|
+
## Current Task
|
|
149
|
+
- Task ID: <task-id>
|
|
150
|
+
- Task: <subject>
|
|
151
|
+
|
|
152
|
+
Read role_spec file to load Phase 2-4 domain instructions.
|
|
153
|
+
Execute built-in Phase 1 (task discovery) -> role Phase 2-4 -> built-in Phase 5 (report).`
|
|
154
|
+
}]
|
|
155
|
+
})
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
f. Add to active_workers
|
|
159
|
+
5. Update session, output summary, STOP
|
|
160
|
+
6. Use `wait_agent({ ids: [<spawned-agent-ids>] })` to wait for callbacks. Workers use `report_agent_job_result()` to send results back.
|
|
161
|
+
|
|
162
|
+
## handleComplete
|
|
163
|
+
|
|
164
|
+
Pipeline done. Generate report and completion action.
|
|
165
|
+
|
|
166
|
+
1. Verify all tasks (including GC fix/recheck tasks) have status "completed" or "deleted" in tasks.json
|
|
167
|
+
2. If any tasks incomplete -> return to handleSpawnNext
|
|
168
|
+
3. If all complete:
|
|
169
|
+
- Read final state from meta.json (quality_score, coverage, gc_rounds)
|
|
170
|
+
- Generate summary (deliverables, stats, discussions)
|
|
171
|
+
4. Read session.completion_action:
|
|
172
|
+
- interactive -> request_user_input (Archive/Keep/Export)
|
|
173
|
+
- auto_archive -> Archive & Clean (status=completed, remove/archive session folder)
|
|
174
|
+
- auto_keep -> Keep Active (status=paused)
|
|
175
|
+
|
|
176
|
+
## handleAdapt
|
|
177
|
+
|
|
178
|
+
Capability gap reported mid-pipeline.
|
|
179
|
+
|
|
180
|
+
1. Parse gap description
|
|
181
|
+
2. Check if existing role covers it -> redirect
|
|
182
|
+
3. Role count < 6 -> generate dynamic role-spec in <session>/role-specs/
|
|
183
|
+
4. Add new task entry to tasks.json, spawn worker
|
|
184
|
+
5. Role count >= 6 -> merge or pause
|
|
185
|
+
|
|
186
|
+
## Fast-Advance Reconciliation
|
|
187
|
+
|
|
188
|
+
On every coordinator wake:
|
|
189
|
+
1. Read team_msg entries with type="fast_advance"
|
|
190
|
+
2. Sync active_workers with spawned successors
|
|
191
|
+
3. No duplicate spawns
|
|
192
|
+
|
|
193
|
+
## Phase 4: State Persistence
|
|
194
|
+
|
|
195
|
+
After every handler execution:
|
|
196
|
+
1. Reconcile active_workers with actual tasks.json states
|
|
197
|
+
2. Remove entries for completed/deleted tasks
|
|
198
|
+
3. Write updated meta.json
|
|
199
|
+
4. STOP (wait for next callback)
|
|
200
|
+
|
|
201
|
+
## Error Handling
|
|
202
|
+
|
|
203
|
+
| Scenario | Resolution |
|
|
204
|
+
|----------|------------|
|
|
205
|
+
| Session file not found | Error, suggest re-initialization |
|
|
206
|
+
| Worker callback from unknown role | Log info, scan for other completions |
|
|
207
|
+
| Pipeline stall (no ready, no running, has pending) | Check blockedBy chains, report to user |
|
|
208
|
+
| GC loop exceeded | Accept current coverage with warning, proceed |
|
|
209
|
+
| Scout finds 0 issues | Skip to testing mode, proceed to QASTRAT |
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# Coordinator Role
|
|
2
|
+
|
|
3
|
+
Orchestrate team-quality-assurance: analyze -> dispatch -> spawn -> monitor -> report.
|
|
4
|
+
|
|
5
|
+
## Identity
|
|
6
|
+
- Name: coordinator | Tag: [coordinator]
|
|
7
|
+
- Responsibility: Parse requirements -> Mode selection -> Create team -> Dispatch tasks -> Monitor progress -> Report results
|
|
8
|
+
|
|
9
|
+
## Boundaries
|
|
10
|
+
|
|
11
|
+
### MUST
|
|
12
|
+
- Parse task description and detect QA mode
|
|
13
|
+
- Create team and spawn team-worker agents in background
|
|
14
|
+
- Dispatch tasks with proper dependency chains
|
|
15
|
+
- Monitor progress via callbacks and route messages
|
|
16
|
+
- Maintain session state
|
|
17
|
+
- Handle GC loop (generator-executor coverage cycles)
|
|
18
|
+
- Execute completion action when pipeline finishes
|
|
19
|
+
|
|
20
|
+
### MUST NOT
|
|
21
|
+
- Read source code or explore codebase (delegate to workers)
|
|
22
|
+
- Execute scan, test, or analysis work directly
|
|
23
|
+
- Modify test files or source code
|
|
24
|
+
- Spawn workers with general-purpose agent (MUST use team-worker)
|
|
25
|
+
- Generate more than 6 worker roles
|
|
26
|
+
|
|
27
|
+
## Command Execution Protocol
|
|
28
|
+
When coordinator needs to execute a specific phase:
|
|
29
|
+
1. Read `commands/<command>.md`
|
|
30
|
+
2. Follow the workflow defined in the command
|
|
31
|
+
3. Commands are inline execution guides, NOT separate agents
|
|
32
|
+
4. Execute synchronously, complete before proceeding
|
|
33
|
+
|
|
34
|
+
## Entry Router
|
|
35
|
+
|
|
36
|
+
| Detection | Condition | Handler |
|
|
37
|
+
|-----------|-----------|---------|
|
|
38
|
+
| Worker callback | Message contains [scout], [strategist], [generator], [executor], [analyst] | -> handleCallback (monitor.md) |
|
|
39
|
+
| Status check | Args contain "check" or "status" | -> handleCheck (monitor.md) |
|
|
40
|
+
| Manual resume | Args contain "resume" or "continue" | -> handleResume (monitor.md) |
|
|
41
|
+
| Capability gap | Message contains "capability_gap" | -> handleAdapt (monitor.md) |
|
|
42
|
+
| Pipeline complete | All tasks completed | -> handleComplete (monitor.md) |
|
|
43
|
+
| Interrupted session | Active session in .workflow/.team/QA-* | -> Phase 0 |
|
|
44
|
+
| New session | None of above | -> Phase 1 |
|
|
45
|
+
|
|
46
|
+
For callback/check/resume/adapt/complete: load @commands/monitor.md, execute handler, STOP.
|
|
47
|
+
|
|
48
|
+
## Phase 0: Session Resume Check
|
|
49
|
+
|
|
50
|
+
1. Scan .workflow/.team/QA-*/session.json for active/paused sessions
|
|
51
|
+
2. No sessions -> Phase 1
|
|
52
|
+
3. Single session -> reconcile (audit tasks.json, reset in_progress->pending, rebuild team, kick first ready task)
|
|
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 and extract flags
|
|
60
|
+
2. **QA Mode Selection**:
|
|
61
|
+
|
|
62
|
+
| Condition | Mode |
|
|
63
|
+
|-----------|------|
|
|
64
|
+
| Explicit `--mode=discovery` flag | discovery |
|
|
65
|
+
| Explicit `--mode=testing` flag | testing |
|
|
66
|
+
| Explicit `--mode=full` flag | full |
|
|
67
|
+
| Task description contains: discovery/scan/issue keywords | discovery |
|
|
68
|
+
| Task description contains: test/coverage/TDD keywords | testing |
|
|
69
|
+
| No explicit flag and no keyword match | full (default) |
|
|
70
|
+
|
|
71
|
+
3. Clarify if ambiguous (request_user_input: scope, deliverables, constraints)
|
|
72
|
+
4. Delegate to @commands/analyze.md
|
|
73
|
+
5. Output: task-analysis.json
|
|
74
|
+
6. CRITICAL: Always proceed to Phase 2, never skip team workflow
|
|
75
|
+
|
|
76
|
+
## Phase 2: Create Team + Initialize Session
|
|
77
|
+
|
|
78
|
+
1. Resolve workspace paths (MUST do first):
|
|
79
|
+
- `project_root` = result of `Bash({ command: "pwd" })`
|
|
80
|
+
- `skill_root` = `<project_root>/.claude/skills/team-quality-assurance`
|
|
81
|
+
2. Generate session ID: QA-<slug>-<date>
|
|
82
|
+
3. Create session folder structure
|
|
83
|
+
4. Initialize session folder structure (replaces TeamCreate)
|
|
84
|
+
5. Read specs/pipelines.md -> select pipeline based on mode
|
|
85
|
+
6. Register roles in session.json
|
|
86
|
+
7. Initialize shared infrastructure (wisdom/*.md)
|
|
87
|
+
8. Initialize pipeline via team_msg state_update:
|
|
88
|
+
```
|
|
89
|
+
mcp__ccw-tools__team_msg({
|
|
90
|
+
operation: "log", session_id: "<id>", from: "coordinator",
|
|
91
|
+
type: "state_update", summary: "Session initialized",
|
|
92
|
+
data: {
|
|
93
|
+
pipeline_mode: "<discovery|testing|full>",
|
|
94
|
+
pipeline_stages: [...],
|
|
95
|
+
team_name: "quality-assurance",
|
|
96
|
+
discovered_issues: [],
|
|
97
|
+
test_strategy: {},
|
|
98
|
+
generated_tests: {},
|
|
99
|
+
execution_results: {},
|
|
100
|
+
defect_patterns: [],
|
|
101
|
+
coverage_history: [],
|
|
102
|
+
quality_score: null
|
|
103
|
+
}
|
|
104
|
+
})
|
|
105
|
+
```
|
|
106
|
+
9. Write session.json
|
|
107
|
+
|
|
108
|
+
## Phase 3: Create Task Chain
|
|
109
|
+
|
|
110
|
+
Delegate to @commands/dispatch.md:
|
|
111
|
+
1. Read dependency graph from task-analysis.json
|
|
112
|
+
2. Read specs/pipelines.md for selected pipeline's task registry
|
|
113
|
+
3. Topological sort tasks
|
|
114
|
+
4. Build tasks array as JSON entries in `<session>/tasks.json`; set deps via `blockedBy` field in each entry
|
|
115
|
+
5. Update session.json
|
|
116
|
+
|
|
117
|
+
## Phase 4: Spawn-and-Stop
|
|
118
|
+
|
|
119
|
+
Delegate to @commands/monitor.md#handleSpawnNext:
|
|
120
|
+
1. Find ready tasks (pending + all addBlockedBy dependencies resolved)
|
|
121
|
+
2. Spawn team-worker agents (see SKILL.md Spawn Template)
|
|
122
|
+
3. Output status summary
|
|
123
|
+
4. STOP
|
|
124
|
+
|
|
125
|
+
## Phase 5: Report + Completion Action
|
|
126
|
+
|
|
127
|
+
1. Generate summary (deliverables, pipeline stats, quality score, GC rounds)
|
|
128
|
+
2. Execute completion action per session.completion_action:
|
|
129
|
+
- interactive -> request_user_input (Archive/Keep/Export)
|
|
130
|
+
- auto_archive -> Archive & Clean
|
|
131
|
+
- auto_keep -> Keep Active
|
|
132
|
+
|
|
133
|
+
## Error Handling
|
|
134
|
+
|
|
135
|
+
| Error | Resolution |
|
|
136
|
+
|-------|------------|
|
|
137
|
+
| Task too vague | request_user_input for clarification |
|
|
138
|
+
| Session corruption | Attempt recovery, fallback to manual |
|
|
139
|
+
| Worker crash | Reset task to pending, respawn |
|
|
140
|
+
| Dependency cycle | Detect in analysis, halt |
|
|
141
|
+
| Scout finds nothing | Skip to testing mode |
|
|
142
|
+
| GC loop stuck > 3 | Accept current coverage with warning |
|
|
143
|
+
| quality_score < 60 | Report with WARNING, suggest re-run |
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
role: executor
|
|
3
|
+
prefix: QARUN
|
|
4
|
+
inner_loop: true
|
|
5
|
+
additional_prefixes: [QARUN-gc]
|
|
6
|
+
message_types:
|
|
7
|
+
success: tests_passed
|
|
8
|
+
failure: tests_failed
|
|
9
|
+
coverage: coverage_report
|
|
10
|
+
error: error
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Test Executor
|
|
14
|
+
|
|
15
|
+
Run test suites, collect coverage data, and perform automatic fix cycles when tests fail. Implements the execution side of the Generator-Executor (GC) loop.
|
|
16
|
+
|
|
17
|
+
## Phase 2: Environment Detection
|
|
18
|
+
|
|
19
|
+
| Input | Source | Required |
|
|
20
|
+
|-------|--------|----------|
|
|
21
|
+
| Task description | From task subject/description | Yes |
|
|
22
|
+
| Session path | Extracted from task description | Yes |
|
|
23
|
+
| .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
|
|
24
|
+
| Test strategy | meta.json -> test_strategy | Yes |
|
|
25
|
+
| Generated tests | meta.json -> generated_tests | Yes |
|
|
26
|
+
| Target layer | task description `layer: L1/L2/L3` | Yes |
|
|
27
|
+
|
|
28
|
+
1. Extract session path and target layer from task description
|
|
29
|
+
2. Load validation specs: Run `ccw spec load --category validation` for verification rules and acceptance criteria
|
|
30
|
+
3. Read .msg/meta.json for strategy and generated test file list
|
|
31
|
+
3. Detect test command by framework:
|
|
32
|
+
|
|
33
|
+
| Framework | Command |
|
|
34
|
+
|-----------|---------|
|
|
35
|
+
| vitest | `npx vitest run --coverage --reporter=json --outputFile=test-results.json` |
|
|
36
|
+
| jest | `npx jest --coverage --json --outputFile=test-results.json` |
|
|
37
|
+
| pytest | `python -m pytest --cov --cov-report=json -v` |
|
|
38
|
+
| mocha | `npx mocha --reporter json > test-results.json` |
|
|
39
|
+
| unknown | `npm test -- --coverage` |
|
|
40
|
+
|
|
41
|
+
4. Get test files from `generated_tests[targetLayer].files`
|
|
42
|
+
|
|
43
|
+
## Phase 3: Iterative Test-Fix Cycle
|
|
44
|
+
|
|
45
|
+
**Max iterations**: 5. **Pass threshold**: 95% or all tests pass.
|
|
46
|
+
|
|
47
|
+
Per iteration:
|
|
48
|
+
1. Run test command, capture output
|
|
49
|
+
2. Parse results: extract passed/failed counts, parse coverage from output or `coverage/coverage-summary.json`
|
|
50
|
+
3. If all pass (0 failures) -> exit loop (success)
|
|
51
|
+
4. If pass rate >= 95% and iteration >= 2 -> exit loop (good enough)
|
|
52
|
+
5. If iteration >= MAX -> exit loop (report current state)
|
|
53
|
+
6. Extract failure details (error lines, assertion failures)
|
|
54
|
+
7. Delegate fix via CLI tool with constraints:
|
|
55
|
+
- ONLY modify test files, NEVER modify source code
|
|
56
|
+
- Fix: incorrect assertions, missing imports, wrong mocks, setup issues
|
|
57
|
+
- Do NOT: skip tests, add `@ts-ignore`, use `as any`
|
|
58
|
+
8. Increment iteration, repeat
|
|
59
|
+
|
|
60
|
+
## Phase 4: Result Analysis & Output
|
|
61
|
+
|
|
62
|
+
1. Build result data: layer, framework, iterations, pass_rate, coverage, tests_passed, tests_failed, all_passed
|
|
63
|
+
2. Save results to `<session>/results/run-<layer>.json`
|
|
64
|
+
3. Save last test output to `<session>/results/output-<layer>.txt`
|
|
65
|
+
4. Update `<session>/wisdom/.msg/meta.json` under `execution_results[layer]` and top-level `execution_results.pass_rate`, `execution_results.coverage`
|
|
66
|
+
5. Message type: `tests_passed` if all_passed, else `tests_failed`
|