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
|
@@ -1,825 +1,134 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: team-iterdev
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
##
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
**Multi-Sprint** (5+ tasks, iterative with GC loop):
|
|
136
|
-
```
|
|
137
|
-
Sprint 1: DESIGN-001 -> DEV-001 -> [VERIFY-001 + REVIEW-001] -> DEV-fix (if needed) -> REVIEW-002
|
|
138
|
-
Sprint 2+ created dynamically
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## CSV Schema
|
|
144
|
-
|
|
145
|
-
### tasks.csv (Master State)
|
|
146
|
-
|
|
147
|
-
```csv
|
|
148
|
-
id,title,description,role,pipeline,sprint_num,gc_round,deps,context_from,exec_mode,wave,status,findings,review_score,gc_signal,error
|
|
149
|
-
"DESIGN-001","Technical design and task breakdown","Explore codebase, create component design, break into implementable tasks with acceptance criteria","architect","sprint","1","0","","","csv-wave","1","pending","","","",""
|
|
150
|
-
"DEV-001","Implement design","Load design and task breakdown, implement tasks in execution order, validate syntax","developer","sprint","1","0","DESIGN-001","DESIGN-001","csv-wave","2","pending","","","",""
|
|
151
|
-
"VERIFY-001","Verify implementation","Detect test framework, run targeted tests, run regression suite","tester","sprint","1","0","DEV-001","DEV-001","csv-wave","3","pending","","","",""
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**Columns**:
|
|
155
|
-
|
|
156
|
-
| Column | Phase | Description |
|
|
157
|
-
|--------|-------|-------------|
|
|
158
|
-
| `id` | Input | Unique task identifier (string) |
|
|
159
|
-
| `title` | Input | Short task title |
|
|
160
|
-
| `description` | Input | Detailed task description |
|
|
161
|
-
| `role` | Input | Worker role: architect, developer, tester, reviewer |
|
|
162
|
-
| `pipeline` | Input | Pipeline mode: patch, sprint, multi-sprint |
|
|
163
|
-
| `sprint_num` | Input | Sprint number (1-based, for multi-sprint) |
|
|
164
|
-
| `gc_round` | Input | Generator-Critic round number (0 = initial, 1+ = fix round) |
|
|
165
|
-
| `deps` | Input | Semicolon-separated dependency task IDs |
|
|
166
|
-
| `context_from` | Input | Semicolon-separated task IDs whose findings this task needs |
|
|
167
|
-
| `exec_mode` | Input | `csv-wave` or `interactive` |
|
|
168
|
-
| `wave` | Computed | Wave number (computed by topological sort, 1-based) |
|
|
169
|
-
| `status` | Output | `pending` -> `completed` / `failed` / `skipped` |
|
|
170
|
-
| `findings` | Output | Key discoveries or implementation notes (max 500 chars) |
|
|
171
|
-
| `review_score` | Output | Quality score 1-10 (reviewer only) |
|
|
172
|
-
| `gc_signal` | Output | `REVISION_NEEDED` or `CONVERGED` (reviewer only) |
|
|
173
|
-
| `error` | Output | Error message if failed (empty if success) |
|
|
174
|
-
|
|
175
|
-
### Per-Wave CSV (Temporary)
|
|
176
|
-
|
|
177
|
-
Each wave generates a temporary `wave-{N}.csv` with extra `prev_context` column (csv-wave tasks only).
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## Agent Registry (Interactive Agents)
|
|
182
|
-
|
|
183
|
-
| Agent | Role File | Pattern | Responsibility | Position |
|
|
184
|
-
|-------|-----------|---------|----------------|----------|
|
|
185
|
-
| task-analyzer | agents/task-analyzer.md | 2.3 (wait-respond) | Analyze task complexity, select pipeline mode, detect capabilities | standalone (Phase 0) |
|
|
186
|
-
| gc-controller | agents/gc-controller.md | 2.3 (wait-respond) | Evaluate review severity, decide DEV-fix vs convergence | post-wave (after REVIEW wave) |
|
|
187
|
-
|
|
188
|
-
> **COMPACT PROTECTION**: Agent files are execution documents. When context compression occurs, **you MUST immediately `Read` the corresponding agent.md** to reload.
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## Output Artifacts
|
|
193
|
-
|
|
194
|
-
| File | Purpose | Lifecycle |
|
|
195
|
-
|------|---------|-----------|
|
|
196
|
-
| `tasks.csv` | Master state -- all tasks with status/findings | Updated after each wave |
|
|
197
|
-
| `wave-{N}.csv` | Per-wave input (temporary, csv-wave tasks only) | Created before wave, deleted after |
|
|
198
|
-
| `results.csv` | Final export of all task results | Created in Phase 4 |
|
|
199
|
-
| `discoveries.ndjson` | Shared exploration board (all agents, both modes) | Append-only, carries across waves |
|
|
200
|
-
| `context.md` | Human-readable execution report | Created in Phase 4 |
|
|
201
|
-
| `interactive/{id}-result.json` | Results from interactive tasks | Created per interactive task |
|
|
202
|
-
| `wisdom/` | Cross-sprint knowledge accumulation | Updated by agents via discoveries |
|
|
203
|
-
|
|
204
|
-
---
|
|
205
|
-
|
|
206
|
-
## Session Structure
|
|
207
|
-
|
|
208
|
-
```
|
|
209
|
-
.workflow/.csv-wave/{session-id}/
|
|
210
|
-
+-- tasks.csv # Master state (all tasks, both modes)
|
|
211
|
-
+-- results.csv # Final results export
|
|
212
|
-
+-- discoveries.ndjson # Shared discovery board (all agents)
|
|
213
|
-
+-- context.md # Human-readable report
|
|
214
|
-
+-- wave-{N}.csv # Temporary per-wave input (csv-wave only)
|
|
215
|
-
+-- interactive/ # Interactive task artifacts
|
|
216
|
-
| +-- {id}-result.json # Per-task results
|
|
217
|
-
+-- wisdom/ # Cross-sprint knowledge
|
|
218
|
-
| +-- learnings.md
|
|
219
|
-
| +-- decisions.md
|
|
220
|
-
| +-- conventions.md
|
|
221
|
-
| +-- issues.md
|
|
222
|
-
+-- design/ # Architect output
|
|
223
|
-
| +-- design-001.md
|
|
224
|
-
| +-- task-breakdown.json
|
|
225
|
-
+-- code/ # Developer tracking
|
|
226
|
-
| +-- dev-log.md
|
|
227
|
-
+-- verify/ # Tester output
|
|
228
|
-
| +-- verify-001.json
|
|
229
|
-
+-- review/ # Reviewer output
|
|
230
|
-
+-- review-001.md
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
---
|
|
234
|
-
|
|
235
|
-
## Implementation
|
|
236
|
-
|
|
237
|
-
### Session Initialization
|
|
238
|
-
|
|
239
|
-
```javascript
|
|
240
|
-
const getUtc8ISOString = () => new Date(Date.now() + 8 * 60 * 60 * 1000).toISOString()
|
|
241
|
-
|
|
242
|
-
// Parse flags
|
|
243
|
-
const AUTO_YES = $ARGUMENTS.includes('--yes') || $ARGUMENTS.includes('-y')
|
|
244
|
-
const continueMode = $ARGUMENTS.includes('--continue')
|
|
245
|
-
const concurrencyMatch = $ARGUMENTS.match(/(?:--concurrency|-c)\s+(\d+)/)
|
|
246
|
-
const maxConcurrency = concurrencyMatch ? parseInt(concurrencyMatch[1]) : 3
|
|
247
|
-
|
|
248
|
-
// Clean requirement text (remove flags)
|
|
249
|
-
const requirement = $ARGUMENTS
|
|
250
|
-
.replace(/--yes|-y|--continue|--concurrency\s+\d+|-c\s+\d+/g, '')
|
|
251
|
-
.trim()
|
|
252
|
-
|
|
253
|
-
const slug = requirement.toLowerCase()
|
|
254
|
-
.replace(/[^a-z0-9\u4e00-\u9fa5]+/g, '-')
|
|
255
|
-
.substring(0, 40)
|
|
256
|
-
const dateStr = getUtc8ISOString().substring(0, 10).replace(/-/g, '')
|
|
257
|
-
let sessionId = `ids-${slug}-${dateStr}`
|
|
258
|
-
let sessionFolder = `.workflow/.csv-wave/${sessionId}`
|
|
259
|
-
|
|
260
|
-
// Continue mode: find existing session
|
|
261
|
-
if (continueMode) {
|
|
262
|
-
const existing = Bash(`ls -t .workflow/.csv-wave/ids-* 2>/dev/null | head -1`).trim()
|
|
263
|
-
if (existing) {
|
|
264
|
-
sessionId = existing.split('/').pop()
|
|
265
|
-
sessionFolder = existing
|
|
266
|
-
// Read existing tasks.csv, find incomplete waves, resume from Phase 2
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
|
|
270
|
-
Bash(`mkdir -p ${sessionFolder}/{interactive,wisdom,design,code,verify,review}`)
|
|
271
|
-
|
|
272
|
-
// Initialize wisdom files
|
|
273
|
-
Write(`${sessionFolder}/wisdom/learnings.md`, `# Learnings\n\n`)
|
|
274
|
-
Write(`${sessionFolder}/wisdom/decisions.md`, `# Decisions\n\n`)
|
|
275
|
-
Write(`${sessionFolder}/wisdom/conventions.md`, `# Conventions\n\n`)
|
|
276
|
-
Write(`${sessionFolder}/wisdom/issues.md`, `# Issues\n\n`)
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
### Phase 0: Pre-Wave Interactive
|
|
282
|
-
|
|
283
|
-
**Objective**: Analyze task complexity, explore codebase, and select pipeline mode.
|
|
284
|
-
|
|
285
|
-
**Execution**:
|
|
286
|
-
|
|
287
|
-
```javascript
|
|
288
|
-
const analyzer = spawn_agent({
|
|
289
|
-
message: `
|
|
290
|
-
## TASK ASSIGNMENT
|
|
291
|
-
|
|
292
|
-
### MANDATORY FIRST STEPS (Agent Execute)
|
|
293
|
-
1. **Read role definition**: ~ or <project>/.codex/skills/team-iterdev/agents/task-analyzer.md (MUST read first)
|
|
294
|
-
2. Read: .workflow/project-tech.json (if exists)
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
Goal: Analyze iterative development task and select pipeline mode
|
|
299
|
-
Requirement: ${requirement}
|
|
300
|
-
|
|
301
|
-
### Task
|
|
302
|
-
1. Detect capabilities from keywords:
|
|
303
|
-
- design/architect/restructure -> architect role needed
|
|
304
|
-
- implement/build/code/fix -> developer role needed
|
|
305
|
-
- test/verify/validate -> tester role needed
|
|
306
|
-
- review/audit/quality -> reviewer role needed
|
|
307
|
-
2. Score complexity for pipeline selection:
|
|
308
|
-
- Changed files > 10: +3, 3-10: +2
|
|
309
|
-
- Structural change: +3
|
|
310
|
-
- Cross-cutting: +2
|
|
311
|
-
- Simple fix: -2
|
|
312
|
-
3. Score >= 5 -> multi-sprint, 2-4 -> sprint, 0-1 -> patch
|
|
313
|
-
4. Return structured analysis result
|
|
314
|
-
`
|
|
315
|
-
})
|
|
316
|
-
|
|
317
|
-
const analyzerResult = wait({ ids: [analyzer], timeout_ms: 120000 })
|
|
318
|
-
|
|
319
|
-
if (analyzerResult.timed_out) {
|
|
320
|
-
send_input({ id: analyzer, message: "Please finalize and output current findings." })
|
|
321
|
-
const retry = wait({ ids: [analyzer], timeout_ms: 60000 })
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
close_agent({ id: analyzer })
|
|
325
|
-
|
|
326
|
-
// Store analysis result
|
|
327
|
-
Write(`${sessionFolder}/interactive/task-analyzer-result.json`, JSON.stringify({
|
|
328
|
-
task_id: "task-analysis",
|
|
329
|
-
status: "completed",
|
|
330
|
-
pipeline_mode: parsedMode, // "patch" | "sprint" | "multi-sprint"
|
|
331
|
-
capabilities: parsedCapabilities,
|
|
332
|
-
complexity_score: parsedScore,
|
|
333
|
-
roles_needed: parsedRoles,
|
|
334
|
-
timestamp: getUtc8ISOString()
|
|
335
|
-
}))
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
If not AUTO_YES, present pipeline mode selection for confirmation:
|
|
339
|
-
|
|
340
|
-
```javascript
|
|
341
|
-
if (!AUTO_YES) {
|
|
342
|
-
const answer = request_user_input({
|
|
343
|
-
questions: [{
|
|
344
|
-
question: `Task: "${requirement}" — Recommended: ${pipeline_mode}. Approve or override?`,
|
|
345
|
-
header: "Pipeline",
|
|
346
|
-
id: "pipeline_select",
|
|
347
|
-
options: [
|
|
348
|
-
{ label: "Approve (Recommended)", description: `Use ${pipeline_mode} pipeline (complexity: ${complexity_score})` },
|
|
349
|
-
{ label: "Patch", description: "Simple fix: DEV -> VERIFY (2 tasks)" },
|
|
350
|
-
{ label: "Sprint/Multi", description: "Standard or complex: DESIGN -> DEV -> VERIFY + REVIEW" }
|
|
351
|
-
]
|
|
352
|
-
}]
|
|
353
|
-
})
|
|
354
|
-
}
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
**Success Criteria**:
|
|
358
|
-
- Pipeline mode selected and confirmed
|
|
359
|
-
- Task analysis stored in session
|
|
360
|
-
- Interactive agents closed, results stored
|
|
361
|
-
|
|
362
|
-
---
|
|
363
|
-
|
|
364
|
-
### Phase 1: Requirement -> CSV + Classification
|
|
365
|
-
|
|
366
|
-
**Objective**: Build tasks.csv from selected pipeline mode with proper wave assignments.
|
|
367
|
-
|
|
368
|
-
**Decomposition Rules**:
|
|
369
|
-
|
|
370
|
-
| Pipeline | Tasks | Wave Structure |
|
|
371
|
-
|----------|-------|---------------|
|
|
372
|
-
| patch | DEV-001 -> VERIFY-001 | 2 waves, serial |
|
|
373
|
-
| sprint | DESIGN-001 -> DEV-001 -> VERIFY-001 + REVIEW-001 | 3 waves (VERIFY and REVIEW parallel in wave 3) |
|
|
374
|
-
| multi-sprint | DESIGN-001 -> DEV-001 -> VERIFY-001 + REVIEW-001 -> DEV-fix + REVIEW-002 | 4+ waves, with GC loop |
|
|
375
|
-
|
|
376
|
-
**Pipeline Task Definitions**:
|
|
377
|
-
|
|
378
|
-
#### Patch Pipeline (2 csv-wave tasks)
|
|
379
|
-
|
|
380
|
-
| Task ID | Role | Wave | Deps | Description |
|
|
381
|
-
|---------|------|------|------|-------------|
|
|
382
|
-
| DEV-001 | developer | 1 | (none) | Implement fix: load target files, apply changes, validate syntax |
|
|
383
|
-
| VERIFY-001 | tester | 2 | DEV-001 | Verify fix: detect test framework, run targeted tests, check for regressions |
|
|
384
|
-
|
|
385
|
-
#### Sprint Pipeline (4 csv-wave tasks)
|
|
386
|
-
|
|
387
|
-
| Task ID | Role | Wave | Deps | Description |
|
|
388
|
-
|---------|------|------|------|-------------|
|
|
389
|
-
| DESIGN-001 | architect | 1 | (none) | Technical design: explore codebase, create component design, task breakdown |
|
|
390
|
-
| DEV-001 | developer | 2 | DESIGN-001 | Implement design: load design and task breakdown, implement in order, validate syntax |
|
|
391
|
-
| VERIFY-001 | tester | 3 | DEV-001 | Verify implementation: detect framework, run targeted tests, run regression suite |
|
|
392
|
-
| REVIEW-001 | reviewer | 3 | DEV-001 | Code review: load changes and design, review across correctness/completeness/maintainability/security, score quality |
|
|
393
|
-
|
|
394
|
-
#### Multi-Sprint Pipeline (5+ csv-wave tasks + GC control)
|
|
395
|
-
|
|
396
|
-
| Task ID | Role | Wave | Deps | Description |
|
|
397
|
-
|---------|------|------|------|-------------|
|
|
398
|
-
| DESIGN-001 | architect | 1 | (none) | Technical design and task breakdown for sprint 1 |
|
|
399
|
-
| DEV-001 | developer | 2 | DESIGN-001 | First implementation batch |
|
|
400
|
-
| VERIFY-001 | tester | 3 | DEV-001 | Test execution and fix cycle |
|
|
401
|
-
| REVIEW-001 | reviewer | 3 | DEV-001 | Code review with GC signal |
|
|
402
|
-
| GC-CHECK-001 | gc-controller | 4 | REVIEW-001 | GC decision: revision or convergence |
|
|
403
|
-
|
|
404
|
-
Additional DEV-fix and REVIEW tasks created dynamically when GC controller decides REVISION.
|
|
405
|
-
|
|
406
|
-
**Classification Rules**:
|
|
407
|
-
|
|
408
|
-
All work tasks (design, development, testing, review) are `csv-wave`. GC loop control between reviewer and next dev-fix is `interactive` (post-wave, spawned by orchestrator to decide the GC outcome).
|
|
409
|
-
|
|
410
|
-
**Wave Computation**: Kahn's BFS topological sort with depth tracking (csv-wave tasks only).
|
|
411
|
-
|
|
412
|
-
**User Validation**: Display task breakdown with wave + exec_mode assignment (skip if AUTO_YES).
|
|
413
|
-
|
|
414
|
-
**Success Criteria**:
|
|
415
|
-
- tasks.csv created with valid schema, wave, and exec_mode assignments
|
|
416
|
-
- No circular dependencies
|
|
417
|
-
- User approved (or AUTO_YES)
|
|
418
|
-
|
|
419
|
-
---
|
|
420
|
-
|
|
421
|
-
### Phase 2: Wave Execution Engine (Extended)
|
|
422
|
-
|
|
423
|
-
**Objective**: Execute tasks wave-by-wave with hybrid mechanism support and cross-wave context propagation.
|
|
424
|
-
|
|
425
|
-
```javascript
|
|
426
|
-
const failedIds = new Set()
|
|
427
|
-
const skippedIds = new Set()
|
|
428
|
-
const MAX_GC_ROUNDS = 3
|
|
429
|
-
let gcRound = 0
|
|
430
|
-
|
|
431
|
-
for (let wave = 1; wave <= maxWave; wave++) {
|
|
432
|
-
console.log(`\n## Wave ${wave}/${maxWave}\n`)
|
|
433
|
-
|
|
434
|
-
// 1. Read current master CSV
|
|
435
|
-
const masterCsv = parseCsv(Read(`${sessionFolder}/tasks.csv`))
|
|
436
|
-
|
|
437
|
-
// 2. Separate csv-wave and interactive tasks for this wave
|
|
438
|
-
const waveTasks = masterCsv.filter(row => parseInt(row.wave) === wave)
|
|
439
|
-
const csvTasks = waveTasks.filter(t => t.exec_mode === 'csv-wave')
|
|
440
|
-
const interactiveTasks = waveTasks.filter(t => t.exec_mode === 'interactive')
|
|
441
|
-
|
|
442
|
-
// 3. Skip tasks whose deps failed
|
|
443
|
-
const executableCsvTasks = []
|
|
444
|
-
for (const task of csvTasks) {
|
|
445
|
-
const deps = task.deps.split(';').filter(Boolean)
|
|
446
|
-
if (deps.some(d => failedIds.has(d) || skippedIds.has(d))) {
|
|
447
|
-
skippedIds.add(task.id)
|
|
448
|
-
updateMasterCsvRow(sessionFolder, task.id, {
|
|
449
|
-
status: 'skipped',
|
|
450
|
-
error: 'Dependency failed or skipped'
|
|
451
|
-
})
|
|
452
|
-
continue
|
|
453
|
-
}
|
|
454
|
-
executableCsvTasks.push(task)
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
// 4. Build prev_context for each csv-wave task
|
|
458
|
-
for (const task of executableCsvTasks) {
|
|
459
|
-
const contextIds = task.context_from.split(';').filter(Boolean)
|
|
460
|
-
const prevFindings = contextIds
|
|
461
|
-
.map(id => {
|
|
462
|
-
const prevRow = masterCsv.find(r => r.id === id)
|
|
463
|
-
if (prevRow && prevRow.status === 'completed' && prevRow.findings) {
|
|
464
|
-
return `[Task ${id}: ${prevRow.title}] ${prevRow.findings}`
|
|
465
|
-
}
|
|
466
|
-
return null
|
|
467
|
-
})
|
|
468
|
-
.filter(Boolean)
|
|
469
|
-
.join('\n')
|
|
470
|
-
task.prev_context = prevFindings || 'No previous context available'
|
|
471
|
-
}
|
|
472
|
-
|
|
473
|
-
// 5. Write wave CSV and execute csv-wave tasks
|
|
474
|
-
if (executableCsvTasks.length > 0) {
|
|
475
|
-
const waveHeader = 'id,title,description,role,pipeline,sprint_num,gc_round,deps,context_from,exec_mode,wave,prev_context'
|
|
476
|
-
const waveRows = executableCsvTasks.map(t =>
|
|
477
|
-
[t.id, t.title, t.description, t.role, t.pipeline, t.sprint_num, t.gc_round, t.deps, t.context_from, t.exec_mode, t.wave, t.prev_context]
|
|
478
|
-
.map(cell => `"${String(cell).replace(/"/g, '""')}"`)
|
|
479
|
-
.join(',')
|
|
480
|
-
)
|
|
481
|
-
Write(`${sessionFolder}/wave-${wave}.csv`, [waveHeader, ...waveRows].join('\n'))
|
|
482
|
-
|
|
483
|
-
const waveResult = spawn_agents_on_csv({
|
|
484
|
-
csv_path: `${sessionFolder}/wave-${wave}.csv`,
|
|
485
|
-
id_column: "id",
|
|
486
|
-
instruction: Read(`~ or <project>/.codex/skills/team-iterdev/instructions/agent-instruction.md`),
|
|
487
|
-
max_concurrency: maxConcurrency,
|
|
488
|
-
max_runtime_seconds: 900,
|
|
489
|
-
output_csv_path: `${sessionFolder}/wave-${wave}-results.csv`,
|
|
490
|
-
output_schema: {
|
|
491
|
-
type: "object",
|
|
492
|
-
properties: {
|
|
493
|
-
id: { type: "string" },
|
|
494
|
-
status: { type: "string", enum: ["completed", "failed"] },
|
|
495
|
-
findings: { type: "string" },
|
|
496
|
-
review_score: { type: "string" },
|
|
497
|
-
gc_signal: { type: "string" },
|
|
498
|
-
error: { type: "string" }
|
|
499
|
-
},
|
|
500
|
-
required: ["id", "status", "findings"]
|
|
501
|
-
}
|
|
502
|
-
})
|
|
503
|
-
|
|
504
|
-
// Merge results into master CSV
|
|
505
|
-
const waveResults = parseCsv(Read(`${sessionFolder}/wave-${wave}-results.csv`))
|
|
506
|
-
for (const result of waveResults) {
|
|
507
|
-
updateMasterCsvRow(sessionFolder, result.id, {
|
|
508
|
-
status: result.status,
|
|
509
|
-
findings: result.findings || '',
|
|
510
|
-
review_score: result.review_score || '',
|
|
511
|
-
gc_signal: result.gc_signal || '',
|
|
512
|
-
error: result.error || ''
|
|
513
|
-
})
|
|
514
|
-
if (result.status === 'failed') failedIds.add(result.id)
|
|
515
|
-
}
|
|
516
|
-
|
|
517
|
-
Bash(`rm -f "${sessionFolder}/wave-${wave}.csv"`)
|
|
518
|
-
}
|
|
519
|
-
|
|
520
|
-
// 6. Execute post-wave interactive tasks (GC controller)
|
|
521
|
-
for (const task of interactiveTasks) {
|
|
522
|
-
if (task.status !== 'pending') continue
|
|
523
|
-
const deps = task.deps.split(';').filter(Boolean)
|
|
524
|
-
if (deps.some(d => failedIds.has(d) || skippedIds.has(d))) {
|
|
525
|
-
skippedIds.add(task.id)
|
|
526
|
-
continue
|
|
527
|
-
}
|
|
528
|
-
|
|
529
|
-
// Spawn GC controller agent
|
|
530
|
-
const gcAgent = spawn_agent({
|
|
531
|
-
message: `
|
|
532
|
-
## TASK ASSIGNMENT
|
|
533
|
-
|
|
534
|
-
### MANDATORY FIRST STEPS (Agent Execute)
|
|
535
|
-
1. **Read role definition**: ~ or <project>/.codex/skills/team-iterdev/agents/gc-controller.md (MUST read first)
|
|
536
|
-
2. Read: ${sessionFolder}/discoveries.ndjson (shared discoveries)
|
|
537
|
-
|
|
538
|
-
---
|
|
539
|
-
|
|
540
|
-
Goal: Evaluate review severity and decide DEV-fix vs convergence
|
|
541
|
-
Session: ${sessionFolder}
|
|
542
|
-
GC Round: ${gcRound}
|
|
543
|
-
Max GC Rounds: ${MAX_GC_ROUNDS}
|
|
544
|
-
|
|
545
|
-
### Context
|
|
546
|
-
Read the latest review file in ${sessionFolder}/review/ and check:
|
|
547
|
-
- review.critical_count > 0 OR review.score < 7 -> REVISION
|
|
548
|
-
- review.critical_count == 0 AND review.score >= 7 -> CONVERGE
|
|
549
|
-
If gcRound >= maxRounds -> CONVERGE (force convergence)
|
|
550
|
-
`
|
|
551
|
-
})
|
|
552
|
-
|
|
553
|
-
const gcResult = wait({ ids: [gcAgent], timeout_ms: 120000 })
|
|
554
|
-
if (gcResult.timed_out) {
|
|
555
|
-
send_input({ id: gcAgent, message: "Please finalize your decision now." })
|
|
556
|
-
wait({ ids: [gcAgent], timeout_ms: 60000 })
|
|
557
|
-
}
|
|
558
|
-
close_agent({ id: gcAgent })
|
|
559
|
-
|
|
560
|
-
Write(`${sessionFolder}/interactive/${task.id}-result.json`, JSON.stringify({
|
|
561
|
-
task_id: task.id, status: "completed",
|
|
562
|
-
gc_decision: gcDecision, gc_round: gcRound,
|
|
563
|
-
timestamp: getUtc8ISOString()
|
|
564
|
-
}))
|
|
565
|
-
|
|
566
|
-
if (gcDecision === "CONVERGE") {
|
|
567
|
-
// Skip remaining GC tasks, mark fix tasks as skipped
|
|
568
|
-
} else {
|
|
569
|
-
gcRound++
|
|
570
|
-
// Dynamically add DEV-fix and REVIEW tasks to master CSV for next waves
|
|
571
|
-
const fixWave = wave + 1
|
|
572
|
-
const reviewWave = wave + 2
|
|
573
|
-
appendMasterCsvRow(sessionFolder, {
|
|
574
|
-
id: `DEV-fix-${gcRound}`, title: `Fix review issues (round ${gcRound})`,
|
|
575
|
-
description: `Fix critical/high issues from REVIEW. Focus on review feedback only.`,
|
|
576
|
-
role: 'developer', pipeline: pipeline_mode, sprint_num: '1',
|
|
577
|
-
gc_round: String(gcRound), deps: task.id, context_from: `REVIEW-001`,
|
|
578
|
-
exec_mode: 'csv-wave', wave: String(fixWave),
|
|
579
|
-
status: 'pending', findings: '', review_score: '', gc_signal: '', error: ''
|
|
580
|
-
})
|
|
581
|
-
appendMasterCsvRow(sessionFolder, {
|
|
582
|
-
id: `REVIEW-${gcRound + 1}`, title: `Re-review (round ${gcRound})`,
|
|
583
|
-
description: `Review fixes from DEV-fix-${gcRound}. Re-evaluate quality.`,
|
|
584
|
-
role: 'reviewer', pipeline: pipeline_mode, sprint_num: '1',
|
|
585
|
-
gc_round: String(gcRound), deps: `DEV-fix-${gcRound}`, context_from: `DEV-fix-${gcRound}`,
|
|
586
|
-
exec_mode: 'csv-wave', wave: String(reviewWave),
|
|
587
|
-
status: 'pending', findings: '', review_score: '', gc_signal: '', error: ''
|
|
588
|
-
})
|
|
589
|
-
maxWave = Math.max(maxWave, reviewWave)
|
|
590
|
-
}
|
|
591
|
-
|
|
592
|
-
updateMasterCsvRow(sessionFolder, task.id, { status: 'completed', findings: `GC decision: ${gcDecision}` })
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
```
|
|
596
|
-
|
|
597
|
-
**Success Criteria**:
|
|
598
|
-
- All waves executed in order
|
|
599
|
-
- Both csv-wave and interactive tasks handled per wave
|
|
600
|
-
- Each wave's results merged into master CSV before next wave starts
|
|
601
|
-
- Dependent tasks skipped when predecessor failed
|
|
602
|
-
- discoveries.ndjson accumulated across all waves and mechanisms
|
|
603
|
-
- GC loop controlled with max 3 rounds
|
|
604
|
-
|
|
605
|
-
---
|
|
606
|
-
|
|
607
|
-
### Phase 3: Post-Wave Interactive
|
|
608
|
-
|
|
609
|
-
**Objective**: Handle any final GC loop convergence and multi-sprint transitions.
|
|
610
|
-
|
|
611
|
-
If the pipeline is multi-sprint and the current sprint completed successfully:
|
|
612
|
-
1. Evaluate sprint metrics (velocity, review scores)
|
|
613
|
-
2. If more sprints needed, dynamically create next sprint tasks in master CSV
|
|
614
|
-
3. If sprint metrics are strong (review avg >= 8), consider downgrading next sprint to simpler pipeline
|
|
615
|
-
|
|
616
|
-
If max GC rounds reached and issues remain, log to wisdom/issues.md and proceed.
|
|
617
|
-
|
|
618
|
-
**Success Criteria**:
|
|
619
|
-
- Post-wave interactive processing complete
|
|
620
|
-
- Interactive agents closed, results stored
|
|
621
|
-
|
|
622
|
-
---
|
|
623
|
-
|
|
624
|
-
### Phase 4: Results Aggregation
|
|
625
|
-
|
|
626
|
-
**Objective**: Generate final results and human-readable report.
|
|
627
|
-
|
|
628
|
-
```javascript
|
|
629
|
-
const masterCsv = Read(`${sessionFolder}/tasks.csv`)
|
|
630
|
-
Write(`${sessionFolder}/results.csv`, masterCsv)
|
|
631
|
-
|
|
632
|
-
const tasks = parseCsv(masterCsv)
|
|
633
|
-
const completed = tasks.filter(t => t.status === 'completed')
|
|
634
|
-
const failed = tasks.filter(t => t.status === 'failed')
|
|
635
|
-
const skipped = tasks.filter(t => t.status === 'skipped')
|
|
636
|
-
|
|
637
|
-
const contextContent = `# Team IterDev Report
|
|
638
|
-
|
|
639
|
-
**Session**: ${sessionId}
|
|
640
|
-
**Requirement**: ${requirement}
|
|
641
|
-
**Pipeline**: ${pipeline_mode}
|
|
642
|
-
**Completed**: ${getUtc8ISOString()}
|
|
643
|
-
|
|
644
|
-
---
|
|
645
|
-
|
|
646
|
-
## Summary
|
|
647
|
-
|
|
648
|
-
| Metric | Count |
|
|
649
|
-
|--------|-------|
|
|
650
|
-
| Total Tasks | ${tasks.length} |
|
|
651
|
-
| Completed | ${completed.length} |
|
|
652
|
-
| Failed | ${failed.length} |
|
|
653
|
-
| Skipped | ${skipped.length} |
|
|
654
|
-
| GC Rounds | ${gcRound} |
|
|
655
|
-
|
|
656
|
-
---
|
|
657
|
-
|
|
658
|
-
## Pipeline Execution
|
|
659
|
-
|
|
660
|
-
${waveDetails}
|
|
661
|
-
|
|
662
|
-
---
|
|
663
|
-
|
|
664
|
-
## Task Details
|
|
665
|
-
|
|
666
|
-
${taskDetails}
|
|
667
|
-
|
|
668
|
-
---
|
|
669
|
-
|
|
670
|
-
## Deliverables
|
|
671
|
-
|
|
672
|
-
| Artifact | Path |
|
|
673
|
-
|----------|------|
|
|
674
|
-
| Design Document | ${sessionFolder}/design/design-001.md |
|
|
675
|
-
| Task Breakdown | ${sessionFolder}/design/task-breakdown.json |
|
|
676
|
-
| Dev Log | ${sessionFolder}/code/dev-log.md |
|
|
677
|
-
| Verification | ${sessionFolder}/verify/verify-001.json |
|
|
678
|
-
| Review Report | ${sessionFolder}/review/review-001.md |
|
|
679
|
-
| Wisdom | ${sessionFolder}/wisdom/ |
|
|
680
|
-
`
|
|
681
|
-
|
|
682
|
-
Write(`${sessionFolder}/context.md`, contextContent)
|
|
683
|
-
```
|
|
684
|
-
|
|
685
|
-
If not AUTO_YES, offer completion actions:
|
|
686
|
-
|
|
687
|
-
```javascript
|
|
688
|
-
if (!AUTO_YES) {
|
|
689
|
-
request_user_input({
|
|
690
|
-
questions: [{
|
|
691
|
-
question: "IterDev pipeline complete. Choose next action.",
|
|
692
|
-
header: "Done",
|
|
693
|
-
id: "completion",
|
|
694
|
-
options: [
|
|
695
|
-
{ label: "Archive (Recommended)", description: "Archive session, generate final report" },
|
|
696
|
-
{ label: "Keep Active", description: "Keep session for follow-up or inspection" },
|
|
697
|
-
{ label: "Retry Failed", description: "Re-run failed tasks" }
|
|
698
|
-
]
|
|
699
|
-
}]
|
|
700
|
-
})
|
|
701
|
-
}
|
|
702
|
-
```
|
|
703
|
-
|
|
704
|
-
**Success Criteria**:
|
|
705
|
-
- results.csv exported (all tasks, both modes)
|
|
706
|
-
- context.md generated
|
|
707
|
-
- All interactive agents closed
|
|
708
|
-
- Summary displayed to user
|
|
709
|
-
|
|
710
|
-
---
|
|
711
|
-
|
|
712
|
-
## Shared Discovery Board Protocol
|
|
713
|
-
|
|
714
|
-
All agents across all waves share `discoveries.ndjson`. This enables cross-role knowledge sharing.
|
|
715
|
-
|
|
716
|
-
**Discovery Types**:
|
|
717
|
-
|
|
718
|
-
| Type | Dedup Key | Data Schema | Description |
|
|
719
|
-
|------|-----------|-------------|-------------|
|
|
720
|
-
| `design_decision` | `data.component` | `{component, approach, rationale, alternatives}` | Architecture decision |
|
|
721
|
-
| `implementation` | `data.file` | `{file, changes, pattern_used, notes}` | Code implementation detail |
|
|
722
|
-
| `test_result` | `data.test_suite` | `{test_suite, pass_rate, failures[], regressions}` | Test execution result |
|
|
723
|
-
| `review_finding` | `data.file_line` | `{file_line, severity, dimension, description, suggestion}` | Review finding |
|
|
724
|
-
| `convention` | `data.name` | `{name, description, example}` | Discovered project convention |
|
|
725
|
-
| `gc_decision` | `data.round` | `{round, signal, critical_count, score}` | GC loop decision |
|
|
726
|
-
|
|
727
|
-
**Format**: NDJSON, each line is self-contained JSON:
|
|
728
|
-
|
|
729
|
-
```jsonl
|
|
730
|
-
{"ts":"2026-03-08T10:00:00+08:00","worker":"DESIGN-001","type":"design_decision","data":{"component":"AuthModule","approach":"JWT with refresh tokens","rationale":"Stateless auth for microservices","alternatives":"Session-based, OAuth2"}}
|
|
731
|
-
{"ts":"2026-03-08T10:05:00+08:00","worker":"DEV-001","type":"implementation","data":{"file":"src/auth/jwt.ts","changes":"Added JWT middleware","pattern_used":"Express middleware pattern","notes":"Uses existing bcrypt dependency"}}
|
|
732
|
-
{"ts":"2026-03-08T10:10:00+08:00","worker":"REVIEW-001","type":"review_finding","data":{"file_line":"src/auth/jwt.ts:42","severity":"HIGH","dimension":"security","description":"Token expiry not validated","suggestion":"Add exp claim check"}}
|
|
733
|
-
```
|
|
734
|
-
|
|
735
|
-
**Protocol Rules**:
|
|
736
|
-
1. Read board before own work -- leverage existing context
|
|
737
|
-
2. Write discoveries immediately via `echo >>` -- don't batch
|
|
738
|
-
3. Deduplicate -- check existing entries by type + dedup key
|
|
739
|
-
4. Append-only -- never modify or delete existing lines
|
|
740
|
-
|
|
741
|
-
---
|
|
742
|
-
|
|
743
|
-
## Consensus Severity Routing
|
|
744
|
-
|
|
745
|
-
When the reviewer returns review results with severity-graded verdicts:
|
|
746
|
-
|
|
747
|
-
| Severity | Action |
|
|
748
|
-
|----------|--------|
|
|
749
|
-
| HIGH | Trigger DEV-fix round (GC loop), max 3 rounds total |
|
|
750
|
-
| MEDIUM | Log warning, continue pipeline |
|
|
751
|
-
| LOW | Treat as review passed |
|
|
752
|
-
|
|
753
|
-
**Constraints**: Max 3 GC rounds (fix cycles). If still HIGH after 3 rounds, force convergence and record in wisdom/issues.md.
|
|
754
|
-
|
|
755
|
-
---
|
|
756
|
-
|
|
757
|
-
## Error Handling
|
|
758
|
-
|
|
759
|
-
| Error | Resolution |
|
|
760
|
-
|-------|------------|
|
|
761
|
-
| Circular dependency | Detect in wave computation, abort with error message |
|
|
762
|
-
| CSV agent timeout | Mark as failed in results, continue with wave |
|
|
763
|
-
| CSV agent failed | Mark as failed, skip dependent tasks in later waves |
|
|
764
|
-
| Interactive agent timeout | Urge convergence via send_input, then close if still timed out |
|
|
765
|
-
| Interactive agent failed | Mark as failed, skip dependents |
|
|
766
|
-
| All agents in wave failed | Log error, offer retry or abort |
|
|
767
|
-
| CSV parse error | Validate CSV format before execution, show line number |
|
|
768
|
-
| discoveries.ndjson corrupt | Ignore malformed lines, continue with valid entries |
|
|
769
|
-
| GC loop exceeds 3 rounds | Force convergence, record in wisdom/issues.md |
|
|
770
|
-
| Sprint velocity drops below 50% | Report to user, suggest scope reduction |
|
|
771
|
-
| Task ledger corrupted | Rebuild from tasks.csv state |
|
|
772
|
-
| Continue mode: no session found | List available sessions, prompt user to select |
|
|
773
|
-
|
|
774
|
-
---
|
|
775
|
-
|
|
776
|
-
## Core Rules
|
|
777
|
-
|
|
778
|
-
1. **Start Immediately**: First action is session initialization, then Phase 0/1
|
|
779
|
-
2. **Wave Order is Sacred**: Never execute wave N before wave N-1 completes and results are merged
|
|
780
|
-
3. **CSV is Source of Truth**: Master tasks.csv holds all state (both csv-wave and interactive)
|
|
781
|
-
4. **CSV First**: Default to csv-wave for tasks; only use interactive when interaction pattern requires it
|
|
782
|
-
5. **Context Propagation**: prev_context built from master CSV, not from memory
|
|
783
|
-
6. **Discovery Board is Append-Only**: Never clear, modify, or recreate discoveries.ndjson -- both mechanisms share it
|
|
784
|
-
7. **Skip on Failure**: If a dependency failed, skip the dependent task (regardless of mechanism)
|
|
785
|
-
8. **Lifecycle Balance**: Every spawn_agent MUST have a matching close_agent
|
|
786
|
-
9. **Cleanup Temp Files**: Remove wave-{N}.csv after results are merged
|
|
787
|
-
10. **DO NOT STOP**: Continuous execution until all waves complete or all remaining tasks are skipped
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
---
|
|
791
|
-
|
|
792
|
-
## Coordinator Role Constraints (Main Agent)
|
|
793
|
-
|
|
794
|
-
**CRITICAL**: The coordinator (main agent executing this skill) is responsible for **orchestration only**, NOT implementation.
|
|
795
|
-
|
|
796
|
-
15. **Coordinator Does NOT Execute Code**: The main agent MUST NOT write, modify, or implement any code directly. All implementation work is delegated to spawned team agents. The coordinator only:
|
|
797
|
-
- Spawns agents with task assignments
|
|
798
|
-
- Waits for agent callbacks
|
|
799
|
-
- Merges results and coordinates workflow
|
|
800
|
-
- Manages workflow transitions between phases
|
|
801
|
-
|
|
802
|
-
16. **Patient Waiting is Mandatory**: Agent execution takes significant time (typically 10-30 minutes per phase, sometimes longer). The coordinator MUST:
|
|
803
|
-
- Wait patiently for `wait()` calls to complete
|
|
804
|
-
- NOT skip workflow steps due to perceived delays
|
|
805
|
-
- NOT assume agents have failed just because they're taking time
|
|
806
|
-
- Trust the timeout mechanisms defined in the skill
|
|
807
|
-
|
|
808
|
-
17. **Use send_input for Clarification**: When agents need guidance or appear stuck, the coordinator MUST:
|
|
809
|
-
- Use `send_input()` to ask questions or provide clarification
|
|
810
|
-
- NOT skip the agent or move to next phase prematurely
|
|
811
|
-
- Give agents opportunity to respond before escalating
|
|
812
|
-
- Example: `send_input({ id: agent_id, message: "Please provide status update or clarify blockers" })`
|
|
813
|
-
|
|
814
|
-
18. **No Workflow Shortcuts**: The coordinator MUST NOT:
|
|
815
|
-
- Skip phases or stages defined in the workflow
|
|
816
|
-
- Bypass required approval or review steps
|
|
817
|
-
- Execute dependent tasks before prerequisites complete
|
|
818
|
-
- Assume task completion without explicit agent callback
|
|
819
|
-
- Make up or fabricate agent results
|
|
820
|
-
|
|
821
|
-
19. **Respect Long-Running Processes**: This is a complex multi-agent workflow that requires patience:
|
|
822
|
-
- Total execution time may range from 30-90 minutes or longer
|
|
823
|
-
- Each phase may take 10-30 minutes depending on complexity
|
|
824
|
-
- The coordinator must remain active and attentive throughout the entire process
|
|
825
|
-
- Do not terminate or skip steps due to time concerns
|
|
1
|
+
---
|
|
2
|
+
name: team-iterdev
|
|
3
|
+
description: Unified team skill for iterative development team. Pure router — all roles read this file. Beat model is coordinator-only in monitor.md. Generator-Critic loops (developer<->reviewer, max 3 rounds). Triggers on "team iterdev".
|
|
4
|
+
allowed-tools: spawn_agent(*), wait_agent(*), send_input(*), close_agent(*), report_agent_job_result(*), request_user_input(*), Read(*), Write(*), Edit(*), Bash(*), Glob(*), Grep(*)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Team IterDev
|
|
8
|
+
|
|
9
|
+
Iterative development team skill. Generator-Critic loops (developer<->reviewer, max 3 rounds), task ledger (task-ledger.json) for real-time progress, shared memory (cross-sprint learning), and dynamic pipeline selection for incremental delivery.
|
|
10
|
+
|
|
11
|
+
## Architecture
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
Skill(skill="team-iterdev", args="task description")
|
|
15
|
+
|
|
|
16
|
+
SKILL.md (this file) = Router
|
|
17
|
+
|
|
|
18
|
+
+--------------+--------------+
|
|
19
|
+
| |
|
|
20
|
+
no --role flag --role <name>
|
|
21
|
+
| |
|
|
22
|
+
Coordinator Worker
|
|
23
|
+
roles/coordinator/role.md roles/<name>/role.md
|
|
24
|
+
|
|
|
25
|
+
+-- analyze -> dispatch -> spawn workers -> STOP
|
|
26
|
+
|
|
|
27
|
+
+-------+-------+-------+
|
|
28
|
+
v v v v
|
|
29
|
+
[architect] [developer] [tester] [reviewer]
|
|
30
|
+
(team-worker agents, each loads roles/<role>/role.md)
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Role Registry
|
|
34
|
+
|
|
35
|
+
| Role | Path | Prefix | Inner Loop |
|
|
36
|
+
|------|------|--------|------------|
|
|
37
|
+
| coordinator | [roles/coordinator/role.md](roles/coordinator/role.md) | — | — |
|
|
38
|
+
| architect | [roles/architect/role.md](roles/architect/role.md) | DESIGN-* | false |
|
|
39
|
+
| developer | [roles/developer/role.md](roles/developer/role.md) | DEV-* | true |
|
|
40
|
+
| tester | [roles/tester/role.md](roles/tester/role.md) | VERIFY-* | false |
|
|
41
|
+
| reviewer | [roles/reviewer/role.md](roles/reviewer/role.md) | REVIEW-* | false |
|
|
42
|
+
|
|
43
|
+
## Role Router
|
|
44
|
+
|
|
45
|
+
Parse `$ARGUMENTS`:
|
|
46
|
+
- Has `--role <name>` → Read `roles/<name>/role.md`, execute Phase 2-4
|
|
47
|
+
- No `--role` → `roles/coordinator/role.md`, execute entry router
|
|
48
|
+
|
|
49
|
+
## Shared Constants
|
|
50
|
+
|
|
51
|
+
- **Session prefix**: `IDS`
|
|
52
|
+
- **Session path**: `.workflow/.team/IDS-<slug>-<date>/`
|
|
53
|
+
- **CLI tools**: `ccw cli --mode analysis` (read-only), `ccw cli --mode write` (modifications)
|
|
54
|
+
- **Message bus**: `mcp__ccw-tools__team_msg(session_id=<session-id>, ...)`
|
|
55
|
+
|
|
56
|
+
## Worker Spawn Template
|
|
57
|
+
|
|
58
|
+
Coordinator spawns workers using this template:
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
spawn_agent({
|
|
62
|
+
agent_type: "team_worker",
|
|
63
|
+
items: [
|
|
64
|
+
{ type: "text", text: `## Role Assignment
|
|
65
|
+
role: <role>
|
|
66
|
+
role_spec: <skill_root>/roles/<role>/role.md
|
|
67
|
+
session: <session-folder>
|
|
68
|
+
session_id: <session-id>
|
|
69
|
+
requirement: <task-description>
|
|
70
|
+
inner_loop: <true|false>
|
|
71
|
+
|
|
72
|
+
Read role_spec file (<skill_root>/roles/<role>/role.md) to load Phase 2-4 domain instructions.` },
|
|
73
|
+
|
|
74
|
+
{ type: "text", text: `## Task Context
|
|
75
|
+
task_id: <task-id>
|
|
76
|
+
title: <task-title>
|
|
77
|
+
description: <task-description>
|
|
78
|
+
pipeline_phase: <pipeline-phase>` },
|
|
79
|
+
|
|
80
|
+
{ type: "text", text: `## Upstream Context
|
|
81
|
+
<prev_context>` }
|
|
82
|
+
]
|
|
83
|
+
})
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
After spawning, use `wait_agent({ ids: [...], timeout_ms: 900000 })` to collect results, then `close_agent({ id })` each worker.
|
|
87
|
+
|
|
88
|
+
## User Commands
|
|
89
|
+
|
|
90
|
+
| Command | Action |
|
|
91
|
+
|---------|--------|
|
|
92
|
+
| `check` / `status` | View execution status graph |
|
|
93
|
+
| `resume` / `continue` | Advance to next step |
|
|
94
|
+
|
|
95
|
+
## Session Directory
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
.workflow/.team/IDS-<slug>-<YYYY-MM-DD>/
|
|
99
|
+
├── .msg/
|
|
100
|
+
│ ├── messages.jsonl # Team message bus
|
|
101
|
+
│ └── meta.json # Session state
|
|
102
|
+
├── task-analysis.json # Coordinator analyze output
|
|
103
|
+
├── task-ledger.json # Real-time task progress ledger
|
|
104
|
+
├── wisdom/ # Cross-task knowledge accumulation
|
|
105
|
+
│ ├── learnings.md
|
|
106
|
+
│ ├── decisions.md
|
|
107
|
+
│ ├── conventions.md
|
|
108
|
+
│ └── issues.md
|
|
109
|
+
├── design/ # Architect output
|
|
110
|
+
│ ├── design-001.md
|
|
111
|
+
│ └── task-breakdown.json
|
|
112
|
+
├── code/ # Developer tracking
|
|
113
|
+
│ └── dev-log.md
|
|
114
|
+
├── verify/ # Tester output
|
|
115
|
+
│ └── verify-001.json
|
|
116
|
+
└── review/ # Reviewer output
|
|
117
|
+
└── review-001.md
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Specs Reference
|
|
121
|
+
|
|
122
|
+
- [specs/pipelines.md](specs/pipelines.md) — Pipeline definitions and task registry
|
|
123
|
+
|
|
124
|
+
## Error Handling
|
|
125
|
+
|
|
126
|
+
| Scenario | Resolution |
|
|
127
|
+
|----------|------------|
|
|
128
|
+
| Unknown command | Error with available command list |
|
|
129
|
+
| Role not found | Error with role registry |
|
|
130
|
+
| GC loop exceeds 3 rounds | Accept with warning, record in shared memory |
|
|
131
|
+
| Sprint velocity drops below 50% | Coordinator alerts user, suggests scope reduction |
|
|
132
|
+
| Task ledger corrupted | Rebuild from TaskList state |
|
|
133
|
+
| Conflict detected | Update conflict_info, notify coordinator, create DEV-fix task |
|
|
134
|
+
| Pipeline deadlock | Check blockedBy chain, report blocking point |
|