claude-code-workflow 7.2.27 → 7.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.ccw/specs/architecture-constraints.md +5 -0
- package/.claude/skills/_shared/SKILL-DESIGN-SPEC.md +140 -0
- package/.claude/skills/investigate/SKILL.md +110 -0
- package/.claude/skills/investigate/phases/01-root-cause-investigation.md +132 -0
- package/.claude/skills/investigate/phases/02-pattern-analysis.md +126 -0
- package/.claude/skills/investigate/phases/03-hypothesis-testing.md +177 -0
- package/.claude/skills/investigate/phases/04-implementation.md +139 -0
- package/.claude/skills/investigate/phases/05-verification-report.md +153 -0
- package/.claude/skills/investigate/specs/debug-report-format.md +226 -0
- package/.claude/skills/investigate/specs/iron-law.md +101 -0
- package/.claude/skills/security-audit/SKILL.md +125 -0
- package/.claude/skills/security-audit/phases/01-supply-chain-scan.md +139 -0
- package/.claude/skills/security-audit/phases/02-owasp-review.md +156 -0
- package/.claude/skills/security-audit/phases/03-threat-modeling.md +180 -0
- package/.claude/skills/security-audit/phases/04-report-tracking.md +177 -0
- package/.claude/skills/security-audit/specs/owasp-checklist.md +442 -0
- package/.claude/skills/security-audit/specs/scoring-gates.md +141 -0
- package/.claude/skills/ship/SKILL.md +105 -0
- package/.claude/skills/ship/phases/01-preflight-checks.md +121 -0
- package/.claude/skills/ship/phases/02-code-review.md +137 -0
- package/.claude/skills/ship/phases/03-version-bump.md +171 -0
- package/.claude/skills/ship/phases/04-changelog-commit.md +167 -0
- package/.claude/skills/ship/phases/05-pr-creation.md +163 -0
- package/.claude/skills/skill-generator/templates/sequential-phase.md +10 -0
- package/.claude/skills/skill-generator/templates/skill-md.md +4 -0
- package/.claude/skills/team-interactive-craft/SKILL.md +127 -0
- package/.claude/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.claude/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +192 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +183 -0
- package/.claude/skills/team-interactive-craft/roles/coordinator/role.md +166 -0
- package/.claude/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.claude/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.claude/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.claude/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.claude/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.claude/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.claude/skills/team-motion-design/SKILL.md +129 -0
- package/.claude/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.claude/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/dispatch.md +203 -0
- package/.claude/skills/team-motion-design/roles/coordinator/commands/monitor.md +184 -0
- package/.claude/skills/team-motion-design/roles/coordinator/role.md +167 -0
- package/.claude/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.claude/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.claude/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.claude/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.claude/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.claude/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.claude/skills/team-motion-design/specs/team-config.json +99 -0
- package/.claude/skills/team-ui-polish/SKILL.md +127 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +194 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/commands/monitor.md +180 -0
- package/.claude/skills/team-ui-polish/roles/coordinator/role.md +170 -0
- package/.claude/skills/team-ui-polish/roles/diagnostician/role.md +160 -0
- package/.claude/skills/team-ui-polish/roles/optimizer/role.md +225 -0
- package/.claude/skills/team-ui-polish/roles/scanner/role.md +356 -0
- package/.claude/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.claude/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.claude/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.claude/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.claude/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.claude/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.claude/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.claude/skills/team-uidesign/SKILL.md +6 -1
- package/.claude/skills/team-uidesign/roles/designer/role.md +28 -4
- package/.claude/skills/team-uidesign/roles/implementer/role.md +25 -3
- package/.claude/skills/team-uidesign/roles/researcher/role.md +21 -2
- package/.claude/skills/team-uidesign/roles/reviewer/role.md +19 -17
- package/.claude/skills/team-uidesign/specs/anti-patterns.md +211 -0
- package/.claude/skills/team-uidesign/specs/design-standards.md +329 -0
- package/.claude/skills/team-uidesign/specs/scoring-guide.md +114 -0
- package/.claude/skills/team-uidesign/specs/team-config.json +1 -1
- package/.claude/skills/team-uidesign/specs/ux-writing.md +86 -0
- package/.claude/skills/team-ux-improve/SKILL.md +3 -0
- package/.claude/skills/team-ux-improve/roles/designer/role.md +30 -0
- package/.claude/skills/team-ux-improve/roles/diagnoser/role.md +16 -1
- package/.claude/skills/team-ux-improve/roles/scanner/role.md +43 -1
- package/.claude/skills/team-ux-improve/specs/anti-patterns.md +103 -0
- package/.claude/skills/team-ux-improve/specs/design-standards.md +54 -0
- package/.claude/skills/team-ux-improve/specs/heuristics.md +88 -0
- package/.claude/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +40 -8
- package/.claude/skills/team-ux-improve/wisdom/patterns/state-management.md +32 -12
- package/.claude/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +35 -11
- package/.claude/skills/team-ux-improve/wisdom/principles/general-ux.md +36 -9
- package/.claude/skills/team-visual-a11y/SKILL.md +143 -0
- package/.claude/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +250 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +204 -0
- package/.claude/skills/team-visual-a11y/roles/coordinator/role.md +169 -0
- package/.claude/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.claude/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.claude/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.claude/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.claude/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.claude/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.claude/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.claude/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.claude/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.claude/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/.codex/skills/investigate/agents/investigator.md +392 -0
- package/.codex/skills/investigate/orchestrator.md +362 -0
- package/.codex/skills/investigate/phases/01-root-cause-investigation.md +212 -0
- package/.codex/skills/investigate/phases/02-pattern-analysis.md +181 -0
- package/.codex/skills/investigate/phases/03-hypothesis-testing.md +214 -0
- package/.codex/skills/investigate/phases/04-implementation.md +195 -0
- package/.codex/skills/investigate/phases/05-verification-report.md +240 -0
- package/.codex/skills/security-audit/agents/security-auditor.md +341 -0
- package/.codex/skills/security-audit/orchestrator.md +384 -0
- package/.codex/skills/security-audit/phases/01-supply-chain-scan.md +226 -0
- package/.codex/skills/security-audit/phases/02-owasp-review.md +232 -0
- package/.codex/skills/security-audit/phases/03-threat-modeling.md +249 -0
- package/.codex/skills/security-audit/phases/04-report-tracking.md +300 -0
- package/.codex/skills/ship/agents/ship-operator.md +318 -0
- package/.codex/skills/ship/orchestrator.md +426 -0
- package/.codex/skills/ship/phases/01-preflight-checks.md +198 -0
- package/.codex/skills/ship/phases/02-code-review.md +228 -0
- package/.codex/skills/ship/phases/03-version-bump.md +259 -0
- package/.codex/skills/ship/phases/04-changelog-commit.md +263 -0
- package/.codex/skills/ship/phases/05-pr-creation.md +280 -0
- package/.codex/skills/team-interactive-craft/SKILL.md +220 -0
- package/.codex/skills/team-interactive-craft/roles/a11y-tester/role.md +159 -0
- package/.codex/skills/team-interactive-craft/roles/builder/role.md +216 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/analyze.md +71 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/dispatch.md +162 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/commands/monitor.md +233 -0
- package/.codex/skills/team-interactive-craft/roles/coordinator/role.md +209 -0
- package/.codex/skills/team-interactive-craft/roles/interaction-designer/role.md +144 -0
- package/.codex/skills/team-interactive-craft/roles/researcher/role.md +131 -0
- package/.codex/skills/team-interactive-craft/specs/interaction-patterns.md +362 -0
- package/.codex/skills/team-interactive-craft/specs/pipelines.md +85 -0
- package/.codex/skills/team-interactive-craft/specs/team-config.json +105 -0
- package/.codex/skills/team-interactive-craft/specs/vanilla-constraints.md +83 -0
- package/.codex/skills/team-motion-design/SKILL.md +222 -0
- package/.codex/skills/team-motion-design/roles/animator/role.md +194 -0
- package/.codex/skills/team-motion-design/roles/choreographer/role.md +164 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/analyze.md +64 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/dispatch.md +168 -0
- package/.codex/skills/team-motion-design/roles/coordinator/commands/monitor.md +242 -0
- package/.codex/skills/team-motion-design/roles/coordinator/role.md +210 -0
- package/.codex/skills/team-motion-design/roles/motion-researcher/role.md +115 -0
- package/.codex/skills/team-motion-design/roles/motion-tester/role.md +175 -0
- package/.codex/skills/team-motion-design/specs/gpu-constraints.md +114 -0
- package/.codex/skills/team-motion-design/specs/motion-tokens.md +128 -0
- package/.codex/skills/team-motion-design/specs/pipelines.md +74 -0
- package/.codex/skills/team-motion-design/specs/reduced-motion.md +129 -0
- package/.codex/skills/team-motion-design/specs/team-config.json +99 -0
- package/.codex/skills/team-ui-polish/SKILL.md +218 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/analyze.md +77 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/dispatch.md +167 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/commands/monitor.md +230 -0
- package/.codex/skills/team-ui-polish/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-ui-polish/roles/diagnostician/role.md +164 -0
- package/.codex/skills/team-ui-polish/roles/optimizer/role.md +229 -0
- package/.codex/skills/team-ui-polish/roles/scanner/role.md +360 -0
- package/.codex/skills/team-ui-polish/roles/verifier/role.md +142 -0
- package/.codex/skills/team-ui-polish/specs/anti-patterns.md +141 -0
- package/.codex/skills/team-ui-polish/specs/design-standards.md +356 -0
- package/.codex/skills/team-ui-polish/specs/fix-strategies.md +235 -0
- package/.codex/skills/team-ui-polish/specs/pipelines.md +81 -0
- package/.codex/skills/team-ui-polish/specs/scoring-guide.md +162 -0
- package/.codex/skills/team-ui-polish/specs/team-config.json +73 -0
- package/.codex/skills/team-visual-a11y/SKILL.md +319 -0
- package/.codex/skills/team-visual-a11y/roles/color-auditor/role.md +178 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/analyze.md +72 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/dispatch.md +188 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/commands/monitor.md +281 -0
- package/.codex/skills/team-visual-a11y/roles/coordinator/role.md +213 -0
- package/.codex/skills/team-visual-a11y/roles/fix-implementer/role.md +246 -0
- package/.codex/skills/team-visual-a11y/roles/focus-auditor/role.md +222 -0
- package/.codex/skills/team-visual-a11y/roles/remediation-planner/role.md +206 -0
- package/.codex/skills/team-visual-a11y/roles/typo-auditor/role.md +185 -0
- package/.codex/skills/team-visual-a11y/specs/focus-patterns.md +325 -0
- package/.codex/skills/team-visual-a11y/specs/oklch-standards.md +130 -0
- package/.codex/skills/team-visual-a11y/specs/pipelines.md +98 -0
- package/.codex/skills/team-visual-a11y/specs/team-config.json +109 -0
- package/.codex/skills/team-visual-a11y/specs/typography-scale.md +165 -0
- package/.codex/skills/team-visual-a11y/specs/wcag-matrix.md +133 -0
- package/README.md +8 -0
- package/ccw/dist/core/hooks/hook-templates.d.ts.map +1 -1
- package/ccw/dist/core/hooks/hook-templates.js +114 -1
- package/ccw/dist/core/hooks/hook-templates.js.map +1 -1
- package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
- package/ccw/dist/core/routes/cli-routes.js +34 -0
- package/ccw/dist/core/routes/cli-routes.js.map +1 -1
- package/ccw/dist/core/routes/system-routes.js +2 -2
- package/ccw/dist/core/routes/system-routes.js.map +1 -1
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js → AlertDialog-BjP1ydDR.js} +2 -2
- package/ccw/frontend/dist/assets/{AlertDialog-Bf1jdqax.js.map → AlertDialog-BjP1ydDR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js → AnalysisPage-CAX3xqMf.js} +2 -2
- package/ccw/frontend/dist/assets/{AnalysisPage-C8niKdp4.js.map → AnalysisPage-CAX3xqMf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js → ApiSettingsPage-CtWlmztq.js} +2 -2
- package/ccw/frontend/dist/assets/{ApiSettingsPage-BL2c3UNS.js.map → ApiSettingsPage-CtWlmztq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js → CliModeToggle-hR4a-eLX.js} +2 -2
- package/ccw/frontend/dist/assets/{CliModeToggle-BePBFynD.js.map → CliModeToggle-hR4a-eLX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js → CliSessionSharePage-DzNPkFN9.js} +2 -2
- package/ccw/frontend/dist/assets/{CliSessionSharePage-7cYtX6FT.js.map → CliSessionSharePage-DzNPkFN9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js → CliViewerPage-BPEGN4TT.js} +2 -2
- package/ccw/frontend/dist/assets/{CliViewerPage-CBwg1mPL.js.map → CliViewerPage-BPEGN4TT.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js → CodexLensPage-Cf0r2RHY.js} +2 -2
- package/ccw/frontend/dist/assets/{CodexLensPage-Bt74xORP.js.map → CodexLensPage-Cf0r2RHY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js → Collapsible-DEm1rJ4h.js} +2 -2
- package/ccw/frontend/dist/assets/{Collapsible-Wrs87QT7.js.map → Collapsible-DEm1rJ4h.js.map} +1 -1
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js → CommandsManagerPage-BpeWw8HO.js} +2 -2
- package/ccw/frontend/dist/assets/{CommandsManagerPage-ChQjmPWZ.js.map → CommandsManagerPage-BpeWw8HO.js.map} +1 -1
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js → DeepWikiPage-BEsmh2vF.js} +2 -2
- package/ccw/frontend/dist/assets/{DeepWikiPage-dEO5wi6X.js.map → DeepWikiPage-BEsmh2vF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js → EndpointsPage-B30SFdtU.js} +2 -2
- package/ccw/frontend/dist/assets/{EndpointsPage-4zq269xY.js.map → EndpointsPage-B30SFdtU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js → ExplorerPage-BVvMpg1O.js} +2 -2
- package/ccw/frontend/dist/assets/{ExplorerPage-B0YTENhA.js.map → ExplorerPage-BVvMpg1O.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js → FixSessionPage-CL73dHbh.js} +2 -2
- package/ccw/frontend/dist/assets/{FixSessionPage-CwGs6dhz.js.map → FixSessionPage-CL73dHbh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js → FloatingFileBrowser-BL-28lMZ.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingFileBrowser-COZRBslc.js.map → FloatingFileBrowser-BL-28lMZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js → FloatingPanel-BzZDciHZ.js} +2 -2
- package/ccw/frontend/dist/assets/{FloatingPanel-DYvgQZRD.js.map → FloatingPanel-BzZDciHZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js → GraphExplorerPage-CDp6-d8P.js} +2 -2
- package/ccw/frontend/dist/assets/{GraphExplorerPage-ewMHQGem.js.map → GraphExplorerPage-CDp6-d8P.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js → HistoryPage-fZY_7O9n.js} +2 -2
- package/ccw/frontend/dist/assets/{HistoryPage-BMeR0PrK.js.map → HistoryPage-fZY_7O9n.js.map} +1 -1
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js → HookManagerPage-4LJeC9bq.js} +2 -2
- package/ccw/frontend/dist/assets/{HookManagerPage-DBW2LnRm.js.map → HookManagerPage-4LJeC9bq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js → InstallationsPage-Bpigrbhw.js} +2 -2
- package/ccw/frontend/dist/assets/{InstallationsPage--pMj0QEH.js.map → InstallationsPage-Bpigrbhw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js → IssueHubPage-BP0zJc1R.js} +2 -2
- package/ccw/frontend/dist/assets/{IssueHubPage-C_QMpQSR.js.map → IssueHubPage-BP0zJc1R.js.map} +1 -1
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js → LiteTasksPage-CSt2oVKQ.js} +2 -2
- package/ccw/frontend/dist/assets/{LiteTasksPage-CSWFdQ2-.js.map → LiteTasksPage-CSt2oVKQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js → McpManagerPage-B-xaMA0w.js} +2 -2
- package/ccw/frontend/dist/assets/{McpManagerPage-Dvv8NtGy.js.map → McpManagerPage-B-xaMA0w.js.map} +1 -1
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js → MemoryPage-CJqo_7DY.js} +2 -2
- package/ccw/frontend/dist/assets/{MemoryPage-YO8WZzZO.js.map → MemoryPage-CJqo_7DY.js.map} +1 -1
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js → NotFoundPage-ibZeQA-Y.js} +2 -2
- package/ccw/frontend/dist/assets/{NotFoundPage-quUJw0CD.js.map → NotFoundPage-ibZeQA-Y.js.map} +1 -1
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js → OrchestratorPage-DgJ4ctPQ.js} +2 -2
- package/ccw/frontend/dist/assets/{OrchestratorPage-tuThWPID.js.map → OrchestratorPage-DgJ4ctPQ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js → ProjectOverviewPage-Cit0Yq0D.js} +2 -2
- package/ccw/frontend/dist/assets/{ProjectOverviewPage-shTilwiT.js.map → ProjectOverviewPage-Cit0Yq0D.js.map} +1 -1
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js → PromptHistoryPage-Ce1HDIK0.js} +2 -2
- package/ccw/frontend/dist/assets/{PromptHistoryPage-6rQnsI8l.js.map → PromptHistoryPage-Ce1HDIK0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js → ReviewSessionPage-J1KikNrk.js} +2 -2
- package/ccw/frontend/dist/assets/{ReviewSessionPage-JOmzjVbT.js.map → ReviewSessionPage-J1KikNrk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js → RulesManagerPage-CdBjTmth.js} +2 -2
- package/ccw/frontend/dist/assets/{RulesManagerPage-Cayfywqi.js.map → RulesManagerPage-CdBjTmth.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js → SessionDetailPage-B9ZK7LvX.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionDetailPage-iMn0k84i.js.map → SessionDetailPage-B9ZK7LvX.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js → SessionsPage-CW_nS5UR.js} +2 -2
- package/ccw/frontend/dist/assets/{SessionsPage-Ciqjy9kz.js.map → SessionsPage-CW_nS5UR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SettingsPage-BPDbXPSM.js → SettingsPage-B2PYzSoO.js} +35 -35
- package/ccw/frontend/dist/assets/SettingsPage-B2PYzSoO.js.map +1 -0
- package/ccw/frontend/dist/assets/{SkillsManagerPage-D3LzbpJY.js → SkillsManagerPage-CTnWrrwp.js} +2 -2
- package/ccw/frontend/dist/assets/{SkillsManagerPage-D3LzbpJY.js.map → SkillsManagerPage-CTnWrrwp.js.map} +1 -1
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js → SpecsSettingsPage-DJpi9XQL.js} +2 -2
- package/ccw/frontend/dist/assets/{SpecsSettingsPage-BpkJctzo.js.map → SpecsSettingsPage-DJpi9XQL.js.map} +1 -1
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js → Switch-Ac6Ov7uy.js} +2 -2
- package/ccw/frontend/dist/assets/{Switch-BpB9h__9.js.map → Switch-Ac6Ov7uy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js → TabsNavigation-DZAAspqR.js} +2 -2
- package/ccw/frontend/dist/assets/{TabsNavigation-BGsKy7DO.js.map → TabsNavigation-DZAAspqR.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js → TaskDrawer-BJkwfhIZ.js} +2 -2
- package/ccw/frontend/dist/assets/{TaskDrawer-bYIlbM0Q.js.map → TaskDrawer-BJkwfhIZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js → TeamPage-BJgjxBgb.js} +2 -2
- package/ccw/frontend/dist/assets/{TeamPage-CihtQ6LQ.js.map → TeamPage-BJgjxBgb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js → TerminalDashboardPage-D1WekoOy.js} +2 -2
- package/ccw/frontend/dist/assets/{TerminalDashboardPage-BDnNF_ud.js.map → TerminalDashboardPage-D1WekoOy.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js → archive-DxemgIhF.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-CQJ86bQp.js.map → archive-DxemgIhF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js → archive-restore-CjS83f1V.js} +2 -2
- package/ccw/frontend/dist/assets/{archive-restore-BhTfDbPU.js.map → archive-restore-CjS83f1V.js.map} +1 -1
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js → arrow-right-B5PUcn8I.js} +2 -2
- package/ccw/frontend/dist/assets/{arrow-right-eUAZnT9C.js.map → arrow-right-B5PUcn8I.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js → bookmark-plus-DCc9aPbb.js} +2 -2
- package/ccw/frontend/dist/assets/{bookmark-plus-ilF5-V-k.js.map → bookmark-plus-DCc9aPbb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js → bot-DOwFtzak.js} +2 -2
- package/ccw/frontend/dist/assets/{bot-BLkaQscs.js.map → bot-DOwFtzak.js.map} +1 -1
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js → braces-96qH3aFh.js} +2 -2
- package/ccw/frontend/dist/assets/{braces-D9HdgsO6.js.map → braces-96qH3aFh.js.map} +1 -1
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js → circle-stop-CCxSuil1.js} +2 -2
- package/ccw/frontend/dist/assets/{circle-stop-C3ZF1okQ.js.map → circle-stop-CCxSuil1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js → cpu-CZNSJFdq.js} +2 -2
- package/ccw/frontend/dist/assets/{cpu-B-QjaSjm.js.map → cpu-CZNSJFdq.js.map} +1 -1
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js → ellipsis-vertical-h8xtvw2_.js} +2 -2
- package/ccw/frontend/dist/assets/{ellipsis-vertical-CbNlw2gS.js.map → ellipsis-vertical-h8xtvw2_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js → eye-D3NY0bm6.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-yAy69Cnn.js.map → eye-D3NY0bm6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js → eye-off-Cy2vkc8p.js} +2 -2
- package/ccw/frontend/dist/assets/{eye-off-D5uzLZyP.js.map → eye-off-Cy2vkc8p.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js → file-json-Bzq3U1Mx.js} +2 -2
- package/ccw/frontend/dist/assets/{file-json-rwo1NowL.js.map → file-json-Bzq3U1Mx.js.map} +1 -1
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js → file-text-DwuwPDPi.js} +2 -2
- package/ccw/frontend/dist/assets/{file-text-DRkrjie9.js.map → file-text-DwuwPDPi.js.map} +1 -1
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js → filter-q9g-bknU.js} +2 -2
- package/ccw/frontend/dist/assets/{filter-BOe-OTu1.js.map → filter-q9g-bknU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js → folder-CL6vb42J.js} +2 -2
- package/ccw/frontend/dist/assets/{folder-BaWZWn_r.js.map → folder-CL6vb42J.js.map} +1 -1
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js → gauge-BkrcQBly.js} +2 -2
- package/ccw/frontend/dist/assets/{gauge-kazFexTr.js.map → gauge-BkrcQBly.js.map} +1 -1
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js → globe-BQbwyNeV.js} +2 -2
- package/ccw/frontend/dist/assets/{globe-BuHeEjxd.js.map → globe-BQbwyNeV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js → grid-3x3-x5_7DrN7.js} +2 -2
- package/ccw/frontend/dist/assets/{grid-3x3-DbhuUu4V.js.map → grid-3x3-x5_7DrN7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js → hard-drive-DTyWXwzf.js} +2 -2
- package/ccw/frontend/dist/assets/{hard-drive-AoLGL0z4.js.map → hard-drive-DTyWXwzf.js.map} +1 -1
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js → hash-80O0kJO7.js} +2 -2
- package/ccw/frontend/dist/assets/{hash-Dpo1exMB.js.map → hash-80O0kJO7.js.map} +1 -1
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js → history-DDlN2Bwa.js} +2 -2
- package/ccw/frontend/dist/assets/{history-ujQnmMC9.js.map → history-DDlN2Bwa.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js → index-B9A3Hnrk.js} +2 -2
- package/ccw/frontend/dist/assets/{index-CxzXz6o1.js.map → index-B9A3Hnrk.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-B76AGix5.js → index-Bs80iCX0.js} +2 -2
- package/ccw/frontend/dist/assets/{index-B76AGix5.js.map → index-Bs80iCX0.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js → index-mbeo62f8.js} +2 -2
- package/ccw/frontend/dist/assets/{index-C_Yf5fZ4.js.map → index-mbeo62f8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js → index-rLgoBCfV.js} +3 -3
- package/ccw/frontend/dist/assets/{index-Dff4bg3u.js.map → index-rLgoBCfV.js.map} +1 -1
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js → layout-grid-C1niOWJx.js} +2 -2
- package/ccw/frontend/dist/assets/{layout-grid-CBdE4K8h.js.map → layout-grid-C1niOWJx.js.map} +1 -1
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js → lightbulb-BTmI7SUg.js} +2 -2
- package/ccw/frontend/dist/assets/{lightbulb-B9K6ZgRp.js.map → lightbulb-BTmI7SUg.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js → link-2-CB9HKeuZ.js} +2 -2
- package/ccw/frontend/dist/assets/{link-2-Oea4xHJl.js.map → link-2-CB9HKeuZ.js.map} +1 -1
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js → link-koEYiemK.js} +2 -2
- package/ccw/frontend/dist/assets/{link-5yXdZBch.js.map → link-koEYiemK.js.map} +1 -1
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js → list-v2_GaLdC.js} +2 -2
- package/ccw/frontend/dist/assets/{list-9lHhC_U_.js.map → list-v2_GaLdC.js.map} +1 -1
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js → map-pin-BQNfAqG_.js} +2 -2
- package/ccw/frontend/dist/assets/{map-pin-B6Io5kmB.js.map → map-pin-BQNfAqG_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js → messages-square-Dzq5LGg9.js} +2 -2
- package/ccw/frontend/dist/assets/{messages-square-BT000aD3.js.map → messages-square-Dzq5LGg9.js.map} +1 -1
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js → minimize-2-CtkoJXcz.js} +2 -2
- package/ccw/frontend/dist/assets/{minimize-2-DO-zbT3a.js.map → minimize-2-CtkoJXcz.js.map} +1 -1
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js → package-CH3smL37.js} +2 -2
- package/ccw/frontend/dist/assets/{package-BjOw1ldU.js.map → package-CH3smL37.js.map} +1 -1
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js → plug-CZ0aL_yF.js} +2 -2
- package/ccw/frontend/dist/assets/{plug-9dAARpE1.js.map → plug-CZ0aL_yF.js.map} +1 -1
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js → power-F2A_J4l6.js} +2 -2
- package/ccw/frontend/dist/assets/{power-K2S39x7f.js.map → power-F2A_J4l6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js → save-Byxot0YU.js} +2 -2
- package/ccw/frontend/dist/assets/{save-D9-CoT3x.js.map → save-Byxot0YU.js.map} +1 -1
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js → send-JjqhUkpw.js} +2 -2
- package/ccw/frontend/dist/assets/{send-Bunw9NtC.js.map → send-JjqhUkpw.js.map} +1 -1
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js → settings-2--SuN9rAt.js} +2 -2
- package/ccw/frontend/dist/assets/{settings-2-osl4EXFf.js.map → settings-2--SuN9rAt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js → square-check-big-BbngGB2h.js} +2 -2
- package/ccw/frontend/dist/assets/{square-check-big-Dl5gYkjR.js.map → square-check-big-BbngGB2h.js.map} +1 -1
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js → square-pen-CgrHgZSl.js} +2 -2
- package/ccw/frontend/dist/assets/{square-pen-Bue1chJR.js.map → square-pen-CgrHgZSl.js.map} +1 -1
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js → star-BU3TQr7Z.js} +2 -2
- package/ccw/frontend/dist/assets/{star-Bk7EC7FB.js.map → star-BU3TQr7Z.js.map} +1 -1
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js → style-CKs7nnn3.js} +2 -2
- package/ccw/frontend/dist/assets/{style-BbREPmRj.js.map → style-CKs7nnn3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js → target-DW5tsDW6.js} +2 -2
- package/ccw/frontend/dist/assets/{target-CElrCVhR.js.map → target-DW5tsDW6.js.map} +1 -1
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js → test-tube-BHm7w3ON.js} +2 -2
- package/ccw/frontend/dist/assets/{test-tube-wciJaoas.js.map → test-tube-BHm7w3ON.js.map} +1 -1
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js → upload-DYR7PWwt.js} +2 -2
- package/ccw/frontend/dist/assets/{upload-BD1F07wG.js.map → upload-DYR7PWwt.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js → useApiSettings-D0TVgQD_.js} +2 -2
- package/ccw/frontend/dist/assets/{useApiSettings-D23HVEt8.js.map → useApiSettings-D0TVgQD_.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js → useCli-DfY8mAP8.js} +2 -2
- package/ccw/frontend/dist/assets/{useCli-BGDd_lXD.js.map → useCli-DfY8mAP8.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js → useCommands-CGusDp0F.js} +2 -2
- package/ccw/frontend/dist/assets/{useCommands-B-m_HxPB.js.map → useCommands-CGusDp0F.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js → useDebounce-CIwh0fF1.js} +2 -2
- package/ccw/frontend/dist/assets/{useDebounce-Z18-PHZr.js.map → useDebounce-CIwh0fF1.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js → useFileExplorer-FMyFv39K.js} +2 -2
- package/ccw/frontend/dist/assets/{useFileExplorer-D4gPp-LB.js.map → useFileExplorer-FMyFv39K.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js → useLocale-B2qhsoTb.js} +2 -2
- package/ccw/frontend/dist/assets/{useLocale-DJ62jjFa.js.map → useLocale-B2qhsoTb.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js → useSkills-cxKXMBm3.js} +3 -3
- package/ccw/frontend/dist/assets/{useSkills-B8NPs9__.js.map → useSkills-cxKXMBm3.js.map} +1 -1
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js → useSystemSettings-B-xUT_z-.js} +2 -2
- package/ccw/frontend/dist/assets/{useSystemSettings-CVi7nKGJ.js.map → useSystemSettings-B-xUT_z-.js.map} +1 -1
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js → wand-sparkles-DZV_3lPr.js} +2 -2
- package/ccw/frontend/dist/assets/{wand-sparkles-CLjPiU5w.js.map → wand-sparkles-DZV_3lPr.js.map} +1 -1
- package/ccw/frontend/dist/index.html +1 -1
- package/package.json +105 -105
- package/ccw/frontend/dist/assets/SettingsPage-BPDbXPSM.js.map +0 -1
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Fix Strategies
|
|
2
|
+
|
|
3
|
+
Maps issue categories to Impeccable fix strategies. Used by diagnostician for fix planning and optimizer for implementation guidance.
|
|
4
|
+
|
|
5
|
+
## Strategy Index
|
|
6
|
+
|
|
7
|
+
| Issue Category | Fix Strategy | Impeccable Concept | Scope |
|
|
8
|
+
|----------------|-------------|-------------------|-------|
|
|
9
|
+
| AI slop aesthetic | De-template | normalize + critique | Systemic |
|
|
10
|
+
| Color problems | Colorize | colorize | Systemic / Per-file |
|
|
11
|
+
| Typography issues | Typeset | typeset | Systemic |
|
|
12
|
+
| Spacing/layout | Arrange | arrange | Systemic / Per-file |
|
|
13
|
+
| Animation issues | Animate | animate | Per-file |
|
|
14
|
+
| Missing states | Harden | harden + polish | Per-component |
|
|
15
|
+
| Visual noise | Simplify | quieter + distill | Per-component |
|
|
16
|
+
| Too bland/weak | Strengthen | bolder + delight | Per-component |
|
|
17
|
+
| Inconsistency | Normalize | normalize | Systemic |
|
|
18
|
+
| Final pass | Polish | polish | Per-component |
|
|
19
|
+
| Hierarchy issues | Clarify | distill + bolder | Per-page |
|
|
20
|
+
| Responsive issues | Adapt | adapt | Per-component |
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## De-template (Anti-AI-Slop)
|
|
25
|
+
|
|
26
|
+
**When**: Anti-patterns dimension score 0-2 (AI slop or heavy AI influence)
|
|
27
|
+
|
|
28
|
+
**Strategy**:
|
|
29
|
+
1. Replace generic fonts with distinctive alternatives (see design-standards.md Typography)
|
|
30
|
+
2. Convert gradient text to solid accent colors with weight/size emphasis instead
|
|
31
|
+
3. Break identical card grids: vary sizes, add featured card, introduce asymmetry
|
|
32
|
+
4. Remove decorative glassmorphism (keep functional like overlays)
|
|
33
|
+
5. Redesign hero metrics with intentional hierarchy, not template layout
|
|
34
|
+
6. Flatten nested cards into single-level with spacing
|
|
35
|
+
7. Add left-alignment for body text, centering only for specific hero elements
|
|
36
|
+
8. Create button hierarchy: 1 primary, ghost secondary, text tertiary
|
|
37
|
+
9. Introduce spacing rhythm (tight within groups, generous between sections)
|
|
38
|
+
10. Replace bounce easing with exponential curves
|
|
39
|
+
|
|
40
|
+
**Dependency**: Requires Colorize and Typeset to be planned (often executed together).
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Colorize
|
|
45
|
+
|
|
46
|
+
**When**: Color dimension score 0-2 or any P0/P1 color issues
|
|
47
|
+
|
|
48
|
+
**Strategy**:
|
|
49
|
+
1. **Token foundation** (if no tokens exist):
|
|
50
|
+
- Create CSS custom property file with full neutral scale (50-950)
|
|
51
|
+
- Define primary, semantic (success/warning/error/info), and surface tokens
|
|
52
|
+
- All neutrals tinted toward brand hue (OKLCH chroma 0.005-0.01)
|
|
53
|
+
|
|
54
|
+
2. **Pure black/white removal**:
|
|
55
|
+
- `#000` -> `oklch(0.08-0.15 0.01 <hue>)` (near-black, brand tinted)
|
|
56
|
+
- `#fff` -> `oklch(0.97-0.99 0.005 <hue>)` (near-white, brand tinted)
|
|
57
|
+
|
|
58
|
+
3. **Gray tinting**:
|
|
59
|
+
- Convert all pure grays to brand-tinted variants
|
|
60
|
+
- Add chroma 0.005-0.01 at brand hue
|
|
61
|
+
|
|
62
|
+
4. **Contrast fixes**:
|
|
63
|
+
- Measure each text/background pair
|
|
64
|
+
- Adjust lightness until WCAG AA met (4.5:1 normal, 3:1 large)
|
|
65
|
+
|
|
66
|
+
5. **OKLCH conversion**:
|
|
67
|
+
- Convert key palette colors from hex/hsl to oklch
|
|
68
|
+
- Generate tint/shade scales in OKLCH for perceptual uniformity
|
|
69
|
+
|
|
70
|
+
6. **60-30-10 enforcement**:
|
|
71
|
+
- Audit accent color usage, reduce to ~10%
|
|
72
|
+
- Ensure neutral dominates at ~60%
|
|
73
|
+
|
|
74
|
+
**Dependency**: Should run before De-template (anti-slop fixes may need new colors).
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Typeset
|
|
79
|
+
|
|
80
|
+
**When**: Typography dimension score 0-2 or muddy hierarchy
|
|
81
|
+
|
|
82
|
+
**Strategy**:
|
|
83
|
+
1. **Font replacement**: Swap generic fonts for distinctive alternatives
|
|
84
|
+
- Body: Plus Jakarta Sans, Instrument Sans, DM Sans, Geist
|
|
85
|
+
- Display: Space Grotesk, Manrope, Fraunces
|
|
86
|
+
2. **Scale establishment**: Choose modular ratio (1.25 or 1.333 recommended), generate size scale
|
|
87
|
+
3. **Fluid sizing**: Add `clamp()` for h1-h3 display sizes
|
|
88
|
+
4. **Line length**: Add `max-width: 65ch` to prose containers
|
|
89
|
+
5. **Vertical rhythm**: Set line-height system (1.5 body, 1.2 headings)
|
|
90
|
+
6. **Font loading**: Add `font-display: swap` to all @font-face
|
|
91
|
+
|
|
92
|
+
**Dependency**: Run before Clarify (hierarchy depends on type scale).
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Arrange
|
|
97
|
+
|
|
98
|
+
**When**: Spacing dimension score 0-2 or arbitrary spacing values
|
|
99
|
+
|
|
100
|
+
**Strategy**:
|
|
101
|
+
1. **Scale creation**: Define 4pt base scale as CSS custom properties
|
|
102
|
+
2. **Value replacement**: Map arbitrary values to nearest scale value
|
|
103
|
+
3. **Rhythm introduction**: Tight (4-8px) within groups, comfortable (16-24px) between items, generous (48-96px) between sections
|
|
104
|
+
4. **Card flattening**: Remove nested cards, replace with spacing + subtle dividers
|
|
105
|
+
5. **Gap conversion**: Replace margin between siblings with gap on flex/grid parent
|
|
106
|
+
6. **Touch targets**: Ensure all interactive elements are 44x44px minimum
|
|
107
|
+
|
|
108
|
+
**Dependency**: Independent, but benefits from Colorize tokens being in place.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Animate
|
|
113
|
+
|
|
114
|
+
**When**: Motion dimension score 0-2 or layout property animations
|
|
115
|
+
|
|
116
|
+
**Strategy**:
|
|
117
|
+
1. **Property fix**: Replace layout animations (width/height/margin/padding) with transform+opacity
|
|
118
|
+
2. **Easing fix**: Replace ease/linear/bounce with exponential curves
|
|
119
|
+
3. **Reduced-motion**: Add `@media (prefers-reduced-motion: reduce)` global rule
|
|
120
|
+
4. **Token system**: Create duration + easing custom properties
|
|
121
|
+
5. **Stagger cap**: Cap stagger at 10 items, 500ms total
|
|
122
|
+
6. **will-change**: Remove from CSS, document JS activation pattern
|
|
123
|
+
|
|
124
|
+
**Dependency**: Independent.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Harden
|
|
129
|
+
|
|
130
|
+
**When**: Interaction states dimension score 0-2 or missing critical states
|
|
131
|
+
|
|
132
|
+
**Strategy**:
|
|
133
|
+
1. **Hover**: Add `:hover` with subtle visual change, wrap in `@media(hover:hover)`
|
|
134
|
+
2. **Focus**: Add `:focus-visible` with 2px solid accent ring, offset 2px
|
|
135
|
+
3. **Active**: Add `:active` with scale(0.97) or darker background
|
|
136
|
+
4. **Disabled**: Add `[disabled]` with opacity 0.5, cursor not-allowed
|
|
137
|
+
5. **Loading**: Add aria-busy pattern with spinner/skeleton
|
|
138
|
+
6. **Error/Success**: Add form validation visual states
|
|
139
|
+
7. **Focus ring**: Ensure 3:1 contrast against all adjacent colors
|
|
140
|
+
8. **Labels**: Replace placeholder-as-label with visible `<label>` elements
|
|
141
|
+
9. **Touch targets**: Pad interactive elements to 44px minimum
|
|
142
|
+
|
|
143
|
+
**Dependency**: Requires Colorize tokens for consistent state colors.
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Simplify (quieter + distill)
|
|
148
|
+
|
|
149
|
+
**When**: Visual noise, too many decorations, competing elements
|
|
150
|
+
|
|
151
|
+
**Strategy**:
|
|
152
|
+
1. Remove decorative elements that do not aid comprehension
|
|
153
|
+
2. Mute icon colors (reduce saturation/opacity)
|
|
154
|
+
3. Remove background decorations and unnecessary borders
|
|
155
|
+
4. Reduce shadow intensity
|
|
156
|
+
5. Simplify card borders (remove or lighten)
|
|
157
|
+
6. Remove sparkline decorations without data value
|
|
158
|
+
|
|
159
|
+
**Dependency**: Independent.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Strengthen (bolder + delight)
|
|
164
|
+
|
|
165
|
+
**When**: Too bland, everything same weight, no emphasis
|
|
166
|
+
|
|
167
|
+
**Strategy**:
|
|
168
|
+
1. Increase primary element size by 1.5-2x
|
|
169
|
+
2. Add color saturation to primary CTA
|
|
170
|
+
3. Increase weight contrast (bold primary, regular secondary)
|
|
171
|
+
4. Add subtle micro-interactions (hover lift, active press)
|
|
172
|
+
5. Introduce one distinctive element (asymmetric layout, unexpected color, custom illustration)
|
|
173
|
+
|
|
174
|
+
**Dependency**: Requires Typeset and Colorize to be in place.
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Clarify (hierarchy)
|
|
179
|
+
|
|
180
|
+
**When**: Visual hierarchy dimension score 0-2 or fails squint test
|
|
181
|
+
|
|
182
|
+
**Strategy**:
|
|
183
|
+
1. Identify primary element, increase to 3:1 ratio over body
|
|
184
|
+
2. Use 2-3 hierarchy tools together (size + weight + color)
|
|
185
|
+
3. Group related content with proximity (smaller gaps within, larger between)
|
|
186
|
+
4. Reduce visual weight of competing secondary elements
|
|
187
|
+
5. Ensure only 1 primary CTA per viewport
|
|
188
|
+
6. Add progressive disclosure where appropriate
|
|
189
|
+
|
|
190
|
+
**Dependency**: Requires Typeset (size hierarchy) and Colorize (color hierarchy).
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Adapt (responsive)
|
|
195
|
+
|
|
196
|
+
**When**: Responsive dimension score 0-2 or broken mobile experience
|
|
197
|
+
|
|
198
|
+
**Strategy**:
|
|
199
|
+
1. Replace fixed widths with fluid (%, vw, fr, min/max/clamp)
|
|
200
|
+
2. Add missing breakpoints (640, 768, 1024, 1280px)
|
|
201
|
+
3. Fix overflow (horizontal scroll causes)
|
|
202
|
+
4. Fix mobile text sizes (minimum 14px)
|
|
203
|
+
5. Fix touch targets (minimum 44px)
|
|
204
|
+
6. Add container queries for component-level responsive
|
|
205
|
+
7. Restructure hidden content (adapt, don't hide)
|
|
206
|
+
8. Add viewport meta tag if missing
|
|
207
|
+
|
|
208
|
+
**Dependency**: Run last -- tests all other fixes at different viewports.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Fix Order (Default)
|
|
213
|
+
|
|
214
|
+
When applying all strategies in a full polish cycle:
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
Phase 1: Foundation
|
|
218
|
+
1. Colorize (token system + color fixes)
|
|
219
|
+
2. Typeset (font + scale + fluid sizing)
|
|
220
|
+
3. Arrange (spacing scale + layout)
|
|
221
|
+
|
|
222
|
+
Phase 2: Aesthetic
|
|
223
|
+
4. De-template (anti-AI-slop cleanup)
|
|
224
|
+
5. Simplify or Strengthen (as needed)
|
|
225
|
+
|
|
226
|
+
Phase 3: Interaction
|
|
227
|
+
6. Animate (motion system)
|
|
228
|
+
7. Harden (interaction states)
|
|
229
|
+
|
|
230
|
+
Phase 4: Structure
|
|
231
|
+
8. Clarify (visual hierarchy)
|
|
232
|
+
|
|
233
|
+
Phase 5: Validation
|
|
234
|
+
9. Adapt (responsive -- tests everything)
|
|
235
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Pipeline Definitions
|
|
2
|
+
|
|
3
|
+
UI polish pipeline modes and task registry.
|
|
4
|
+
|
|
5
|
+
## Pipeline Modes
|
|
6
|
+
|
|
7
|
+
| Mode | Description | Task Count |
|
|
8
|
+
|------|-------------|------------|
|
|
9
|
+
| scan-only | Discover + diagnose, report only | 2 tasks |
|
|
10
|
+
| targeted | Fix specific dimensions: scan -> diagnose -> optimize -> verify | 4 tasks |
|
|
11
|
+
| full | Complete polish cycle with GC loop on verify failure | 4 tasks + GC |
|
|
12
|
+
|
|
13
|
+
## Scan-Only Pipeline Task Registry
|
|
14
|
+
|
|
15
|
+
| Task ID | Role | blockedBy | Description |
|
|
16
|
+
|---------|------|-----------|-------------|
|
|
17
|
+
| SCAN-001 | scanner | [] | 8-dimension UI audit against Impeccable design standards |
|
|
18
|
+
| DIAG-001 | diagnostician | [SCAN-001] | Root cause analysis, severity classification, fix dependency graph |
|
|
19
|
+
|
|
20
|
+
## Targeted Pipeline Task Registry
|
|
21
|
+
|
|
22
|
+
| Task ID | Role | blockedBy | Description |
|
|
23
|
+
|---------|------|-----------|-------------|
|
|
24
|
+
| SCAN-001 | scanner | [] | 8-dimension UI audit (filtered to target dimensions) |
|
|
25
|
+
| DIAG-001 | diagnostician | [SCAN-001] | Root cause analysis for targeted dimensions |
|
|
26
|
+
| OPT-001 | optimizer | [DIAG-001] | Apply targeted fixes per Impeccable standards |
|
|
27
|
+
| VERIFY-001 | verifier | [OPT-001] | Before/after comparison, regression check |
|
|
28
|
+
|
|
29
|
+
## Full Pipeline Task Registry
|
|
30
|
+
|
|
31
|
+
| Task ID | Role | blockedBy | Description |
|
|
32
|
+
|---------|------|-----------|-------------|
|
|
33
|
+
| SCAN-001 | scanner | [] | Full 8-dimension UI audit |
|
|
34
|
+
| DIAG-001 | diagnostician | [SCAN-001] | Complete root cause analysis with fix dependency graph |
|
|
35
|
+
| OPT-001 | optimizer | [DIAG-001] | Apply all fixes in dependency order |
|
|
36
|
+
| VERIFY-001 | verifier | [OPT-001] | Verification with GC loop trigger |
|
|
37
|
+
|
|
38
|
+
## GC Loop (Full Mode Only)
|
|
39
|
+
|
|
40
|
+
| Checkpoint | Task | Condition | Action |
|
|
41
|
+
|------------|------|-----------|--------|
|
|
42
|
+
| VERIFY completes | VERIFY-* | verify_passed (no regressions, score >= before) | Pipeline complete |
|
|
43
|
+
| VERIFY completes | VERIFY-* | verify_failed (non-critical regressions) | gc_rounds < 2 -> create OPT-fix task |
|
|
44
|
+
| VERIFY completes | VERIFY-* | fix_required (critical regressions or score drop) | gc_rounds < 2 -> create OPT-fix task (CRITICAL) |
|
|
45
|
+
| VERIFY completes | VERIFY-* | gc_rounds >= 2 | Escalate to user |
|
|
46
|
+
|
|
47
|
+
### GC Fix Tasks (dynamically created)
|
|
48
|
+
|
|
49
|
+
| Task ID | Role | blockedBy | Description |
|
|
50
|
+
|---------|------|-----------|-------------|
|
|
51
|
+
| OPT-fix-1 | optimizer | [VERIFY-001] | Fix regressions from round 1 verification |
|
|
52
|
+
| VERIFY-002 | verifier | [OPT-fix-1] | Re-verify after round 1 fixes |
|
|
53
|
+
| OPT-fix-2 | optimizer | [VERIFY-002] | Fix regressions from round 2 verification (if needed) |
|
|
54
|
+
| VERIFY-003 | verifier | [OPT-fix-2] | Final re-verify (max round) |
|
|
55
|
+
|
|
56
|
+
## Collaboration Patterns
|
|
57
|
+
|
|
58
|
+
| Pattern | Roles | Description |
|
|
59
|
+
|---------|-------|-------------|
|
|
60
|
+
| CP-1 Linear Pipeline | All | Base sequential flow: scan -> diagnose -> optimize -> verify |
|
|
61
|
+
| CP-2 Review-Fix (GC) | optimizer <-> verifier | Generator-Critic loop, max 2 rounds |
|
|
62
|
+
|
|
63
|
+
## Spawn Rules
|
|
64
|
+
|
|
65
|
+
| Mode | Behavior |
|
|
66
|
+
|------|----------|
|
|
67
|
+
| scan-only | Sequential: SCAN-001 then DIAG-001 |
|
|
68
|
+
| targeted | Sequential: SCAN -> DIAG -> OPT -> VERIFY |
|
|
69
|
+
| full | Sequential: SCAN -> DIAG -> OPT -> VERIFY, then GC loop if verify triggers |
|
|
70
|
+
|
|
71
|
+
All modes use sequential spawning (one task at a time) since each task depends on the previous.
|
|
72
|
+
|
|
73
|
+
## Output Artifacts
|
|
74
|
+
|
|
75
|
+
| Task | Output Path |
|
|
76
|
+
|------|-------------|
|
|
77
|
+
| SCAN-001 | <session>/scan/scan-report.md |
|
|
78
|
+
| DIAG-001 | <session>/diagnosis/diagnosis-report.md |
|
|
79
|
+
| OPT-001 / OPT-fix-* | <session>/optimization/fix-log.md + modified source files |
|
|
80
|
+
| VERIFY-001 / VERIFY-* | <session>/verification/verify-report.md |
|
|
81
|
+
| Screenshots (if DevTools) | <session>/evidence/*.png |
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
# Scoring Guide
|
|
2
|
+
|
|
3
|
+
How to score each dimension consistently. Used by scanner for initial audit and verifier for re-assessment.
|
|
4
|
+
|
|
5
|
+
## Rating Bands (Total Score out of 36)
|
|
6
|
+
|
|
7
|
+
| Range | Rating | Description |
|
|
8
|
+
|-------|--------|-------------|
|
|
9
|
+
| 32-36 | Excellent | Distinctive, intentional design. Minimal or zero issues |
|
|
10
|
+
| 25-31 | Good | Solid design with minor polish opportunities |
|
|
11
|
+
| 18-24 | Acceptable | Functional but significant design work needed |
|
|
12
|
+
| 11-17 | Poor | Major overhaul required across multiple dimensions |
|
|
13
|
+
| 0-10 | Critical | AI slop gallery or fundamentally broken design |
|
|
14
|
+
|
|
15
|
+
## Per-Dimension Scoring (0-4)
|
|
16
|
+
|
|
17
|
+
### General Rubric
|
|
18
|
+
|
|
19
|
+
| Score | Criteria |
|
|
20
|
+
|-------|----------|
|
|
21
|
+
| 0 | Completely failing. Multiple major violations. Fundamental problems |
|
|
22
|
+
| 1 | Major gaps. 3-4 violations. Some effort but insufficient |
|
|
23
|
+
| 2 | Partial effort. 1-2 noticeable issues. Functional but not good |
|
|
24
|
+
| 3 | Mostly clean. Subtle issues only. Good with minor polish needed |
|
|
25
|
+
| 4 | Excellent. Genuinely distinctive/intentional. Meets all standards |
|
|
26
|
+
|
|
27
|
+
### Dimension 1: Anti-AI-Slop Detection
|
|
28
|
+
|
|
29
|
+
| Score | Criteria |
|
|
30
|
+
|-------|----------|
|
|
31
|
+
| 0 | 5+ AI slop tells present. Looks immediately AI-generated |
|
|
32
|
+
| 1 | 3-4 AI slop tells. Heavy AI influence obvious |
|
|
33
|
+
| 2 | 1-2 noticeable AI tells. Some templated elements |
|
|
34
|
+
| 3 | Subtle traces only. Mostly intentional design choices |
|
|
35
|
+
| 4 | Zero AI tells. Genuinely distinctive aesthetic. Would never guess AI-made |
|
|
36
|
+
|
|
37
|
+
### Dimension 2: Color Quality
|
|
38
|
+
|
|
39
|
+
| Score | Criteria |
|
|
40
|
+
|-------|----------|
|
|
41
|
+
| 0 | Multiple WCAG AA failures, pure black/white everywhere, hard-coded colors, no system |
|
|
42
|
+
| 1 | Some contrast issues, hard-coded colors, no token system, pure grays |
|
|
43
|
+
| 2 | Basic contrast OK, some OKLCH or tokens, but gaps (untinted grays, missing semantic colors) |
|
|
44
|
+
| 3 | Good color system with minor gaps (a few hard-coded values, imperfect 60-30-10) |
|
|
45
|
+
| 4 | OKLCH-based, fully tokenized, WCAG AA+ compliant, proper 60-30-10, semantic roles defined |
|
|
46
|
+
|
|
47
|
+
### Dimension 3: Typography Quality
|
|
48
|
+
|
|
49
|
+
| Score | Criteria |
|
|
50
|
+
|-------|----------|
|
|
51
|
+
| 0 | Generic font, no scale, body text <16px, no hierarchy |
|
|
52
|
+
| 1 | Overused font, muddy sizes (many close values), missing fluid sizing |
|
|
53
|
+
| 2 | Decent font choice but inconsistent scale or line-height issues |
|
|
54
|
+
| 3 | Good typography with minor gaps (missing clamp, slight rhythm inconsistencies) |
|
|
55
|
+
| 4 | Distinctive font, clear modular scale, fluid sizing, proper vertical rhythm, max-width on prose |
|
|
56
|
+
|
|
57
|
+
### Dimension 4: Spacing & Layout Quality
|
|
58
|
+
|
|
59
|
+
| Score | Criteria |
|
|
60
|
+
|-------|----------|
|
|
61
|
+
| 0 | Random spacing, nested cards, fixed widths, tiny touch targets |
|
|
62
|
+
| 1 | Some spacing pattern but many arbitrary values, cards overused |
|
|
63
|
+
| 2 | Decent spacing but monotonous rhythm or occasional arbitrary values |
|
|
64
|
+
| 3 | Good spacing system with minor gaps (occasional non-scale value, mostly gap usage) |
|
|
65
|
+
| 4 | Consistent scale, varied rhythm, gap for siblings, proper touch targets, no card nesting |
|
|
66
|
+
|
|
67
|
+
### Dimension 5: Motion & Animation Quality
|
|
68
|
+
|
|
69
|
+
| Score | Criteria |
|
|
70
|
+
|-------|----------|
|
|
71
|
+
| 0 | Layout animations, no reduced-motion, bounce easing, no system |
|
|
72
|
+
| 1 | Some transform-based but bad easing, missing reduced-motion |
|
|
73
|
+
| 2 | Decent animations but no token system or still missing reduced-motion |
|
|
74
|
+
| 3 | Good system with minor gaps (occasional ease default, missing exit animation) |
|
|
75
|
+
| 4 | Transform+opacity only, exponential easing, reduced-motion query, duration tokens, proper stagger |
|
|
76
|
+
|
|
77
|
+
### Dimension 6: Interaction States
|
|
78
|
+
|
|
79
|
+
| Score | Criteria |
|
|
80
|
+
|-------|----------|
|
|
81
|
+
| 0 | No hover, no focus, outline:none without replacement, no loading states |
|
|
82
|
+
| 1 | Basic hover but missing focus/active on many elements, no loading states |
|
|
83
|
+
| 2 | Hover + focus exist but no focus-visible, missing some states (disabled, error, empty) |
|
|
84
|
+
| 3 | Most states present with minor gaps (imperfect focus ring, missing empty state) |
|
|
85
|
+
| 4 | All 8 states implemented, focus-visible, proper focus ring, loading/error/success/empty states |
|
|
86
|
+
|
|
87
|
+
### Dimension 7: Visual Hierarchy
|
|
88
|
+
|
|
89
|
+
| Score | Criteria |
|
|
90
|
+
|-------|----------|
|
|
91
|
+
| 0 | Everything same visual weight, no clear primary action, fails squint test completely |
|
|
92
|
+
| 1 | Some size differences but no clear hierarchy system, multiple competing primary actions |
|
|
93
|
+
| 2 | Basic hierarchy via size but missing weight/color/space dimensions |
|
|
94
|
+
| 3 | Good hierarchy with minor issues (occasional visual competition, could be stronger) |
|
|
95
|
+
| 4 | Clear squint test pass, obvious primary action, multi-dimension hierarchy, progressive disclosure |
|
|
96
|
+
|
|
97
|
+
### Dimension 8: Responsive Design
|
|
98
|
+
|
|
99
|
+
| Score | Criteria |
|
|
100
|
+
|-------|----------|
|
|
101
|
+
| 0 | No responsive design, horizontal scroll, completely broken on mobile |
|
|
102
|
+
| 1 | Basic media queries but many breakage points, some fixed widths |
|
|
103
|
+
| 2 | Decent mobile but some fixed widths, small targets, or missing breakpoints |
|
|
104
|
+
| 3 | Good responsive with minor issues (missing container queries, occasional small target) |
|
|
105
|
+
| 4 | Fluid design, proper breakpoints, container queries, 44px targets, no overflow, adapted content |
|
|
106
|
+
|
|
107
|
+
### Dimension 9: Cognitive Load & UX Writing
|
|
108
|
+
|
|
109
|
+
| Score | Criteria |
|
|
110
|
+
|-------|----------|
|
|
111
|
+
| 0 | Information overload everywhere, no grouping, generic labels, useless error messages |
|
|
112
|
+
| 1 | Some grouping but >7 data groups visible, many generic labels, errors without fix guidance |
|
|
113
|
+
| 2 | Decent grouping but missing progressive disclosure, some generic buttons, partial error messages |
|
|
114
|
+
| 3 | Good information architecture with minor issues (occasional generic label, one missing empty state) |
|
|
115
|
+
| 4 | Clear progressive disclosure, verb+object labels, what+why+fix errors, guided empty states, proper grouping |
|
|
116
|
+
|
|
117
|
+
### Dimension 10: Dark Mode Quality (Conditional)
|
|
118
|
+
|
|
119
|
+
Only scored if dark mode exists. If no dark mode, this dimension is excluded from total.
|
|
120
|
+
|
|
121
|
+
| Score | Criteria |
|
|
122
|
+
|-------|----------|
|
|
123
|
+
| 0 | Pure black bg, no surface hierarchy, saturated colors vibrating, dangerous combos |
|
|
124
|
+
| 1 | Some dark surfaces but flat (same lightness), still using light-mode font weights |
|
|
125
|
+
| 2 | Basic surface hierarchy but still saturated accents or missing font weight reduction |
|
|
126
|
+
| 3 | Good dark mode with minor issues (occasional pure black, one dangerous combo) |
|
|
127
|
+
| 4 | Proper surface hierarchy (lighter=higher), desaturated accents, reduced font weights, tinted dark bg |
|
|
128
|
+
|
|
129
|
+
When dark mode exists: total out of 40, bands shift +4. When no dark mode: total out of 36.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Severity Mapping
|
|
134
|
+
|
|
135
|
+
| Severity | Definition | Score Correlation | Action |
|
|
136
|
+
|----------|-----------|-------------------|--------|
|
|
137
|
+
| P0 Blocking | Prevents use or violates law/standard. WCAG AA failure, missing focus, horizontal scroll on mobile, no viewport meta | Any dimension at 0 | Fix immediately, blocks release |
|
|
138
|
+
| P1 Major | Significant UX harm or near-violation. Pure black/white, missing hover, all buttons primary, muddy hierarchy | Any dimension at 1 | Fix before release |
|
|
139
|
+
| P2 Minor | Annoyance with workaround. No OKLCH, overused fonts, monotonous spacing, no container queries | Any dimension at 2 | Fix in next polish pass |
|
|
140
|
+
| P3 Polish | Nice-to-fix, minimal user impact. Missing exit animation, optical adjustments, font fallback metrics | Dimension at 3 with minor issues | Fix when convenient |
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Scoring Process
|
|
145
|
+
|
|
146
|
+
1. For each dimension, go through every checklist item in the scanner audit
|
|
147
|
+
2. Count the number and severity of violations found
|
|
148
|
+
3. Apply the dimension-specific rubric to assign 0-4
|
|
149
|
+
4. Sum all 8 dimensions for total (0-32)
|
|
150
|
+
5. Apply rating band
|
|
151
|
+
|
|
152
|
+
### Tie-Breaking Rules
|
|
153
|
+
- If between two scores, the presence of any P0 issue in that dimension rounds down
|
|
154
|
+
- If between two scores with no P0, consider the count of P1 issues
|
|
155
|
+
- When in doubt, score lower (conservative) -- it is better to fix something unnecessary than miss something important
|
|
156
|
+
|
|
157
|
+
### Verification Scoring
|
|
158
|
+
When verifier re-scores after optimization:
|
|
159
|
+
- Use identical checklist and rubric as original scan
|
|
160
|
+
- Score independently (do not adjust based on "how much improved")
|
|
161
|
+
- Report both absolute score and delta from original
|
|
162
|
+
- Flag any dimension where score decreased (regression)
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"team_name": "ui-polish",
|
|
3
|
+
"team_display_name": "UI Polish",
|
|
4
|
+
"description": "Auto-discover and fix UI design issues using Impeccable design standards",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
|
|
7
|
+
"roles": {
|
|
8
|
+
"coordinator": {
|
|
9
|
+
"task_prefix": null,
|
|
10
|
+
"responsibility": "Pipeline orchestration, scope assessment, GC loop management",
|
|
11
|
+
"message_types": ["task_unblocked", "gc_checkpoint", "fix_required", "error", "shutdown"]
|
|
12
|
+
},
|
|
13
|
+
"scanner": {
|
|
14
|
+
"task_prefix": "SCAN",
|
|
15
|
+
"responsibility": "8-dimension UI audit using Impeccable design standards",
|
|
16
|
+
"message_types": ["scan_complete", "scan_progress", "error"]
|
|
17
|
+
},
|
|
18
|
+
"diagnostician": {
|
|
19
|
+
"task_prefix": "DIAG",
|
|
20
|
+
"responsibility": "Root cause analysis, severity classification, fix prioritization",
|
|
21
|
+
"message_types": ["diag_complete", "diag_progress", "error"]
|
|
22
|
+
},
|
|
23
|
+
"optimizer": {
|
|
24
|
+
"task_prefix": "OPT",
|
|
25
|
+
"responsibility": "Apply targeted fixes following Impeccable design standards",
|
|
26
|
+
"message_types": ["opt_complete", "opt_progress", "error"]
|
|
27
|
+
},
|
|
28
|
+
"verifier": {
|
|
29
|
+
"task_prefix": "VERIFY",
|
|
30
|
+
"responsibility": "Before/after comparison, regression detection",
|
|
31
|
+
"message_types": ["verify_passed", "verify_failed", "fix_required", "error"]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
"pipelines": {
|
|
36
|
+
"scan-only": {
|
|
37
|
+
"description": "Discover + diagnose, no fixes (report only)",
|
|
38
|
+
"task_chain": ["SCAN-001", "DIAG-001"],
|
|
39
|
+
"complexity": "low"
|
|
40
|
+
},
|
|
41
|
+
"targeted": {
|
|
42
|
+
"description": "Fix specific dimensions only",
|
|
43
|
+
"task_chain": ["SCAN-001", "DIAG-001", "OPT-001", "VERIFY-001"],
|
|
44
|
+
"complexity": "medium"
|
|
45
|
+
},
|
|
46
|
+
"full": {
|
|
47
|
+
"description": "Complete polish cycle with GC loop",
|
|
48
|
+
"task_chain": ["SCAN-001", "DIAG-001", "OPT-001", "VERIFY-001"],
|
|
49
|
+
"gc_loop": true,
|
|
50
|
+
"complexity": "high"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
|
|
54
|
+
"innovation_patterns": {
|
|
55
|
+
"generator_critic": {
|
|
56
|
+
"generator": "optimizer",
|
|
57
|
+
"critic": "verifier",
|
|
58
|
+
"max_rounds": 2,
|
|
59
|
+
"convergence": "verify.regressions === 0 && verify.score_delta >= 0",
|
|
60
|
+
"escalation": "Coordinator intervenes after max rounds"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
|
|
64
|
+
"session_dirs": {
|
|
65
|
+
"base": ".workflow/.team/UIP-{slug}-{YYYY-MM-DD}/",
|
|
66
|
+
"scan": "scan/",
|
|
67
|
+
"diagnosis": "diagnosis/",
|
|
68
|
+
"optimization": "optimization/",
|
|
69
|
+
"verification": "verification/",
|
|
70
|
+
"evidence": "evidence/",
|
|
71
|
+
"messages": ".workflow/.team-msg/{team-name}/"
|
|
72
|
+
}
|
|
73
|
+
}
|