claude-code-workflow 7.2.10 → 7.2.11
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/.claude/agents/cli-planning-agent.md +3 -0
- package/.claude/agents/debug-explore-agent.md +1 -0
- package/.claude/agents/tdd-developer.md +1 -0
- package/.claude/agents/team-worker.md +1 -1
- package/.claude/agents/test-action-planning-agent.md +3 -0
- package/.claude/agents/test-context-search-agent.md +1 -0
- package/.claude/agents/test-fix-agent.md +3 -0
- package/.claude/skills/review-code/SKILL.md +2 -0
- package/.claude/skills/review-cycle/SKILL.md +4 -0
- package/.claude/skills/skill-simplify/phases/02-optimize.md +4 -0
- package/.claude/skills/spec-generator/phases/05-epics-stories.md +4 -0
- package/.claude/skills/team-arch-opt/specs/team-config.json +5 -5
- package/.claude/skills/team-frontend-debug/roles/analyzer/role.md +3 -2
- package/.claude/skills/team-perf-opt/roles/coordinator/commands/monitor.md +1 -1
- package/.claude/skills/team-perf-opt/specs/team-config.json +5 -5
- package/.claude/skills/team-quality-assurance/roles/executor/role.md +2 -1
- package/.claude/skills/team-review/roles/reviewer/role.md +2 -1
- package/.claude/skills/team-tech-debt/roles/scanner/role.md +2 -1
- package/.claude/skills/team-testing/roles/executor/role.md +2 -1
- package/.claude/skills/team-testing/roles/generator/role.md +2 -1
- package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +2 -1
- package/.claude/skills/team-ux-improve/specs/team-config.json +6 -6
- package/.claude/skills/workflow-execute/phases/06-review.md +4 -4
- package/.claude/skills/workflow-lite-test-review/SKILL.md +2 -0
- package/.claude/skills/workflow-plan/phases/05-plan-verify.md +4 -0
- package/.claude/skills/workflow-tdd-plan/phases/02-context-gathering.md +1 -0
- package/.claude/skills/workflow-tdd-plan/phases/05-tdd-task-generation.md +2 -1
- package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +1 -0
- package/.claude/skills/workflow-test-fix/phases/05-test-cycle-execute.md +2 -1
- package/.claude/skills/workflow-tune/SKILL.md +487 -0
- package/.claude/skills/workflow-tune/phases/01-setup.md +548 -0
- package/.claude/skills/workflow-tune/phases/02-step-execute.md +197 -0
- package/.claude/skills/workflow-tune/phases/03-step-analyze.md +386 -0
- package/.claude/skills/workflow-tune/phases/04-synthesize.md +257 -0
- package/.claude/skills/workflow-tune/phases/05-optimize-report.md +246 -0
- package/.claude/skills/workflow-tune/specs/workflow-eval-criteria.md +57 -0
- package/.claude/skills/workflow-tune/templates/step-analysis-prompt.md +88 -0
- package/.claude/skills/workflow-tune/templates/synthesis-prompt.md +90 -0
- package/.codex/skills/analyze-with-file/SKILL.md +2 -0
- package/.codex/skills/debug-with-file/SKILL.md +4 -0
- package/.codex/skills/issue-discover/SKILL.md +1 -0
- package/.codex/skills/review-cycle/phases/02-parallel-review.md +3 -0
- package/.codex/skills/team-designer/agents/validation-reporter.md +186 -0
- package/.codex/skills/team-iterdev/agents/gc-controller.md +193 -0
- package/.codex/skills/team-iterdev/agents/task-analyzer.md +206 -0
- package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +165 -0
- package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +163 -0
- package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +182 -0
- package/.codex/skills/team-uidesign/agents/completion-handler.md +177 -0
- package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +162 -0
- package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +4 -0
- package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +2 -0
- package/ccw/dist/commands/spec.d.ts.map +1 -1
- package/ccw/dist/commands/spec.js +9 -4
- package/ccw/dist/commands/spec.js.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/codexlens-routes.js +3 -1
- package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
- package/ccw/dist/tools/spec-index-builder.d.ts +8 -4
- package/ccw/dist/tools/spec-index-builder.d.ts.map +1 -1
- package/ccw/dist/tools/spec-index-builder.js +8 -4
- package/ccw/dist/tools/spec-index-builder.js.map +1 -1
- package/ccw/dist/tools/spec-init.d.ts +1 -1
- package/ccw/dist/tools/spec-init.d.ts.map +1 -1
- package/ccw/dist/tools/spec-init.js +127 -0
- package/ccw/dist/tools/spec-init.js.map +1 -1
- package/ccw/dist/tools/spec-loader.d.ts.map +1 -1
- package/ccw/dist/tools/spec-loader.js +2 -1
- package/ccw/dist/tools/spec-loader.js.map +1 -1
- package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js → AlertDialog-BW9jiZ-p.js} +2 -2
- package/ccw/frontend/dist/assets/{AlertDialog-gTMl4gSG.js.map → AlertDialog-BW9jiZ-p.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js → AnalysisPage-ds-w_nVO.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-Bc4p4SvJ.js.map → AnalysisPage-ds-w_nVO.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js → ApiSettingsPage-DlCbXxTz.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-CVK108u2.js.map → ApiSettingsPage-DlCbXxTz.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js → CliModeToggle-Dq3nL4fF.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-34Sjwl05.js.map → CliModeToggle-Dq3nL4fF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js → CliSessionSharePage-BNDkEE4u.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-bJZAYI38.js.map → CliSessionSharePage-BNDkEE4u.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js → CliViewerPage-ChM-uNx_.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-VYnQGjxU.js.map → CliViewerPage-ChM-uNx_.js.map} +1 -1
- package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js +2 -0
- package/ccw/frontend/dist/assets/CodexLensPage-DOcsYNQk.js.map +1 -0
- package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js → Collapsible-CRNbykXN.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-B_xd1Qbg.js.map → Collapsible-CRNbykXN.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js → CommandsManagerPage-C2JWcemF.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-Bjx1bPbH.js.map → CommandsManagerPage-C2JWcemF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js → DeepWikiPage-CvleOtJy.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-EgHsHvAH.js.map → DeepWikiPage-CvleOtJy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js → EndpointsPage-CMOWQG64.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-CuwpbCzK.js.map → EndpointsPage-CMOWQG64.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js → ExplorerPage-DaFPRlNo.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-cvlx0Zw0.js.map → ExplorerPage-DaFPRlNo.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js → FixSessionPage-CC4p04Az.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-C74-MPza.js.map → FixSessionPage-CC4p04Az.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js → FloatingFileBrowser-DROn1xZ5.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-x_-6y_n2.js.map → FloatingFileBrowser-DROn1xZ5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js → FloatingPanel-CmL_yhDv.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-BGwmbJR1.js.map → FloatingPanel-CmL_yhDv.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js → GraphExplorerPage-DCV5ybKE.js} +2 -2
- package/ccw/frontend/dist/assets/{GraphExplorerPage-Bg5-aQxi.js.map → GraphExplorerPage-DCV5ybKE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js → HistoryPage-D0fYQZgc.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-C00fh0HE.js.map → HistoryPage-D0fYQZgc.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js → HookManagerPage-D2FuJfsM.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-CtVTB_ae.js.map → HookManagerPage-D2FuJfsM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js → InstallationsPage-tjklillZ.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage-CYuMQDbC.js.map → InstallationsPage-tjklillZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js → IssueHubPage-E4JVrhO1.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage-T_VSvUMh.js.map → IssueHubPage-E4JVrhO1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js → LiteTasksPage-aJuRoyLt.js} +2 -2
- package/ccw/frontend/dist/assets/{LiteTasksPage-DmcgvIvi.js.map → LiteTasksPage-aJuRoyLt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js → McpManagerPage-BJeuWJv1.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-C_a7QSKz.js.map → McpManagerPage-BJeuWJv1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js → MemoryPage-BI4FAXhs.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-CWKmXY5k.js.map → MemoryPage-BI4FAXhs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js → NotFoundPage-DD2svchp.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-B1duXK6r.js.map → NotFoundPage-DD2svchp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js → OrchestratorPage-FC__7yYa.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-Ib9TM6HE.js.map → OrchestratorPage-FC__7yYa.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js → ProjectOverviewPage-DBB_-FzV.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-sXSWMbF8.js.map → ProjectOverviewPage-DBB_-FzV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js → PromptHistoryPage-BwOAvCH8.js} +2 -2
- package/ccw/frontend/dist/assets/{PromptHistoryPage-B6jaqG12.js.map → PromptHistoryPage-BwOAvCH8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js → ReviewSessionPage-Dd1-g_gp.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-D5qJyr3s.js.map → ReviewSessionPage-Dd1-g_gp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js → RulesManagerPage-B3RGdsKD.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-DyawK8QE.js.map → RulesManagerPage-B3RGdsKD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js → SessionDetailPage-DM-W5R8K.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-Cym_RvC9.js.map → SessionDetailPage-DM-W5R8K.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js → SessionsPage-BVz1KCc7.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-Dkc1Hv8W.js.map → SessionsPage-BVz1KCc7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js → SettingsPage-ComW7EZS.js} +4 -4
- package/ccw/frontend/dist/assets/{SettingsPage-Rik9cUIj.js.map → SettingsPage-ComW7EZS.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js → SkillsManagerPage-CKom9XwV.js} +2 -2
- package/ccw/frontend/dist/assets/{SkillsManagerPage-BGDWYAyI.js.map → SkillsManagerPage-CKom9XwV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js → SpecsSettingsPage-DQz7WP2s.js} +2 -2
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-CTiA1DMP.js.map → SpecsSettingsPage-DQz7WP2s.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js → Switch-BPMdND9H.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BgAFC-Wk.js.map → Switch-BPMdND9H.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js → TabsNavigation-qqt70VYL.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-drSnu5jn.js.map → TabsNavigation-qqt70VYL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js → TaskDrawer-BqK_qiHX.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-ePC__6-P.js.map → TaskDrawer-BqK_qiHX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js → TeamPage-u5_i0Rgh.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-C6bdFWn8.js.map → TeamPage-u5_i0Rgh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js → TerminalDashboardPage-rUtC9e40.js} +2 -2
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-Zofi_DZM.js.map → TerminalDashboardPage-rUtC9e40.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js → archive-C3u8YNQF.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-Bza1KlB9.js.map → archive-C3u8YNQF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js → archive-restore-DfQ998g5.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-CpsDm-cG.js.map → archive-restore-DfQ998g5.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js → arrow-right-BshJM9Po.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-CibG_LVO.js.map → arrow-right-BshJM9Po.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js → bookmark-plus-D03qJyOZ.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-BheO8EgG.js.map → bookmark-plus-D03qJyOZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js → bot-CyzWuwq0.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-BlhM0Nl0.js.map → bot-CyzWuwq0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js → braces-BPgtyjsG.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-Dqjg_eCO.js.map → braces-BPgtyjsG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js → circle-stop-Dix1AOmw.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-DYZSLYU0.js.map → circle-stop-Dix1AOmw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js → cpu-CCQ4Q0Zh.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-DWCyAOAv.js.map → cpu-CCQ4Q0Zh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js → ellipsis-vertical-BpTysg-Y.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-DIyoSEHx.js.map → ellipsis-vertical-BpTysg-Y.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js → eye-DGY1rAZs.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-DUy7aLEx.js.map → eye-DGY1rAZs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js → eye-off-D8t3JfWG.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-CGRUVRDR.js.map → eye-off-D8t3JfWG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js → file-json-BAdJb0n8.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-BxLBtU9d.js.map → file-json-BAdJb0n8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js → file-text-DrJFiOUB.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-BoHsW2es.js.map → file-text-DrJFiOUB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js → filter-CKqzYbz7.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-B4vOqP6B.js.map → filter-CKqzYbz7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js → folder-CV8511y9.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-BKhwCNFG.js.map → folder-CV8511y9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js → gauge-XKvmu_uU.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-Dgf64gkT.js.map → gauge-XKvmu_uU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js → globe-C56cDUzX.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-Cus_S6Ux.js.map → globe-C56cDUzX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js → grid-3x3-Bya-suFW.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-DM08hpAN.js.map → grid-3x3-Bya-suFW.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js → hard-drive-CmuTZpsB.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-eCtll84F.js.map → hard-drive-CmuTZpsB.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-Bd1RD285.js → hash-CRPT_tJQ.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-Bd1RD285.js.map → hash-CRPT_tJQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-eyyCQA6b.js → history-C1pJZQCL.js} +2 -2
- package/ccw/frontend/dist/assets/{history-eyyCQA6b.js.map → history-C1pJZQCL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js → index-B6TpijCe.js} +2 -2
- package/ccw/frontend/dist/assets/{index-ZnmWxcZg.js.map → index-B6TpijCe.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-b2C0iFd1.js → index-Bcq-7r6F.js} +2 -2
- package/ccw/frontend/dist/assets/{index-b2C0iFd1.js.map → index-Bcq-7r6F.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js → index-CI8-rBff.js} +2 -2
- package/ccw/frontend/dist/assets/{index-Cs2ShCCy.js.map → index-CI8-rBff.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CY6Lueph.js → index-Dmt9OiEf.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CY6Lueph.js.map → index-Dmt9OiEf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-DfeBbFXo.js → index-anSMmEF8.js} +2 -2
- package/ccw/frontend/dist/assets/{index-DfeBbFXo.js.map → index-anSMmEF8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-B6I7GQC5.js → index-dWT2M6Ef.js} +4 -4
- package/ccw/frontend/dist/assets/{index-B6I7GQC5.js.map → index-dWT2M6Ef.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js → layout-grid-TSO0BFQE.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-ChrTrCby.js.map → layout-grid-TSO0BFQE.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js → lightbulb-Caj6fIQD.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-CvXiTlzN.js.map → lightbulb-Caj6fIQD.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js → link-2-DE9lMxa-.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-W0Nl17ec.js.map → link-2-DE9lMxa-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-CL4JmoHb.js → link-BZtPgLW0.js} +2 -2
- package/ccw/frontend/dist/assets/{link-CL4JmoHb.js.map → link-BZtPgLW0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-CDmYFcio.js → list-DubWyY-U.js} +2 -2
- package/ccw/frontend/dist/assets/{list-CDmYFcio.js.map → list-DubWyY-U.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js → map-pin-DwN_48AF.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-0Mfsw_3d.js.map → map-pin-DwN_48AF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js → messages-square-bjxvaiM9.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-C6h08ple.js.map → messages-square-bjxvaiM9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js → minimize-2-CGfBKD_V.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-Cbu2yRzi.js.map → minimize-2-CGfBKD_V.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js → package-nzWY6ilt.js} +2 -2
- package/ccw/frontend/dist/assets/{package-CoLVUZGJ.js.map → package-nzWY6ilt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js → plug-CiLce49C.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-BYTYqsw1.js.map → plug-CiLce49C.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-DmIojFl-.js → power-CFLmB-U9.js} +2 -2
- package/ccw/frontend/dist/assets/{power-DmIojFl-.js.map → power-CFLmB-U9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-BFa03OnG.js → save-DuO6OF0C.js} +2 -2
- package/ccw/frontend/dist/assets/{save-BFa03OnG.js.map → save-DuO6OF0C.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-Vet3sN4J.js → send-CZk9p0mM.js} +2 -2
- package/ccw/frontend/dist/assets/{send-Vet3sN4J.js.map → send-CZk9p0mM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js → square-check-big-BY_1YQQg.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-B9nzZRfE.js.map → square-check-big-BY_1YQQg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js → square-pen-CnZgm6g-.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-C7K13x4Z.js.map → square-pen-CnZgm6g-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-BCQHcnSe.js → star-Cn1F0qy7.js} +2 -2
- package/ccw/frontend/dist/assets/{star-BCQHcnSe.js.map → star-Cn1F0qy7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-CJsrp48L.js → style-Dxs1iXCV.js} +2 -2
- package/ccw/frontend/dist/assets/{style-CJsrp48L.js.map → style-Dxs1iXCV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-CBzCJCB1.js → target-Bz1fLRKH.js} +2 -2
- package/ccw/frontend/dist/assets/{target-CBzCJCB1.js.map → target-Bz1fLRKH.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js → test-tube-C6qCYlDr.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-BYTc5mvQ.js.map → test-tube-C6qCYlDr.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js → upload-C71kd4Qs.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-DzyQj7ib.js.map → upload-C71kd4Qs.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js → useApiSettings-CqP2BAJ7.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-CFPww7gU.js.map → useApiSettings-CqP2BAJ7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js → useCli-PCoPoVeM.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-ByL_a5CD.js.map → useCli-PCoPoVeM.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js → useCommands-3OfPQPw4.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-BvKIoOzB.js.map → useCommands-3OfPQPw4.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js → useDebounce-bXiFhQx9.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-CmKmoP7n.js.map → useDebounce-bXiFhQx9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js → useFileExplorer-DEyUm46_.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-G5UoArCU.js.map → useFileExplorer-DEyUm46_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js → useLocale-sXTrdxcJ.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-D2iHK44M.js.map → useLocale-sXTrdxcJ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js → useSkills-D0W0kXYm.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-CYU4zqhm.js.map → useSkills-D0W0kXYm.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js → useSystemSettings-DZ-8lZsG.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-JznNpij7.js.map → useSystemSettings-DZ-8lZsG.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js → wand-sparkles-83GmAYuw.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-DqS0VCeN.js.map → wand-sparkles-83GmAYuw.js.map} +1 -1
- package/ccw/frontend/dist/index.html +1 -1
- package/package.json +1 -1
- package/.claude/skills/team-arch-opt/role-specs/analyzer.md +0 -80
- package/.claude/skills/team-arch-opt/role-specs/designer.md +0 -118
- package/.claude/skills/team-arch-opt/role-specs/refactorer.md +0 -106
- package/.claude/skills/team-arch-opt/role-specs/reviewer.md +0 -116
- package/.claude/skills/team-arch-opt/role-specs/validator.md +0 -117
- package/.claude/skills/team-brainstorm/role-specs/challenger.md +0 -63
- package/.claude/skills/team-brainstorm/role-specs/evaluator.md +0 -58
- package/.claude/skills/team-brainstorm/role-specs/ideator.md +0 -71
- package/.claude/skills/team-brainstorm/role-specs/synthesizer.md +0 -59
- package/.claude/skills/team-frontend/role-specs/analyst.md +0 -91
- package/.claude/skills/team-frontend/role-specs/architect.md +0 -85
- package/.claude/skills/team-frontend/role-specs/developer.md +0 -92
- package/.claude/skills/team-frontend/role-specs/qa.md +0 -78
- package/.claude/skills/team-issue/role-specs/explorer.md +0 -95
- package/.claude/skills/team-issue/role-specs/implementer.md +0 -89
- package/.claude/skills/team-issue/role-specs/integrator.md +0 -86
- package/.claude/skills/team-issue/role-specs/planner.md +0 -83
- package/.claude/skills/team-issue/role-specs/reviewer.md +0 -89
- package/.claude/skills/team-iterdev/role-specs/architect.md +0 -64
- package/.claude/skills/team-iterdev/role-specs/developer.md +0 -73
- package/.claude/skills/team-iterdev/role-specs/reviewer.md +0 -65
- package/.claude/skills/team-iterdev/role-specs/tester.md +0 -87
- package/.claude/skills/team-perf-opt/role-specs/benchmarker.md +0 -110
- package/.claude/skills/team-perf-opt/role-specs/optimizer.md +0 -102
- package/.claude/skills/team-perf-opt/role-specs/profiler.md +0 -73
- package/.claude/skills/team-perf-opt/role-specs/reviewer.md +0 -91
- package/.claude/skills/team-perf-opt/role-specs/strategist.md +0 -114
- package/.claude/skills/team-planex/role-specs/executor.md +0 -90
- package/.claude/skills/team-planex/role-specs/planner.md +0 -110
- package/.claude/skills/team-quality-assurance/role-specs/analyst.md +0 -79
- package/.claude/skills/team-quality-assurance/role-specs/executor.md +0 -64
- package/.claude/skills/team-quality-assurance/role-specs/generator.md +0 -67
- package/.claude/skills/team-quality-assurance/role-specs/scout.md +0 -66
- package/.claude/skills/team-quality-assurance/role-specs/strategist.md +0 -70
- package/.claude/skills/team-review/role-specs/fixer.md +0 -75
- package/.claude/skills/team-review/role-specs/reviewer.md +0 -66
- package/.claude/skills/team-review/role-specs/scanner.md +0 -70
- package/.claude/skills/team-roadmap-dev/role-specs/executor.md +0 -71
- package/.claude/skills/team-roadmap-dev/role-specs/planner.md +0 -77
- package/.claude/skills/team-roadmap-dev/role-specs/verifier.md +0 -73
- package/.claude/skills/team-tech-debt/role-specs/assessor.md +0 -70
- package/.claude/skills/team-tech-debt/role-specs/executor.md +0 -80
- package/.claude/skills/team-tech-debt/role-specs/planner.md +0 -71
- package/.claude/skills/team-tech-debt/role-specs/scanner.md +0 -85
- package/.claude/skills/team-tech-debt/role-specs/validator.md +0 -83
- package/.claude/skills/team-testing/role-specs/analyst.md +0 -94
- package/.claude/skills/team-testing/role-specs/executor.md +0 -97
- package/.claude/skills/team-testing/role-specs/generator.md +0 -96
- package/.claude/skills/team-testing/role-specs/strategist.md +0 -82
- package/.claude/skills/team-uidesign/role-specs/designer.md +0 -72
- package/.claude/skills/team-uidesign/role-specs/implementer.md +0 -74
- package/.claude/skills/team-uidesign/role-specs/researcher.md +0 -84
- package/.claude/skills/team-uidesign/role-specs/reviewer.md +0 -70
- package/.claude/skills/team-ux-improve/role-specs/designer.md +0 -191
- package/.claude/skills/team-ux-improve/role-specs/diagnoser.md +0 -110
- package/.claude/skills/team-ux-improve/role-specs/explorer.md +0 -109
- package/.claude/skills/team-ux-improve/role-specs/implementer.md +0 -164
- package/.claude/skills/team-ux-improve/role-specs/scanner.md +0 -117
- package/.claude/skills/team-ux-improve/role-specs/tester.md +0 -163
- package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js +0 -2
- package/ccw/frontend/dist/assets/CodexLensPage-My6DnfN6.js.map +0 -1
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: IDEA
|
|
3
|
-
inner_loop: false
|
|
4
|
-
delegates_to: []
|
|
5
|
-
message_types:
|
|
6
|
-
success: ideas_ready
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Ideator
|
|
11
|
-
|
|
12
|
-
Multi-angle idea generator. Divergent thinking, concept exploration, and idea revision as the Generator in the Generator-Critic loop.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Context Loading
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Session folder | Task description (Session: line) | Yes |
|
|
19
|
-
| Topic | <session>/.msg/meta.json | Yes |
|
|
20
|
-
| Angles | <session>/.msg/meta.json | Yes |
|
|
21
|
-
| GC Round | <session>/.msg/meta.json | Yes |
|
|
22
|
-
| Previous critique | <session>/critiques/*.md | For revision tasks only |
|
|
23
|
-
| Previous ideas | <session>/.msg/meta.json generated_ideas | No |
|
|
24
|
-
|
|
25
|
-
1. Extract session path from task description (match "Session: <path>")
|
|
26
|
-
2. Read .msg/meta.json for topic, angles, gc_round
|
|
27
|
-
3. Detect task mode:
|
|
28
|
-
|
|
29
|
-
| Condition | Mode |
|
|
30
|
-
|-----------|------|
|
|
31
|
-
| Task subject contains "revision" or "fix" | GC Revision |
|
|
32
|
-
| Otherwise | Initial Generation |
|
|
33
|
-
|
|
34
|
-
4. If GC Revision mode:
|
|
35
|
-
- Glob critique files from <session>/critiques/
|
|
36
|
-
- Read latest critique for revision context
|
|
37
|
-
5. Read previous ideas from .msg/meta.json generated_ideas state
|
|
38
|
-
|
|
39
|
-
## Phase 3: Idea Generation
|
|
40
|
-
|
|
41
|
-
### Mode Router
|
|
42
|
-
|
|
43
|
-
| Mode | Focus |
|
|
44
|
-
|------|-------|
|
|
45
|
-
| Initial Generation | Multi-angle divergent thinking, no prior critique |
|
|
46
|
-
| GC Revision | Address HIGH/CRITICAL challenges from critique |
|
|
47
|
-
|
|
48
|
-
**Initial Generation**:
|
|
49
|
-
- For each angle, generate 3+ ideas
|
|
50
|
-
- Each idea: title, description (2-3 sentences), key assumption, potential impact, implementation hint
|
|
51
|
-
|
|
52
|
-
**GC Revision**:
|
|
53
|
-
- Focus on HIGH/CRITICAL severity challenges from critique
|
|
54
|
-
- Retain unchallenged ideas intact
|
|
55
|
-
- Revise ideas with revision rationale
|
|
56
|
-
- Replace unsalvageable ideas with new alternatives
|
|
57
|
-
|
|
58
|
-
**Output**: Write to `<session>/ideas/idea-<num>.md`
|
|
59
|
-
- Sections: Topic, Angles, Mode, [Revision Context if applicable], Ideas list, Summary
|
|
60
|
-
|
|
61
|
-
## Phase 4: Self-Review
|
|
62
|
-
|
|
63
|
-
| Check | Pass Criteria | Action on Failure |
|
|
64
|
-
|-------|---------------|-------------------|
|
|
65
|
-
| Minimum count | >= 6 (initial) or >= 3 (revision) | Generate additional ideas |
|
|
66
|
-
| No duplicates | All titles unique | Replace duplicates |
|
|
67
|
-
| Angle coverage | At least 1 idea per angle | Generate missing angle ideas |
|
|
68
|
-
|
|
69
|
-
After passing checks, update shared state:
|
|
70
|
-
- Append new ideas to .msg/meta.json generated_ideas
|
|
71
|
-
- Each entry: id, title, round, revised flag
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: SYNTH
|
|
3
|
-
inner_loop: false
|
|
4
|
-
delegates_to: []
|
|
5
|
-
message_types:
|
|
6
|
-
success: synthesis_ready
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Synthesizer
|
|
11
|
-
|
|
12
|
-
Cross-idea integrator. Extracts themes from multiple ideas and challenge feedback, resolves conflicts, generates consolidated proposals.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Context Loading
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Session folder | Task description (Session: line) | Yes |
|
|
19
|
-
| All ideas | <session>/ideas/*.md files | Yes |
|
|
20
|
-
| All critiques | <session>/critiques/*.md files | Yes |
|
|
21
|
-
| GC rounds completed | <session>/.msg/meta.json gc_round | Yes |
|
|
22
|
-
|
|
23
|
-
1. Extract session path from task description (match "Session: <path>")
|
|
24
|
-
2. Glob all idea files from <session>/ideas/
|
|
25
|
-
3. Glob all critique files from <session>/critiques/
|
|
26
|
-
4. Read all idea and critique files for synthesis
|
|
27
|
-
5. Read .msg/meta.json for context (topic, gc_round, generated_ideas, critique_insights)
|
|
28
|
-
|
|
29
|
-
## Phase 3: Synthesis Execution
|
|
30
|
-
|
|
31
|
-
| Step | Action |
|
|
32
|
-
|------|--------|
|
|
33
|
-
| 1. Theme Extraction | Identify common themes across ideas, rate strength (1-10), list supporting ideas |
|
|
34
|
-
| 2. Conflict Resolution | Identify contradictory ideas, determine resolution approach, document rationale |
|
|
35
|
-
| 3. Complementary Grouping | Group complementary ideas together |
|
|
36
|
-
| 4. Gap Identification | Discover uncovered perspectives |
|
|
37
|
-
| 5. Integrated Proposal | Generate 1-3 consolidated proposals |
|
|
38
|
-
|
|
39
|
-
**Integrated Proposal Structure**:
|
|
40
|
-
- Core concept description
|
|
41
|
-
- Source ideas combined
|
|
42
|
-
- Addressed challenges from critiques
|
|
43
|
-
- Feasibility score (1-10), Innovation score (1-10)
|
|
44
|
-
- Key benefits list, Remaining risks list
|
|
45
|
-
|
|
46
|
-
**Output**: Write to `<session>/synthesis/synthesis-<num>.md`
|
|
47
|
-
- Sections: Input summary, Extracted Themes, Conflict Resolution, Integrated Proposals, Coverage Analysis
|
|
48
|
-
|
|
49
|
-
## Phase 4: Quality Check
|
|
50
|
-
|
|
51
|
-
| Check | Pass Criteria | Action on Failure |
|
|
52
|
-
|-------|---------------|-------------------|
|
|
53
|
-
| Proposal count | >= 1 proposal | Generate at least one proposal |
|
|
54
|
-
| Theme count | >= 2 themes | Look for more patterns |
|
|
55
|
-
| Conflict resolution | All conflicts documented | Address unresolved conflicts |
|
|
56
|
-
|
|
57
|
-
After passing checks, update shared state:
|
|
58
|
-
- Set .msg/meta.json synthesis_themes
|
|
59
|
-
- Each entry: name, strength, supporting_ideas
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: ANALYZE
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: analyze_ready
|
|
6
|
-
error: error
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Requirements Analyst
|
|
10
|
-
|
|
11
|
-
Analyze frontend requirements and retrieve industry design intelligence via ui-ux-pro-max skill. Produce design-intelligence.json and requirements.md for downstream consumption by architect and developer roles.
|
|
12
|
-
|
|
13
|
-
## Phase 2: Context Loading
|
|
14
|
-
|
|
15
|
-
| Input | Source | Required |
|
|
16
|
-
|-------|--------|----------|
|
|
17
|
-
| Task description | From task subject/description | Yes |
|
|
18
|
-
| Session path | Extracted from task description | Yes |
|
|
19
|
-
| Industry context | Extracted from task description | Yes |
|
|
20
|
-
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
21
|
-
|
|
22
|
-
1. Extract session path, industry type, and tech stack from task description
|
|
23
|
-
2. Detect existing design system:
|
|
24
|
-
|
|
25
|
-
| Signal | Detection Method |
|
|
26
|
-
|--------|-----------------|
|
|
27
|
-
| Token files | Glob `**/*token*.*` |
|
|
28
|
-
| CSS files | Glob `**/*.css` |
|
|
29
|
-
| Package.json | Read for framework dependencies |
|
|
30
|
-
|
|
31
|
-
3. Detect tech stack from package.json:
|
|
32
|
-
|
|
33
|
-
| Dependency | Stack |
|
|
34
|
-
|------------|-------|
|
|
35
|
-
| `next` | nextjs |
|
|
36
|
-
| `react` | react |
|
|
37
|
-
| `vue` | vue |
|
|
38
|
-
| `svelte` | svelte |
|
|
39
|
-
| `@shadcn/ui` | shadcn |
|
|
40
|
-
| (none) | html-tailwind |
|
|
41
|
-
|
|
42
|
-
4. Load .msg/meta.json for shared state
|
|
43
|
-
|
|
44
|
-
## Phase 3: Design Intelligence Retrieval
|
|
45
|
-
|
|
46
|
-
Retrieve design intelligence via ui-ux-pro-max skill integration.
|
|
47
|
-
|
|
48
|
-
**Step 1: Invoke ui-ux-pro-max** (primary path):
|
|
49
|
-
|
|
50
|
-
| Action | Invocation |
|
|
51
|
-
|--------|------------|
|
|
52
|
-
| Full design system | `Skill(skill="ui-ux-pro-max", args="<industry> <keywords> --design-system")` |
|
|
53
|
-
| UX guidelines | `Skill(skill="ui-ux-pro-max", args="accessibility animation responsive --domain ux")` |
|
|
54
|
-
| Tech stack guide | `Skill(skill="ui-ux-pro-max", args="<keywords> --stack <detected-stack>")` |
|
|
55
|
-
|
|
56
|
-
**Step 2: Fallback** (if skill unavailable):
|
|
57
|
-
- Generate design recommendations from LLM general knowledge
|
|
58
|
-
- Log warning: `ui-ux-pro-max not installed. Install via: /plugin install ui-ux-pro-max@ui-ux-pro-max-skill`
|
|
59
|
-
|
|
60
|
-
**Step 3: Analyze existing codebase** (if token/CSS files found):
|
|
61
|
-
- Explore existing design patterns (color palette, typography scale, spacing, component patterns)
|
|
62
|
-
|
|
63
|
-
**Step 4: Competitive reference** (optional, if industry is not "Other"):
|
|
64
|
-
- `WebSearch({ query: "<industry> web design trends best practices" })`
|
|
65
|
-
|
|
66
|
-
**Step 5: Compile design-intelligence.json**:
|
|
67
|
-
|
|
68
|
-
| Field | Source |
|
|
69
|
-
|-------|--------|
|
|
70
|
-
| `_source` | "ui-ux-pro-max-skill" or "llm-general-knowledge" |
|
|
71
|
-
| `industry` | Task description |
|
|
72
|
-
| `detected_stack` | Phase 2 detection |
|
|
73
|
-
| `design_system` | Skill output (colors, typography, effects) |
|
|
74
|
-
| `ux_guidelines` | Skill UX domain output |
|
|
75
|
-
| `stack_guidelines` | Skill stack output |
|
|
76
|
-
| `recommendations` | Synthesized: style, anti-patterns, must-have |
|
|
77
|
-
|
|
78
|
-
**Output files**:
|
|
79
|
-
- `<session>/analysis/design-intelligence.json`
|
|
80
|
-
- `<session>/analysis/requirements.md`
|
|
81
|
-
|
|
82
|
-
## Phase 4: Self-Review
|
|
83
|
-
|
|
84
|
-
| Check | Method | Pass Criteria |
|
|
85
|
-
|-------|--------|---------------|
|
|
86
|
-
| JSON validity | Parse design-intelligence.json | No parse errors |
|
|
87
|
-
| Required fields | Check _source, industry, design_system | All present |
|
|
88
|
-
| Anti-patterns populated | Check recommendations.anti_patterns | Non-empty array |
|
|
89
|
-
| Requirements doc exists | File check | requirements.md written |
|
|
90
|
-
|
|
91
|
-
Update .msg/meta.json: merge `design_intelligence` and `industry_context` keys.
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: ARCH
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: arch_ready
|
|
6
|
-
error: error
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Frontend Architect
|
|
10
|
-
|
|
11
|
-
Consume design-intelligence.json to define design token system, component architecture, and project structure. Token values prioritize ui-ux-pro-max recommendations. Produce architecture artifacts for developer consumption.
|
|
12
|
-
|
|
13
|
-
## Phase 2: Context Loading
|
|
14
|
-
|
|
15
|
-
| Input | Source | Required |
|
|
16
|
-
|-------|--------|----------|
|
|
17
|
-
| Task description | From task subject/description | Yes |
|
|
18
|
-
| Session path | Extracted from task description | Yes |
|
|
19
|
-
| Scope | Extracted from task description (tokens/components/full) | No (default: full) |
|
|
20
|
-
| Design intelligence | <session>/analysis/design-intelligence.json | Yes |
|
|
21
|
-
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
22
|
-
|
|
23
|
-
1. Extract session path and scope from task description
|
|
24
|
-
2. Load design intelligence from analyst output
|
|
25
|
-
3. Load .msg/meta.json for shared state (industry_context, design_intelligence)
|
|
26
|
-
4. Detect existing project structure via Glob `src/**/*`
|
|
27
|
-
|
|
28
|
-
**Fail-safe**: If design-intelligence.json not found, use default token values and log warning.
|
|
29
|
-
|
|
30
|
-
## Phase 3: Architecture Design
|
|
31
|
-
|
|
32
|
-
**Scope selection**:
|
|
33
|
-
|
|
34
|
-
| Scope | Output |
|
|
35
|
-
|-------|--------|
|
|
36
|
-
| `tokens` | Design token system only |
|
|
37
|
-
| `components` | Component specs only |
|
|
38
|
-
| `full` | Both tokens and components + project structure |
|
|
39
|
-
|
|
40
|
-
**Step 1: Design Token System** (scope: tokens or full):
|
|
41
|
-
|
|
42
|
-
Generate `<session>/architecture/design-tokens.json` with categories:
|
|
43
|
-
|
|
44
|
-
| Category | Content | Source |
|
|
45
|
-
|----------|---------|--------|
|
|
46
|
-
| `color` | Primary, secondary, background, surface, text, CTA | ui-ux-pro-max |
|
|
47
|
-
| `typography` | Font families, font sizes (scale) | ui-ux-pro-max |
|
|
48
|
-
| `spacing` | xs through 2xl | Standard scale |
|
|
49
|
-
| `border-radius` | sm, md, lg, full | Standard scale |
|
|
50
|
-
| `shadow` | sm, md, lg | Standard elevation |
|
|
51
|
-
| `transition` | fast, normal, slow | Standard durations |
|
|
52
|
-
|
|
53
|
-
Use `$type` + `$value` format (Design Tokens Community Group). Support light/dark mode via nested values.
|
|
54
|
-
|
|
55
|
-
**Step 2: Component Architecture** (scope: components or full):
|
|
56
|
-
|
|
57
|
-
Generate component specs in `<session>/architecture/component-specs/`:
|
|
58
|
-
- Design reference (style, stack)
|
|
59
|
-
- Props table (name, type, default, description)
|
|
60
|
-
- Variants table
|
|
61
|
-
- Accessibility requirements (role, keyboard, ARIA, contrast)
|
|
62
|
-
- Anti-patterns to avoid (from design intelligence)
|
|
63
|
-
|
|
64
|
-
**Step 3: Project Structure** (scope: full):
|
|
65
|
-
|
|
66
|
-
Generate `<session>/architecture/project-structure.md` with stack-specific layout:
|
|
67
|
-
|
|
68
|
-
| Stack | Key Directories |
|
|
69
|
-
|-------|----------------|
|
|
70
|
-
| react | src/components/, src/pages/, src/hooks/, src/styles/ |
|
|
71
|
-
| nextjs | app/(routes)/, app/components/, app/lib/, app/styles/ |
|
|
72
|
-
| vue | src/components/, src/views/, src/composables/, src/styles/ |
|
|
73
|
-
| html-tailwind | src/components/, src/pages/, src/styles/ |
|
|
74
|
-
|
|
75
|
-
## Phase 4: Self-Review
|
|
76
|
-
|
|
77
|
-
| Check | Method | Pass Criteria |
|
|
78
|
-
|-------|--------|---------------|
|
|
79
|
-
| JSON validity | Parse design-tokens.json | No errors |
|
|
80
|
-
| Required categories | Check color, typography, spacing | All present |
|
|
81
|
-
| Anti-pattern compliance | Token values vs anti-patterns | No violations |
|
|
82
|
-
| Component specs complete | Each has props + accessibility | All complete |
|
|
83
|
-
| File existence | Verify all planned files | All present |
|
|
84
|
-
|
|
85
|
-
Update .msg/meta.json: merge `design_token_registry` and `component_inventory` keys.
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: DEV
|
|
3
|
-
inner_loop: true
|
|
4
|
-
message_types:
|
|
5
|
-
success: dev_complete
|
|
6
|
-
error: error
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Frontend Developer
|
|
10
|
-
|
|
11
|
-
Consume architecture artifacts (design tokens, component specs, project structure) to implement frontend code. Reference design-intelligence.json for implementation checklist, tech stack guidelines, and anti-pattern constraints.
|
|
12
|
-
|
|
13
|
-
## Phase 2: Context Loading
|
|
14
|
-
|
|
15
|
-
| Input | Source | Required |
|
|
16
|
-
|-------|--------|----------|
|
|
17
|
-
| Task description | From task subject/description | Yes |
|
|
18
|
-
| Session path | Extracted from task description | Yes |
|
|
19
|
-
| Scope | Extracted from task description (tokens/components/full) | No (default: full) |
|
|
20
|
-
| Design intelligence | <session>/analysis/design-intelligence.json | No |
|
|
21
|
-
| Design tokens | <session>/architecture/design-tokens.json | Yes |
|
|
22
|
-
| Component specs | <session>/architecture/component-specs/*.md | No |
|
|
23
|
-
| Project structure | <session>/architecture/project-structure.md | No |
|
|
24
|
-
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
25
|
-
|
|
26
|
-
1. Extract session path and scope from task description
|
|
27
|
-
2. Load design tokens (required -- if missing, report to coordinator)
|
|
28
|
-
3. Load design intelligence for anti-patterns and guidelines
|
|
29
|
-
4. Load component specs and project structure
|
|
30
|
-
5. Detect tech stack from design intelligence `detected_stack`
|
|
31
|
-
6. Load .msg/meta.json for shared state
|
|
32
|
-
|
|
33
|
-
## Phase 3: Code Implementation
|
|
34
|
-
|
|
35
|
-
**Scope selection**:
|
|
36
|
-
|
|
37
|
-
| Scope | Output |
|
|
38
|
-
|-------|--------|
|
|
39
|
-
| `tokens` | CSS custom properties from design tokens |
|
|
40
|
-
| `components` | Component code from specs |
|
|
41
|
-
| `full` | Both token CSS and components |
|
|
42
|
-
|
|
43
|
-
**Step 1: Generate Design Token CSS** (scope: tokens or full):
|
|
44
|
-
|
|
45
|
-
Convert design-tokens.json to `src/styles/tokens.css`:
|
|
46
|
-
|
|
47
|
-
| JSON Category | CSS Variable Prefix |
|
|
48
|
-
|---------------|---------------------|
|
|
49
|
-
| color | `--color-` |
|
|
50
|
-
| typography.font-family | `--font-` |
|
|
51
|
-
| typography.font-size | `--text-` |
|
|
52
|
-
| spacing | `--space-` |
|
|
53
|
-
| border-radius | `--radius-` |
|
|
54
|
-
| shadow | `--shadow-` |
|
|
55
|
-
| transition | `--duration-` |
|
|
56
|
-
|
|
57
|
-
Add `@media (prefers-color-scheme: dark)` override for color tokens.
|
|
58
|
-
|
|
59
|
-
**Step 2: Implement Components** (scope: components or full):
|
|
60
|
-
|
|
61
|
-
Implementation strategy by complexity:
|
|
62
|
-
|
|
63
|
-
| Condition | Strategy |
|
|
64
|
-
|-----------|----------|
|
|
65
|
-
| <= 2 components | Direct inline Edit/Write |
|
|
66
|
-
| 3-5 components | Single batch implementation |
|
|
67
|
-
| > 5 components | Group by module, implement per batch |
|
|
68
|
-
|
|
69
|
-
**Coding standards** (mandatory):
|
|
70
|
-
- Use design token CSS variables -- never hardcode colors/spacing
|
|
71
|
-
- All interactive elements: `cursor: pointer`
|
|
72
|
-
- Transitions: 150-300ms via `var(--duration-normal)`
|
|
73
|
-
- Text contrast: minimum 4.5:1 ratio
|
|
74
|
-
- Include `focus-visible` styles for keyboard navigation
|
|
75
|
-
- Support `prefers-reduced-motion`
|
|
76
|
-
- Responsive: mobile-first with md/lg breakpoints
|
|
77
|
-
- No emoji as functional icons
|
|
78
|
-
|
|
79
|
-
## Phase 4: Self-Review
|
|
80
|
-
|
|
81
|
-
| Check | Method | Pass Criteria |
|
|
82
|
-
|-------|--------|---------------|
|
|
83
|
-
| Hardcoded colors | Scan for hex codes outside tokens.css | None found |
|
|
84
|
-
| cursor-pointer | Check buttons/links | All have cursor-pointer |
|
|
85
|
-
| Focus styles | Check interactive elements | All have focus styles |
|
|
86
|
-
| Responsive | Check for breakpoints | Breakpoints present |
|
|
87
|
-
| File existence | Verify all planned files | All present |
|
|
88
|
-
| Import resolution | Check no broken imports | All imports resolve |
|
|
89
|
-
|
|
90
|
-
Auto-fix where possible: add missing cursor-pointer, basic focus styles.
|
|
91
|
-
|
|
92
|
-
Update .msg/meta.json: merge `component_inventory` key with implemented file list.
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: QA
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: qa_passed
|
|
6
|
-
error: error
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# QA Engineer
|
|
10
|
-
|
|
11
|
-
Execute 5-dimension quality audit integrating ux-guidelines Do/Don't rules, pre-delivery checklist, and industry anti-pattern library. Perform CSS-level precise review on architecture artifacts and implementation code.
|
|
12
|
-
|
|
13
|
-
## Phase 2: Context Loading
|
|
14
|
-
|
|
15
|
-
| Input | Source | Required |
|
|
16
|
-
|-------|--------|----------|
|
|
17
|
-
| Task description | From task subject/description | Yes |
|
|
18
|
-
| Session path | Extracted from task description | Yes |
|
|
19
|
-
| Review type | Extracted from task description | No (default: code-review) |
|
|
20
|
-
| Design intelligence | <session>/analysis/design-intelligence.json | No |
|
|
21
|
-
| Design tokens | <session>/architecture/design-tokens.json | No |
|
|
22
|
-
| .msg/meta.json | <session>/.msg/meta.json | No |
|
|
23
|
-
|
|
24
|
-
1. Extract session path and review type from task description
|
|
25
|
-
2. Load design intelligence (for anti-patterns, must-have rules)
|
|
26
|
-
3. Load design tokens (for compliance checks)
|
|
27
|
-
4. Load .msg/meta.json (for industry context, strictness level)
|
|
28
|
-
5. Collect files to review based on review type:
|
|
29
|
-
|
|
30
|
-
| Type | Files to Review |
|
|
31
|
-
|------|-----------------|
|
|
32
|
-
| architecture-review | `<session>/architecture/**/*` |
|
|
33
|
-
| token-review | `<session>/architecture/**/*` |
|
|
34
|
-
| code-review | `src/**/*.{tsx,jsx,vue,svelte,html,css}` |
|
|
35
|
-
| final | `src/**/*.{tsx,jsx,vue,svelte,html,css}` |
|
|
36
|
-
|
|
37
|
-
## Phase 3: 5-Dimension Audit
|
|
38
|
-
|
|
39
|
-
| Dimension | Weight | Focus |
|
|
40
|
-
|-----------|--------|-------|
|
|
41
|
-
| Code Quality | 0.20 | Structure, naming, maintainability |
|
|
42
|
-
| Accessibility | 0.25 | WCAG compliance, keyboard nav, screen reader |
|
|
43
|
-
| Design Compliance | 0.20 | Anti-pattern check, design token usage |
|
|
44
|
-
| UX Best Practices | 0.20 | Interaction patterns, responsive, animations |
|
|
45
|
-
| Pre-Delivery | 0.15 | Final checklist (code-review/final types only) |
|
|
46
|
-
|
|
47
|
-
**Dimension 1 -- Code Quality**: File length (>300 LOC), console.log, empty catch, unused imports.
|
|
48
|
-
|
|
49
|
-
**Dimension 2 -- Accessibility**: Image alt text, input labels, button text, heading hierarchy, focus styles, ARIA roles. Strict mode (medical/financial): prefers-reduced-motion required.
|
|
50
|
-
|
|
51
|
-
**Dimension 3 -- Design Compliance**: Hardcoded colors (must use `var(--color-*)`), hardcoded spacing, industry anti-patterns from design intelligence.
|
|
52
|
-
|
|
53
|
-
**Dimension 4 -- UX Best Practices**: cursor-pointer on clickable, transition 150-300ms, responsive design, loading states, error states.
|
|
54
|
-
|
|
55
|
-
**Dimension 5 -- Pre-Delivery** (final/code-review only): No emoji icons, cursor-pointer, transitions, focus states, reduced-motion, responsive, no hardcoded colors, dark mode support.
|
|
56
|
-
|
|
57
|
-
**Score calculation**: `score = sum(dimension_score * weight)`
|
|
58
|
-
|
|
59
|
-
**Verdict**:
|
|
60
|
-
|
|
61
|
-
| Condition | Verdict | Message Type |
|
|
62
|
-
|-----------|---------|-------------|
|
|
63
|
-
| score >= 8 AND critical == 0 | PASSED | `qa_passed` |
|
|
64
|
-
| score >= 6 AND critical == 0 | PASSED_WITH_WARNINGS | `qa_result` |
|
|
65
|
-
| score < 6 OR critical > 0 | FIX_REQUIRED | `fix_required` |
|
|
66
|
-
|
|
67
|
-
## Phase 4: Self-Review
|
|
68
|
-
|
|
69
|
-
| Check | Method | Pass Criteria |
|
|
70
|
-
|-------|--------|---------------|
|
|
71
|
-
| All dimensions scored | Check 5 dimension scores | All present |
|
|
72
|
-
| Audit report written | File check | audit-NNN.md exists |
|
|
73
|
-
| Verdict determined | Score calculated | Verdict assigned |
|
|
74
|
-
| Issues categorized | Severity labels | All issues have severity |
|
|
75
|
-
|
|
76
|
-
Write audit report to `<session>/qa/audit-<NNN>.md` with: summary, dimension scores, issues by severity, passed dimensions.
|
|
77
|
-
|
|
78
|
-
Update .msg/meta.json: append to `qa_history` array.
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: EXPLORE
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: context_ready
|
|
6
|
-
error: error
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# Issue Explorer
|
|
10
|
-
|
|
11
|
-
Analyze issue context, explore codebase for relevant files, map dependencies and impact scope. Produce a shared context report for planner, reviewer, and implementer.
|
|
12
|
-
|
|
13
|
-
## Phase 2: Issue Loading & Context Setup
|
|
14
|
-
|
|
15
|
-
| Input | Source | Required |
|
|
16
|
-
|-------|--------|----------|
|
|
17
|
-
| Issue ID | Task description (GH-\d+ or ISS-\d{8}-\d{6}) | Yes |
|
|
18
|
-
| Issue details | `ccw issue status <id> --json` | Yes |
|
|
19
|
-
| Session path | Extracted from task description | Yes |
|
|
20
|
-
| .msg/meta.json | <session>/wisdom/.msg/meta.json | No |
|
|
21
|
-
|
|
22
|
-
1. Extract issue ID from task description via regex: `(?:GH-\d+|ISS-\d{8}-\d{6})`
|
|
23
|
-
2. If no issue ID found -> report error, STOP
|
|
24
|
-
3. Load issue details:
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
Bash("ccw issue status <issueId> --json")
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
4. Parse JSON response for issue metadata (title, context, priority, labels, feedback)
|
|
31
|
-
5. Load wisdom files from `<session>/wisdom/` if available
|
|
32
|
-
|
|
33
|
-
## Phase 3: Codebase Exploration & Impact Analysis
|
|
34
|
-
|
|
35
|
-
**Complexity assessment determines exploration depth**:
|
|
36
|
-
|
|
37
|
-
| Signal | Weight | Keywords |
|
|
38
|
-
|--------|--------|----------|
|
|
39
|
-
| Structural change | +2 | refactor, architect, restructure, module, system |
|
|
40
|
-
| Cross-cutting | +2 | multiple, across, cross |
|
|
41
|
-
| Integration | +1 | integrate, api, database |
|
|
42
|
-
| High priority | +1 | priority >= 4 |
|
|
43
|
-
|
|
44
|
-
| Score | Complexity | Strategy |
|
|
45
|
-
|-------|------------|----------|
|
|
46
|
-
| >= 4 | High | Deep exploration via CLI tool |
|
|
47
|
-
| 2-3 | Medium | Hybrid: ACE search + selective CLI |
|
|
48
|
-
| 0-1 | Low | Direct ACE search only |
|
|
49
|
-
|
|
50
|
-
**Exploration execution**:
|
|
51
|
-
|
|
52
|
-
| Complexity | Execution |
|
|
53
|
-
|------------|-----------|
|
|
54
|
-
| Low | Direct ACE search: `mcp__ace-tool__search_context(project_root_path, query)` |
|
|
55
|
-
| Medium/High | CLI exploration: `Bash("ccw cli -p \"<exploration_prompt>\" --tool gemini --mode analysis", { run_in_background: false })` |
|
|
56
|
-
|
|
57
|
-
**CLI exploration prompt template**:
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
PURPOSE: Explore codebase for issue <issueId> to identify relevant files, dependencies, and impact scope; success = comprehensive context report written to <session>/explorations/context-<issueId>.json
|
|
61
|
-
|
|
62
|
-
TASK: • Run ccw tool exec get_modules_by_depth '{}' • Execute ACE searches for issue keywords • Map file dependencies and integration points • Assess impact scope • Find existing patterns • Check git log for related changes
|
|
63
|
-
|
|
64
|
-
MODE: analysis
|
|
65
|
-
|
|
66
|
-
CONTEXT: @**/* | Memory: Issue <issueId> - <issue.title> (Priority: <issue.priority>)
|
|
67
|
-
|
|
68
|
-
EXPECTED: JSON report with: relevant_files (path + relevance), dependencies, impact_scope (low/medium/high), existing_patterns, related_changes, key_findings, complexity_assessment
|
|
69
|
-
|
|
70
|
-
CONSTRAINTS: Focus on issue context | Write output to <session>/explorations/context-<issueId>.json
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
**Report schema**:
|
|
74
|
-
|
|
75
|
-
```json
|
|
76
|
-
{
|
|
77
|
-
"issue_id": "string",
|
|
78
|
-
"issue": { "id": "", "title": "", "priority": 0, "status": "", "labels": [], "feedback": "" },
|
|
79
|
-
"relevant_files": [{ "path": "", "relevance": "" }],
|
|
80
|
-
"dependencies": [],
|
|
81
|
-
"impact_scope": "low | medium | high",
|
|
82
|
-
"existing_patterns": [],
|
|
83
|
-
"related_changes": [],
|
|
84
|
-
"key_findings": [],
|
|
85
|
-
"complexity_assessment": "Low | Medium | High"
|
|
86
|
-
}
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
## Phase 4: Context Report & Wisdom Contribution
|
|
90
|
-
|
|
91
|
-
1. Write context report to `<session>/explorations/context-<issueId>.json`
|
|
92
|
-
2. If file not found from agent, build minimal report from ACE results
|
|
93
|
-
3. Update `<session>/wisdom/.msg/meta.json` under `explorer` namespace:
|
|
94
|
-
- Read existing -> merge `{ "explorer": { issue_id, complexity, impact_scope, file_count } }` -> write back
|
|
95
|
-
4. Contribute discoveries to `<session>/wisdom/learnings.md` if new patterns found
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: BUILD
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: impl_complete
|
|
6
|
-
failed: impl_failed
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Issue Implementer
|
|
11
|
-
|
|
12
|
-
Load solution plan, route to execution backend (Agent/Codex/Gemini), run tests, and commit. Execution method determined by coordinator during task creation. Supports parallel instances for batch mode.
|
|
13
|
-
|
|
14
|
-
## Modes
|
|
15
|
-
|
|
16
|
-
| Backend | Condition | Method |
|
|
17
|
-
|---------|-----------|--------|
|
|
18
|
-
| codex | task_count > 3 or explicit | `ccw cli --tool codex --mode write --id issue-<issueId>` |
|
|
19
|
-
| gemini | task_count <= 3 or explicit | `ccw cli --tool gemini --mode write --id issue-<issueId>` |
|
|
20
|
-
| qwen | explicit | `ccw cli --tool qwen --mode write --id issue-<issueId>` |
|
|
21
|
-
|
|
22
|
-
## Phase 2: Load Solution & Resolve Executor
|
|
23
|
-
|
|
24
|
-
| Input | Source | Required |
|
|
25
|
-
|-------|--------|----------|
|
|
26
|
-
| Issue ID | Task description (GH-\d+ or ISS-\d{8}-\d{6}) | Yes |
|
|
27
|
-
| Bound solution | `ccw issue solutions <id> --json` | Yes |
|
|
28
|
-
| Explorer context | `<session>/explorations/context-<issueId>.json` | No |
|
|
29
|
-
| Execution method | Task description (`execution_method: Codex|Gemini|Qwen|Auto`) | Yes |
|
|
30
|
-
| Code review | Task description (`code_review: Skip|Gemini Review|Codex Review`) | No |
|
|
31
|
-
|
|
32
|
-
1. Extract issue ID from task description
|
|
33
|
-
2. If no issue ID -> report error, STOP
|
|
34
|
-
3. Load bound solution: `Bash("ccw issue solutions <issueId> --json")`
|
|
35
|
-
4. If no bound solution -> report error, STOP
|
|
36
|
-
5. Load explorer context (if available)
|
|
37
|
-
6. Resolve execution method (Auto: task_count <= 3 -> gemini, else codex)
|
|
38
|
-
7. Update issue status: `Bash("ccw issue update <issueId> --status in-progress")`
|
|
39
|
-
|
|
40
|
-
## Phase 3: Implementation (Multi-Backend Routing)
|
|
41
|
-
|
|
42
|
-
**Execution prompt template** (all backends):
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
## Issue
|
|
46
|
-
ID: <issueId>
|
|
47
|
-
Title: <solution.bound.title>
|
|
48
|
-
|
|
49
|
-
## Solution Plan
|
|
50
|
-
<solution.bound JSON>
|
|
51
|
-
|
|
52
|
-
## Codebase Context (from explorer)
|
|
53
|
-
Relevant files: <explorerContext.relevant_files>
|
|
54
|
-
Existing patterns: <explorerContext.existing_patterns>
|
|
55
|
-
Dependencies: <explorerContext.dependencies>
|
|
56
|
-
|
|
57
|
-
## Implementation Requirements
|
|
58
|
-
1. Follow the solution plan tasks in order
|
|
59
|
-
2. Write clean, minimal code following existing patterns
|
|
60
|
-
3. Run tests after each significant change
|
|
61
|
-
4. Ensure all existing tests still pass
|
|
62
|
-
5. Do NOT over-engineer
|
|
63
|
-
|
|
64
|
-
## Quality Checklist
|
|
65
|
-
- All solution tasks implemented
|
|
66
|
-
- No TypeScript/linting errors
|
|
67
|
-
- Existing tests pass
|
|
68
|
-
- New tests added where appropriate
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Route by executor:
|
|
72
|
-
- **codex**: `Bash("ccw cli -p \"<prompt>\" --tool codex --mode write --id issue-<issueId>", { run_in_background: false })`
|
|
73
|
-
- **gemini**: `Bash("ccw cli -p \"<prompt>\" --tool gemini --mode write --id issue-<issueId>", { run_in_background: false })`
|
|
74
|
-
- **qwen**: `Bash("ccw cli -p \"<prompt>\" --tool qwen --mode write --id issue-<issueId>", { run_in_background: false })`
|
|
75
|
-
|
|
76
|
-
On CLI failure, resume: `ccw cli -p "Continue" --resume issue-<issueId> --tool <tool> --mode write`
|
|
77
|
-
|
|
78
|
-
## Phase 4: Verify & Commit
|
|
79
|
-
|
|
80
|
-
| Check | Method | Pass Criteria |
|
|
81
|
-
|-------|--------|---------------|
|
|
82
|
-
| Tests pass | Detect and run test command | No new failures |
|
|
83
|
-
| Code review | Optional, per task config | Review output logged |
|
|
84
|
-
|
|
85
|
-
- Tests pass -> optional code review -> `ccw issue update <issueId> --status resolved` -> report `impl_complete`
|
|
86
|
-
- Tests fail -> report `impl_failed` with truncated test output
|
|
87
|
-
|
|
88
|
-
Update `<session>/wisdom/.msg/meta.json` under `implementer` namespace:
|
|
89
|
-
- Read existing -> merge `{ "implementer": { issue_id, executor, test_status, review_status } }` -> write back
|