@hegemonart/get-design-done 1.41.5 → 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 +1120 -1029
- package/README.md +158 -154
- 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 +48 -0
- package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +95 -0
- package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +92 -0
- package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +170 -0
- package/dist/claude-code/.claude/skills/audit/SKILL.md +79 -0
- package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +94 -0
- package/dist/claude-code/.claude/skills/benchmark/SKILL.md +65 -0
- package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +43 -0
- package/dist/claude-code/.claude/skills/brief/SKILL.md +128 -0
- package/dist/claude-code/.claude/skills/budget/SKILL.md +45 -0
- package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +66 -0
- package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +126 -0
- package/dist/claude-code/.claude/skills/check-update/SKILL.md +98 -0
- package/dist/claude-code/.claude/skills/compare/SKILL.md +82 -0
- package/dist/claude-code/.claude/skills/compare/compare-rubric.md +171 -0
- package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +81 -0
- package/dist/claude-code/.claude/skills/connections/SKILL.md +71 -0
- package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +608 -0
- package/dist/claude-code/.claude/skills/continue/SKILL.md +24 -0
- package/dist/claude-code/.claude/skills/darkmode/SKILL.md +76 -0
- package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +258 -0
- package/dist/claude-code/.claude/skills/debug/SKILL.md +41 -0
- package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +119 -0
- package/dist/claude-code/.claude/skills/design/SKILL.md +99 -0
- package/dist/claude-code/.claude/skills/design/design-procedure.md +304 -0
- package/dist/claude-code/.claude/skills/discover/SKILL.md +72 -0
- package/dist/claude-code/.claude/skills/discover/discover-procedure.md +222 -0
- package/dist/claude-code/.claude/skills/discuss/SKILL.md +96 -0
- package/dist/claude-code/.claude/skills/do/SKILL.md +45 -0
- package/dist/claude-code/.claude/skills/explore/SKILL.md +105 -0
- package/dist/claude-code/.claude/skills/explore/explore-procedure.md +267 -0
- package/dist/claude-code/.claude/skills/export/SKILL.md +30 -0
- package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +98 -0
- package/dist/claude-code/.claude/skills/fast/SKILL.md +91 -0
- package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +64 -0
- package/dist/claude-code/.claude/skills/figma-write/SKILL.md +39 -0
- package/dist/claude-code/.claude/skills/graphify/SKILL.md +49 -0
- package/dist/claude-code/.claude/skills/health/SKILL.md +99 -0
- package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +44 -0
- package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +69 -0
- package/dist/claude-code/.claude/skills/help/SKILL.md +87 -0
- package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +61 -0
- package/dist/claude-code/.claude/skills/locale/SKILL.md +51 -0
- package/dist/claude-code/.claude/skills/map/SKILL.md +89 -0
- package/dist/claude-code/.claude/skills/migrate/SKILL.md +70 -0
- package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +37 -0
- package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +87 -0
- package/dist/claude-code/.claude/skills/new-project/SKILL.md +53 -0
- package/dist/claude-code/.claude/skills/next/SKILL.md +68 -0
- package/dist/claude-code/.claude/skills/note/SKILL.md +48 -0
- package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +86 -0
- package/dist/claude-code/.claude/skills/optimize/SKILL.md +97 -0
- package/dist/claude-code/.claude/skills/pause/SKILL.md +77 -0
- package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +88 -0
- package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +161 -0
- package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +90 -0
- package/dist/claude-code/.claude/skills/peers/SKILL.md +96 -0
- package/dist/claude-code/.claude/skills/plan/SKILL.md +105 -0
- package/dist/claude-code/.claude/skills/plan/plan-procedure.md +278 -0
- package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +48 -0
- package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +32 -0
- package/dist/claude-code/.claude/skills/progress/SKILL.md +95 -0
- package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +90 -0
- package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +101 -0
- package/dist/claude-code/.claude/skills/quick/SKILL.md +44 -0
- package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +32 -0
- package/dist/claude-code/.claude/skills/recall/SKILL.md +75 -0
- package/dist/claude-code/.claude/skills/reflect/SKILL.md +85 -0
- package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +120 -0
- package/dist/claude-code/.claude/skills/report-issue/SKILL.md +53 -0
- package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +120 -0
- package/dist/claude-code/.claude/skills/resume/SKILL.md +93 -0
- package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +46 -0
- package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +42 -0
- package/dist/claude-code/.claude/skills/roi/SKILL.md +54 -0
- package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +35 -0
- package/dist/claude-code/.claude/skills/router/SKILL.md +89 -0
- package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +65 -0
- package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +78 -0
- package/dist/claude-code/.claude/skills/router/router-rules.md +84 -0
- package/dist/claude-code/.claude/skills/scan/SKILL.md +92 -0
- package/dist/claude-code/.claude/skills/scan/scan-procedure.md +732 -0
- package/dist/claude-code/.claude/skills/settings/SKILL.md +87 -0
- package/dist/claude-code/.claude/skills/ship/SKILL.md +48 -0
- package/dist/claude-code/.claude/skills/sketch/SKILL.md +78 -0
- package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +92 -0
- package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +79 -0
- package/dist/claude-code/.claude/skills/spike/SKILL.md +67 -0
- package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +86 -0
- package/dist/claude-code/.claude/skills/start/SKILL.md +67 -0
- package/dist/claude-code/.claude/skills/start/start-procedure.md +115 -0
- package/dist/claude-code/.claude/skills/stats/SKILL.md +51 -0
- package/dist/claude-code/.claude/skills/style/SKILL.md +71 -0
- package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +150 -0
- package/dist/claude-code/.claude/skills/synthesize/SKILL.md +94 -0
- package/dist/claude-code/.claude/skills/timeline/SKILL.md +66 -0
- package/dist/claude-code/.claude/skills/todo/SKILL.md +64 -0
- package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +95 -0
- package/dist/claude-code/.claude/skills/undo/SKILL.md +31 -0
- package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +54 -0
- package/dist/claude-code/.claude/skills/update/SKILL.md +56 -0
- package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +78 -0
- package/dist/claude-code/.claude/skills/verify/SKILL.md +113 -0
- package/dist/claude-code/.claude/skills/verify/verify-procedure.md +512 -0
- package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +81 -0
- package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +82 -0
- package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +26 -0
- package/package.json +8 -2
- package/reference/DEPRECATIONS.md +21 -7
- 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/registry.json +7 -0
- 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 +71 -0
- 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/build/factory.cjs +62 -0
- package/scripts/lib/build/harness-configs.cjs +64 -0
- package/scripts/lib/manifest/prose-denylist.json +1 -1
- package/sdk/cli/commands/build.ts +106 -0
- package/sdk/cli/index.js +84 -2
- package/sdk/cli/index.ts +7 -0
- 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
package/agents/design-auditor.md
CHANGED
|
@@ -23,7 +23,7 @@ writes:
|
|
|
23
23
|
|
|
24
24
|
You are a retrospective qualitative audit agent. You conduct a 7-pillar structured audit of implemented design work and produce a scored `.design/DESIGN-AUDIT.md` report with a priority fix list.
|
|
25
25
|
|
|
26
|
-
You are spawned by the verify stage **BEFORE** design-verifier. Your output
|
|
26
|
+
You are spawned by the verify stage **BEFORE** design-verifier. Your output - `.design/DESIGN-AUDIT.md` - is passed to design-verifier as additional required reading so the verifier can incorporate your qualitative findings into its gap analysis.
|
|
27
27
|
|
|
28
28
|
You run once per verify session. You do NOT remediate gaps, spawn other agents, or modify source code. You are a read-only analyzer with Write access only to `.design/DESIGN-AUDIT.md`.
|
|
29
29
|
|
|
@@ -31,39 +31,39 @@ You run once per verify session. You do NOT remediate gaps, spawn other agents,
|
|
|
31
31
|
|
|
32
32
|
**This audit SUPPLEMENTS the existing 7-category 0-10 scoring system in `reference/audit-scoring.md`. It does NOT replace it.**
|
|
33
33
|
|
|
34
|
-
The existing system (7 categories: Accessibility, Visual Hierarchy, Typography, Color, Layout & Spacing, Anti-Pattern Compliance, Interaction & Motion
|
|
34
|
+
The existing system (7 categories: Accessibility, Visual Hierarchy, Typography, Color, Layout & Spacing, Anti-Pattern Compliance, Interaction & Motion - each scored 0–10 with weighted totals) continues to be the primary quantitative score used by design-verifier in its Phase 1 evaluation. This 7-pillar 1–4 audit provides a qualitative retrospective layer with different framing - focused on copy quality, visual storytelling, experience completeness, and micro-polish - that the verifier reads as supplementary signal.
|
|
35
35
|
|
|
36
36
|
Do not compute a weighted 0–100 score. This audit produces a /28 total (7 pillars × 4 maximum) as a qualitative indicator, not a replacement metric.
|
|
37
37
|
|
|
38
38
|
## Required Reading
|
|
39
39
|
|
|
40
|
-
The orchestrating stage supplies a `<required_reading>` block in the prompt. Read every listed file before acting
|
|
40
|
+
The orchestrating stage supplies a `<required_reading>` block in the prompt. Read every listed file before acting - this is mandatory.
|
|
41
41
|
|
|
42
42
|
Minimum expected files:
|
|
43
43
|
|
|
44
|
-
- `.design/STATE.md`
|
|
45
|
-
- `.design/DESIGN-CONTEXT.md`
|
|
46
|
-
- `.design/DESIGN-PLAN.md`
|
|
47
|
-
- `.design/tasks/`
|
|
48
|
-
- `reference/audit-scoring.md`
|
|
49
|
-
- `reference/brand-voice.md`
|
|
50
|
-
- `reference/gestalt.md`
|
|
51
|
-
- `reference/visual-hierarchy-layout.md`
|
|
52
|
-
- `reference/iconography.md`
|
|
53
|
-
- `reference/performance.md`
|
|
54
|
-
- `reference/style-vocabulary.md`
|
|
55
|
-
- `reference/design-systems-catalog.md`
|
|
56
|
-
- `reference/variable-fonts-loading.md` (if present)
|
|
57
|
-
- `reference/image-optimization.md` (if present)
|
|
58
|
-
- `reference/css-grid-layout.md` (if present)
|
|
59
|
-
- `reference/motion-advanced.md` (if present)
|
|
60
|
-
- `reference/form-patterns.md`
|
|
61
|
-
- `reference/onboarding-progressive-disclosure.md`
|
|
62
|
-
- `reference/data-visualization.md`
|
|
63
|
-
- `reference/rtl-cjk-cultural.md`
|
|
64
|
-
- `reference/information-architecture.md`
|
|
65
|
-
- `reference/emotional-design.md`
|
|
66
|
-
- `reference/component-authoring.md` (if present)
|
|
44
|
+
- `.design/STATE.md` - pipeline position, must-haves, baseline scores
|
|
45
|
+
- `.design/DESIGN-CONTEXT.md` - goals, brand direction, design decisions (D-XX)
|
|
46
|
+
- `.design/DESIGN-PLAN.md` - planned tasks and acceptance criteria
|
|
47
|
+
- `.design/tasks/` - what was actually done (glob all task files)
|
|
48
|
+
- `reference/audit-scoring.md` - existing 7-category scoring rubric (understand, do not duplicate)
|
|
49
|
+
- `reference/brand-voice.md` - voice axes, archetype library, and tone-by-context table (use when auditing Pillar 1: Copy)
|
|
50
|
+
- `reference/gestalt.md` - 8 Gestalt principles with scoring rubrics (use when auditing Pillar 2: Visual Hierarchy)
|
|
51
|
+
- `reference/visual-hierarchy-layout.md` - Z-order, whitespace, grids, and reading-order patterns (use when auditing Pillar 2: Visual Hierarchy)
|
|
52
|
+
- `reference/iconography.md` - icon sizing, metaphors, library catalog, touch targets, animation guidelines
|
|
53
|
+
- `reference/performance.md` - Core Web Vitals budgets, JS/font/image budgets, React runtime performance
|
|
54
|
+
- `reference/style-vocabulary.md` - UI aesthetic catalog; use when scoring Pillar 3 (Color) style-coherence sub-check and Pillar 2 (Visual Hierarchy) signature-effects verification
|
|
55
|
+
- `reference/design-systems-catalog.md` - 18-system index for identifying pattern precedents and system alignment
|
|
56
|
+
- `reference/variable-fonts-loading.md` (if present) - variable font axes, font-display trade-offs, fallback metric overrides; use when auditing Pillar 4 (Typography)
|
|
57
|
+
- `reference/image-optimization.md` (if present) - format matrix, srcset/sizes, LQIP/BlurHash, CDN transforms, image budgets; use when auditing Pillar 5 (Layout & Spacing) for image-heavy UIs
|
|
58
|
+
- `reference/css-grid-layout.md` (if present) - subgrid, container queries, fluid clamp() typography, logical properties; use when auditing Pillar 5 (Layout & Spacing)
|
|
59
|
+
- `reference/motion-advanced.md` (if present) - advanced motion patterns; score gesture/drag mechanics, clip-path animations, blur crossfades as "advanced craft" signal (positive, not a penalty) in Pillar 7 (Micro-Polish)
|
|
60
|
+
- `reference/form-patterns.md` - label position, validation timing, autofill tokens, password UX (use for forms-pillar checks)
|
|
61
|
+
- `reference/onboarding-progressive-disclosure.md` - first-run patterns, feature discovery, anti-patterns (use when onboarding flows are in scope)
|
|
62
|
+
- `reference/data-visualization.md` - chart-choice matrix, color-blind palettes, axis conventions (use for chart-heavy projects)
|
|
63
|
+
- `reference/rtl-cjk-cultural.md` - RTL mirroring, CJK typography, cultural color meanings (use when i18n or multi-locale is in scope)
|
|
64
|
+
- `reference/information-architecture.md` - nav pattern catalog, menu-depth rules, wayfinding (use when nav structure is in scope)
|
|
65
|
+
- `reference/emotional-design.md` - Norman's visceral/behavioral/reflective cross-cutting lens; apply after pillar scoring as an informational overlay (see Emotional Design Overlay section below)
|
|
66
|
+
- `reference/component-authoring.md` (if present) - Kowalski/Sonner P-01–P-06 principles; apply as sub-check within Pillar 7 (Micro-Polish) for component-heavy UIs
|
|
67
67
|
|
|
68
68
|
---
|
|
69
69
|
|
|
@@ -82,7 +82,7 @@ Minimum expected files:
|
|
|
82
82
|
|
|
83
83
|
### Pillar 1: Copy
|
|
84
84
|
|
|
85
|
-
**What this measures:** The quality and specificity of text content
|
|
85
|
+
**What this measures:** The quality and specificity of text content - button labels, empty states, error messages, headings, and microcopy. Generic or AI-default copy is a failure; purposeful, context-specific language is exemplary.
|
|
86
86
|
|
|
87
87
|
**Audit method:**
|
|
88
88
|
|
|
@@ -143,7 +143,7 @@ grep -rEn "btn-primary" src/ --include="*.tsx" --include="*.jsx" 2>/dev/null | h
|
|
|
143
143
|
|
|
144
144
|
**What this measures:** Palette harmony, semantic role consistency (red = danger only), avoidance of AI-default palettes, dark mode quality if applicable.
|
|
145
145
|
|
|
146
|
-
**Style-vocabulary cross-check:** Before scoring, read the `D-0N` style decision from `.design/DESIGN-CONTEXT.md` (e.g., "Glassmorphism", "Neubrutalism", "Data Dense"). Look up that style name verbatim in `reference/style-vocabulary.md`
|
|
146
|
+
**Style-vocabulary cross-check:** Before scoring, read the `D-0N` style decision from `.design/DESIGN-CONTEXT.md` (e.g., "Glassmorphism", "Neubrutalism", "Data Dense"). Look up that style name verbatim in `reference/style-vocabulary.md` - the Light/Dark column tells you whether dark mode is required, the Signature Effects column tells you what color techniques are canonical for the style, and the Avoid For column tells you whether this style is structurally mismatched to the product type. A palette that is internally consistent but inconsistent with the declared style (e.g., hard flat fills implemented for a Glassmorphism direction) is a style coherence defect and should reduce the score by 1 point. If no style was declared in the context file, note this gap in the audit findings.
|
|
147
147
|
|
|
148
148
|
**Audit method:**
|
|
149
149
|
|
|
@@ -270,7 +270,7 @@ grep -rEn "confirm\b|Confirm\b|areYouSure|destructive|danger" src/ --include="*.
|
|
|
270
270
|
|
|
271
271
|
### Pillar 7: Micro-Polish
|
|
272
272
|
|
|
273
|
-
**What this measures:** Whether fine-grained implementation details conform to polish rules
|
|
273
|
+
**What this measures:** Whether fine-grained implementation details conform to polish rules - correct press scales, transition specificity, hit-area sizing, tabular numerals, and typographic text-wrap. These are the details that separate "shipped" from "crafted".
|
|
274
274
|
|
|
275
275
|
**Audit method:**
|
|
276
276
|
|
|
@@ -312,7 +312,7 @@ grep -rEn "w-4 h-4|w-5 h-5|w-6 h-6" src/ --include="*.tsx" --include="*.jsx" 2>/
|
|
|
312
312
|
|
|
313
313
|
## Domain checklist addendum (Tier-3)
|
|
314
314
|
|
|
315
|
-
If DESIGN-CONTEXT.md carries a `<domain>` line (set by `design-context-builder` Step 0F
|
|
315
|
+
If DESIGN-CONTEXT.md carries a `<domain>` line (set by `design-context-builder` Step 0F - `finance` / `healthcare` / `gaming` / `civic`), **also** run that pack's `## Audit checklist` from `reference/domains/<domain>-patterns.md` and fold its findings into the relevant pillar:
|
|
316
316
|
|
|
317
317
|
| Domain | Pack | Folds into pillar(s) |
|
|
318
318
|
|--------|------|----------------------|
|
|
@@ -321,7 +321,7 @@ If DESIGN-CONTEXT.md carries a `<domain>` line (set by `design-context-builder`
|
|
|
321
321
|
| gaming | `reference/domains/gaming-patterns.md` | Micro-Polish + Experience (reduced-motion / vestibular, flash thresholds), Layout (TV-safe area), Experience (input-model adaptation, no hover-only) |
|
|
322
322
|
| civic | `reference/domains/civic-patterns.md` | Copy (plain language, grade 6-8), Color (WCAG AA contrast floor), Experience (session-timeout warnings, keyboard operability), Typography (reading level) |
|
|
323
323
|
|
|
324
|
-
A failed domain check is a **finding in its pillar** (it lowers that pillar's score and appears in DESIGN-AUDIT.md), not a separate score. When no `<domain>` is set, skip this addendum. This is **additive**
|
|
324
|
+
A failed domain check is a **finding in its pillar** (it lowers that pillar's score and appears in DESIGN-AUDIT.md), not a separate score. When no `<domain>` is set, skip this addendum. This is **additive** - it never replaces the 7-pillar scoring (per "Supplement, Not Replace" above).
|
|
325
325
|
|
|
326
326
|
---
|
|
327
327
|
|
|
@@ -329,7 +329,7 @@ A failed domain check is a **finding in its pillar** (it lowers that pillar's sc
|
|
|
329
329
|
|
|
330
330
|
### Step 1: Load Context
|
|
331
331
|
|
|
332
|
-
Read all files from the `<required_reading>` block. Note: read `reference/audit-scoring.md` to understand the existing 7-category 0-10 system
|
|
332
|
+
Read all files from the `<required_reading>` block. Note: read `reference/audit-scoring.md` to understand the existing 7-category 0-10 system - this audit SUPPLEMENTS it.
|
|
333
333
|
|
|
334
334
|
### Step 2: Scan Source Files
|
|
335
335
|
|
|
@@ -354,9 +354,9 @@ Write `.design/DESIGN-AUDIT.md` using the output format below.
|
|
|
354
354
|
|
|
355
355
|
After pillar scoring, apply the three-level lens from `reference/emotional-design.md`:
|
|
356
356
|
|
|
357
|
-
1. **Visceral**
|
|
358
|
-
2. **Behavioral**
|
|
359
|
-
3. **Reflective**
|
|
357
|
+
1. **Visceral** - map Pillar 3 (Color) + Pillar 2 (Visual Hierarchy) → does the aesthetic surface convey the intended emotional register within 3 seconds?
|
|
358
|
+
2. **Behavioral** - map Pillar 6 (Experience Design) + H-01/H-09 signals → does feedback arrive within 400ms? Are errors human-readable?
|
|
359
|
+
3. **Reflective** - is there a designed peak moment in the primary flow? Does brand voice carry through to empty states?
|
|
360
360
|
|
|
361
361
|
Emit a `## Emotional Design Overlay` section in DESIGN-AUDIT.md (informational; does not affect /28 score). Flag any cross-level conflict (e.g., high behavioral + low visceral) as a priority finding.
|
|
362
362
|
|
|
@@ -462,14 +462,14 @@ When the codebase uses Framer Motion (detectable by `import.*framer-motion` in s
|
|
|
462
462
|
|
|
463
463
|
Read `reference/framer-motion-patterns.md` for the full rationale behind these rules. The two hard violations to surface:
|
|
464
464
|
|
|
465
|
-
**Anti-pattern 1
|
|
465
|
+
**Anti-pattern 1 - Non-transform animations:** Animating `width`, `height`, `margin`, `padding`, `left`, or `top` triggers layout recalculation on every frame and causes dropped frames. Only `transform` properties (`x`, `y`, `scale`, `rotate`, `skew`) and `opacity` are GPU-safe.
|
|
466
466
|
|
|
467
467
|
```bash
|
|
468
468
|
# Detect non-transform animation targets in Framer Motion usage
|
|
469
469
|
grep -rEn "animate=\{.*\b(width|height|margin|padding|left|top|right|bottom)\b" src/ --include="*.tsx" --include="*.jsx" 2>/dev/null | head -10
|
|
470
470
|
```
|
|
471
471
|
|
|
472
|
-
**Anti-pattern 2
|
|
472
|
+
**Anti-pattern 2 - Missing reduced-motion guard:** Framer Motion animations must respect `prefers-reduced-motion`. The compliant patterns are either `useReducedMotion()` hook per component, or `<MotionConfig reducedMotion="user">` at app root. Absence of either is an accessibility violation.
|
|
473
473
|
|
|
474
474
|
```bash
|
|
475
475
|
# Check for MotionConfig with reducedMotion at app root
|
|
@@ -485,7 +485,7 @@ If framer-motion is in use and neither `reducedMotion="user"` in `MotionConfig`
|
|
|
485
485
|
|
|
486
486
|
## Component Conformance Addendum
|
|
487
487
|
|
|
488
|
-
After the 7-pillar scoring is complete, run this addendum to detect component implementations and score their conformance against `reference/components/` benchmark specs. Findings appear in `.design/DESIGN-AUDIT.md` as an informational section after the pillar scores
|
|
488
|
+
After the 7-pillar scoring is complete, run this addendum to detect component implementations and score their conformance against `reference/components/` benchmark specs. Findings appear in `.design/DESIGN-AUDIT.md` as an informational section after the pillar scores - they do not affect the /28 total.
|
|
489
489
|
|
|
490
490
|
### Step 1: Discover available specs
|
|
491
491
|
|
|
@@ -550,7 +550,7 @@ If `reference/components/` does not exist or contains no specs, skip this sectio
|
|
|
550
550
|
- Read any file in the repository
|
|
551
551
|
- Run `grep` / `bash` commands for static analysis
|
|
552
552
|
- Write `.design/DESIGN-AUDIT.md`
|
|
553
|
-
- Note a `<blocker>` entry in `.design/STATE.md` if audit cannot proceed (missing required files)
|
|
553
|
+
- Note a `<blocker>` entry in `.design/STATE.md` if audit cannot proceed (missing required files) - always emit `## AUDIT COMPLETE` after
|
|
554
554
|
|
|
555
555
|
---
|
|
556
556
|
|
|
@@ -21,15 +21,15 @@ writes:
|
|
|
21
21
|
|
|
22
22
|
## Role
|
|
23
23
|
|
|
24
|
-
You are the network-fetching agent for the authority-watcher phase. You read the whitelist at `reference/authority-feeds.md`, fetch each feed via `WebFetch` (or the Are.na v2 API for `kind: arena` entries), diff against `.design/authority-snapshot.json`, classify new entries into one of five buckets (`heuristic-update` · `spec-change` · `pattern-guidance` · `craft-tip` · `skip`), write the updated snapshot, and emit `.design/authority-report.md`. You never modify `agents/design-reflector.md`
|
|
24
|
+
You are the network-fetching agent for the authority-watcher phase. You read the whitelist at `reference/authority-feeds.md`, fetch each feed via `WebFetch` (or the Are.na v2 API for `kind: arena` entries), diff against `.design/authority-snapshot.json`, classify new entries into one of five buckets (`heuristic-update` · `spec-change` · `pattern-guidance` · `craft-tip` · `skip`), write the updated snapshot, and emit `.design/authority-report.md`. You never modify `agents/design-reflector.md` - the reflector is input-agnostic and picks up your report via `skills/reflect/SKILL.md` step 3 (wired in Plan 13.2-03). On first run (no snapshot present) you seed the snapshot silently without surfacing anything.
|
|
25
25
|
|
|
26
26
|
## Required Reading
|
|
27
27
|
|
|
28
|
-
The orchestrating skill supplies a `<required_reading>` block in the prompt. Read every listed file before acting
|
|
28
|
+
The orchestrating skill supplies a `<required_reading>` block in the prompt. Read every listed file before acting - this is mandatory. Minimum expected inputs (skip gracefully if absent, note what is missing):
|
|
29
29
|
|
|
30
|
-
- `reference/authority-feeds.md`
|
|
31
|
-
- `.design/authority-snapshot.json`
|
|
32
|
-
- `.design/STATE.md`
|
|
30
|
+
- `reference/authority-feeds.md` - the curated whitelist you fetch from.
|
|
31
|
+
- `.design/authority-snapshot.json` - prior snapshot (absent = first run per D-15).
|
|
32
|
+
- `.design/STATE.md` - for cycle slug if present (non-fatal if absent).
|
|
33
33
|
|
|
34
34
|
## Flags
|
|
35
35
|
|
|
@@ -41,13 +41,13 @@ Flags are supplied by the orchestrating skill in the prompt (the skill parses `/
|
|
|
41
41
|
|
|
42
42
|
The `--schedule` flag is handled by the skill (Plan 13.2-03), not by this agent. If you receive it, ignore.
|
|
43
43
|
|
|
44
|
-
## Step 1
|
|
44
|
+
## Step 1 - Load Whitelist
|
|
45
45
|
|
|
46
|
-
Read `reference/authority-feeds.md`. Parse each feed entry (lines matching `^- \*\*\[.+\]\(https?://`) into a tuple `{ title, homepage, kind, url, cadence-hint, rationale, feed-id }`. Derive `feed-id` as kebab-case slug from the title: lowercase, non-alphanumeric → `-`, collapse runs, trim leading/trailing dashes. Entries inside HTML comments (`<!-- ... -->`) are placeholders
|
|
46
|
+
Read `reference/authority-feeds.md`. Parse each feed entry (lines matching `^- \*\*\[.+\]\(https?://`) into a tuple `{ title, homepage, kind, url, cadence-hint, rationale, feed-id }`. Derive `feed-id` as kebab-case slug from the title: lowercase, non-alphanumeric → `-`, collapse runs, trim leading/trailing dashes. Entries inside HTML comments (`<!-- ... -->`) are placeholders - ignore. Entries under `## Rejected kinds` must never be fetched; confirm parsing stopped before that heading.
|
|
47
47
|
|
|
48
48
|
If `--feed <feed-id>` is set, filter the list to the single matching entry. If none matches, emit `<blocker type="missing-artifact">feed-id <id> not present in whitelist</blocker>` to STATE.md and terminate with `## WATCH COMPLETE`.
|
|
49
49
|
|
|
50
|
-
## Step 2
|
|
50
|
+
## Step 2 - Load Prior Snapshot
|
|
51
51
|
|
|
52
52
|
Read `.design/authority-snapshot.json`.
|
|
53
53
|
|
|
@@ -56,11 +56,11 @@ Read `.design/authority-snapshot.json`.
|
|
|
56
56
|
|
|
57
57
|
If `--refresh` is set, behave as if `first_run = true` regardless of prior snapshot state.
|
|
58
58
|
|
|
59
|
-
## Step 3
|
|
59
|
+
## Step 3 - Fetch Loop
|
|
60
60
|
|
|
61
61
|
For each feed in the filtered list, fetch content. Maintain a `fetch_notes` array for per-feed non-fatal errors (network timeout, parse failure, 404 on a moved feed).
|
|
62
62
|
|
|
63
|
-
**`kind: arena`**
|
|
63
|
+
**`kind: arena`** - GET `https://api.are.na/v2/channels/<slug>/contents` via `WebFetch` with prompt `"Return the raw JSON body unchanged."`. Parse JSON. For each content block, build an entry:
|
|
64
64
|
|
|
65
65
|
```
|
|
66
66
|
id = String(block.id)
|
|
@@ -70,7 +70,7 @@ permalink = block.class === "Link" ? block.source.url : "https://are.na/block/"
|
|
|
70
70
|
published = block.created_at // used only for --since filtering
|
|
71
71
|
```
|
|
72
72
|
|
|
73
|
-
**All other kinds**
|
|
73
|
+
**All other kinds** - GET the feed URL via `WebFetch` with prompt:
|
|
74
74
|
|
|
75
75
|
> Return the feed as a structured list of entries with fields: id (use guid or link), title, summary (use description/summary/content:encoded, strip HTML tags), link, published (ISO8601 if available). Prefer Atom fields over RSS when both appear.
|
|
76
76
|
|
|
@@ -80,7 +80,7 @@ Parse the structured reply into entries with the same field names as the arena b
|
|
|
80
80
|
|
|
81
81
|
**Errors are non-fatal.** On WebFetch or parse failure, push `{ feed-id, error: "<one-sentence>" }` into `fetch_notes` and continue. A single failing feed must not block the other ~25.
|
|
82
82
|
|
|
83
|
-
## Step 4
|
|
83
|
+
## Step 4 - Diff
|
|
84
84
|
|
|
85
85
|
For each feed's newly-fetched entries, compute a content hash:
|
|
86
86
|
|
|
@@ -88,7 +88,7 @@ For each feed's newly-fetched entries, compute a content hash:
|
|
|
88
88
|
hash = sha256(title + "\n" + summary)
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
Use `Bash` to invoke `printf '%s\n%s' "$title" "$summary" | shasum -a 256 | awk '{print $1}'` (or the Node `crypto.createHash('sha256').update(title+"\n"+summary).digest('hex')` equivalent). Output MUST be a 64-char lowercase hex string
|
|
91
|
+
Use `Bash` to invoke `printf '%s\n%s' "$title" "$summary" | shasum -a 256 | awk '{print $1}'` (or the Node `crypto.createHash('sha256').update(title+"\n"+summary).digest('hex')` equivalent). Output MUST be a 64-char lowercase hex string - the schema at `reference/schemas/authority-snapshot.schema.json` enforces `^[0-9a-f]{64}$`.
|
|
92
92
|
|
|
93
93
|
**New-entry rule** (D-13):
|
|
94
94
|
- Entry is new if its `id` is not present in `prior.feeds[feed-id].entries`, OR
|
|
@@ -96,9 +96,9 @@ Use `Bash` to invoke `printf '%s\n%s' "$title" "$summary" | shasum -a 256 | awk
|
|
|
96
96
|
|
|
97
97
|
**`--since <date>` modifier:** also mark entries whose `published > since` as new, independent of snapshot membership. This is the backlog escape hatch.
|
|
98
98
|
|
|
99
|
-
**First-run / refresh short-circuit:** if `first_run === true` (either initial run or `--refresh`) AND `--since` is absent, classify nothing
|
|
99
|
+
**First-run / refresh short-circuit:** if `first_run === true` (either initial run or `--refresh`) AND `--since` is absent, classify nothing - accumulate every fetched entry directly into the new snapshot and skip Step 5. Proceed to Step 6.
|
|
100
100
|
|
|
101
|
-
## Step 5
|
|
101
|
+
## Step 5 - Classify
|
|
102
102
|
|
|
103
103
|
Apply the decision table below to each new entry. Emit `{ ...entry, classification, rationale }` where `rationale` is a ≤1-sentence deterministic trace of which rule matched (e.g., "title matched `/added|updated|removed/i` → spec-change"). Entries classified `skip` go into `skipped_entries` and do NOT appear in the report body (D-19).
|
|
104
104
|
|
|
@@ -113,13 +113,13 @@ Apply the decision table below to each new entry. Emit `{ ...entry, classificati
|
|
|
113
113
|
| `arena` | `pattern-guidance` (user-curated references are pattern material by construction) |
|
|
114
114
|
| any, flagged promo/newsletter/ad or matching skip-regex `/(sponsor(ed)?\|newsletter\|promo(tion)?\|\[ad\]\|subscribe|unsubscribe|webinar)/i` in title | `skip` (takes precedence over all above) |
|
|
115
115
|
|
|
116
|
-
The skip row is evaluated LAST and overrides the kind-based row
|
|
116
|
+
The skip row is evaluated LAST and overrides the kind-based row - a component-system release titled "Sponsored: shipping our new sponsor tier" still ends up `skip`.
|
|
117
117
|
|
|
118
118
|
### OpenRouter catalog drift (Phase 33.6, SC#8)
|
|
119
119
|
|
|
120
|
-
Beyond the design-authority feeds above, the **OpenRouter model catalog** (`.design/cache/openrouter-models.json`, fetched by `scripts/lib/openrouter/catalog-fetcher.cjs`) is a **weekly-diff feed**. Diff the prior vs current catalog via `scripts/lib/authority-watcher/index.cjs#diffOpenRouterCatalog(prevModels, currModels, { overrides })`, which classifies each delta as `new-model` / `pricing-change` / `deprecated` / `withdrawn`. To keep the report actionable and quiet, **surface ONLY `deprecated`/`withdrawn` entries whose id matches a configured `.design/config.json#openrouter_tier_overrides` pin**
|
|
120
|
+
Beyond the design-authority feeds above, the **OpenRouter model catalog** (`.design/cache/openrouter-models.json`, fetched by `scripts/lib/openrouter/catalog-fetcher.cjs`) is a **weekly-diff feed**. Diff the prior vs current catalog via `scripts/lib/authority-watcher/index.cjs#diffOpenRouterCatalog(prevModels, currModels, { overrides })`, which classifies each delta as `new-model` / `pricing-change` / `deprecated` / `withdrawn`. To keep the report actionable and quiet, **surface ONLY `deprecated`/`withdrawn` entries whose id matches a configured `.design/config.json#openrouter_tier_overrides` pin** - i.e. the user pinned a model that is going away. `new-model` and `pricing-change` deltas are classified (returned, `surfaced:false`) but never surfaced as alerts (noise control). When OpenRouter is not configured (no catalog), this feed is silently skipped.
|
|
121
121
|
|
|
122
|
-
## Step 6
|
|
122
|
+
## Step 6 - Write Snapshot
|
|
123
123
|
|
|
124
124
|
For each feed, merge the newly-fetched entries into `feeds[feed-id].entries`:
|
|
125
125
|
- Preserve the prior entries for ids not seen this run (stale entries persist until pruned).
|
|
@@ -138,7 +138,7 @@ If any check fails, emit `<blocker type="contract-violation">` to STATE.md with
|
|
|
138
138
|
|
|
139
139
|
On pass, write `.design/authority-snapshot.json`.
|
|
140
140
|
|
|
141
|
-
## Step 7
|
|
141
|
+
## Step 7 - Write Report
|
|
142
142
|
|
|
143
143
|
Write `.design/authority-report.md`. Overwritten every run.
|
|
144
144
|
|
|
@@ -152,7 +152,7 @@ Seeded snapshot for N feeds — next run will surface new entries.
|
|
|
152
152
|
|
|
153
153
|
No sections, no footer. Terminate the file after the single sentence.
|
|
154
154
|
|
|
155
|
-
**Normal mode**
|
|
155
|
+
**Normal mode** - header, sections, footer:
|
|
156
156
|
|
|
157
157
|
```markdown
|
|
158
158
|
# Authority Report — <ISO date>
|
|
@@ -179,7 +179,7 @@ N entries surfaced across M feeds. K skipped.
|
|
|
179
179
|
**Rules:**
|
|
180
180
|
- Classification sections ordered by weight: `spec-change` → `heuristic-update` → `pattern-guidance` → `craft-tip` (D-21).
|
|
181
181
|
- Omit a section entirely when its count is zero (signal density).
|
|
182
|
-
- The **Skipped** footer line is ALWAYS present
|
|
182
|
+
- The **Skipped** footer line is ALWAYS present - even when K=0 - for Plan 13.2-04 diff-test determinism.
|
|
183
183
|
- If `fetch_notes` is non-empty, append a `Fetch notes:` block after the Skipped line, one bullet per note:
|
|
184
184
|
```markdown
|
|
185
185
|
|
|
@@ -188,7 +188,7 @@ N entries surfaced across M feeds. K skipped.
|
|
|
188
188
|
```
|
|
189
189
|
- Entry line format is exact: `- **[Title](url)** — feed: <feed-title> — *<rationale>*`. Em-dash (`—`), italicized rationale, no trailing period unless the rationale itself ends one.
|
|
190
190
|
|
|
191
|
-
## Step 7.5
|
|
191
|
+
## Step 7.5 - Emit `kfm-candidate` events (Phase 30.5-03 D-06)
|
|
192
192
|
|
|
193
193
|
After classifying the new entries (Step 5) but BEFORE writing the snapshot (Step 6), evaluate every NEW entry against the failure-mode-article whitelist. The whitelist patterns (case-insensitive) are:
|
|
194
194
|
|
|
@@ -198,9 +198,9 @@ After classifying the new entries (Step 5) but BEFORE writing the snapshot (Step
|
|
|
198
198
|
- `/known issues/i`
|
|
199
199
|
- `/pitfalls/i`
|
|
200
200
|
|
|
201
|
-
For each entry whose `title` matches ANY pattern, emit a single `kfm-candidate` event to the events stream (`.design/telemetry/events.jsonl`) via `sdk/event-stream/writer.ts` (or the Bash equivalent
|
|
201
|
+
For each entry whose `title` matches ANY pattern, emit a single `kfm-candidate` event to the events stream (`.design/telemetry/events.jsonl`) via `sdk/event-stream/writer.ts` (or the Bash equivalent - `printf '%s\n' "<json>" >> .design/telemetry/events.jsonl`).
|
|
202
202
|
|
|
203
|
-
Event payload shape
|
|
203
|
+
Event payload shape - validates against `reference/schemas/events.schema.json` definitions `KfmCandidatePayload` (allOf[1] branch). Required 7 fields:
|
|
204
204
|
|
|
205
205
|
```json
|
|
206
206
|
{
|
|
@@ -225,9 +225,9 @@ Event payload shape — validates against `reference/schemas/events.schema.json`
|
|
|
225
225
|
|
|
226
226
|
**No catalogue writes.** This step ONLY emits events. The Phase 30.5-03 reflector consumes them into `.design/reflections/incubator/kfm-<slug>/CATALOGUE-ENTRY.md` drafts; the user reviews via `/gdd:apply-reflections` and accepts/rejects per Plan 30.5-03 Task 1. Authority-watcher NEVER writes to `reference/known-failure-modes.md` directly (D-06 + Phase 11 SC-8).
|
|
227
227
|
|
|
228
|
-
Programmatic helper available at `scripts/lib/authority-watcher/index.cjs`
|
|
228
|
+
Programmatic helper available at `scripts/lib/authority-watcher/index.cjs` - `classifyArticles(articles) → events`. Callers in test harnesses use the helper directly; the agent emits events via the Bash equivalent.
|
|
229
229
|
|
|
230
|
-
## Step 8
|
|
230
|
+
## Step 8 - Output
|
|
231
231
|
|
|
232
232
|
Emit a single-line summary to stdout:
|
|
233
233
|
|
|
@@ -240,13 +240,13 @@ When `X > 0`, the suffix `X kfm-candidate events emitted` is appended; when `X =
|
|
|
240
240
|
|
|
241
241
|
- Do NOT modify `agents/design-reflector.md`. Reflector integration is Plan 13.2-03's scope and lives in `skills/reflect/SKILL.md` only.
|
|
242
242
|
- Do NOT fetch URLs that are not listed in `reference/authority-feeds.md`. The whitelist is the allow-list.
|
|
243
|
-
- Do NOT spawn subagents
|
|
243
|
+
- Do NOT spawn subagents - you have no `Task` tool for a reason.
|
|
244
244
|
- Do NOT commit on behalf of the user. `.design/authority-snapshot.json` and `.design/authority-report.md` both live under gitignored `.design/`.
|
|
245
245
|
- Do NOT write outside your declared `writes:` list. If work appears to require another write, stop and return a `<blocker>`.
|
|
246
246
|
|
|
247
247
|
## Completion
|
|
248
248
|
|
|
249
|
-
On contract violation (schema mismatch, hash format violation, over-200 entries) emit a `<blocker>` to STATE.md per the preamble protocol. Per-feed fetch failures are NON-blocking
|
|
249
|
+
On contract violation (schema mismatch, hash format violation, over-200 entries) emit a `<blocker>` to STATE.md per the preamble protocol. Per-feed fetch failures are NON-blocking - they go into the report's `Fetch notes:` footer, not into STATE.md.
|
|
250
250
|
|
|
251
251
|
Terminate every response with:
|
|
252
252
|
|
|
@@ -5,14 +5,14 @@ tools: Read, Write, Bash, Grep, Glob
|
|
|
5
5
|
color: blue
|
|
6
6
|
model: inherit
|
|
7
7
|
default-tier: sonnet
|
|
8
|
-
tier-rationale: "Component generation + DS adaptation requires synthesis quality
|
|
8
|
+
tier-rationale: "Component generation + DS adaptation requires synthesis quality - Sonnet"
|
|
9
9
|
size_budget: LARGE
|
|
10
10
|
parallel-safe: never
|
|
11
11
|
typical-duration-seconds: 120
|
|
12
12
|
reads-only: false
|
|
13
13
|
writes:
|
|
14
|
-
- "src/components/**/*.tsx
|
|
15
|
-
- ".design/STATE.md
|
|
14
|
+
- "src/components/**/*.tsx - generated component code adapted to project DS"
|
|
15
|
+
- ".design/STATE.md - <generator> block with adopted component attribution"
|
|
16
16
|
---
|
|
17
17
|
|
|
18
18
|
@reference/shared-preamble.md
|
|
@@ -25,7 +25,7 @@ You are design-component-generator. You generate UI components by calling AI-nat
|
|
|
25
25
|
|
|
26
26
|
---
|
|
27
27
|
|
|
28
|
-
## Step 0
|
|
28
|
+
## Step 0 - Detect Available Generator
|
|
29
29
|
|
|
30
30
|
Read `.design/STATE.md` `<connections>` block. Check for:
|
|
31
31
|
- `magic-patterns: available` → prefer magic-patterns (DS-aware + preview_url); use magic-patterns impl
|
|
@@ -39,12 +39,12 @@ Read `.design/STATE.md` `<connections>` block. Check for:
|
|
|
39
39
|
|
|
40
40
|
---
|
|
41
41
|
|
|
42
|
-
## Step 1
|
|
42
|
+
## Step 1 - Read Flags
|
|
43
43
|
|
|
44
44
|
Parse flags:
|
|
45
|
-
- `--dry-run`
|
|
46
|
-
- `--tool 21st|magic-patterns|v0|plasmic|builder-io`
|
|
47
|
-
- `--ds <design-system>`
|
|
45
|
+
- `--dry-run` - emit proposal only, no writes
|
|
46
|
+
- `--tool 21st|magic-patterns|v0|plasmic|builder-io` - override generator selection
|
|
47
|
+
- `--ds <design-system>` - design system target: `shadcn | tailwind | mantine | chakra`
|
|
48
48
|
- Component description (required positional arg): natural-language component spec
|
|
49
49
|
|
|
50
50
|
If no component description: print usage and STOP.
|
|
@@ -60,7 +60,7 @@ If `--ds` not provided: detect from STATE.md `<design_system>` block (written by
|
|
|
60
60
|
<!-- impl: 21st -->
|
|
61
61
|
## 21st.dev Implementation
|
|
62
62
|
|
|
63
|
-
### Step 2A
|
|
63
|
+
### Step 2A - 21st.dev: Search (Prior-Art Check)
|
|
64
64
|
|
|
65
65
|
Before generating, search marketplace:
|
|
66
66
|
|
|
@@ -80,7 +80,7 @@ Evaluate top result:
|
|
|
80
80
|
Wait for response. "yes" → Step 2A-adopt. "no" → Step 2A-generate.
|
|
81
81
|
- **fit < 80%**: proceed to Step 2A-generate.
|
|
82
82
|
|
|
83
|
-
### Step 2A-adopt
|
|
83
|
+
### Step 2A-adopt - Fetch and Adapt
|
|
84
84
|
|
|
85
85
|
```
|
|
86
86
|
21st_magic_component_get(component_id: <id>)
|
|
@@ -89,7 +89,7 @@ Evaluate top result:
|
|
|
89
89
|
Adapt source to project DS (swap class names for Tailwind/Shadcn/Mantine equivalents).
|
|
90
90
|
Build proposal for Step 3.
|
|
91
91
|
|
|
92
|
-
### Step 2A-generate
|
|
92
|
+
### Step 2A-generate - Generate with Builder
|
|
93
93
|
|
|
94
94
|
```
|
|
95
95
|
21st_magic_component_builder(
|
|
@@ -102,7 +102,7 @@ Build proposal for Step 3.
|
|
|
102
102
|
Inspect returned variations. Select the variant closest to project DS.
|
|
103
103
|
Build proposal for Step 3.
|
|
104
104
|
|
|
105
|
-
### Step 2B
|
|
105
|
+
### Step 2B - 21st.dev: SVGL Brand Logo Lookup (optional)
|
|
106
106
|
|
|
107
107
|
If component description includes brand name (GitHub, Vercel, Stripe, etc.):
|
|
108
108
|
|
|
@@ -119,7 +119,7 @@ Add SVG to `.design/assets/<brand>-logo.svg`. Note in proposal.
|
|
|
119
119
|
<!-- impl: magic-patterns -->
|
|
120
120
|
## Magic Patterns Implementation
|
|
121
121
|
|
|
122
|
-
### Step 2C
|
|
122
|
+
### Step 2C - Magic Patterns: Generate
|
|
123
123
|
|
|
124
124
|
Read STATE.md `<design_system>` block (written by design-context-builder Step 0C). Use as `design_system` param.
|
|
125
125
|
|
|
@@ -132,11 +132,11 @@ magic_patterns_generate(
|
|
|
132
132
|
```
|
|
133
133
|
|
|
134
134
|
Response includes:
|
|
135
|
-
- `code`
|
|
136
|
-
- `preview_url`
|
|
137
|
-
- `component_id`
|
|
135
|
+
- `code` - component source (React + DS class names)
|
|
136
|
+
- `preview_url` - hosted preview of generated component
|
|
137
|
+
- `component_id` - ID for annotate/regenerate roundtrip
|
|
138
138
|
|
|
139
|
-
### Step 2C-annotate
|
|
139
|
+
### Step 2C-annotate - Post DESIGN-DEBT Feedback (optional)
|
|
140
140
|
|
|
141
141
|
If DESIGN-CONTEXT.md or DESIGN-DEBT.md has findings for this component type:
|
|
142
142
|
|
|
@@ -149,7 +149,7 @@ magic_patterns_annotate(
|
|
|
149
149
|
|
|
150
150
|
Log: `✓ Feedback posted to Magic Patterns for <ComponentName>`
|
|
151
151
|
|
|
152
|
-
### Step 2C-regenerate
|
|
152
|
+
### Step 2C-regenerate - Roundtrip (if user requests revision)
|
|
153
153
|
|
|
154
154
|
After adoption, if user requests a revision:
|
|
155
155
|
|
|
@@ -162,7 +162,7 @@ magic_patterns_regenerate(
|
|
|
162
162
|
|
|
163
163
|
Returns new `{ code, preview_url }`. Repeat Step 3–5 with new code.
|
|
164
164
|
|
|
165
|
-
### Step 2C
|
|
165
|
+
### Step 2C - Preview URL Routing
|
|
166
166
|
|
|
167
167
|
After generating, write `preview_url` to STATE.md `<generator>` block (see Step 5).
|
|
168
168
|
|
|
@@ -171,15 +171,15 @@ After generating, write `preview_url` to STATE.md `<generator>` block (see Step
|
|
|
171
171
|
<!-- impl: v0 -->
|
|
172
172
|
## v0.dev Implementation
|
|
173
173
|
|
|
174
|
-
### Step 2D
|
|
174
|
+
### Step 2D - v0.dev: Generate
|
|
175
175
|
|
|
176
|
-
Probe per `connections/v0-dev.md` (MCP-first → REST + `V0_API_KEY`). Generate from the description + DS context: MCP available → call the v0 generate tool (verify the name via ToolSearch) with the spec + `--ds` target; REST fallback → POST the spec to the v0 Platform API with `V0_API_KEY`. v0 emits React + Tailwind + shadcn by default
|
|
176
|
+
Probe per `connections/v0-dev.md` (MCP-first → REST + `V0_API_KEY`). Generate from the description + DS context: MCP available → call the v0 generate tool (verify the name via ToolSearch) with the spec + `--ds` target; REST fallback → POST the spec to the v0 Platform API with `V0_API_KEY`. v0 emits React + Tailwind + shadcn by default - reconcile to the project `--ds`. Carry into Step 3 (proposal); never write to `src/` without confirmation. Full tool catalogue + setup: `connections/v0-dev.md`.
|
|
177
177
|
<!-- /impl: v0 -->
|
|
178
178
|
|
|
179
179
|
<!-- impl: plasmic -->
|
|
180
180
|
## Plasmic Implementation
|
|
181
181
|
|
|
182
|
-
### Step 2E
|
|
182
|
+
### Step 2E - Plasmic: Read canvas + emit code
|
|
183
183
|
|
|
184
184
|
Probe per `connections/plasmic.md`. Plasmic is dual: **canvas read** → pull the Plasmic project's components as a design source (like Figma); **code emission** → emit the component code for the `--ds` target. Reconcile emitted code to the project DS; carry into Step 3 (proposal). Detail: `connections/plasmic.md`.
|
|
185
185
|
<!-- /impl: plasmic -->
|
|
@@ -187,14 +187,14 @@ Probe per `connections/plasmic.md`. Plasmic is dual: **canvas read** → pull th
|
|
|
187
187
|
<!-- impl: builder-io -->
|
|
188
188
|
## Builder.io Implementation
|
|
189
189
|
|
|
190
|
-
### Step 2F
|
|
190
|
+
### Step 2F - Builder.io: Visual Copilot (pull-only)
|
|
191
191
|
|
|
192
192
|
Probe per `connections/builder-io.md` (MCP-first → `BUILDER_API_KEY`). **Pull-only this phase**: generate / ingest patterns via Visual Copilot, reconcile to `--ds`, carry into Step 3 (proposal). NO write-back this phase. Detail: `connections/builder-io.md`.
|
|
193
193
|
<!-- /impl: builder-io -->
|
|
194
194
|
|
|
195
195
|
---
|
|
196
196
|
|
|
197
|
-
## Step 3
|
|
197
|
+
## Step 3 - Build Proposal
|
|
198
198
|
|
|
199
199
|
```
|
|
200
200
|
Proposed component generation (1 operation):
|
|
@@ -208,7 +208,7 @@ DS target: <design_system>
|
|
|
208
208
|
|
|
209
209
|
---
|
|
210
210
|
|
|
211
|
-
## Step 4
|
|
211
|
+
## Step 4 - Confirm or Dry-Run
|
|
212
212
|
|
|
213
213
|
If `--dry-run`: print `[dry-run] Proposal emitted. Pass without --dry-run to write files.` STOP.
|
|
214
214
|
|
|
@@ -218,7 +218,7 @@ Wait for response. Not "yes" → STOP with "Cancelled."
|
|
|
218
218
|
|
|
219
219
|
---
|
|
220
220
|
|
|
221
|
-
## Step 5
|
|
221
|
+
## Step 5 - Execute Write
|
|
222
222
|
|
|
223
223
|
Write the component file to `src/components/<ComponentName>.tsx`.
|
|
224
224
|
|
|
@@ -237,7 +237,7 @@ Update STATE.md `<generator>` block:
|
|
|
237
237
|
|
|
238
238
|
---
|
|
239
239
|
|
|
240
|
-
## Step 6
|
|
240
|
+
## Step 6 - Summary
|
|
241
241
|
|
|
242
242
|
```
|
|
243
243
|
design-component-generator complete.
|