@hegemonart/get-design-done 1.42.0 → 1.43.0
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-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +1 -1
- package/CHANGELOG.md +1080 -1038
- package/README.md +157 -155
- package/SKILL.md +42 -42
- package/agents/README.md +53 -53
- package/agents/a11y-mapper.md +3 -3
- package/agents/component-benchmark-harvester.md +8 -8
- package/agents/component-benchmark-synthesizer.md +11 -11
- package/agents/component-taxonomy-mapper.md +5 -5
- package/agents/compose-executor.md +25 -25
- package/agents/conflict-resolver.md +8 -8
- package/agents/cost-forecaster.md +12 -12
- package/agents/decision-journal-exporter.md +5 -5
- package/agents/design-advisor.md +19 -19
- package/agents/design-assumptions-analyzer.md +16 -16
- package/agents/design-auditor.md +39 -39
- package/agents/design-authority-watcher.md +28 -28
- package/agents/design-component-generator.md +27 -27
- package/agents/design-context-builder.md +66 -66
- package/agents/design-context-checker-gate.md +5 -5
- package/agents/design-context-checker.md +20 -20
- package/agents/design-discussant.md +23 -23
- package/agents/design-doc-writer.md +12 -12
- package/agents/design-executor.md +38 -38
- package/agents/design-figma-writer.md +31 -31
- package/agents/design-fixer.md +27 -27
- package/agents/design-integration-checker-gate.md +5 -5
- package/agents/design-integration-checker.md +29 -29
- package/agents/design-paper-writer.md +14 -14
- package/agents/design-pattern-mapper.md +9 -9
- package/agents/design-pencil-writer.md +12 -12
- package/agents/design-phase-researcher.md +14 -14
- package/agents/design-plan-checker.md +13 -13
- package/agents/design-planner.md +24 -24
- package/agents/design-reflector.md +48 -48
- package/agents/design-research-synthesizer.md +21 -21
- package/agents/design-start-writer.md +7 -7
- package/agents/design-update-checker.md +8 -8
- package/agents/design-verifier-gate.md +5 -5
- package/agents/design-verifier.md +80 -80
- package/agents/ds-generator.md +14 -14
- package/agents/ds-migration-planner.md +12 -12
- package/agents/email-executor.md +26 -26
- package/agents/experiment-result-ingester.md +10 -10
- package/agents/flutter-executor.md +28 -28
- package/agents/gdd-graph-refresh.md +10 -10
- package/agents/gdd-intel-updater.md +11 -11
- package/agents/gdd-learnings-extractor.md +2 -2
- package/agents/motion-mapper.md +8 -8
- package/agents/motion-verifier.md +16 -16
- package/agents/pdf-executor.md +27 -27
- package/agents/perf-analyzer.md +20 -20
- package/agents/pr-commenter.md +24 -24
- package/agents/prototype-gate.md +29 -29
- package/agents/quality-gate-runner.md +21 -21
- package/agents/rollout-coordinator.md +8 -8
- package/agents/swift-executor.md +41 -41
- package/agents/ticket-sync-agent.md +19 -19
- package/agents/token-mapper.md +6 -6
- package/agents/user-research-synthesizer.md +13 -13
- package/agents/visual-hierarchy-mapper.md +2 -2
- package/dist/claude-code/.claude/skills/add-backlog/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +10 -10
- package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +13 -13
- package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +20 -20
- package/dist/claude-code/.claude/skills/audit/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/benchmark/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +10 -10
- package/dist/claude-code/.claude/skills/brief/SKILL.md +20 -20
- package/dist/claude-code/.claude/skills/budget/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +6 -6
- package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +5 -5
- package/dist/claude-code/.claude/skills/check-update/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/compare/SKILL.md +15 -15
- package/dist/claude-code/.claude/skills/compare/compare-rubric.md +17 -17
- package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/connections/SKILL.md +11 -11
- package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +76 -76
- package/dist/claude-code/.claude/skills/continue/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/darkmode/SKILL.md +17 -17
- package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +7 -7
- package/dist/claude-code/.claude/skills/debug/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +12 -12
- package/dist/claude-code/.claude/skills/design/SKILL.md +12 -12
- package/dist/claude-code/.claude/skills/design/design-procedure.md +23 -23
- package/dist/claude-code/.claude/skills/discover/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/discover/discover-procedure.md +18 -18
- package/dist/claude-code/.claude/skills/discuss/SKILL.md +12 -12
- package/dist/claude-code/.claude/skills/do/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/explore/SKILL.md +21 -21
- package/dist/claude-code/.claude/skills/explore/explore-procedure.md +48 -48
- package/dist/claude-code/.claude/skills/export/SKILL.md +9 -9
- package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/fast/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +11 -11
- package/dist/claude-code/.claude/skills/figma-write/SKILL.md +6 -6
- package/dist/claude-code/.claude/skills/graphify/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/health/SKILL.md +16 -16
- package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +3 -3
- package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +6 -6
- package/dist/claude-code/.claude/skills/help/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/map/SKILL.md +12 -12
- package/dist/claude-code/.claude/skills/migrate/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +16 -16
- package/dist/claude-code/.claude/skills/new-project/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/next/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/note/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/optimize/SKILL.md +15 -15
- package/dist/claude-code/.claude/skills/pause/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +11 -11
- package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +39 -39
- package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +14 -14
- package/dist/claude-code/.claude/skills/peers/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/plan/SKILL.md +13 -13
- package/dist/claude-code/.claude/skills/plan/plan-procedure.md +24 -24
- package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/progress/SKILL.md +15 -15
- package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +22 -22
- package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +19 -19
- package/dist/claude-code/.claude/skills/quick/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/reflect/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +11 -11
- package/dist/claude-code/.claude/skills/report-issue/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +27 -27
- package/dist/claude-code/.claude/skills/resume/SKILL.md +9 -9
- package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/roi/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/router/SKILL.md +11 -11
- package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +6 -6
- package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +9 -9
- package/dist/claude-code/.claude/skills/router/router-rules.md +7 -7
- package/dist/claude-code/.claude/skills/scan/SKILL.md +16 -16
- package/dist/claude-code/.claude/skills/scan/scan-procedure.md +42 -42
- package/dist/claude-code/.claude/skills/settings/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/ship/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/sketch/SKILL.md +10 -10
- package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +12 -12
- package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/spike/SKILL.md +7 -7
- package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +13 -13
- package/dist/claude-code/.claude/skills/start/SKILL.md +8 -8
- package/dist/claude-code/.claude/skills/start/start-procedure.md +9 -9
- package/dist/claude-code/.claude/skills/stats/SKILL.md +5 -5
- package/dist/claude-code/.claude/skills/style/SKILL.md +12 -12
- package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +12 -12
- package/dist/claude-code/.claude/skills/synthesize/SKILL.md +10 -10
- package/dist/claude-code/.claude/skills/timeline/SKILL.md +4 -4
- package/dist/claude-code/.claude/skills/todo/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +10 -10
- package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +3 -3
- package/dist/claude-code/.claude/skills/update/SKILL.md +9 -9
- package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +17 -17
- package/dist/claude-code/.claude/skills/verify/SKILL.md +13 -13
- package/dist/claude-code/.claude/skills/verify/verify-procedure.md +34 -34
- package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +8 -8
- package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +9 -9
- package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +4 -4
- package/package.json +5 -2
- package/reference/DEPRECATIONS.md +10 -10
- package/reference/STATE-TEMPLATE.md +26 -26
- package/reference/accessibility.md +13 -13
- package/reference/adr-format.md +13 -13
- package/reference/ai-native-tool-interface.md +5 -5
- package/reference/anti-patterns.md +9 -9
- package/reference/architecture-vocabulary.md +31 -31
- package/reference/audit-scoring.md +13 -13
- package/reference/authority-feeds.md +36 -36
- package/reference/bandit-integration.md +25 -25
- package/reference/brand-voice.md +36 -36
- package/reference/capability-gap-stage-gate.md +20 -20
- package/reference/checklists.md +26 -26
- package/reference/cli-localization.md +13 -13
- package/reference/codex-tools.md +2 -2
- package/reference/color-theory.md +28 -28
- package/reference/component-authoring.md +4 -4
- package/reference/components/README.md +13 -13
- package/reference/components/TEMPLATE.md +13 -13
- package/reference/components/accordion.md +15 -15
- package/reference/components/alert.md +25 -25
- package/reference/components/badge.md +18 -18
- package/reference/components/breadcrumbs.md +24 -24
- package/reference/components/button.md +21 -21
- package/reference/components/card.md +13 -13
- package/reference/components/checkbox.md +20 -20
- package/reference/components/chip.md +20 -20
- package/reference/components/command-palette.md +15 -15
- package/reference/components/date-picker.md +22 -22
- package/reference/components/drawer.md +13 -13
- package/reference/components/file-upload.md +22 -22
- package/reference/components/input.md +18 -18
- package/reference/components/label.md +25 -25
- package/reference/components/link.md +19 -19
- package/reference/components/list.md +17 -17
- package/reference/components/menu.md +19 -19
- package/reference/components/modal-dialog.md +16 -16
- package/reference/components/navbar.md +19 -19
- package/reference/components/pagination.md +18 -18
- package/reference/components/popover.md +12 -12
- package/reference/components/progress.md +18 -18
- package/reference/components/radio.md +17 -17
- package/reference/components/rich-text-editor.md +24 -24
- package/reference/components/select-combobox.md +16 -16
- package/reference/components/sidebar.md +15 -15
- package/reference/components/skeleton.md +20 -20
- package/reference/components/slider.md +20 -20
- package/reference/components/stepper.md +24 -24
- package/reference/components/switch.md +19 -19
- package/reference/components/table.md +21 -21
- package/reference/components/tabs.md +11 -11
- package/reference/components/toast.md +19 -19
- package/reference/components/tooltip.md +19 -19
- package/reference/components/tree.md +17 -17
- package/reference/composition.md +38 -38
- package/reference/config-schema.md +37 -37
- package/reference/context-md-format.md +9 -9
- package/reference/contrast-advanced.md +29 -29
- package/reference/conversational-ui.md +17 -17
- package/reference/cost-governance.md +14 -14
- package/reference/css-grid-layout.md +8 -8
- package/reference/cycle-handoff-preamble.md +3 -3
- package/reference/data-visualization.md +67 -67
- package/reference/debugger-philosophy.md +5 -5
- package/reference/design-system-guidance.md +21 -21
- package/reference/design-systems-catalog.md +20 -20
- package/reference/design-variants.md +11 -11
- package/reference/domains/civic-patterns.md +10 -10
- package/reference/domains/finance-patterns.md +9 -9
- package/reference/domains/gaming-patterns.md +9 -9
- package/reference/domains/healthcare-patterns.md +11 -11
- package/reference/ds-bootstrap-rubric.md +13 -13
- package/reference/email-design.md +22 -22
- package/reference/emotional-design.md +10 -10
- package/reference/error-recovery.md +11 -11
- package/reference/export-formats.md +7 -7
- package/reference/figma-sandbox.md +6 -6
- package/reference/first-principles.md +10 -10
- package/reference/form-patterns.md +26 -26
- package/reference/framer-motion-patterns.md +49 -49
- package/reference/gdd-runtime-audit.md +17 -17
- package/reference/gdd-threat-model.md +44 -44
- package/reference/gemini-tools.md +3 -3
- package/reference/gestalt.md +24 -24
- package/reference/heuristics.md +32 -32
- package/reference/i18n.md +44 -44
- package/reference/iconography.md +24 -24
- package/reference/image-optimization.md +14 -14
- package/reference/information-architecture.md +47 -47
- package/reference/intel-schema.md +1 -1
- package/reference/known-failure-modes.md +37 -37
- package/reference/meta-rules.md +5 -5
- package/reference/migrations/material-3-to-4.md +17 -17
- package/reference/migrations/mui-v6.md +16 -16
- package/reference/migrations/shadcn-v2.md +25 -25
- package/reference/migrations/tailwind-v4.md +21 -21
- package/reference/model-prices.md +3 -3
- package/reference/model-tiers.md +40 -40
- package/reference/motion-advanced.md +21 -21
- package/reference/motion-easings.md +29 -29
- package/reference/motion-interpolate.md +1 -1
- package/reference/motion-spring.md +13 -13
- package/reference/motion-transition-taxonomy.md +34 -34
- package/reference/motion.md +31 -31
- package/reference/multi-author-model.md +13 -13
- package/reference/native-platforms.md +28 -28
- package/reference/notification-routing.md +6 -6
- package/reference/onboarding-progressive-disclosure.md +32 -32
- package/reference/openrouter-tier-mapping.md +8 -8
- package/reference/palette-catalog.md +37 -37
- package/reference/parallelism-rules.md +20 -20
- package/reference/peer-cli-capabilities.md +14 -14
- package/reference/peer-protocols.md +21 -21
- package/reference/perf-budget.md +21 -21
- package/reference/performance.md +22 -22
- package/reference/platforms.md +51 -51
- package/reference/pr-review-integration.md +7 -7
- package/reference/prices/antigravity.md +3 -3
- package/reference/prices/augment.md +3 -3
- package/reference/prices/claude.md +2 -2
- package/reference/prices/cline.md +4 -4
- package/reference/prices/codebuddy.md +3 -3
- package/reference/prices/codex.md +2 -2
- package/reference/prices/copilot.md +3 -3
- package/reference/prices/cursor.md +3 -3
- package/reference/prices/gemini.md +2 -2
- package/reference/prices/kilo.md +3 -3
- package/reference/prices/opencode.md +4 -4
- package/reference/prices/qwen.md +2 -2
- package/reference/prices/trae.md +3 -3
- package/reference/prices/windsurf.md +3 -3
- package/reference/prices.openrouter.md +5 -5
- package/reference/print-design.md +36 -36
- package/reference/priority-matrix.md +2 -2
- package/reference/project-skills-guide.md +3 -3
- package/reference/proportion-systems.md +23 -23
- package/reference/pseudonymization-rules.md +30 -30
- package/reference/retrieval-contract.md +14 -14
- package/reference/review-format.md +7 -7
- package/reference/rollout-coordination.md +10 -10
- package/reference/rtl-cjk-cultural.md +39 -39
- package/reference/runtime-models.md +28 -28
- package/reference/shared-preamble.md +26 -26
- package/reference/skill-authoring-contract.md +16 -16
- package/reference/skill-placeholders.md +3 -3
- package/reference/start-interview.md +10 -10
- package/reference/style-vocabulary.md +25 -25
- package/reference/surfaces.md +4 -4
- package/reference/ticket-sync.md +9 -9
- package/reference/typography.md +64 -64
- package/reference/user-research.md +54 -54
- package/reference/variable-fonts-loading.md +15 -15
- package/reference/visual-hierarchy-layout.md +41 -41
- package/scripts/lib/manifest/prose-denylist.json +1 -1
- package/skills/add-backlog/SKILL.md +3 -3
- package/skills/analyze-dependencies/SKILL.md +10 -10
- package/skills/apply-reflections/SKILL.md +13 -13
- package/skills/apply-reflections/apply-reflections-procedure.md +20 -20
- package/skills/audit/SKILL.md +7 -7
- package/skills/bandit-status/SKILL.md +7 -7
- package/skills/benchmark/SKILL.md +7 -7
- package/skills/bootstrap-ds/SKILL.md +10 -10
- package/skills/brief/SKILL.md +20 -20
- package/skills/budget/SKILL.md +4 -4
- package/skills/cache-manager/SKILL.md +6 -6
- package/skills/cache-manager/cache-policy.md +5 -5
- package/skills/check-update/SKILL.md +5 -5
- package/skills/compare/SKILL.md +15 -15
- package/skills/compare/compare-rubric.md +17 -17
- package/skills/complete-cycle/SKILL.md +5 -5
- package/skills/connections/SKILL.md +11 -11
- package/skills/connections/connections-onboarding.md +76 -76
- package/skills/continue/SKILL.md +2 -2
- package/skills/darkmode/SKILL.md +17 -17
- package/skills/darkmode/darkmode-audit-procedure.md +7 -7
- package/skills/debug/SKILL.md +3 -3
- package/skills/debug/debug-feedback-loops.md +12 -12
- package/skills/design/SKILL.md +12 -12
- package/skills/design/design-procedure.md +23 -23
- package/skills/discover/SKILL.md +7 -7
- package/skills/discover/discover-procedure.md +18 -18
- package/skills/discuss/SKILL.md +12 -12
- package/skills/do/SKILL.md +1 -1
- package/skills/explore/SKILL.md +21 -21
- package/skills/explore/explore-procedure.md +48 -48
- package/skills/export/SKILL.md +9 -9
- package/skills/extract-learnings/SKILL.md +5 -5
- package/skills/fast/SKILL.md +7 -7
- package/skills/figma-extract/SKILL.md +11 -11
- package/skills/figma-write/SKILL.md +6 -6
- package/skills/graphify/SKILL.md +4 -4
- package/skills/health/SKILL.md +16 -16
- package/skills/health/health-mcp-detection.md +3 -3
- package/skills/health/health-skill-length-report.md +6 -6
- package/skills/help/SKILL.md +1 -1
- package/skills/list-assumptions/SKILL.md +4 -4
- package/skills/map/SKILL.md +12 -12
- package/skills/migrate/SKILL.md +5 -5
- package/skills/new-cycle/SKILL.md +2 -2
- package/skills/new-cycle/milestone-completeness-rubric.md +16 -16
- package/skills/new-project/SKILL.md +1 -1
- package/skills/next/SKILL.md +5 -5
- package/skills/note/SKILL.md +1 -1
- package/skills/openrouter-status/SKILL.md +4 -4
- package/skills/optimize/SKILL.md +15 -15
- package/skills/pause/SKILL.md +5 -5
- package/skills/peer-cli-add/SKILL.md +11 -11
- package/skills/peer-cli-add/peer-cli-protocol.md +39 -39
- package/skills/peer-cli-customize/SKILL.md +14 -14
- package/skills/peers/SKILL.md +4 -4
- package/skills/plan/SKILL.md +13 -13
- package/skills/plan/plan-procedure.md +24 -24
- package/skills/plant-seed/SKILL.md +4 -4
- package/skills/pr-branch/SKILL.md +2 -2
- package/skills/progress/SKILL.md +15 -15
- package/skills/quality-gate/SKILL.md +22 -22
- package/skills/quality-gate/threat-modeling.md +19 -19
- package/skills/quick/SKILL.md +5 -5
- package/skills/reapply-patches/SKILL.md +7 -7
- package/skills/reflect/SKILL.md +3 -3
- package/skills/reflect/procedures/capability-gap-scan.md +11 -11
- package/skills/report-issue/SKILL.md +5 -5
- package/skills/report-issue/report-issue-procedure.md +27 -27
- package/skills/resume/SKILL.md +9 -9
- package/skills/review-backlog/SKILL.md +3 -3
- package/skills/review-decisions/SKILL.md +3 -3
- package/skills/roi/SKILL.md +5 -5
- package/skills/rollout-status/SKILL.md +4 -4
- package/skills/router/SKILL.md +11 -11
- package/skills/router/capability-gap-emitter.md +6 -6
- package/skills/router/router-pick-emitter.md +9 -9
- package/skills/router/router-rules.md +7 -7
- package/skills/scan/SKILL.md +16 -16
- package/skills/scan/scan-procedure.md +42 -42
- package/skills/settings/SKILL.md +2 -2
- package/skills/ship/SKILL.md +7 -7
- package/skills/sketch/SKILL.md +10 -10
- package/skills/sketch-wrap-up/SKILL.md +12 -12
- package/skills/skill-manifest/SKILL.md +5 -5
- package/skills/spike/SKILL.md +7 -7
- package/skills/spike-wrap-up/SKILL.md +13 -13
- package/skills/start/SKILL.md +8 -8
- package/skills/start/start-procedure.md +9 -9
- package/skills/stats/SKILL.md +5 -5
- package/skills/style/SKILL.md +12 -12
- package/skills/style/style-doc-procedure.md +12 -12
- package/skills/synthesize/SKILL.md +10 -10
- package/skills/timeline/SKILL.md +4 -4
- package/skills/todo/SKILL.md +3 -3
- package/skills/turn-closeout/SKILL.md +10 -10
- package/skills/unlock-decision/SKILL.md +3 -3
- package/skills/update/SKILL.md +9 -9
- package/skills/using-gdd/SKILL.md +17 -17
- package/skills/verify/SKILL.md +13 -13
- package/skills/verify/verify-procedure.md +34 -34
- package/skills/warm-cache/SKILL.md +8 -8
- package/skills/watch-authorities/SKILL.md +9 -9
- package/skills/zoom-out/SKILL.md +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Authority Feeds
|
|
1
|
+
# Authority Feeds - Whitelist
|
|
2
2
|
|
|
3
|
-
> **Scope:** Curated whitelist of **design authorities**
|
|
3
|
+
> **Scope:** Curated whitelist of **design authorities** - sources that ship specs, guidelines, or named-practitioner curation. Consumed by `agents/design-authority-watcher.md` at runtime. Rejected kinds are listed explicitly below and enforced by `scripts/tests/test-authority-rejected-kinds.sh`.
|
|
4
4
|
>
|
|
5
5
|
> **Anti-slop thesis:** No Dribbble. No Behance. No LinkedIn. No generic trending aggregators. See `.planning/PROJECT.md` and `.planning/phases/13.2-external-authority-watcher/13.2-CONTEXT.md` §D-08.
|
|
6
6
|
|
|
@@ -11,43 +11,43 @@
|
|
|
11
11
|
|
|
12
12
|
## Spec sources (4-5 feeds)
|
|
13
13
|
|
|
14
|
-
- **[WAI-ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/)**
|
|
15
|
-
- **[Material Design 3](https://m3.material.io/)**
|
|
16
|
-
- **[Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)**
|
|
17
|
-
- **[Fluent 2 Design System](https://fluent2.microsoft.design/)**
|
|
18
|
-
- **[W3C Design Tokens Community Group](https://www.w3.org/community/design-tokens/)**
|
|
14
|
+
- **[WAI-ARIA Authoring Practices Guide](https://www.w3.org/WAI/ARIA/apg/)** - `kind: spec-source` · `url: https://github.com/w3c/aria-practices/releases.atom` · `cadence-hint: monthly` · *Normative accessibility patterns from the W3C ARIA working group; release-tagged on each APG update.*
|
|
15
|
+
- **[Material Design 3](https://m3.material.io/)** - `kind: spec-source` · `url: https://github.com/material-components/material-web/releases.atom` · `cadence-hint: weekly` · *Google's design system release notes; new tokens and components land here first.*
|
|
16
|
+
- **[Apple Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)** - `kind: spec-source` · `url: https://developer.apple.com/news/releases/rss/releases.rss` · `cadence-hint: irregular` · *Apple developer release feed - HIG updates ship alongside SDK announcements.*
|
|
17
|
+
- **[Fluent 2 Design System](https://fluent2.microsoft.design/)** - `kind: spec-source` · `url: https://github.com/microsoft/fluentui/releases.atom` · `cadence-hint: weekly` · *Microsoft's cross-platform design system; normative component API and token changes.*
|
|
18
|
+
- **[W3C Design Tokens Community Group](https://www.w3.org/community/design-tokens/)** - `kind: spec-source` · `url: https://github.com/design-tokens/community-group/commits/main.atom` · `cadence-hint: monthly` · *Draft tokens format spec; commit feed surfaces spec edits before formal publication.*
|
|
19
19
|
|
|
20
20
|
## Component systems (6-8 feeds)
|
|
21
21
|
|
|
22
|
-
- **[Radix UI](https://www.radix-ui.com/)**
|
|
23
|
-
- **[shadcn/ui](https://ui.shadcn.com/)**
|
|
24
|
-
- **[Shopify Polaris](https://polaris.shopify.com/)**
|
|
25
|
-
- **[IBM Carbon](https://carbondesignsystem.com/)**
|
|
26
|
-
- **[GitHub Primer](https://primer.style/)**
|
|
27
|
-
- **[Atlassian Design System](https://atlassian.design/)**
|
|
28
|
-
- **[Ant Design](https://ant.design/)**
|
|
29
|
-
- **[Mantine](https://mantine.dev/)**
|
|
22
|
+
- **[Radix UI](https://www.radix-ui.com/)** - `kind: component-system` · `url: https://github.com/radix-ui/primitives/releases.atom` · `cadence-hint: weekly` · *Unstyled accessible primitives; release notes document ARIA behavior changes.*
|
|
23
|
+
- **[shadcn/ui](https://ui.shadcn.com/)** - `kind: component-system` · `url: https://github.com/shadcn-ui/ui/releases.atom` · `cadence-hint: weekly` · *Copy-paste component library built on Radix + Tailwind; release notes map to new patterns.*
|
|
24
|
+
- **[Shopify Polaris](https://polaris.shopify.com/)** - `kind: component-system` · `url: https://github.com/Shopify/polaris/releases.atom` · `cadence-hint: weekly` · *Shopify admin design system; commerce-tuned component patterns.*
|
|
25
|
+
- **[IBM Carbon](https://carbondesignsystem.com/)** - `kind: component-system` · `url: https://github.com/carbon-design-system/carbon/releases.atom` · `cadence-hint: weekly` · *IBM's enterprise design system; strong on data-dense patterns and accessibility.*
|
|
26
|
+
- **[GitHub Primer](https://primer.style/)** - `kind: component-system` · `url: https://github.com/primer/react/releases.atom` · `cadence-hint: weekly` · *GitHub's design system; opinionated developer-tool patterns.*
|
|
27
|
+
- **[Atlassian Design System](https://atlassian.design/)** - `kind: component-system` · `url: https://github.com/atlassian/design-system/releases.atom` · `cadence-hint: weekly` · *Jira/Confluence design system; strong on collaboration and editor patterns.*
|
|
28
|
+
- **[Ant Design](https://ant.design/)** - `kind: component-system` · `url: https://github.com/ant-design/ant-design/releases.atom` · `cadence-hint: weekly` · *Enterprise React component library with deep form and table patterns.*
|
|
29
|
+
- **[Mantine](https://mantine.dev/)** - `kind: component-system` · `url: https://github.com/mantinedev/mantine/releases.atom` · `cadence-hint: weekly` · *React components with hooks-first architecture; strong accessibility defaults.*
|
|
30
30
|
|
|
31
31
|
## Research institutions (2-3 feeds)
|
|
32
32
|
|
|
33
|
-
- **[Nielsen Norman Group Articles](https://www.nngroup.com/articles/)**
|
|
34
|
-
- **[Laws of UX](https://lawsofux.com/)**
|
|
35
|
-
- **[Baymard Institute](https://baymard.com/)**
|
|
33
|
+
- **[Nielsen Norman Group Articles](https://www.nngroup.com/articles/)** - `kind: research` · `url: https://www.nngroup.com/feed/rss/` · `cadence-hint: weekly` · *UX research articles from the Nielsen Norman Group; heuristic updates and usability findings ship here.*
|
|
34
|
+
- **[Laws of UX](https://lawsofux.com/)** - `kind: research` · `url: https://github.com/jonyablonski/laws-of-ux/releases.atom` · `cadence-hint: monthly` · *Jon Yablonski's curated catalogue of psychology-rooted UX principles; release feed tracks new laws and revisions.*
|
|
35
|
+
- **[Baymard Institute](https://baymard.com/)** - `kind: research` · `url: https://baymard.com/blog/rss` · `cadence-hint: monthly` · *E-commerce UX research with empirical benchmarks; public surface of their large-scale usability studies.*
|
|
36
36
|
|
|
37
37
|
## Named practitioners (10-12 feeds)
|
|
38
38
|
|
|
39
|
-
- **[Adam Wathan](https://adamwathan.me/)**
|
|
40
|
-
- **[Ryan Mulligan](https://ryanmulligan.dev/)**
|
|
41
|
-
- **[Rachel Andrew](https://rachelandrew.co.uk/)**
|
|
42
|
-
- **[Josh W. Comeau](https://www.joshwcomeau.com/)**
|
|
43
|
-
- **[Ahmad Shadeed](https://ishadeed.com/)**
|
|
44
|
-
- **[Sara Soueidan](https://www.sarasoueidan.com/)**
|
|
45
|
-
- **[Lea Verou](https://lea.verou.me/)**
|
|
46
|
-
- **[Scott Jehl](https://scottjehl.com/)**
|
|
47
|
-
- **[Heydon Pickering](https://heydonworks.com/)**
|
|
48
|
-
- **[Una Kravets](https://una.im/)**
|
|
49
|
-
- **[Don Norman
|
|
50
|
-
- **[Vitsœ
|
|
39
|
+
- **[Adam Wathan](https://adamwathan.me/)** - `kind: named-practitioner` · `url: https://adamwathan.me/feed.xml` · `cadence-hint: monthly` · *Tailwind creator; utility-first CSS, component API design, refactoring patterns.*
|
|
40
|
+
- **[Ryan Mulligan](https://ryanmulligan.dev/)** - `kind: named-practitioner` · `url: https://ryanmulligan.dev/feed.xml` · `cadence-hint: monthly` · *CSS craft at spec-adjacent depth; cascade layers, container queries, color functions.*
|
|
41
|
+
- **[Rachel Andrew](https://rachelandrew.co.uk/)** - `kind: named-practitioner` · `url: https://rachelandrew.co.uk/feed/atom` · `cadence-hint: monthly` · *CSS Working Group member; grid, layout, and evolving layout-engine features.*
|
|
42
|
+
- **[Josh W. Comeau](https://www.joshwcomeau.com/)** - `kind: named-practitioner` · `url: https://www.joshwcomeau.com/rss.xml` · `cadence-hint: monthly` · *Interactive explainers on CSS, animation, and React rendering; durable reference-quality deep dives.*
|
|
43
|
+
- **[Ahmad Shadeed](https://ishadeed.com/)** - `kind: named-practitioner` · `url: https://ishadeed.com/rss.xml` · `cadence-hint: monthly` · *CSS layout and component articles grounded in real interface patterns.*
|
|
44
|
+
- **[Sara Soueidan](https://www.sarasoueidan.com/)** - `kind: named-practitioner` · `url: https://www.sarasoueidan.com/feed.xml` · `cadence-hint: quarterly` · *SVG, accessibility, and inclusive design with spec-level rigor.*
|
|
45
|
+
- **[Lea Verou](https://lea.verou.me/)** - `kind: named-practitioner` · `url: https://lea.verou.me/feed/atom` · `cadence-hint: quarterly` · *CSS Working Group invited expert; writes about the spec surface before it ships.*
|
|
46
|
+
- **[Scott Jehl](https://scottjehl.com/)** - `kind: named-practitioner` · `url: https://scottjehl.com/feed/` · `cadence-hint: monthly` · *Progressive enhancement and web performance; long-form durable analysis.*
|
|
47
|
+
- **[Heydon Pickering](https://heydonworks.com/)** - `kind: named-practitioner` · `url: https://heydonworks.com/feed.xml` · `cadence-hint: irregular` · *Accessibility-first component design; Inclusive Components author.*
|
|
48
|
+
- **[Una Kravets](https://una.im/)** - `kind: named-practitioner` · `url: https://una.im/feed.xml` · `cadence-hint: monthly` · *Chrome DevRel on CSS; surfaces and explains new platform capabilities.*
|
|
49
|
+
- **[Don Norman - jnd.org](https://jnd.org/)** - `kind: named-practitioner` · `url: https://jnd.org/feed/` · `cadence-hint: monthly` · *Don Norman's essays on emotional design, affordances, cognitive design, and human-centered AI. Primary source for `reference/emotional-design.md`.*
|
|
50
|
+
- **[Vitsœ - Dieter Rams](https://www.vitsoe.com/gb/about/good-design)** - `kind: named-practitioner` · `url: https://www.vitsoe.com/feed` · `cadence-hint: irregular` · *Canonical source for Rams's 10 Principles of Good Design. Published by Vitsœ, who worked directly with Rams at Braun. Primary source for the Rams Lens in `reference/checklists.md`.*
|
|
51
51
|
|
|
52
52
|
## User-added Are.na channels (user-extensible)
|
|
53
53
|
|
|
@@ -59,13 +59,13 @@ Are.na channels are user-curated reference collections. Add your own channel by
|
|
|
59
59
|
|
|
60
60
|
## Rejected kinds
|
|
61
61
|
|
|
62
|
-
The following hosts and feed kinds are **explicitly rejected** from this whitelist. This list is enforced by `scripts/tests/test-authority-rejected-kinds.sh`
|
|
62
|
+
The following hosts and feed kinds are **explicitly rejected** from this whitelist. This list is enforced by `scripts/tests/test-authority-rejected-kinds.sh` - any merge that adds a matching URL fails CI.
|
|
63
63
|
|
|
64
|
-
- **dribbble.com**
|
|
65
|
-
- **behance.net**
|
|
66
|
-
- **linkedin.com**
|
|
67
|
-
- **medium.com/topic/\***
|
|
68
|
-
- **"trending"-style aggregators** (e.g., product-hunt daily digests, "top 10 UI" roundups)
|
|
64
|
+
- **dribbble.com** - visual-trend aggregator; no normative content, no named-practitioner curation.
|
|
65
|
+
- **behance.net** - portfolio aggregator; same category.
|
|
66
|
+
- **linkedin.com** - social feed; signal-to-noise ratio incompatible with the plugin's anti-slop thesis.
|
|
67
|
+
- **medium.com/topic/\*** - generic topic feeds; named Medium authors may appear as `named-practitioner` entries, but topic-level feeds are rejected wholesale.
|
|
68
|
+
- **"trending"-style aggregators** (e.g., product-hunt daily digests, "top 10 UI" roundups) - curatorial output indistinguishable from advertising.
|
|
69
69
|
|
|
70
70
|
Rationale: the whitelist is restricted to sources that ship specs, guidelines, or named-practitioner curation (PROJECT.md, ROADMAP.md SC 8, CONTEXT.md D-08).
|
|
71
71
|
|
|
@@ -3,10 +3,10 @@ name: bandit-integration
|
|
|
3
3
|
phase: 27.5
|
|
4
4
|
version: 1.0.0
|
|
5
5
|
type: meta-rules
|
|
6
|
-
description: Bandit posterior + production-integration shim cheat sheet
|
|
6
|
+
description: Bandit posterior + production-integration shim cheat sheet - signatures, reward function semantics, adaptive_mode gate, posterior path conventions.
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
# Bandit Integration
|
|
9
|
+
# Bandit Integration - Developer Cheat Sheet
|
|
10
10
|
|
|
11
11
|
**Phase 27.5 (v1.27.5).** Reference for the bandit production-integration surface. Authoring or modifying a caller of the bandit posterior? Debugging a routing decision at the code level? Start here.
|
|
12
12
|
|
|
@@ -21,20 +21,20 @@ In-scope modules:
|
|
|
21
21
|
|
|
22
22
|
## The two-stage architecture
|
|
23
23
|
|
|
24
|
-
Phase 23.5 ships the bandit primitives
|
|
24
|
+
Phase 23.5 ships the bandit primitives - Thompson-sampling pull, posterior update, computeReward, atomic persistence. Phase 27-07 added the `delegate?` arm dimension (5 peer-CLI arms + the local `none` arm). Both phases shipped library-only with no production callers.
|
|
25
25
|
|
|
26
26
|
Phase 27.5 ships the production-integration shim that wraps the primitives behind two purpose-built entry points and hides the `pull` vs `pullWithDelegate` choice. Callers pass a `delegate` argument and the shim routes internally.
|
|
27
27
|
|
|
28
|
-
### Phase 23.5 + 27-07 surface
|
|
28
|
+
### Phase 23.5 + 27-07 surface - `scripts/lib/bandit-router.cjs`
|
|
29
29
|
|
|
30
30
|
Exports: `pull`, `update`, `pullWithDelegate`, `updateWithDelegate`, `computeReward`, `loadPosterior`, `savePosterior`, `reset`, `decayArm`, `sampleBeta`, `priorFor`, `binForGlobCount`, `DEFAULT_DELEGATES`, `DELEGATE_NONE`, `TIER_PRIOR`, `PRIOR_STRENGTH`, `TOUCHES_BINS`, `DEFAULT_POSTERIOR_PATH`, `SCHEMA_VERSION`.
|
|
31
31
|
|
|
32
32
|
The two-pair primitive split:
|
|
33
33
|
|
|
34
|
-
- `pull({agent, bin, ...})` / `update({agent, bin, tier, reward, ...})`
|
|
35
|
-
- `pullWithDelegate({agent, bin, delegates, ...})` / `updateWithDelegate({agent, bin, tier, delegate, reward, ...})`
|
|
34
|
+
- `pull({agent, bin, ...})` / `update({agent, bin, tier, reward, ...})` - operate on the `(agent, bin, tier)` arm slice. Equivalent to `delegate='none'`.
|
|
35
|
+
- `pullWithDelegate({agent, bin, delegates, ...})` / `updateWithDelegate({agent, bin, tier, delegate, reward, ...})` - operate on the `(agent, bin, tier, delegate)` arm slice for any `delegate ∈ DEFAULT_DELEGATES`.
|
|
36
36
|
|
|
37
|
-
### Phase 27.5 surface
|
|
37
|
+
### Phase 27.5 surface - `scripts/lib/bandit-router/integration.cjs`
|
|
38
38
|
|
|
39
39
|
Exports: `consultBandit`, `recordOutcome`, `DELEGATE_NONE`.
|
|
40
40
|
|
|
@@ -75,7 +75,7 @@ consultBandit({
|
|
|
75
75
|
}
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
-
`decision_log.source` is the audit trail
|
|
78
|
+
`decision_log.source` is the audit trail - it tells observability tools which routing branch ran. Tests use it to assert the correct path was taken.
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -108,9 +108,9 @@ Phase 27.5 passes `wallTimeMs: 0` always (D-08 unchanged from Phase 23.5).
|
|
|
108
108
|
|
|
109
109
|
Phase 23.5 ladder (D-07):
|
|
110
110
|
|
|
111
|
-
- `static`
|
|
112
|
-
- `hedge`
|
|
113
|
-
- `full`
|
|
111
|
+
- `static` - default. Bandit silent. `default-tier:` is authoritative. No reads, no writes.
|
|
112
|
+
- `hedge` - measurement-only. Bandit silent on reads, but `recordOutcome` may still write to seed the posterior. Currently identical to `static` in Phase 27.5; reserved for Phase 28+ explicit "hedge mode".
|
|
113
|
+
- `full` - bandit active. Reads pick via Thompson sampling; writes update posterior.
|
|
114
114
|
|
|
115
115
|
The shim respects the gate transparently. Operators flip via `.design/budget.json#adaptive_mode`.
|
|
116
116
|
|
|
@@ -122,8 +122,8 @@ The shim respects the gate transparently. Operators flip via `.design/budget.jso
|
|
|
122
122
|
|
|
123
123
|
Two-stage lexicographic (D-08, unchanged from Phase 23.5):
|
|
124
124
|
|
|
125
|
-
- Stage 1
|
|
126
|
-
- Stage 2
|
|
125
|
+
- Stage 1 - correctness: if `solidify_pass !== true`, return `0`.
|
|
126
|
+
- Stage 2 - cost: return `1 - lambda * normalize(cost_usd + epsilon * wall_time_ms)`.
|
|
127
127
|
|
|
128
128
|
Defaults: `lambda = 0.3`, `epsilon = 0.05`. `normalize` maps `[0, $5]` linearly to `[0, 1]`, clamped.
|
|
129
129
|
|
|
@@ -137,7 +137,7 @@ Canonical path: `.design/telemetry/posterior.json` (Phase 23.5 D-08, Phase 27.5
|
|
|
137
137
|
|
|
138
138
|
Test injection: pass `baseDir` (anchors path under a different workspace root) or `posteriorPath` (overrides the file path directly). Both `consultBandit` and `recordOutcome` accept these options.
|
|
139
139
|
|
|
140
|
-
Write discipline: atomic via `.tmp` + rename. Read failures yield an empty posterior; subsequent writes overwrite. Concurrent writers within the same process are not synchronized
|
|
140
|
+
Write discipline: atomic via `.tmp` + rename. Read failures yield an empty posterior; subsequent writes overwrite. Concurrent writers within the same process are not synchronized - gdd's session-runner is single-threaded.
|
|
141
141
|
|
|
142
142
|
---
|
|
143
143
|
|
|
@@ -145,19 +145,19 @@ Write discipline: atomic via `.tmp` + rename. Read failures yield an empty poste
|
|
|
145
145
|
|
|
146
146
|
Phase 27.5 wires these consumers:
|
|
147
147
|
|
|
148
|
-
- **`hooks/budget-enforcer.ts`** (Plan 27.5-02)
|
|
149
|
-
- **`scripts/lib/session-runner/index.ts`** (Plan 27.5-03)
|
|
150
|
-
- **`agents/design-reflector.md` Section 8** (Plan 27.5-04)
|
|
151
|
-
- **`skills/peers/SKILL.md` Step 5 + `skills/bandit-status/SKILL.md`** (Plan 27.5-05)
|
|
148
|
+
- **`hooks/budget-enforcer.ts`** (Plan 27.5-02) - per Agent spawn, after `resolved_models` is computed, before SDK call. Calls `consultBandit({agent, bin, delegate, agentFrontmatter, adaptiveMode})`. Overrides `resolved_models[agent]` with the bandit tier via `tier-resolver.cjs`. Emits `bandit.tier_selected` event for observability.
|
|
149
|
+
- **`scripts/lib/session-runner/index.ts`** (Plan 27.5-03) - terminal-emit path. Calls `recordOutcome({agent, bin, delegate, tier, status, costUsd})` after every `emit('session.completed', ...)` site (4 sites: rate-limited, peer-success, turn-cap-zero, terminal retry-exit). Posterior write is best-effort; missing optional fields silent.
|
|
150
|
+
- **`agents/design-reflector.md` Section 8** (Plan 27.5-04) - bandit-arbitrage analysis. `scripts/lib/bandit-arbitrage.cjs` reads `.design/telemetry/posterior.json` and surfaces stale-frontmatter proposals. Mirrors Phase 26-06's `cost-arbitrage.cjs` shape.
|
|
151
|
+
- **`skills/peers/SKILL.md` Step 5 + `skills/bandit-status/SKILL.md`** (Plan 27.5-05) - read-only diagnostic surfaces. `/gdd:peers` posterior delta column populated; `/gdd:bandit-status` renders per-`(agent, bin, delegate, tier)` snapshots.
|
|
152
152
|
|
|
153
153
|
---
|
|
154
154
|
|
|
155
155
|
## Cross-references
|
|
156
156
|
|
|
157
|
-
- `docs/BANDIT-INTEGRATION.md`
|
|
158
|
-
- `reference/peer-protocols.md`
|
|
159
|
-
- `scripts/lib/bandit-router.cjs`
|
|
160
|
-
- `scripts/lib/bandit-router/integration.cjs`
|
|
161
|
-
- `scripts/lib/bandit-arbitrage.cjs`
|
|
162
|
-
- `hooks/budget-enforcer.ts`
|
|
163
|
-
- `scripts/lib/session-runner/index.ts`
|
|
157
|
+
- `docs/BANDIT-INTEGRATION.md` - operator guide (when bandit fires, how to disable, troubleshooting).
|
|
158
|
+
- `reference/peer-protocols.md` - Phase 27 ACP/ASP cheat sheet (peer-CLI delegation transport).
|
|
159
|
+
- `scripts/lib/bandit-router.cjs` - Phase 23.5 primitives surface.
|
|
160
|
+
- `scripts/lib/bandit-router/integration.cjs` - Phase 27.5 production shim.
|
|
161
|
+
- `scripts/lib/bandit-arbitrage.cjs` - Phase 27.5 reflector analyzer (Section 8 of `design-reflector.md`).
|
|
162
|
+
- `hooks/budget-enforcer.ts` - bandit consultation site.
|
|
163
|
+
- `scripts/lib/session-runner/index.ts` - `recordOutcome` site.
|
package/reference/brand-voice.md
CHANGED
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
<!-- Source: nextlevelbuilder/ui-ux-pro-max-skill (MIT) — data/products.csv, data/ui-reasoning.csv (industry-context section) -->
|
|
4
4
|
|
|
5
|
-
Brand voice is not a single setting
|
|
5
|
+
Brand voice is not a single setting - it is a combination of independent axes, an archetype frame, and a sensitivity to context. Agents reading this file should treat the voice axes and archetype library as orthogonal dimensions: pick a position on each axis independently, then select an archetype to layer personality on top. Neither choice is derived from the other.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## Voice Axes
|
|
10
10
|
|
|
11
|
-
Each axis is a spectrum between two poles. Moving toward one pole is not superior to moving toward the other
|
|
11
|
+
Each axis is a spectrum between two poles. Moving toward one pole is not superior to moving toward the other - the correct position depends entirely on the product's audience, vertical, and context of use. Most products do not land at the extreme of any axis; they occupy a deliberate range within it.
|
|
12
12
|
|
|
13
13
|
### Axis 1: Formal ↔ Casual
|
|
14
14
|
|
|
@@ -30,7 +30,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
|
|
|
30
30
|
|
|
31
31
|
**Serious pole:** Tone is earnest and sober. Errors are acknowledged without irony. Humor is absent or very subdued. Stakes are treated as real. Example error message: "We were unable to process your payment. Please verify your card details and try again, or contact your bank."
|
|
32
32
|
|
|
33
|
-
**Playful pole:** Tone uses wit, lightness, and occasionally emoji or metaphor to reduce tension and delight the user. Playfulness does not mean frivolous
|
|
33
|
+
**Playful pole:** Tone uses wit, lightness, and occasionally emoji or metaphor to reduce tension and delight the user. Playfulness does not mean frivolous - it means the product enjoys its own existence. Example error message: "Something got tangled up on our end. Give it another go? 🙏"
|
|
34
34
|
|
|
35
35
|
**When to move toward Serious:** Enterprise B2B, professional tools, medical platforms, legal services, and financial dashboards should maintain a serious register because users are performing consequential work and playful tone signals a mismatch in understanding stakes. An HR platform with whimsical error messages risks undermining managerial authority.
|
|
36
36
|
|
|
@@ -38,7 +38,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
|
|
|
38
38
|
|
|
39
39
|
**Copy examples:**
|
|
40
40
|
- Serious: "This action cannot be undone. All selected records will be permanently deleted."
|
|
41
|
-
- Playful: "Heads up
|
|
41
|
+
- Playful: "Heads up - once you delete this, it's gone for good. Still want to?"
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
|
|
|
46
46
|
|
|
47
47
|
**Expert pole:** Language assumes domain knowledge. Technical terms are used without definition. The product speaks as a peer to specialists. Precision is prioritized over accessibility. Example: "Configure your OAuth 2.0 PKCE flow with a 256-bit code verifier before initiating the authorization request."
|
|
48
48
|
|
|
49
|
-
**Approachable pole:** Language explains concepts in plain English. Jargon is translated or avoided. The product speaks as a guide to non-specialists. Accessibility is prioritized over brevity. Example: "Connect your account securely
|
|
49
|
+
**Approachable pole:** Language explains concepts in plain English. Jargon is translated or avoided. The product speaks as a guide to non-specialists. Accessibility is prioritized over brevity. Example: "Connect your account securely - we use a modern login method that keeps your password private."
|
|
50
50
|
|
|
51
51
|
**When to move toward Expert:** Developer tools, ML/data platforms, DevOps dashboards, security products, and medical or legal professional tools are used by specialists who are frustrated by over-explanation. Unnecessary simplification reads as condescension and slows expert users down.
|
|
52
52
|
|
|
@@ -66,7 +66,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
|
|
|
66
66
|
|
|
67
67
|
**When to move toward Reverent:** Luxury brands, heritage fashion houses, fine dining, premium hospitality, and cultural institutions benefit from reverent language because it honors the symbolic weight users attach to these products and does not puncture the aspirational experience they are purchasing.
|
|
68
68
|
|
|
69
|
-
**When to move toward Irreverent:** Challenger brands, startup disruptors, creative tools, youth-oriented products, and any brand explicitly positioning against an incumbent benefit from irreverent language because it embodies the brand's core argument
|
|
69
|
+
**When to move toward Irreverent:** Challenger brands, startup disruptors, creative tools, youth-oriented products, and any brand explicitly positioning against an incumbent benefit from irreverent language because it embodies the brand's core argument - that the old way is worth questioning. An anti-establishment fintech that writes like a bank forfeits its entire premise.
|
|
70
70
|
|
|
71
71
|
**Copy examples:**
|
|
72
72
|
- Reverent: "Each piece is hand-finished by our atelier in Lyon."
|
|
@@ -78,7 +78,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
|
|
|
78
78
|
|
|
79
79
|
**Authoritative pole:** The product speaks with confidence and direction. It tells users what to do. Instructions are commands, not suggestions. The relationship is expert-to-user. Example: "You must complete identity verification before withdrawing funds." / "Save your work before closing this window."
|
|
80
80
|
|
|
81
|
-
**Collaborative pole:** The product speaks as a partner. It recommends and explains, framing choices as shared decisions. The relationship is peer-to-peer. Example: "We recommend verifying your identity now
|
|
81
|
+
**Collaborative pole:** The product speaks as a partner. It recommends and explains, framing choices as shared decisions. The relationship is peer-to-peer. Example: "We recommend verifying your identity now - it unlocks higher withdrawal limits." / "Just so you know - unsaved changes will be lost if you close."
|
|
82
82
|
|
|
83
83
|
**When to move toward Authoritative:** Compliance interfaces, safety-critical systems, legal workflows, and any context where users must follow a specific procedure without deviation benefit from authoritative language because ambiguity creates errors and liability. A safety checklist that says "You might want to confirm the valve is closed" is a design defect.
|
|
84
84
|
|
|
@@ -86,7 +86,7 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
|
|
|
86
86
|
|
|
87
87
|
**Copy examples:**
|
|
88
88
|
- Authoritative: "Enter your password to confirm this irreversible action."
|
|
89
|
-
- Collaborative: "One last check
|
|
89
|
+
- Collaborative: "One last check - confirm your password and we'll take it from there."
|
|
90
90
|
|
|
91
91
|
---
|
|
92
92
|
|
|
@@ -95,40 +95,40 @@ Each axis is a spectrum between two poles. Moving toward one pole is not superio
|
|
|
95
95
|
Archetypes are personality frames, not voice axes. They describe the fundamental role the brand plays in its users' lives and the emotional contract it offers. Archetypes and voice axes are orthogonal: a Sage brand can be formal or casual, serious or playful. Select an archetype and then tune voice axes independently.
|
|
96
96
|
|
|
97
97
|
### 1. The Sage
|
|
98
|
-
The Sage earns trust by sharing knowledge. It positions the product as the most informed source in the room
|
|
98
|
+
The Sage earns trust by sharing knowledge. It positions the product as the most informed source in the room - not arrogant, but genuinely expert. The Sage communicates in a way that makes users feel more capable after each interaction, not dependent. In UI, this means rich documentation, contextual education woven into onboarding, and copy that explains the "why" rather than just the "what." Design skews toward clarity, precision, and minimalism - nothing competes with the information itself.
|
|
99
99
|
|
|
100
100
|
### 2. The Hero
|
|
101
|
-
The Hero is empowering and action-oriented. It frames the user as the agent of change and the product as the tool that makes the mission possible. CTAs are verbs: "Start building," "Launch your campaign," "Deploy now." The Hero archetype works best when users have a clear goal and the product gives them velocity toward it. Design is bold, directional, and high-contrast
|
|
101
|
+
The Hero is empowering and action-oriented. It frames the user as the agent of change and the product as the tool that makes the mission possible. CTAs are verbs: "Start building," "Launch your campaign," "Deploy now." The Hero archetype works best when users have a clear goal and the product gives them velocity toward it. Design is bold, directional, and high-contrast - it communicates momentum.
|
|
102
102
|
|
|
103
103
|
### 3. The Creator
|
|
104
|
-
The Creator prioritizes imagination and aesthetic experience. The product itself is a canvas, and the copy celebrates what users will make rather than what the product can do. Language is evocative rather than functional. Onboarding feels like an invitation rather than a tutorial. Design is aesthetic-forward
|
|
104
|
+
The Creator prioritizes imagination and aesthetic experience. The product itself is a canvas, and the copy celebrates what users will make rather than what the product can do. Language is evocative rather than functional. Onboarding feels like an invitation rather than a tutorial. Design is aesthetic-forward - typography, whitespace, and visual rhythm are treated as expressive elements, not just layout tools.
|
|
105
105
|
|
|
106
106
|
### 4. The Caregiver
|
|
107
|
-
The Caregiver is empathetic, supportive, and gentle under pressure. It anticipates user anxiety and responds with reassurance. Error messages do not blame; they comfort and guide. Onboarding is patient. The Caregiver archetype is essential for health apps, mental wellness platforms, parenting tools, and any product used during vulnerable moments. Design is warm, rounded, and low-stimulus
|
|
107
|
+
The Caregiver is empathetic, supportive, and gentle under pressure. It anticipates user anxiety and responds with reassurance. Error messages do not blame; they comfort and guide. Onboarding is patient. The Caregiver archetype is essential for health apps, mental wellness platforms, parenting tools, and any product used during vulnerable moments. Design is warm, rounded, and low-stimulus - nothing startles or overwhelms.
|
|
108
108
|
|
|
109
109
|
### 5. The Ruler
|
|
110
|
-
The Ruler is premium, commanding, and authority-signaling. It does not explain itself
|
|
110
|
+
The Ruler is premium, commanding, and authority-signaling. It does not explain itself - it presents. Copy is declarative and sparse. The Ruler archetype justifies premium pricing through an experience that communicates exclusivity and mastery. This archetype works for luxury goods, high-end B2B platforms, and any product where status is part of the value. Design is restrained, high-contrast, and architectural - every element signals control.
|
|
111
111
|
|
|
112
112
|
### 6. The Jester
|
|
113
|
-
The Jester uses humor to disarm and delight. It understands that joy is a retention mechanism and that laughter creates loyalty. The Jester does not take itself seriously and invites users to share that lightness. This archetype works for consumer products in low-stakes categories, social tools, and brands that have earned enough trust to be self-deprecating. Design uses surprise, playful motion, and unexpected visual moments
|
|
113
|
+
The Jester uses humor to disarm and delight. It understands that joy is a retention mechanism and that laughter creates loyalty. The Jester does not take itself seriously and invites users to share that lightness. This archetype works for consumer products in low-stakes categories, social tools, and brands that have earned enough trust to be self-deprecating. Design uses surprise, playful motion, and unexpected visual moments - but always purposefully, never randomly.
|
|
114
114
|
|
|
115
115
|
### 7. The Innocent
|
|
116
|
-
The Innocent is clean, optimistic, and simple. It communicates that the world is basically good and that this product exists to make it a little better. Copy is honest, unpretentious, and free of manipulation. The Innocent archetype is right for health food brands, sustainable products, children's tools, and any product positioning around purity or honesty. Design is bright, open, and generous with whitespace
|
|
116
|
+
The Innocent is clean, optimistic, and simple. It communicates that the world is basically good and that this product exists to make it a little better. Copy is honest, unpretentious, and free of manipulation. The Innocent archetype is right for health food brands, sustainable products, children's tools, and any product positioning around purity or honesty. Design is bright, open, and generous with whitespace - nothing hidden, nothing complex.
|
|
117
117
|
|
|
118
118
|
### 8. The Explorer
|
|
119
119
|
The Explorer is discovery-forward and adventurous. It communicates that the world is full of things worth finding and that this product is the best vehicle for that journey. Copy uses open-ended language: "See what's possible," "Go further," "Find your path." The Explorer archetype fits travel apps, outdoor brands, learning platforms, and curiosity-driven tools. Design uses movement, depth, and environmental imagery to evoke possibility.
|
|
120
120
|
|
|
121
121
|
### 9. The Rebel
|
|
122
|
-
The Rebel challenges assumptions and frames the incumbent as the problem. It uses anti-establishment language deliberately, not carelessly. The Rebel is not angry
|
|
122
|
+
The Rebel challenges assumptions and frames the incumbent as the problem. It uses anti-establishment language deliberately, not carelessly. The Rebel is not angry - it is confident in its alternative. Copy names what it rejects: "Not your usual bank," "Skip the middleman," "Design without the gatekeepers." The Rebel archetype is right for challenger brands, disruptive startups, and any product that exists because the existing solution is broken. Design is unconventional - asymmetric, raw, or deliberately anti-polished to signal that the rules have changed.
|
|
123
123
|
|
|
124
124
|
### 10. The Lover
|
|
125
|
-
The Lover creates intimacy and sensory connection. Copy is warm, personal, and physically evocative. The Lover archetype is less about romance than about deep emotional resonance
|
|
125
|
+
The Lover creates intimacy and sensory connection. Copy is warm, personal, and physically evocative. The Lover archetype is less about romance than about deep emotional resonance - the product feels like it was made for you specifically. This archetype fits beauty brands, food and beverage, hospitality, and any product where sensory experience is central. Design is rich, textural, and emotionally warm - photography over illustration, warmth over coolness.
|
|
126
126
|
|
|
127
127
|
### 11. The Everyman
|
|
128
|
-
The Everyman is relatable, unpretentious, and radically inclusive. It signals that this product is for everyone, not for a tribe or an aspirational identity. Copy avoids jargon, insider language, and exclusivity markers. The Everyman archetype is right for utility apps, mass-market consumer tools, and any product that succeeds by broad adoption rather than niche loyalty. Design is familiar and accessible
|
|
128
|
+
The Everyman is relatable, unpretentious, and radically inclusive. It signals that this product is for everyone, not for a tribe or an aspirational identity. Copy avoids jargon, insider language, and exclusivity markers. The Everyman archetype is right for utility apps, mass-market consumer tools, and any product that succeeds by broad adoption rather than niche loyalty. Design is familiar and accessible - conventional enough to feel immediately understandable to any user.
|
|
129
129
|
|
|
130
130
|
### 12. The Magician
|
|
131
|
-
The Magician is transformation-focused. It frames the product as the mechanism by which users go from a lesser to a greater state. Copy uses before/after framing: "What used to take days takes minutes," "You used to guess. Now you know." The Magician archetype fits productivity tools, AI platforms, and any product whose core promise is that the user will be meaningfully different after using it. Design uses contrast
|
|
131
|
+
The Magician is transformation-focused. It frames the product as the mechanism by which users go from a lesser to a greater state. Copy uses before/after framing: "What used to take days takes minutes," "You used to guess. Now you know." The Magician archetype fits productivity tools, AI platforms, and any product whose core promise is that the user will be meaningfully different after using it. Design uses contrast - before states feel constrained, after states feel open and capable.
|
|
132
132
|
|
|
133
133
|
---
|
|
134
134
|
|
|
@@ -152,18 +152,18 @@ Beyond the 12 canonical archetypes, products can adopt a design-register variant
|
|
|
152
152
|
|
|
153
153
|
## Tone-by-Context Table
|
|
154
154
|
|
|
155
|
-
Tone is not fixed
|
|
155
|
+
Tone is not fixed - even a consistent brand voice shifts register depending on the situation the user is in. A Jester brand should not make jokes in an error message that signals data loss. This table maps UI contexts to appropriate tone adjustments.
|
|
156
156
|
|
|
157
157
|
| Context | Recommended Tone | Example Copy |
|
|
158
158
|
|---------|-----------------|--------------|
|
|
159
|
-
| Error message | Calm, clear, helpful
|
|
160
|
-
| Empty state | Warm, forward-looking, actionable
|
|
161
|
-
| Success / celebration | Positive, proportionate to stakes
|
|
162
|
-
| Onboarding | Welcoming, encouraging, brief
|
|
163
|
-
| Loading state | Reassuring, informative
|
|
164
|
-
| Destructive action confirmation | Serious, precise, no hedging
|
|
165
|
-
| Pricing page | Honest, benefit-led, no dark patterns
|
|
166
|
-
| Marketing headline | Archetype-forward, emotionally resonant
|
|
159
|
+
| Error message | Calm, clear, helpful - never humorous for data loss or high-stakes failure | "We couldn't save your changes. Check your connection and try again." |
|
|
160
|
+
| Empty state | Warm, forward-looking, actionable - explains why empty and what to do | "Nothing here yet. Add your first project to get started." |
|
|
161
|
+
| Success / celebration | Positive, proportionate to stakes - brief and genuine, not excessive | "All done! Your report is ready." / "🎉 You're all set!" (casual products only) |
|
|
162
|
+
| Onboarding | Welcoming, encouraging, brief - does not front-load complexity | "Let's set up your workspace. It only takes a minute." |
|
|
163
|
+
| Loading state | Reassuring, informative - signals progress without being annoying | "Getting your data…" / "Almost there." |
|
|
164
|
+
| Destructive action confirmation | Serious, precise, no hedging - names what will be destroyed | "Delete project 'Alpha'? This cannot be undone." |
|
|
165
|
+
| Pricing page | Honest, benefit-led, no dark patterns - copy earns the price | "Everything in Pro, plus unlimited seats and priority support." |
|
|
166
|
+
| Marketing headline | Archetype-forward, emotionally resonant - captures brand promise | Varies by archetype (Hero: "Ship faster." / Creator: "Make something beautiful.") |
|
|
167
167
|
|
|
168
168
|
---
|
|
169
169
|
|
|
@@ -171,29 +171,29 @@ Tone is not fixed — even a consistent brand voice shifts register depending on
|
|
|
171
171
|
|
|
172
172
|
<!-- Source: nextlevelbuilder/ui-ux-pro-max-skill (MIT) — data/products.csv, data/ui-reasoning.csv -->
|
|
173
173
|
|
|
174
|
-
**Important:** Voice axis positions and industry context are orthogonal dimensions. Industry context provides defaults and constraints; voice axis positions are still chosen deliberately within those constraints. A FinTech product can be formal but approachable, or formal and expert
|
|
174
|
+
**Important:** Voice axis positions and industry context are orthogonal dimensions. Industry context provides defaults and constraints; voice axis positions are still chosen deliberately within those constraints. A FinTech product can be formal but approachable, or formal and expert - industry context does not collapse those choices, it narrows the range.
|
|
175
175
|
|
|
176
176
|
---
|
|
177
177
|
|
|
178
178
|
| Vertical | Voice Axis Defaults | Color Mood | Typography Mood | Key Effects | Anti-Patterns |
|
|
179
179
|
|----------|-------------------|------------|-----------------|-------------|---------------|
|
|
180
|
-
| **FinTech / Banking** | Formal → Serious → Expert → Authoritative; trust must be earned through consistency | Deep navy, forest green, cool greys
|
|
181
|
-
| **HealthTech / Medical** | Formal → Serious → Approachable → Collaborative; clarity reduces anxiety | Soft teal, warm white, calm blues
|
|
180
|
+
| **FinTech / Banking** | Formal → Serious → Expert → Authoritative; trust must be earned through consistency | Deep navy, forest green, cool greys - signals stability and security | Clean sans-serif (Inter, DM Sans), generous line-height for readability at numeric density | Microanimations on transaction confirmation; subtle loading states; no celebration for transfers | Casual tone on high-stakes actions; bright consumer palettes; playful error messages; flashy transitions on money movement |
|
|
181
|
+
| **HealthTech / Medical** | Formal → Serious → Approachable → Collaborative; clarity reduces anxiety | Soft teal, warm white, calm blues - avoids red except for genuine danger signals | Clean, large, high-contrast; body text ≥16px mandatory for compliance and accessibility | Gentle loading indicators; animated check states for completed steps; no jarring motion | Dense data without explanation; dark mode with pure black; small body text; red used decoratively |
|
|
182
182
|
| **SaaS / B2B** | Formal–Casual range → Serious → Expert → Authoritative–Collaborative range | Neutral greys, controlled accent (brand blue/green), white space dominant | Clean sans-serif, systematic type scale; headings earn visual weight | Skeleton loading for data tables; progressive disclosure for settings; tooltips for technical fields | Over-explaining basics to expert users; inconsistent terminology across modules; AI-slop purple palette |
|
|
183
183
|
| **E-commerce / DTC** | Casual → Playful–Serious range → Approachable → Collaborative | Brand-driven palette; high saturation for CTAs; warm neutrals for product context | Expressive display for headlines; clean body for product descriptions | Product zoom hover states; cart animation on add; wishlist micro-interaction | Fake urgency copy; cluttered hierarchy; hidden total cost until checkout; tiny CTA on mobile |
|
|
184
184
|
| **Gaming / Entertainment** | Casual → Playful → Approachable–Expert range → Irreverent | High saturation, dark mode dominant, neon accent on dark surface | Display/gaming typefaces for headers; clean body for UI; weight contrast is high | Motion-heavy transitions; achievement celebrations; ambient background animation | Accessibility blindspots in dark mode; pure black backgrounds (vibration); low contrast on energetic backgrounds |
|
|
185
185
|
| **Social / Community** | Casual → Playful → Approachable → Collaborative | Warm neutrals, brand accent, avatar-forward UI with minimal chrome | Friendly rounded sans-serif; generous spacing; conversational scale | Reaction microanimations; real-time presence indicators; celebratory confetti for milestones | Cold enterprise-grade color in social context; heavy typography hierarchy that buries user content |
|
|
186
186
|
| **Dev Tools** | Casual–Formal range → Serious → Expert → Authoritative | Dark mode default; syntax-highlight palette; cool greys; code-emphasis contrast | Monospace for code; sans-serif for prose; no decorative type | Fast, no-flash loading states; inline error syntax highlighting; keyboard shortcut visibility | Explaining basics to experts; hiding power features; light-mode-only; inconsistent CLI↔UI vocabulary |
|
|
187
|
-
| **EdTech** | Casual → Playful–Serious range → Approachable → Collaborative | Warm, bright, optimistic
|
|
188
|
-
| **Legal / Compliance** | Formal → Serious → Expert → Authoritative | Navy, charcoal, neutral greys
|
|
187
|
+
| **EdTech** | Casual → Playful–Serious range → Approachable → Collaborative | Warm, bright, optimistic - not childish; academic versions use cooler tone | Friendly rounded sans; large body text; generous spacing for reading context | Progress animations; streak celebration; gentle nudges for return | Overwhelming choice on first launch; punitive error framing; tests without explanation of why wrong |
|
|
188
|
+
| **Legal / Compliance** | Formal → Serious → Expert → Authoritative | Navy, charcoal, neutral greys - no decorative color | Readable serif or clean sans; no display type for primary content | None beyond loading states; no celebratory states - outcomes have real weight | Casual tone on contract actions; hiding consequences; playful UI that signals legal work is trivial |
|
|
189
189
|
| **HR / People Ops** | Formal–Casual range → Serious → Approachable → Collaborative | Warm professional: muted teal, earth tones, warm greys | Clean sans-serif; expressive enough to feel human, not cold | Subtle check animations for onboarding; gentle feedback on form completion | Clinical coldness in employee-facing UI; hiding personal data implications; confusing benefit summaries |
|
|
190
190
|
| **Real Estate** | Formal → Serious → Approachable → Authoritative | Warm greys, earth tones, occasional brand accent; photography-dominant | Clean serif or premium sans; photography does the expressive work | Map interaction states; mortgage calculator animations; image gallery transitions | Overwhelming data without hierarchy; hiding total cost; small map interaction targets on mobile |
|
|
191
191
|
| **Travel / Hospitality** | Casual → Playful–Serious range → Approachable → Collaborative | Destination-driven: warm ambers, ocean blues, lush greens | Expressive display for destination content; clean sans for booking flows | Immersive imagery transitions; booking confirmation celebration; ambient destination video | Hiding fees until final step; tiny date pickers; inconsistent voice between inspiration and transactional flows |
|
|
192
192
|
| **Food / Delivery** | Casual → Playful → Approachable → Collaborative | Warm appetizing tones: terracotta, golden yellow, deep greens | Rounded, friendly sans-serif; photography-heavy | Order status animation; delivery tracking real-time; add-to-cart micro-interaction | Cold clinical tone; hiding delivery costs; overwhelming menu density; slow loading states for item images |
|
|
193
193
|
| **Fitness / Wellness** | Casual → Serious–Playful range → Approachable → Collaborative | High energy (fitness): deep navy + neon; Wellness: warm cream, sage, earth | Strong weight contrast for motivational moments; clean body for routine content | Workout completion celebration; streak animation; activity ring fill | Shaming language for missed goals; pure black dark mode; excessive notifications; gamification without consent |
|
|
194
|
-
| **Non-profit / NGO** | Casual–Formal range → Serious → Approachable → Collaborative | Mission-driven: warm humanist tones, photography-led, restrained accent | Readable, accessible, warm
|
|
195
|
-
| **Government / Civic** | Formal → Serious → Approachable → Authoritative | Institutional: navy, red, white variants
|
|
196
|
-
| **Luxury / Fashion** | Formal → Serious → Expert → Reverent | Black, white, gold, nude
|
|
194
|
+
| **Non-profit / NGO** | Casual–Formal range → Serious → Approachable → Collaborative | Mission-driven: warm humanist tones, photography-led, restrained accent | Readable, accessible, warm - never cold or corporate | Impact counter animations; donation confirmation warmth; progress-toward-goal bars | Guilt-manipulation copy; inaccessible donation flows; slow load on donation pages; hiding overhead costs |
|
|
195
|
+
| **Government / Civic** | Formal → Serious → Approachable → Authoritative | Institutional: navy, red, white variants - national palette conventions | Highly readable sans-serif; no display type; large body text mandatory | Progress bars for multi-step processes; no celebration for government services | Jargon without explanation; inaccessible forms; mobile-hostile layouts; hiding deadlines |
|
|
196
|
+
| **Luxury / Fashion** | Formal → Serious → Expert → Reverent | Black, white, gold, nude - restraint signals luxury | Editorial serif or geometric sans; generous whitespace; typography is the aesthetic | Elegant fade transitions; product reveal on scroll; no click-bait motion | Playful copy that undercuts premium positioning; cluttered layout; urgent sale language; AI-slop palette |
|
|
197
197
|
| **Media / Publishing** | Casual–Formal range → Serious → Approachable–Expert range → Authoritative | Publication-specific; reading UX emphasizes contrast and typography | Reading-optimized: long-form line length (60–75ch), generous line-height (1.7+) | Scroll-progress indicators; reading time estimates; article-end engagement | Distraction ads interrupting reading flow; tiny body text; low contrast for long-form content |
|
|
198
198
|
| **Analytics / BI** | Formal → Serious → Expert → Authoritative | Data-focused: high contrast, neutral chrome, vivid but accessible chart palette | Dense but readable sans-serif; monospace for data values; strong heading hierarchy | Interactive chart hover states; filter animation; export confirmation | Color-blind-unsafe chart palettes; pure decoration in data visualizations; hiding data provenance |
|
|
199
199
|
| **AI / ML Platform** | Casual–Formal range → Serious → Expert → Authoritative–Collaborative range | Dark mode default with vibrant accent; cool-to-neutral chrome | Clean monospace for code and prompts; sans-serif for prose; strong weight contrast | Streaming text animation; generation loading state; token cost micro-display | Anthropomorphizing in ways that mislead; hiding capability limits; magical framing that hides user responsibility |
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
> Phase 29 reference doc. Specifies the deterministic gate that decides when
|
|
4
4
|
> the reflector has gathered enough `capability_gap` signal to surface a
|
|
5
5
|
> one-time opt-in prompt for Stage-1 (incubator authoring of new agents /
|
|
6
|
-
> skills). **No code path in this repository auto-flips the stage**
|
|
6
|
+
> skills). **No code path in this repository auto-flips the stage** -
|
|
7
7
|
> D-01 is the discipline.
|
|
8
8
|
|
|
9
9
|
---
|
|
@@ -23,7 +23,7 @@ date or a release. The reflector aggregates events into per-cycle
|
|
|
23
23
|
clusters (`scripts/lib/reflector-capability-gap-aggregator.cjs`) and
|
|
24
24
|
evaluates a deterministic stability function against the project's
|
|
25
25
|
cycle history. When the gate is crossed, `/gdd:apply-reflections`
|
|
26
|
-
emits a **one-time user-facing prompt** in the cycle markdown
|
|
26
|
+
emits a **one-time user-facing prompt** in the cycle markdown - never
|
|
27
27
|
an auto-stage-flip. The user opting in is a separate explicit action,
|
|
28
28
|
out of scope for this gate spec.
|
|
29
29
|
|
|
@@ -72,7 +72,7 @@ A cluster `c` is **stable** iff both conditions hold:
|
|
|
72
72
|
|
|
73
73
|
1. **Consecutive presence.** `c` appears in `≥ M` consecutive cycles
|
|
74
74
|
somewhere within the observed history. (The most recent unbroken
|
|
75
|
-
run is what matters
|
|
75
|
+
run is what matters - if a cluster missed a cycle, the run resets
|
|
76
76
|
and only the longest streak counts.)
|
|
77
77
|
2. **Narrow posterior.** The closed-form posterior standard deviation
|
|
78
78
|
of the Beta distribution satisfies:
|
|
@@ -129,7 +129,7 @@ Inputs:
|
|
|
129
129
|
|
|
130
130
|
The evaluation is **deterministic** (no randomness), **idempotent**
|
|
131
131
|
(no side-effects in the evaluator), and **read-only** with respect to
|
|
132
|
-
`.design/config.json`
|
|
132
|
+
`.design/config.json` - that file is only updated by the user's
|
|
133
133
|
explicit opt-in action, never by the reflector.
|
|
134
134
|
|
|
135
135
|
---
|
|
@@ -140,11 +140,11 @@ When the gate crosses for the first time, `/gdd:apply-reflections`
|
|
|
140
140
|
appends the following verbatim block to the cycle markdown:
|
|
141
141
|
|
|
142
142
|
> ```markdown
|
|
143
|
-
> ## Stage-0 → Stage-1 gate crossed
|
|
143
|
+
> ## Stage-0 → Stage-1 gate crossed - opt-in required
|
|
144
144
|
>
|
|
145
145
|
> Capability-gap detection has accumulated enough signal across recent
|
|
146
146
|
> cycles to consider enabling Stage-1 (incubator authoring of new
|
|
147
|
-
> agents / skills). The gate is informational only
|
|
147
|
+
> agents / skills). The gate is informational only - **nothing has
|
|
148
148
|
> changed in the runtime**, and Stage-1 will NOT auto-enable. Per
|
|
149
149
|
> Phase 29 CONTEXT.md decision D-01, the user opts in explicitly.
|
|
150
150
|
>
|
|
@@ -174,8 +174,8 @@ appends the following verbatim block to the cycle markdown:
|
|
|
174
174
|
> `capability_gap_gate.user_prompted_at` from `.design/config.json`.
|
|
175
175
|
> ```
|
|
176
176
|
|
|
177
|
-
The wiring side of this
|
|
178
|
-
timestamp and routing the opt-in confirmation
|
|
177
|
+
The wiring side of this - actually writing the `user_prompted_at`
|
|
178
|
+
timestamp and routing the opt-in confirmation - is deferred to
|
|
179
179
|
**Plan 29-05** (`/gdd:apply-reflections` extension). This document
|
|
180
180
|
specifies the prompt text and behavior; 29-05 implements the
|
|
181
181
|
state-machine that consumes it.
|
|
@@ -204,7 +204,7 @@ Two timestamps in `.design/config.json` track the project's gate state:
|
|
|
204
204
|
- **`opted_in_at`** is set when the user explicitly opts into Stage-1.
|
|
205
205
|
Stage-1 incubator authoring (Plans 29-04+) becomes active once this
|
|
206
206
|
timestamp is present. **Stage 1 is NEVER enabled by the reflector
|
|
207
|
-
setting this timestamp itself**
|
|
207
|
+
setting this timestamp itself** - D-01 lock.
|
|
208
208
|
|
|
209
209
|
Once `opted_in_at` is set, the gate stops emitting prompts entirely
|
|
210
210
|
(it's a one-shot mechanism, not a continuous nudge).
|
|
@@ -222,7 +222,7 @@ Operators can manually reset the gate by editing `.design/config.json`:
|
|
|
222
222
|
| Tighten / loosen thresholds | Edit `K` / `M` / `stddev_threshold` directly. Out-of-range values silently fall back to defaults (§ 2). |
|
|
223
223
|
|
|
224
224
|
Reset is **explicit** and **idempotent**. The reflector never writes
|
|
225
|
-
to these fields on its own
|
|
225
|
+
to these fields on its own - the only writers are (a) the
|
|
226
226
|
`/gdd:apply-reflections` opt-in path (Plan 29-05) and (b) the human
|
|
227
227
|
operator editing the file by hand.
|
|
228
228
|
|
|
@@ -233,32 +233,32 @@ operator editing the file by hand.
|
|
|
233
233
|
Executable examples that exercise the gate live in
|
|
234
234
|
`tests/reflector-capability-gap-aggregation.test.cjs`:
|
|
235
235
|
|
|
236
|
-
- **T3**
|
|
236
|
+
- **T3** - 30 cycles × 3 always-present clusters → gate crosses with
|
|
237
237
|
default K=3 / M=10 / stddev_threshold=0.05.
|
|
238
|
-
- **T3b**
|
|
238
|
+
- **T3b** - 10 cycles × 1 always-present cluster → gate does NOT
|
|
239
239
|
cross (posterior stddev ≈ 0.077 with α=11, β=1 is above the 0.05
|
|
240
240
|
threshold; M=10 is the lower bound on observations, not a
|
|
241
241
|
sufficient condition for stability).
|
|
242
|
-
- **T4**
|
|
242
|
+
- **T4** - 30 cycles, 2 always-present clusters + 1 "noisy" cluster
|
|
243
243
|
present in only the first 4 cycles → gate does NOT cross
|
|
244
244
|
(`stable_cluster_ids.length === 2 < K=3`).
|
|
245
|
-
- **T4b**
|
|
246
|
-
- **T7**
|
|
245
|
+
- **T4b** - 5 cycles total → gate does NOT cross (`cycles_observed < M`).
|
|
246
|
+
- **T7** - Confirms `K` and `stddev_threshold` overrides flow through
|
|
247
247
|
`normalizeConfig` and reach the evaluation.
|
|
248
248
|
|
|
249
249
|
These fixtures are synthetic and inline (D-11). The gate evaluator
|
|
250
|
-
never reads `.design/gep/events.jsonl` directly in CI
|
|
250
|
+
never reads `.design/gep/events.jsonl` directly in CI - fixtures
|
|
251
251
|
seed the cluster lists by hand.
|
|
252
252
|
|
|
253
253
|
---
|
|
254
254
|
|
|
255
255
|
## Decisions referenced
|
|
256
256
|
|
|
257
|
-
- **D-01**
|
|
257
|
+
- **D-01** - Two-stage approach: Stage 0 telemetry-only ships first;
|
|
258
258
|
Stage 1 authoring gated on data; user opts in per a one-time prompt;
|
|
259
259
|
no auto-flip.
|
|
260
|
-
- **D-03**
|
|
260
|
+
- **D-03** - Default `K=3` / `M=10` / `stddev_threshold=0.05`,
|
|
261
261
|
overridable via `.design/config.json`.
|
|
262
|
-
- **D-11**
|
|
263
|
-
- **Phase 23.5**
|
|
262
|
+
- **D-11** - Tests use synthetic fixtures (no live event chain reads).
|
|
263
|
+
- **Phase 23.5** - Posterior `stddev(Beta(α, β))` closed form and
|
|
264
264
|
Laplace prior convention reused here.
|