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,468 @@
|
|
|
1
|
+
# Command: Monitor
|
|
2
|
+
|
|
3
|
+
Handle all coordinator monitoring events for the roadmap-dev pipeline using the async Spawn-and-Stop pattern. Multi-phase execution with gap closure expressed as event-driven state machine transitions. One operation per invocation, then STOP and wait for the next callback.
|
|
4
|
+
|
|
5
|
+
## Constants
|
|
6
|
+
|
|
7
|
+
| Key | Value | Description |
|
|
8
|
+
|-----|-------|-------------|
|
|
9
|
+
| SPAWN_MODE | background | All workers spawned via `spawn_agent()` |
|
|
10
|
+
| ONE_STEP_PER_INVOCATION | true | Coordinator does one operation then STOPS |
|
|
11
|
+
| WORKER_AGENT | team_worker | All workers spawned as team_worker agents |
|
|
12
|
+
| MAX_GAP_ITERATIONS | 3 | Maximum gap closure re-plan/exec/verify cycles per phase |
|
|
13
|
+
|
|
14
|
+
### Role-Worker Map
|
|
15
|
+
|
|
16
|
+
| Prefix | Role | Role Spec | inner_loop |
|
|
17
|
+
|--------|------|-----------|------------|
|
|
18
|
+
| PLAN | planner | `~ or <project>/.codex/skills/team-roadmap-dev/roles/planner/role.md` | true (cli_tools: gemini --mode analysis) |
|
|
19
|
+
| EXEC | executor | `~ or <project>/.codex/skills/team-roadmap-dev/roles/executor/role.md` | true (cli_tools: gemini --mode write) |
|
|
20
|
+
| VERIFY | verifier | `~ or <project>/.codex/skills/team-roadmap-dev/roles/verifier/role.md` | true |
|
|
21
|
+
|
|
22
|
+
### Pipeline Structure
|
|
23
|
+
|
|
24
|
+
Per-phase task chain: `PLAN-{phase}01 -> EXEC-{phase}01 -> VERIFY-{phase}01`
|
|
25
|
+
|
|
26
|
+
Gap closure creates: `PLAN-{phase}0N -> EXEC-{phase}0N -> VERIFY-{phase}0N` (N = iteration + 1)
|
|
27
|
+
|
|
28
|
+
Multi-phase: Phases execute sequentially. Each phase completes its full PLAN/EXEC/VERIFY cycle (including gap closure) before the next phase is dispatched.
|
|
29
|
+
|
|
30
|
+
### State Machine Coordinates
|
|
31
|
+
|
|
32
|
+
The coordinator tracks its position using these state variables in `meta.json`:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
session.coordinates = {
|
|
36
|
+
current_phase: <number>, // Active phase (1-based)
|
|
37
|
+
total_phases: <number>, // Total phases from roadmap
|
|
38
|
+
gap_iteration: <number>, // Current gap closure iteration within phase (0 = initial)
|
|
39
|
+
step: <string>, // Current step: "plan" | "exec" | "verify" | "gap_closure" | "transition"
|
|
40
|
+
status: <string> // "running" | "paused" | "complete"
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Phase 2: Context Loading
|
|
45
|
+
|
|
46
|
+
| Input | Source | Required |
|
|
47
|
+
|-------|--------|----------|
|
|
48
|
+
| Session file | `<session-folder>/.msg/meta.json` | Yes |
|
|
49
|
+
| Task list | `<session>/tasks.json` | Yes |
|
|
50
|
+
| Active workers | session.active_workers[] | Yes |
|
|
51
|
+
| Coordinates | session.coordinates | Yes |
|
|
52
|
+
| Config | `<session-folder>/config.json` | Yes |
|
|
53
|
+
| State | `<session-folder>/state.md` | Yes |
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Load session state:
|
|
57
|
+
1. Read <session-folder>/.msg/meta.json -> session
|
|
58
|
+
2. Read <session-folder>/config.json -> config
|
|
59
|
+
3. Read <session>/tasks.json -> allTasks
|
|
60
|
+
4. Extract coordinates from session (current_phase, gap_iteration, step)
|
|
61
|
+
5. Extract active_workers[] from session (default: [])
|
|
62
|
+
6. Parse $ARGUMENTS to determine trigger event
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Phase 3: Event Handlers
|
|
66
|
+
|
|
67
|
+
### Wake-up Source Detection
|
|
68
|
+
|
|
69
|
+
Parse `$ARGUMENTS` to determine handler:
|
|
70
|
+
|
|
71
|
+
| Priority | Condition | Handler |
|
|
72
|
+
|----------|-----------|---------|
|
|
73
|
+
| 1 | Message contains `[planner]`, `[executor]`, or `[verifier]` | handleCallback |
|
|
74
|
+
| 2 | Contains "check" or "status" | handleCheck |
|
|
75
|
+
| 3 | Contains "resume", "continue", or "next" | handleResume |
|
|
76
|
+
| 4 | Pipeline detected as complete (all phases done) | handleComplete |
|
|
77
|
+
| 5 | None of the above (initial spawn after dispatch) | handleSpawnNext |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
### Handler: handleCallback
|
|
82
|
+
|
|
83
|
+
Worker completed a task. Determine which step completed via prefix, apply pipeline logic, advance.
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Receive callback from [<role>]
|
|
87
|
+
+- Find matching active worker by role tag
|
|
88
|
+
+- Is this a progress update (not final)? (Inner Loop intermediate)
|
|
89
|
+
| +- YES -> Update session state -> STOP
|
|
90
|
+
+- Task status = completed?
|
|
91
|
+
| +- YES -> remove from active_workers -> update session
|
|
92
|
+
| | +- Update task in tasks.json: set status = "completed"
|
|
93
|
+
| | +- Determine completed step from task prefix:
|
|
94
|
+
| | |
|
|
95
|
+
| | +- PLAN-* completed:
|
|
96
|
+
| | | +- Update coordinates.step = "plan_done"
|
|
97
|
+
| | | +- Is this initial plan (gap_iteration === 0)?
|
|
98
|
+
| | | | +- YES + config.gates.plan_check?
|
|
99
|
+
| | | | | +- request_user_input:
|
|
100
|
+
| | | | | prompt: "Phase <N> plan ready. Proceed with execution?
|
|
101
|
+
| | | | | Options:
|
|
102
|
+
| | | | | 1. Proceed - Continue to execution
|
|
103
|
+
| | | | | 2. Revise - Create new PLAN task with incremented suffix
|
|
104
|
+
| | | | | 3. Skip phase - Delete all phase tasks"
|
|
105
|
+
| | | | | -> "Proceed": -> handleSpawnNext (spawns EXEC)
|
|
106
|
+
| | | | | -> "Revise": Create new PLAN task in tasks.json
|
|
107
|
+
| | | | | blockedBy: [] (immediate), -> handleSpawnNext
|
|
108
|
+
| | | | | -> "Skip phase": Remove all phase tasks from tasks.json
|
|
109
|
+
| | | | | -> advanceToNextPhase
|
|
110
|
+
| | | | +- NO (gap closure plan) -> handleSpawnNext (spawns EXEC)
|
|
111
|
+
| | | +- -> handleSpawnNext
|
|
112
|
+
| | |
|
|
113
|
+
| | +- EXEC-* completed:
|
|
114
|
+
| | | +- Update coordinates.step = "exec_done"
|
|
115
|
+
| | | +- -> handleSpawnNext (spawns VERIFY)
|
|
116
|
+
| | |
|
|
117
|
+
| | +- VERIFY-* completed:
|
|
118
|
+
| | +- Update coordinates.step = "verify_done"
|
|
119
|
+
| | +- Read verification result from:
|
|
120
|
+
| | | <session-folder>/phase-<N>/verification.md
|
|
121
|
+
| | +- Parse gaps from verification
|
|
122
|
+
| | +- Gaps found?
|
|
123
|
+
| | +- NO -> Phase passed
|
|
124
|
+
| | | +- -> advanceToNextPhase
|
|
125
|
+
| | +- YES + gap_iteration < MAX_GAP_ITERATIONS?
|
|
126
|
+
| | | +- -> triggerGapClosure
|
|
127
|
+
| | +- YES + gap_iteration >= MAX_GAP_ITERATIONS?
|
|
128
|
+
| | +- request_user_input:
|
|
129
|
+
| | prompt: "Phase <N> still has <count> gaps after <max> attempts.
|
|
130
|
+
| | Options:
|
|
131
|
+
| | 1. Continue anyway - Accept and advance to next phase
|
|
132
|
+
| | 2. Retry once more - Increment max and try again
|
|
133
|
+
| | 3. Stop - Pause session"
|
|
134
|
+
| | -> "Continue anyway": Accept, -> advanceToNextPhase
|
|
135
|
+
| | -> "Retry once more": Increment max, -> triggerGapClosure
|
|
136
|
+
| | -> "Stop": -> pauseSession
|
|
137
|
+
| |
|
|
138
|
+
| +- NO -> progress message -> STOP
|
|
139
|
+
+- No matching worker found
|
|
140
|
+
+- Scan all active workers for completed tasks
|
|
141
|
+
+- Found completed -> process each (same logic above) -> handleSpawnNext
|
|
142
|
+
+- None completed -> STOP
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Sub-procedure: advanceToNextPhase**
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
advanceToNextPhase:
|
|
149
|
+
+- Update state.md: mark current phase completed
|
|
150
|
+
+- current_phase < total_phases?
|
|
151
|
+
| +- YES:
|
|
152
|
+
| | +- config.mode === "interactive"?
|
|
153
|
+
| | | +- request_user_input:
|
|
154
|
+
| | | prompt: "Phase <N> complete. Proceed to phase <N+1>?
|
|
155
|
+
| | | Options:
|
|
156
|
+
| | | 1. Proceed - Dispatch next phase tasks
|
|
157
|
+
| | | 2. Review results - Output phase summary, re-ask
|
|
158
|
+
| | | 3. Stop - Pause session"
|
|
159
|
+
| | | -> "Proceed": Dispatch next phase tasks, -> handleSpawnNext
|
|
160
|
+
| | | -> "Review results": Output phase summary, re-ask
|
|
161
|
+
| | | -> "Stop": -> pauseSession
|
|
162
|
+
| | +- Auto mode: Dispatch next phase tasks directly
|
|
163
|
+
| | +- Update coordinates:
|
|
164
|
+
| | current_phase++, gap_iteration=0, step="plan"
|
|
165
|
+
| | +- Dispatch new phase tasks (PLAN/EXEC/VERIFY with blockedBy) to tasks.json
|
|
166
|
+
| | +- -> handleSpawnNext
|
|
167
|
+
| +- NO -> All phases done -> handleComplete
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**Sub-procedure: triggerGapClosure**
|
|
171
|
+
|
|
172
|
+
```
|
|
173
|
+
triggerGapClosure:
|
|
174
|
+
+- Increment coordinates.gap_iteration
|
|
175
|
+
+- suffix = "0" + (gap_iteration + 1)
|
|
176
|
+
+- phase = coordinates.current_phase
|
|
177
|
+
+- Read gaps from verification.md
|
|
178
|
+
+- Log: team_msg gap_closure
|
|
179
|
+
+- Create gap closure task chain in tasks.json:
|
|
180
|
+
|
|
|
181
|
+
| Add to tasks.json: {
|
|
182
|
+
| id: "PLAN-{phase}{suffix}",
|
|
183
|
+
| subject: "PLAN-{phase}{suffix}: Gap closure for phase {phase} (iteration {gap_iteration})",
|
|
184
|
+
| status: "pending",
|
|
185
|
+
| owner: "planner",
|
|
186
|
+
| blockedBy: [],
|
|
187
|
+
| description: includes gap list, references to previous verification
|
|
188
|
+
| }
|
|
189
|
+
|
|
|
190
|
+
| Add to tasks.json: {
|
|
191
|
+
| id: "EXEC-{phase}{suffix}",
|
|
192
|
+
| subject: "EXEC-{phase}{suffix}: Execute gap fixes for phase {phase}",
|
|
193
|
+
| status: "pending",
|
|
194
|
+
| owner: "executor",
|
|
195
|
+
| blockedBy: ["PLAN-{phase}{suffix}"]
|
|
196
|
+
| }
|
|
197
|
+
|
|
|
198
|
+
| Add to tasks.json: {
|
|
199
|
+
| id: "VERIFY-{phase}{suffix}",
|
|
200
|
+
| subject: "VERIFY-{phase}{suffix}: Verify gap closure for phase {phase}",
|
|
201
|
+
| status: "pending",
|
|
202
|
+
| owner: "verifier",
|
|
203
|
+
| blockedBy: ["EXEC-{phase}{suffix}"]
|
|
204
|
+
| }
|
|
205
|
+
|
|
|
206
|
+
| Write updated tasks.json
|
|
207
|
+
|
|
|
208
|
+
+- Update coordinates.step = "gap_closure"
|
|
209
|
+
+- -> handleSpawnNext (picks up the new PLAN task)
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
**Sub-procedure: pauseSession**
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
pauseSession:
|
|
216
|
+
+- Save coordinates to meta.json (phase, step, gap_iteration)
|
|
217
|
+
+- Update coordinates.status = "paused"
|
|
218
|
+
+- Update state.md with pause marker
|
|
219
|
+
+- team_msg log -> session_paused
|
|
220
|
+
+- Output: "Session paused at phase <N>, step <step>. Resume with 'resume'."
|
|
221
|
+
+- STOP
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
### Handler: handleSpawnNext
|
|
227
|
+
|
|
228
|
+
Find all ready tasks, spawn team_worker agent, update session, STOP.
|
|
229
|
+
|
|
230
|
+
```
|
|
231
|
+
Read tasks from <session>/tasks.json
|
|
232
|
+
+- completedSubjects: status = completed
|
|
233
|
+
+- inProgressSubjects: status = in_progress
|
|
234
|
+
+- readySubjects: status = pending
|
|
235
|
+
AND (no blockedBy OR all blockedBy in completedSubjects)
|
|
236
|
+
|
|
237
|
+
Ready tasks found?
|
|
238
|
+
+- NONE + work in progress -> report waiting -> STOP
|
|
239
|
+
+- NONE + nothing in progress:
|
|
240
|
+
| +- More phases to dispatch? -> advanceToNextPhase
|
|
241
|
+
| +- No more phases -> handleComplete
|
|
242
|
+
+- HAS ready tasks -> take first ready task:
|
|
243
|
+
+- Is task owner an Inner Loop role AND that role already has active_worker?
|
|
244
|
+
| +- YES -> SKIP spawn (existing worker picks it up via inner loop)
|
|
245
|
+
| +- NO -> normal spawn below
|
|
246
|
+
+- Determine role from prefix:
|
|
247
|
+
| PLAN-* -> planner
|
|
248
|
+
| EXEC-* -> executor
|
|
249
|
+
| VERIFY-* -> verifier
|
|
250
|
+
+- Update task status to "in_progress" in tasks.json
|
|
251
|
+
+- team_msg log -> task_unblocked (team_session_id=<session-id>)
|
|
252
|
+
+- Spawn team_worker (see spawn call below)
|
|
253
|
+
+- Add to session.active_workers
|
|
254
|
+
+- Update session file
|
|
255
|
+
+- Output: "[coordinator] Spawned <role> for <subject>"
|
|
256
|
+
+- STOP
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
**Spawn worker call** (one per ready task):
|
|
260
|
+
|
|
261
|
+
```
|
|
262
|
+
spawn_agent({
|
|
263
|
+
agent_type: "team_worker",
|
|
264
|
+
items: [{
|
|
265
|
+
description: "Spawn <role> worker for <subject>",
|
|
266
|
+
team_name: "roadmap-dev",
|
|
267
|
+
name: "<role>",
|
|
268
|
+
prompt: `## Role Assignment
|
|
269
|
+
role: <role>
|
|
270
|
+
role_spec: ~ or <project>/.codex/skills/team-roadmap-dev/roles/<role>/role.md
|
|
271
|
+
session: <session-folder>
|
|
272
|
+
session_id: <session-id>
|
|
273
|
+
team_name: roadmap-dev
|
|
274
|
+
requirement: <task-description>
|
|
275
|
+
inner_loop: true
|
|
276
|
+
|
|
277
|
+
## Current Task
|
|
278
|
+
- Task ID: <task-id>
|
|
279
|
+
- Task: <subject>
|
|
280
|
+
- Phase: <current_phase>
|
|
281
|
+
- Gap Iteration: <gap_iteration>
|
|
282
|
+
|
|
283
|
+
Read role_spec file to load Phase 2-4 domain instructions.
|
|
284
|
+
Execute built-in Phase 1 -> role-spec Phase 2-4 -> built-in Phase 5.`
|
|
285
|
+
}]
|
|
286
|
+
})
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
Workers report results via `report_agent_job_result()`. Coordinator receives results via `wait_agent({ ids })`.
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
### Handler: handleCheck
|
|
294
|
+
|
|
295
|
+
Read-only status report. No pipeline advancement.
|
|
296
|
+
|
|
297
|
+
**Output format**:
|
|
298
|
+
|
|
299
|
+
```
|
|
300
|
+
[coordinator] Roadmap Pipeline Status
|
|
301
|
+
[coordinator] Phase: <current>/<total> | Gap Iteration: <N>/<max>
|
|
302
|
+
[coordinator] Progress: <completed>/<total tasks> (<percent>%)
|
|
303
|
+
|
|
304
|
+
[coordinator] Current Phase <N> Graph:
|
|
305
|
+
PLAN-{N}01: <status-icon> <summary>
|
|
306
|
+
EXEC-{N}01: <status-icon> <summary>
|
|
307
|
+
VERIFY-{N}01: <status-icon> <summary>
|
|
308
|
+
[PLAN-{N}02: <status-icon> (gap closure #1)]
|
|
309
|
+
[EXEC-{N}02: <status-icon>]
|
|
310
|
+
[VERIFY-{N}02:<status-icon>]
|
|
311
|
+
|
|
312
|
+
done=completed >>>=running o=pending x=deleted .=not created
|
|
313
|
+
|
|
314
|
+
[coordinator] Phase Summary:
|
|
315
|
+
Phase 1: completed
|
|
316
|
+
Phase 2: in_progress (step: exec)
|
|
317
|
+
Phase 3: not started
|
|
318
|
+
|
|
319
|
+
[coordinator] Active Workers:
|
|
320
|
+
> <subject> (<role>) - running [inner-loop: N/M tasks done]
|
|
321
|
+
|
|
322
|
+
[coordinator] Ready to spawn: <subjects>
|
|
323
|
+
[coordinator] Coordinates: phase=<N> step=<step> gap=<iteration>
|
|
324
|
+
[coordinator] Commands: 'resume' to advance | 'check' to refresh
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
Then STOP.
|
|
328
|
+
|
|
329
|
+
---
|
|
330
|
+
|
|
331
|
+
### Handler: handleResume
|
|
332
|
+
|
|
333
|
+
Check active worker completion, process results, advance pipeline. Also handles resume from paused state.
|
|
334
|
+
|
|
335
|
+
```
|
|
336
|
+
Check coordinates.status:
|
|
337
|
+
+- "paused" -> Restore coordinates, resume from saved position
|
|
338
|
+
| Reset coordinates.status = "running"
|
|
339
|
+
| -> handleSpawnNext (picks up where it left off)
|
|
340
|
+
+- "running" -> Normal resume:
|
|
341
|
+
Load active_workers from session
|
|
342
|
+
+- No active workers -> handleSpawnNext
|
|
343
|
+
+- Has active workers -> check each:
|
|
344
|
+
+- status = completed -> mark done, remove from active_workers, log
|
|
345
|
+
+- status = in_progress -> still running, log
|
|
346
|
+
+- other status -> worker failure -> reset to pending
|
|
347
|
+
After processing:
|
|
348
|
+
+- Some completed -> handleSpawnNext
|
|
349
|
+
+- All still running -> report status -> STOP
|
|
350
|
+
+- All failed -> handleSpawnNext (retry)
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
### Handler: handleComplete
|
|
356
|
+
|
|
357
|
+
All phases done. Generate final project summary and finalize session.
|
|
358
|
+
|
|
359
|
+
```
|
|
360
|
+
All phases completed (no pending, no in_progress across all phases)
|
|
361
|
+
+- Generate project-level summary:
|
|
362
|
+
| - Roadmap overview (phases completed)
|
|
363
|
+
| - Per-phase results:
|
|
364
|
+
| - Gap closure iterations used
|
|
365
|
+
| - Verification status
|
|
366
|
+
| - Key deliverables
|
|
367
|
+
| - Overall stats (tasks completed, phases, total gap iterations)
|
|
368
|
+
|
|
|
369
|
+
+- Update session:
|
|
370
|
+
| coordinates.status = "complete"
|
|
371
|
+
| session.completed_at = <timestamp>
|
|
372
|
+
| Write meta.json
|
|
373
|
+
|
|
|
374
|
+
+- Update state.md: mark all phases completed
|
|
375
|
+
+- team_msg log -> project_complete
|
|
376
|
+
+- Output summary to user
|
|
377
|
+
+- STOP
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
---
|
|
381
|
+
|
|
382
|
+
### Worker Failure Handling
|
|
383
|
+
|
|
384
|
+
When a worker has unexpected status (not completed, not in_progress):
|
|
385
|
+
|
|
386
|
+
1. Reset task -> pending in tasks.json
|
|
387
|
+
2. Remove from active_workers
|
|
388
|
+
3. Log via team_msg (type: error)
|
|
389
|
+
4. Report to user: task reset, will retry on next resume
|
|
390
|
+
|
|
391
|
+
## Phase 4: State Persistence
|
|
392
|
+
|
|
393
|
+
After every handler action, before STOP:
|
|
394
|
+
|
|
395
|
+
| Check | Action |
|
|
396
|
+
|-------|--------|
|
|
397
|
+
| Coordinates updated | current_phase, step, gap_iteration reflect actual state |
|
|
398
|
+
| Session state consistent | active_workers matches tasks.json in_progress tasks |
|
|
399
|
+
| No orphaned tasks | Every in_progress task has an active_worker entry |
|
|
400
|
+
| Meta.json updated | Write updated session state and coordinates |
|
|
401
|
+
| State.md updated | Phase progress reflects actual completion |
|
|
402
|
+
| Completion detection | All phases done + no pending + no in_progress -> handleComplete |
|
|
403
|
+
|
|
404
|
+
```
|
|
405
|
+
Persist:
|
|
406
|
+
1. Update coordinates in meta.json
|
|
407
|
+
2. Reconcile active_workers with actual tasks.json states
|
|
408
|
+
3. Remove entries for completed/deleted tasks
|
|
409
|
+
4. Write updated meta.json
|
|
410
|
+
5. Update state.md if phase status changed
|
|
411
|
+
6. Verify consistency
|
|
412
|
+
7. STOP (wait for next callback)
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## State Machine Diagram
|
|
416
|
+
|
|
417
|
+
```
|
|
418
|
+
[dispatch] -> PLAN-{N}01 spawned
|
|
419
|
+
|
|
|
420
|
+
[planner callback]
|
|
421
|
+
|
|
|
422
|
+
plan_check gate? --YES--> request_user_input --> "Revise" --> new PLAN task --> [spawn]
|
|
423
|
+
| "Skip" --> advanceToNextPhase
|
|
424
|
+
| "Proceed" / no gate
|
|
425
|
+
v
|
|
426
|
+
EXEC-{N}01 spawned
|
|
427
|
+
|
|
|
428
|
+
[executor callback]
|
|
429
|
+
|
|
|
430
|
+
v
|
|
431
|
+
VERIFY-{N}01 spawned
|
|
432
|
+
|
|
|
433
|
+
[verifier callback]
|
|
434
|
+
|
|
|
435
|
+
gaps found? --NO--> advanceToNextPhase
|
|
436
|
+
|
|
|
437
|
+
YES + iteration < MAX
|
|
438
|
+
|
|
|
439
|
+
v
|
|
440
|
+
triggerGapClosure:
|
|
441
|
+
PLAN-{N}02 -> EXEC-{N}02 -> VERIFY-{N}02
|
|
442
|
+
|
|
|
443
|
+
[repeat verify check]
|
|
444
|
+
|
|
|
445
|
+
gaps found? --NO--> advanceToNextPhase
|
|
446
|
+
|
|
|
447
|
+
YES + iteration >= MAX
|
|
448
|
+
|
|
|
449
|
+
v
|
|
450
|
+
request_user_input: "Continue anyway" / "Retry" / "Stop"
|
|
451
|
+
|
|
452
|
+
advanceToNextPhase:
|
|
453
|
+
+- phase < total? --YES--> interactive gate? --> dispatch phase+1 --> [spawn PLAN]
|
|
454
|
+
+- phase = total? --> handleComplete
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
## Error Handling
|
|
458
|
+
|
|
459
|
+
| Scenario | Resolution |
|
|
460
|
+
|----------|------------|
|
|
461
|
+
| Session file not found | Error, suggest re-initialization |
|
|
462
|
+
| Worker callback from unknown role | Log info, scan for other completions |
|
|
463
|
+
| All workers still running on resume | Report status, suggest check later |
|
|
464
|
+
| Pipeline stall (no ready, no running, has pending) | Check blockedBy chains, report to user |
|
|
465
|
+
| Verification file missing | Treat as gap -- verifier may have crashed, re-spawn |
|
|
466
|
+
| Phase dispatch fails | Check roadmap integrity, report to user |
|
|
467
|
+
| Max gap iterations exceeded | Ask user: continue / retry / stop |
|
|
468
|
+
| User chooses "Stop" at any gate | Pause session with coordinates, exit cleanly |
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Command: pause
|
|
2
|
+
|
|
3
|
+
Save session state and exit cleanly. Allows resumption later via resume command.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Persist the current execution state (phase, step, pending tasks) to state.md so the session can be resumed from exactly where it stopped. This is the coordinator's mechanism for handling user "Stop" requests at phase boundaries or gap closure gates.
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- User selects "Stop" at any interactive gate in monitor.md
|
|
12
|
+
- User requests pause during roadmap discussion
|
|
13
|
+
- External interruption requires graceful shutdown
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
| Parameter | Source | Description |
|
|
18
|
+
|-----------|--------|-------------|
|
|
19
|
+
| `sessionFolder` | From coordinator | Session artifact directory |
|
|
20
|
+
| `currentPhase` | From monitor loop | Phase number at pause time |
|
|
21
|
+
| `currentStep` | From monitor loop | Step within phase (plan/exec/verify/gap_closure) |
|
|
22
|
+
| `gapIteration` | From monitor loop | Current gap closure iteration (0 = none) |
|
|
23
|
+
|
|
24
|
+
## Execution Steps
|
|
25
|
+
|
|
26
|
+
### Step 1: Capture Current State
|
|
27
|
+
|
|
28
|
+
```javascript
|
|
29
|
+
const state = Read(`${sessionFolder}/state.md`)
|
|
30
|
+
const timestamp = new Date().toISOString().slice(0, 19)
|
|
31
|
+
|
|
32
|
+
// Capture pending task states from tasks.json
|
|
33
|
+
const allTasks = JSON.parse(Read(`${sessionFolder}/tasks.json`))
|
|
34
|
+
const pendingTasks = allTasks.filter(t =>
|
|
35
|
+
t.status === 'pending' || t.status === 'in_progress'
|
|
36
|
+
)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Step 2: Update state.md with Pause Marker
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
// Find the current phase status line and update it
|
|
43
|
+
Edit(`${sessionFolder}/state.md`, {
|
|
44
|
+
old_string: `- Status: in_progress`,
|
|
45
|
+
new_string: `- Status: paused
|
|
46
|
+
- Paused At: ${timestamp}
|
|
47
|
+
- Paused Phase: ${currentPhase}
|
|
48
|
+
- Paused Step: ${currentStep}
|
|
49
|
+
- Gap Iteration: ${gapIteration}
|
|
50
|
+
- Pending Tasks: ${pendingTasks.map(t => t.subject).join(', ')}`
|
|
51
|
+
})
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
### Step 3: Log Pause Event
|
|
55
|
+
|
|
56
|
+
```javascript
|
|
57
|
+
mcp__ccw-tools__team_msg({
|
|
58
|
+
operation: "log", session_id: sessionId,
|
|
59
|
+
from: "coordinator", to: "all",
|
|
60
|
+
type: "phase_paused",
|
|
61
|
+
data: { ref: `${sessionFolder}/state.md` }
|
|
62
|
+
})
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Step 4: Report to User
|
|
66
|
+
|
|
67
|
+
```javascript
|
|
68
|
+
// Output pause summary
|
|
69
|
+
const summary = `[coordinator] Session paused.
|
|
70
|
+
- Phase: ${currentPhase}
|
|
71
|
+
- Step: ${currentStep}
|
|
72
|
+
- Gap Iteration: ${gapIteration}
|
|
73
|
+
- Pending Tasks: ${pendingTasks.length}
|
|
74
|
+
|
|
75
|
+
To resume: Skill(skill="team-roadmap-dev", args="--resume ${sessionFolder}")
|
|
76
|
+
`
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Output
|
|
80
|
+
|
|
81
|
+
| Artifact | Path | Description |
|
|
82
|
+
|----------|------|-------------|
|
|
83
|
+
| state.md | `{sessionFolder}/state.md` | Updated with paused status and resume coordinates |
|
|
84
|
+
|
|
85
|
+
## Error Handling
|
|
86
|
+
|
|
87
|
+
| Scenario | Resolution |
|
|
88
|
+
|----------|------------|
|
|
89
|
+
| state.md edit fails | Write full state.md from scratch with pause info |
|
|
90
|
+
| Task list unavailable | Record phase/step only, skip task listing |
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# Command: resume
|
|
2
|
+
|
|
3
|
+
Resume a paused roadmap-dev session from its saved state. Reads pause coordinates from state.md and re-enters the monitor loop at the exact phase and step where execution was paused.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
Restore execution context from a paused session and continue the monitor loop. This is the coordinator's mechanism for resuming long-running projects across sessions.
|
|
8
|
+
|
|
9
|
+
## When to Use
|
|
10
|
+
|
|
11
|
+
- User invokes `Skill(skill="team-roadmap-dev", args="--resume {sessionFolder}")`
|
|
12
|
+
- Coordinator detects a paused session during init
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
| Parameter | Source | Description |
|
|
17
|
+
|-----------|--------|-------------|
|
|
18
|
+
| `sessionFolder` | From --resume argument | Session artifact directory to resume |
|
|
19
|
+
|
|
20
|
+
## Execution Steps
|
|
21
|
+
|
|
22
|
+
### Step 1: Validate Session State
|
|
23
|
+
|
|
24
|
+
```javascript
|
|
25
|
+
const stateContent = Read(`${sessionFolder}/state.md`)
|
|
26
|
+
|
|
27
|
+
// Check for paused status
|
|
28
|
+
if (!stateContent.includes('Status: paused')) {
|
|
29
|
+
// Session is not paused — check if it's in_progress or completed
|
|
30
|
+
if (stateContent.includes('Status: completed')) {
|
|
31
|
+
// Session already finished
|
|
32
|
+
return { error: "Session already completed", sessionFolder }
|
|
33
|
+
}
|
|
34
|
+
// Not paused, not completed — treat as fresh continue
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Parse resume coordinates
|
|
38
|
+
const pausedPhase = parseInt(stateContent.match(/Paused Phase: (\d+)/)?.[1] || '1')
|
|
39
|
+
const pausedStep = stateContent.match(/Paused Step: (\w+)/)?.[1] || 'plan'
|
|
40
|
+
const gapIteration = parseInt(stateContent.match(/Gap Iteration: (\d+)/)?.[1] || '0')
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Step 2: Load Session Context
|
|
44
|
+
|
|
45
|
+
```javascript
|
|
46
|
+
const roadmap = Read(`${sessionFolder}/roadmap.md`)
|
|
47
|
+
const config = JSON.parse(Read(`${sessionFolder}/config.json`))
|
|
48
|
+
|
|
49
|
+
// Load project context
|
|
50
|
+
const projectTech = JSON.parse(Read('.workflow/project-tech.json'))
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### Step 3: Update State to In-Progress
|
|
54
|
+
|
|
55
|
+
```javascript
|
|
56
|
+
const timestamp = new Date().toISOString().slice(0, 19)
|
|
57
|
+
|
|
58
|
+
Edit(`${sessionFolder}/state.md`, {
|
|
59
|
+
old_string: `- Status: paused`,
|
|
60
|
+
new_string: `- Status: in_progress
|
|
61
|
+
- Resumed At: ${timestamp}
|
|
62
|
+
- Resumed From Phase: ${pausedPhase}, Step: ${pausedStep}`
|
|
63
|
+
})
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 4: Log Resume Event
|
|
67
|
+
|
|
68
|
+
```javascript
|
|
69
|
+
mcp__ccw-tools__team_msg({
|
|
70
|
+
operation: "log", session_id: sessionId,
|
|
71
|
+
from: "coordinator", to: "all",
|
|
72
|
+
type: "phase_started",
|
|
73
|
+
data: { ref: `${sessionFolder}/state.md` }
|
|
74
|
+
})
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### Step 5: Re-enter Monitor Loop
|
|
78
|
+
|
|
79
|
+
```javascript
|
|
80
|
+
// Delegate to monitor.md with resume context
|
|
81
|
+
// monitor.md receives:
|
|
82
|
+
// - startPhase: pausedPhase (instead of 1)
|
|
83
|
+
// - startStep: pausedStep (plan/exec/verify/gap_closure)
|
|
84
|
+
// - gapIteration: gapIteration (for gap closure continuity)
|
|
85
|
+
|
|
86
|
+
Read("commands/monitor.md")
|
|
87
|
+
// Monitor will:
|
|
88
|
+
// 1. Skip phases before pausedPhase
|
|
89
|
+
// 2. Within pausedPhase, skip steps before pausedStep
|
|
90
|
+
// 3. Continue normal execution from that point
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Step 6: Determine Resume Entry Point
|
|
94
|
+
|
|
95
|
+
```javascript
|
|
96
|
+
// Map pausedStep to monitor entry point
|
|
97
|
+
switch (pausedStep) {
|
|
98
|
+
case 'plan':
|
|
99
|
+
// Re-dispatch planner for current phase
|
|
100
|
+
// Check if PLAN task exists and is pending/incomplete
|
|
101
|
+
break
|
|
102
|
+
|
|
103
|
+
case 'exec':
|
|
104
|
+
// Re-dispatch executor for current phase
|
|
105
|
+
// Check if EXEC task exists and is pending/incomplete
|
|
106
|
+
break
|
|
107
|
+
|
|
108
|
+
case 'verify':
|
|
109
|
+
// Re-dispatch verifier for current phase
|
|
110
|
+
break
|
|
111
|
+
|
|
112
|
+
case 'gap_closure':
|
|
113
|
+
// Re-enter gap closure loop at gapIteration
|
|
114
|
+
break
|
|
115
|
+
|
|
116
|
+
case 'transition':
|
|
117
|
+
// Phase was complete, proceed to next phase
|
|
118
|
+
break
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Output
|
|
123
|
+
|
|
124
|
+
| Artifact | Path | Description |
|
|
125
|
+
|----------|------|-------------|
|
|
126
|
+
| state.md | `{sessionFolder}/state.md` | Updated with resumed status |
|
|
127
|
+
|
|
128
|
+
## Error Handling
|
|
129
|
+
|
|
130
|
+
| Scenario | Resolution |
|
|
131
|
+
|----------|------------|
|
|
132
|
+
| Session folder not found | Error with available session list |
|
|
133
|
+
| state.md missing | Error — session may be corrupted |
|
|
134
|
+
| Session not paused | Check if in_progress or completed, handle accordingly |
|
|
135
|
+
| Roadmap.md missing | Error — session artifacts may be incomplete |
|
|
136
|
+
| config.json missing | Use defaults (mode=interactive, depth=standard) |
|
|
137
|
+
| Tasks from prior run still pending | Re-use them, don't create duplicates |
|