claude-code-workflow 7.2.10 → 7.2.12
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/commands/workflow/analyze-with-file.md +108 -54
- package/.claude/commands/workflow-tune.md +811 -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-execute/SKILL.md +106 -14
- package/.claude/skills/workflow-lite-plan/SKILL.md +34 -72
- package/.claude/skills/workflow-lite-test-review/SKILL.md +41 -26
- 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/.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/commands/ddd/auto.md +0 -359
- package/.claude/commands/ddd/doc-generate.md +0 -222
- package/.claude/commands/ddd/doc-refresh.md +0 -218
- package/.claude/commands/ddd/execute.md +0 -416
- package/.claude/commands/ddd/index-build.md +0 -212
- package/.claude/commands/ddd/plan.md +0 -611
- package/.claude/commands/ddd/scan.md +0 -365
- package/.claude/commands/ddd/sync.md +0 -353
- package/.claude/commands/ddd/update.md +0 -160
- package/.claude/commands/idaw/add.md +0 -287
- package/.claude/commands/idaw/resume.md +0 -442
- package/.claude/commands/idaw/run-coordinate.md +0 -648
- package/.claude/commands/idaw/run.md +0 -539
- package/.claude/commands/idaw/status.md +0 -182
- 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,117 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: VALIDATE
|
|
3
|
-
inner_loop: false
|
|
4
|
-
message_types:
|
|
5
|
-
success: validate_complete
|
|
6
|
-
error: error
|
|
7
|
-
fix: fix_required
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Architecture Validator
|
|
11
|
-
|
|
12
|
-
Validate refactoring changes by running build checks, test suites, dependency metric comparisons, and API compatibility verification. Ensure refactoring improves architecture without breaking functionality.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Environment & Baseline Loading
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Architecture baseline | <session>/artifacts/architecture-baseline.json (shared) | Yes |
|
|
19
|
-
| Refactoring plan / detail | Varies by mode (see below) | Yes |
|
|
20
|
-
| .msg/meta.json | <session>/wisdom/.msg/meta.json | Yes |
|
|
21
|
-
|
|
22
|
-
1. Extract session path from task description
|
|
23
|
-
2. **Detect branch/pipeline context** from task description:
|
|
24
|
-
|
|
25
|
-
| Task Description Field | Value | Context |
|
|
26
|
-
|----------------------|-------|---------
|
|
27
|
-
| `BranchId: B{NN}` | Present | Fan-out branch -- validate only this branch's changes |
|
|
28
|
-
| `PipelineId: {P}` | Present | Independent pipeline -- use pipeline-scoped baseline |
|
|
29
|
-
| Neither present | - | Single mode -- full validation |
|
|
30
|
-
|
|
31
|
-
3. **Load architecture baseline**:
|
|
32
|
-
- Single / Fan-out: Read `<session>/artifacts/architecture-baseline.json` (shared baseline)
|
|
33
|
-
- Independent: Read `<session>/artifacts/pipelines/{P}/architecture-baseline.json`
|
|
34
|
-
|
|
35
|
-
4. **Load refactoring context**:
|
|
36
|
-
- Single: Read `<session>/artifacts/refactoring-plan.md` -- all success criteria
|
|
37
|
-
- Fan-out branch: Read `<session>/artifacts/branches/B{NN}/refactoring-detail.md` -- only this branch's criteria
|
|
38
|
-
- Independent: Read `<session>/artifacts/pipelines/{P}/refactoring-plan.md`
|
|
39
|
-
|
|
40
|
-
5. Load .msg/meta.json for project type and refactoring scope
|
|
41
|
-
6. Detect available validation tools from project:
|
|
42
|
-
|
|
43
|
-
| Signal | Validation Tool | Method |
|
|
44
|
-
|--------|----------------|--------|
|
|
45
|
-
| package.json + tsc | TypeScript compiler | Type-check entire project |
|
|
46
|
-
| package.json + vitest/jest | Test runner | Run existing test suite |
|
|
47
|
-
| package.json + eslint | Linter | Run lint checks for import/export issues |
|
|
48
|
-
| Cargo.toml | Rust compiler | cargo check + cargo test |
|
|
49
|
-
| go.mod | Go tools | go build + go test |
|
|
50
|
-
| Makefile with test target | Custom tests | make test |
|
|
51
|
-
| No tooling detected | Manual validation | File existence + import grep checks |
|
|
52
|
-
|
|
53
|
-
7. Get changed files scope from .msg/meta.json:
|
|
54
|
-
- Single: `refactorer` namespace
|
|
55
|
-
- Fan-out: `refactorer.B{NN}` namespace
|
|
56
|
-
- Independent: `refactorer.{P}` namespace
|
|
57
|
-
|
|
58
|
-
## Phase 3: Validation Execution
|
|
59
|
-
|
|
60
|
-
Run validations across four dimensions:
|
|
61
|
-
|
|
62
|
-
**Build validation**:
|
|
63
|
-
- Compile/type-check the project -- zero new errors allowed
|
|
64
|
-
- Verify all moved/renamed files are correctly referenced
|
|
65
|
-
- Check for missing imports or unresolved modules
|
|
66
|
-
|
|
67
|
-
**Test validation**:
|
|
68
|
-
- Run existing test suite -- all previously passing tests must still pass
|
|
69
|
-
- Identify any tests that need updating due to module moves (update, don't skip)
|
|
70
|
-
- Check for test file imports that reference old paths
|
|
71
|
-
|
|
72
|
-
**Dependency metric validation**:
|
|
73
|
-
- Recalculate architecture metrics post-refactoring
|
|
74
|
-
- Compare coupling scores against baseline (must improve or stay neutral)
|
|
75
|
-
- Verify no new circular dependencies introduced
|
|
76
|
-
- Check cohesion metrics for affected modules
|
|
77
|
-
|
|
78
|
-
**API compatibility validation**:
|
|
79
|
-
- Verify public API signatures are preserved (exported function/class/type names)
|
|
80
|
-
- Check for dangling references (imports pointing to removed/moved files)
|
|
81
|
-
- Verify no new dead exports introduced by the refactoring
|
|
82
|
-
- Check that re-exports maintain backward compatibility where needed
|
|
83
|
-
|
|
84
|
-
**Branch-scoped validation** (fan-out mode):
|
|
85
|
-
- Only validate metrics relevant to this branch's refactoring (from refactoring-detail.md)
|
|
86
|
-
- Still check for regressions across all metrics (not just branch-specific ones)
|
|
87
|
-
|
|
88
|
-
## Phase 4: Result Analysis
|
|
89
|
-
|
|
90
|
-
Compare against baseline and plan criteria:
|
|
91
|
-
|
|
92
|
-
| Metric | Threshold | Verdict |
|
|
93
|
-
|--------|-----------|---------|
|
|
94
|
-
| Build passes | Zero compilation errors | PASS |
|
|
95
|
-
| All tests pass | No new test failures | PASS |
|
|
96
|
-
| Coupling improved or neutral | No metric degradation > 5% | PASS |
|
|
97
|
-
| No new cycles introduced | Cycle count <= baseline | PASS |
|
|
98
|
-
| All plan success criteria met | Every criterion satisfied | PASS |
|
|
99
|
-
| Partial improvement | Some metrics improved, none degraded | WARN |
|
|
100
|
-
| Build fails | Compilation errors detected | FAIL -> fix_required |
|
|
101
|
-
| Test failures | Previously passing tests now fail | FAIL -> fix_required |
|
|
102
|
-
| New cycles introduced | Cycle count > baseline | FAIL -> fix_required |
|
|
103
|
-
| Dangling references | Unresolved imports detected | FAIL -> fix_required |
|
|
104
|
-
|
|
105
|
-
1. Write validation results to output path:
|
|
106
|
-
- Single: `<session>/artifacts/validation-results.json`
|
|
107
|
-
- Fan-out: `<session>/artifacts/branches/B{NN}/validation-results.json`
|
|
108
|
-
- Independent: `<session>/artifacts/pipelines/{P}/validation-results.json`
|
|
109
|
-
- Content: Per-dimension: name, baseline value, current value, improvement/regression, verdict; Overall verdict: PASS / WARN / FAIL; Failure details (if any)
|
|
110
|
-
|
|
111
|
-
2. Update `<session>/wisdom/.msg/meta.json` under scoped namespace:
|
|
112
|
-
- Single: merge `{ "validator": { verdict, improvements, regressions, build_pass, test_pass } }`
|
|
113
|
-
- Fan-out: merge `{ "validator.B{NN}": { verdict, improvements, regressions, build_pass, test_pass } }`
|
|
114
|
-
- Independent: merge `{ "validator.{P}": { verdict, improvements, regressions, build_pass, test_pass } }`
|
|
115
|
-
|
|
116
|
-
3. If verdict is FAIL, include detailed feedback in message for FIX task creation:
|
|
117
|
-
- Which validations failed, specific errors, suggested investigation areas
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: CHALLENGE
|
|
3
|
-
inner_loop: false
|
|
4
|
-
delegates_to: []
|
|
5
|
-
message_types:
|
|
6
|
-
success: critique_ready
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Challenger
|
|
11
|
-
|
|
12
|
-
Devil's advocate role. Assumption challenging, feasibility questioning, risk identification. Acts as the Critic 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
|
-
| Ideas | <session>/ideas/*.md files | Yes |
|
|
20
|
-
| Previous critiques | <session>/.msg/meta.json critique_insights | No |
|
|
21
|
-
|
|
22
|
-
1. Extract session path from task description (match "Session: <path>")
|
|
23
|
-
2. Glob idea files from <session>/ideas/
|
|
24
|
-
3. Read all idea files for analysis
|
|
25
|
-
4. Read .msg/meta.json critique_insights to avoid repeating past challenges
|
|
26
|
-
|
|
27
|
-
## Phase 3: Critical Analysis
|
|
28
|
-
|
|
29
|
-
**Challenge Dimensions** (apply to each idea):
|
|
30
|
-
|
|
31
|
-
| Dimension | Focus |
|
|
32
|
-
|-----------|-------|
|
|
33
|
-
| Assumption Validity | Does the core assumption hold? Counter-examples? |
|
|
34
|
-
| Feasibility | Technical/resource/time feasibility? |
|
|
35
|
-
| Risk Assessment | Worst case scenario? Hidden risks? |
|
|
36
|
-
| Competitive Analysis | Better alternatives already exist? |
|
|
37
|
-
|
|
38
|
-
**Severity Classification**:
|
|
39
|
-
|
|
40
|
-
| Severity | Criteria |
|
|
41
|
-
|----------|----------|
|
|
42
|
-
| CRITICAL | Fundamental issue, idea may need replacement |
|
|
43
|
-
| HIGH | Significant flaw, requires revision |
|
|
44
|
-
| MEDIUM | Notable weakness, needs consideration |
|
|
45
|
-
| LOW | Minor concern, does not invalidate the idea |
|
|
46
|
-
|
|
47
|
-
**Generator-Critic Signal**:
|
|
48
|
-
|
|
49
|
-
| Condition | Signal |
|
|
50
|
-
|-----------|--------|
|
|
51
|
-
| Any CRITICAL or HIGH severity | REVISION_NEEDED |
|
|
52
|
-
| All MEDIUM or lower | CONVERGED |
|
|
53
|
-
|
|
54
|
-
**Output**: Write to `<session>/critiques/critique-<num>.md`
|
|
55
|
-
- Sections: Ideas Reviewed, Per-idea challenges with severity, Summary table with counts, GC Signal
|
|
56
|
-
|
|
57
|
-
## Phase 4: Severity Summary
|
|
58
|
-
|
|
59
|
-
1. Count challenges by severity level
|
|
60
|
-
2. Determine signal: REVISION_NEEDED if critical+high > 0, else CONVERGED
|
|
61
|
-
3. Update shared state:
|
|
62
|
-
- Append challenges to .msg/meta.json critique_insights
|
|
63
|
-
- Each entry: idea, severity, key_challenge, round
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
prefix: EVAL
|
|
3
|
-
inner_loop: false
|
|
4
|
-
delegates_to: []
|
|
5
|
-
message_types:
|
|
6
|
-
success: evaluation_ready
|
|
7
|
-
error: error
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Evaluator
|
|
11
|
-
|
|
12
|
-
Scoring, ranking, and final selection. Multi-dimension evaluation of synthesized proposals with weighted scoring and priority recommendations.
|
|
13
|
-
|
|
14
|
-
## Phase 2: Context Loading
|
|
15
|
-
|
|
16
|
-
| Input | Source | Required |
|
|
17
|
-
|-------|--------|----------|
|
|
18
|
-
| Session folder | Task description (Session: line) | Yes |
|
|
19
|
-
| Synthesis results | <session>/synthesis/*.md files | Yes |
|
|
20
|
-
| All ideas | <session>/ideas/*.md files | No (for context) |
|
|
21
|
-
| All critiques | <session>/critiques/*.md files | No (for context) |
|
|
22
|
-
|
|
23
|
-
1. Extract session path from task description (match "Session: <path>")
|
|
24
|
-
2. Glob synthesis files from <session>/synthesis/
|
|
25
|
-
3. Read all synthesis files for evaluation
|
|
26
|
-
4. Optionally read ideas and critiques for full context
|
|
27
|
-
|
|
28
|
-
## Phase 3: Evaluation and Scoring
|
|
29
|
-
|
|
30
|
-
**Scoring Dimensions**:
|
|
31
|
-
|
|
32
|
-
| Dimension | Weight | Focus |
|
|
33
|
-
|-----------|--------|-------|
|
|
34
|
-
| Feasibility | 30% | Technical feasibility, resource needs, timeline |
|
|
35
|
-
| Innovation | 25% | Novelty, differentiation, breakthrough potential |
|
|
36
|
-
| Impact | 25% | Scope of impact, value creation, problem resolution |
|
|
37
|
-
| Cost Efficiency | 20% | Implementation cost, risk cost, opportunity cost |
|
|
38
|
-
|
|
39
|
-
**Weighted Score**: `(Feasibility * 0.30) + (Innovation * 0.25) + (Impact * 0.25) + (Cost * 0.20)`
|
|
40
|
-
|
|
41
|
-
**Per-Proposal Evaluation**:
|
|
42
|
-
- Score each dimension (1-10) with rationale
|
|
43
|
-
- Overall recommendation: Strong Recommend / Recommend / Consider / Pass
|
|
44
|
-
|
|
45
|
-
**Output**: Write to `<session>/evaluation/evaluation-<num>.md`
|
|
46
|
-
- Sections: Input summary, Scoring Matrix (ranked table), Detailed Evaluation per proposal, Final Recommendation, Action Items, Risk Summary
|
|
47
|
-
|
|
48
|
-
## Phase 4: Consistency Check
|
|
49
|
-
|
|
50
|
-
| Check | Pass Criteria | Action on Failure |
|
|
51
|
-
|-------|---------------|-------------------|
|
|
52
|
-
| Score spread | max - min >= 0.5 (with >1 proposal) | Re-evaluate differentiators |
|
|
53
|
-
| No perfect scores | Not all 10s | Adjust to reflect critique findings |
|
|
54
|
-
| Ranking deterministic | Consistent ranking | Verify calculation |
|
|
55
|
-
|
|
56
|
-
After passing checks, update shared state:
|
|
57
|
-
- Set .msg/meta.json evaluation_scores
|
|
58
|
-
- Each entry: title, weighted_score, rank, recommendation
|
|
@@ -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.
|