@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/README.md
CHANGED
|
@@ -58,7 +58,7 @@ So I built Get Design Done: a design pipeline that gives AI coding agents the sa
|
|
|
58
58
|
|
|
59
59
|
Behind the scenes: 37 specialized agents, a queryable intel store, tier-aware model routing, 12 optional tool connections, atomic commits, and a no-regret adaptive layer that learns from solidify-with-rollback outcomes. What you use day to day: a few `/gdd:*` commands that keep design work coherent.
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
- **Hegemon**
|
|
62
62
|
|
|
63
63
|
---
|
|
64
64
|
|
|
@@ -70,12 +70,12 @@ Get Design Done is the context engineering layer for design work. It turns "make
|
|
|
70
70
|
|
|
71
71
|
## What You Get
|
|
72
72
|
|
|
73
|
-
- **Brief-grounded design work**
|
|
74
|
-
- **Design-system extraction**
|
|
75
|
-
- **Reference-backed decisions**
|
|
76
|
-
- **Atomic execution**
|
|
77
|
-
- **Verification before shipping**
|
|
78
|
-
- **Rollback on failed validation**
|
|
73
|
+
- **Brief-grounded design work** - every cycle starts with the problem, audience, constraints, success metrics, and must-haves.
|
|
74
|
+
- **Design-system extraction** - GDD inventories tokens, typography, spacing, components, motion, accessibility, dark mode, and design debt before planning changes.
|
|
75
|
+
- **Reference-backed decisions** - agents use embedded design references plus optional Figma, Refero, Pinterest, Storybook, Chromatic, Preview, Claude Design, paper.design, pencil.dev, Graphify, 21st.dev Magic, and Magic Patterns connections.
|
|
76
|
+
- **Atomic execution** - design tasks are decomposed by dependency, run in safe waves, and committed independently.
|
|
77
|
+
- **Verification before shipping** - audits check brief fit, token integration, WCAG contrast, component conformance, motion consistency, dark-mode architecture, and design anti-patterns.
|
|
78
|
+
- **Rollback on failed validation** - solidify-with-rollback validates each task before it sticks; failed work is automatically reverted.
|
|
79
79
|
|
|
80
80
|
---
|
|
81
81
|
|
|
@@ -87,84 +87,84 @@ Use it when you care that tokens match, contrast passes WCAG, motion feels cohes
|
|
|
87
87
|
|
|
88
88
|
You do not need to be a designer to benefit from it. The pipeline carries the design discipline into the agent workflow: it extracts context, asks only for missing decisions, grounds the work in references, and catches the issues people usually find too late.
|
|
89
89
|
|
|
90
|
-
### v1.27.0 Highlights
|
|
90
|
+
### v1.27.0 Highlights - Peer-CLI Delegation Layer
|
|
91
91
|
|
|
92
|
-
Closes the **outbound** half of multi-runtime: gdd agents now OPTIONALLY delegate to local peer CLIs (Codex via App Server Protocol; Gemini/Cursor/Copilot/Qwen via Agent Client Protocol) when measurably cheaper or higher-quality for the role. Falls back to in-process Anthropic SDK when peer is unavailable. Honors v1.26.0's tier maps + v1.22.0's event chain + v1.23.5's bandit posterior
|
|
92
|
+
Closes the **outbound** half of multi-runtime: gdd agents now OPTIONALLY delegate to local peer CLIs (Codex via App Server Protocol; Gemini/Cursor/Copilot/Qwen via Agent Client Protocol) when measurably cheaper or higher-quality for the role. Falls back to in-process Anthropic SDK when peer is unavailable. Honors v1.26.0's tier maps + v1.22.0's event chain + v1.23.5's bandit posterior - `delegate?` becomes another arm in `(agent_type × tier × delegate)` Thompson sampling.
|
|
93
93
|
|
|
94
|
-
- **ACP + ASP protocol clients**
|
|
95
|
-
- **5 per-peer adapters + central registry**
|
|
96
|
-
- **`delegate_to:` agent frontmatter**
|
|
97
|
-
- **Bandit posterior `delegate?` dimension**
|
|
98
|
-
- **Event chain `runtime_role` + `peer_id` tags**
|
|
99
|
-
- **`/gdd:peers` discoverability + skills for setup**
|
|
94
|
+
- **ACP + ASP protocol clients** - `scripts/lib/peer-cli/{acp-client,asp-client}.cjs` ship line-delimited JSON-RPC over stdio with 16 MiB line-buffer overflow guards. ACP serves Gemini/Cursor/Copilot/Qwen; ASP serves Codex (thread-oriented, multi-turn). Protocol shapes adapted from `greenpolo/cc-multi-cli` (Apache 2.0, see `NOTICE`). Long-lived broker per `(peer, workspace)` over Unix socket / named pipe - cold-spawn cost amortized across delegated calls in a cycle.
|
|
95
|
+
- **5 per-peer adapters + central registry** - `scripts/lib/peer-cli/adapters/{codex,gemini,cursor,copilot,qwen}.cjs` thin-wrap the protocol clients with role→prompt-prefix maps and slash-command translation. Central dispatch via `registry.cjs#findPeerFor(role, tier)` consults the locked capability matrix (codex→execute; gemini→research/exploration; cursor→debug/plan; copilot→review/research; qwen→write).
|
|
96
|
+
- **`delegate_to:` agent frontmatter** - additive optional field; values are `<peer>-<role>` per matrix or `none` for explicit opt-out. Session-runner tries delegate first; transparent fallback on peer-absent OR peer-error. `peer_call_failed` event logs to `events.jsonl` for reflector telemetry. v1.27.0 ships the field but no agent in the fleet uses it yet - opt-in per agent via `/gdd:run-skill peer-cli-customize`.
|
|
97
|
+
- **Bandit posterior `delegate?` dimension** - Phase 23.5's `(agent_type, touches_size_bin)` arm space expands to `(agent_type, touches_size_bin, delegate)` where `delegate ∈ {none, gemini, codex, cursor, copilot, qwen}`. Existing priors carry forward as the `none` arm (no behavior change for unconfigured agents); 5 delegation arms start neutral. Reward signal unchanged (two-stage lexicographic). The bandit measures and learns which delegations actually pay off over cycles.
|
|
98
|
+
- **Event chain `runtime_role` + `peer_id` tags** - additive Phase 22 extension. `events.jsonl` rows optionally tag `runtime_role: "host" | "peer"` (defaults `"host"` for back-compat) and `peer_id`. 3 new event types: `peer_call_started`, `peer_call_complete`, `peer_call_failed`. costs.jsonl threads the same fields so v1.26's cross-runtime cost-arbitrage reflector extends to host-vs-peer arbitrage naturally.
|
|
99
|
+
- **`/gdd:peers` discoverability + skills for setup** - `/gdd:peers` shows a single-command capability matrix (peer × installed? × allowlisted? × claimed roles × posterior delta vs local). `peer-cli-customize` rewires per-agent `delegate_to:` mappings; `peer-cli-add` walks the verification ladder for adding a brand-new peer (model-ID `-preview`-suffix trap, Windows `.cmd` quirks, 3-file footprint). Install-time peer-detection helpers (`detectInstalledPeers()`) ship in `runtimes.cjs` ready for the interactive nudge (deferred to a 1.27.x patch).
|
|
100
100
|
|
|
101
101
|
See [docs/PEER-DELEGATION.md](docs/PEER-DELEGATION.md) for the ops guide (when delegation fires, fallback diagnostics, broker lifecycle, Windows quirks) and [reference/peer-protocols.md](reference/peer-protocols.md) for the ACP + ASP protocol cheat sheet.
|
|
102
102
|
|
|
103
103
|
### OpenRouter provider (v1.33.6, opt-in)
|
|
104
104
|
|
|
105
|
-
You can route any agent's tier (`opus`/`sonnet`/`haiku`) through **OpenRouter**
|
|
105
|
+
You can route any agent's tier (`opus`/`sonnet`/`haiku`) through **OpenRouter** - an aggregator that fronts Claude, GPT, Llama, Gemini, DeepSeek and more behind a single API key - *alongside* your native provider auth, never instead of it. Set `OPENROUTER_API_KEY` and GDD's tier-resolver adapter dynamically fetches the OpenRouter catalog (24h TTL cache) and maps each tier onto a concrete model via a closed-vs-open + pricing heuristic, with a `.design/config.json#openrouter_tier_overrides` escape hatch for pinning exact ids. When the key is absent or the catalog is unreachable, resolution gracefully falls back to your native provider - OpenRouter is purely additive. See [`connections/openrouter.md`](connections/openrouter.md) for setup, the probe pattern, and fallback behavior, and run `/gdd:openrouter-status` to inspect catalog freshness and the resolved tier→model mapping.
|
|
106
106
|
|
|
107
107
|
### Native mobile output (v1.34.1)
|
|
108
108
|
|
|
109
|
-
GDD now generates **native mobile** UI, not just web. A project-type detector routes the brief to the matching executor
|
|
109
|
+
GDD now generates **native mobile** UI, not just web. A project-type detector routes the brief to the matching executor - web stays the default; `native-ios` / `native-android` / `flutter` opt in via the brief plus `package.json` / `pubspec.yaml` / `*.xcodeproj` presence:
|
|
110
110
|
|
|
111
|
-
- **[`swift-executor`](agents/swift-executor.md)**
|
|
112
|
-
- **[`compose-executor`](agents/compose-executor.md)**
|
|
113
|
-
- **[`flutter-executor`](agents/flutter-executor.md)**
|
|
111
|
+
- **[`swift-executor`](agents/swift-executor.md)** - compilable **SwiftUI** views per iOS conventions (navigation, safe areas, SF Pro Dynamic Type).
|
|
112
|
+
- **[`compose-executor`](agents/compose-executor.md)** - **Jetpack Compose** Material 3 composables (Kotlin), edge-to-edge with the Material 3 `sp` type scale.
|
|
113
|
+
- **[`flutter-executor`](agents/flutter-executor.md)** - one Dart codebase that adapts the theme **per target**: Material 3 for web/Android, Cupertino for iOS.
|
|
114
114
|
|
|
115
|
-
All three are fed by a shared **token-bridge** ([`reference/native-platforms.md`](reference/native-platforms.md)) that extends the Phase-23 token engine with `swift`/`compose`/`flutter` emitters
|
|
115
|
+
All three are fed by a shared **token-bridge** ([`reference/native-platforms.md`](reference/native-platforms.md)) that extends the Phase-23 token engine with `swift`/`compose`/`flutter` emitters - mapping your canonical tokens (`#3B82F6`, `16px`, `Inter`) deterministically onto each platform's theme primitives (`Color`/`Font`, `MaterialTheme`, `ThemeData`) with a documented, round-trippable precision contract, so the executors never hand-author colour or dimension math. Rendered verification via the iOS Simulator / Android emulator is **optional** - when no simulator is present the verify stage degrades to a code-only structural audit (the simulator only *adds* rendered confirmation).
|
|
116
116
|
|
|
117
117
|
### Email output (v1.34.2)
|
|
118
118
|
|
|
119
|
-
GDD also generates **email templates**
|
|
119
|
+
GDD also generates **email templates** - the project-type detector routes an `email` brief to a dedicated executor that honors the real client constraints web HTML/CSS breaks on:
|
|
120
120
|
|
|
121
|
-
- **[`email-executor`](agents/email-executor.md)**
|
|
121
|
+
- **[`email-executor`](agents/email-executor.md)** - generates one email per task as **MJML source (canonical) + the derived HTML**, against the constraint catalogue, with the static validator as its own self-check. It is an agent-prompt, not a compiler - **no `mjml` runtime, no Litmus account, no network** is needed to produce the email.
|
|
122
122
|
|
|
123
|
-
The constraints live in [`reference/email-design.md`](reference/email-design.md)
|
|
123
|
+
The constraints live in [`reference/email-design.md`](reference/email-design.md) - table-based layout (no flexbox/grid/`position`), inline styles (no `<style>` sheet in Gmail), MSO conditional comments for Outlook's Word engine, dark-mode `color-scheme` handling, ~600px width, and the top-20-client quirks. A deterministic static checker ([`scripts/lib/email/validate-email-html.cjs`](scripts/lib/email/validate-email-html.cjs)) flags the statically-verifiable subset (`EM-LAYOUT`/`EM-STYLE`/`EM-MSO`/`EM-DARK`). Cross-client rendered verification via [`Litmus`](connections/litmus.md) (or Email-on-Acid) is **optional** - when absent the verify stage degrades to the static validator. Email generation is opt-in; **web stays the default**.
|
|
124
124
|
|
|
125
125
|
### Print/PDF output (v1.34.3)
|
|
126
126
|
|
|
127
|
-
GDD also generates **print/PDF** output
|
|
127
|
+
GDD also generates **print/PDF** output - the project-type detector routes a `print` brief to a dedicated executor that honors the production constraints screen-RGB web HTML ignores. This **completes the Non-Web Output Layer** (native + email + print all shipped):
|
|
128
128
|
|
|
129
|
-
- **[`pdf-executor`](agents/pdf-executor.md)**
|
|
129
|
+
- **[`pdf-executor`](agents/pdf-executor.md)** - generates **Paged.js-compatible print HTML/CSS** (with PDFKit-fallback notes for Chrome-less runtimes) against the constraint catalogue, with the static validator as its own self-check. It is an agent-prompt, not a compiler - **no headless Chrome, no PDFKit, no network** is needed to produce the print HTML/CSS.
|
|
130
130
|
|
|
131
|
-
The constraints live in [`reference/print-design.md`](reference/print-design.md)
|
|
131
|
+
The constraints live in [`reference/print-design.md`](reference/print-design.md) - the `@page` box model (size/margin/marks), bleed box + crop/registration marks, CMYK color-space awareness (print is subtractive CMYK, not screen RGB), font embedding/outlining (print RIPs have no web fonts), and a 300dpi raster fallback. A deterministic static checker ([`scripts/lib/print/validate-print-css.cjs`](scripts/lib/print/validate-print-css.cjs)) flags the statically-verifiable subset (`PR-PAGE`/`PR-BLEED`/`PR-CMYK`/`PR-FONT`/`PR-DPI`). Rendered PDF/page verification via the optional [`print-renderer`](connections/print-renderer.md) connection (Paged.js/headless-Chrome or PDFKit) is **optional** - when absent the verify stage degrades to the static validator. Print generation is opt-in; **web stays the default**.
|
|
132
132
|
|
|
133
|
-
### Research connections
|
|
133
|
+
### Research connections - Lazyweb + Mobbin (v1.34.4)
|
|
134
134
|
|
|
135
|
-
The **discover** stage grounds design in real product references, resolving sources **cost-aware
|
|
135
|
+
The **discover** stage grounds design in real product references, resolving sources **cost-aware - the free source is tried before any paid one**. [`Lazyweb`](connections/lazyweb.md) (free MCP, 250k+ app screens - pricing pages, onboarding, redesign comparisons) is **Tier 1, always first**; [`Mobbin`](connections/mobbin.md) (paid MCP, 600k+ screens / 130k+ flows - mobile + flow-level) and [`Refero`](connections/refero.md) are **Tier 2** (use whichever you subscribe to), then Pinterest → local archetypes → WebFetch. Both are optional user-installed MCPs (**no new runtime dependency**), onboardable via `/gdd:connections`.
|
|
136
136
|
|
|
137
|
-
### Team surfaces
|
|
137
|
+
### Team surfaces - PR inline review (v1.35.1)
|
|
138
138
|
|
|
139
|
-
After `/gdd:ship` opens the PR, the [`pr-commenter`](agents/pr-commenter.md) agent posts GDD's verify/audit output **inline** on it: selector-specific findings as inline review comments on changed lines, Preview/Chromatic before-after screenshot pairs, and a `gdd/design-review` status check (audit pillar scores + verify pass/fail + a11y) that a teammate's branch protection can require. Outbound bodies are redacted; `GDD_DISABLE_PR_COMMENTER` (or `.design/config.json`) is the kill-switch; it degrades to a noop (prints bodies for manual paste) and **never fails the ship**. Uses `gh` only
|
|
139
|
+
After `/gdd:ship` opens the PR, the [`pr-commenter`](agents/pr-commenter.md) agent posts GDD's verify/audit output **inline** on it: selector-specific findings as inline review comments on changed lines, Preview/Chromatic before-after screenshot pairs, and a `gdd/design-review` status check (audit pillar scores + verify pass/fail + a11y) that a teammate's branch protection can require. Outbound bodies are redacted; `GDD_DISABLE_PR_COMMENTER` (or `.design/config.json`) is the kill-switch; it degrades to a noop (prints bodies for manual paste) and **never fails the ship**. Uses `gh` only - **no new runtime dependency**. First sub-phase of the Team Surfaces layer (Slack/Discord notifications + Linear/Jira ticket-sync follow). Contract: [`reference/pr-review-integration.md`](reference/pr-review-integration.md).
|
|
140
140
|
|
|
141
|
-
### Team surfaces
|
|
141
|
+
### Team surfaces - Notification backplane (v1.35.2)
|
|
142
142
|
|
|
143
|
-
Routes pipeline events (verify-fail / audit-pass / ship) to **Slack** + **Discord** via incoming webhooks ([`connections/slack.md`](connections/slack.md) / [`connections/discord.md`](connections/discord.md)). The dispatcher ([`scripts/lib/notify/dispatch.cjs`](scripts/lib/notify/dispatch.cjs)) redacts every body at a single chokepoint, honors per-channel kill-switches (`GDD_DISABLE_SLACK` / `GDD_DISABLE_DISCORD`), and degrades to a noop when a webhook URL is unset
|
|
143
|
+
Routes pipeline events (verify-fail / audit-pass / ship) to **Slack** + **Discord** via incoming webhooks ([`connections/slack.md`](connections/slack.md) / [`connections/discord.md`](connections/discord.md)). The dispatcher ([`scripts/lib/notify/dispatch.cjs`](scripts/lib/notify/dispatch.cjs)) redacts every body at a single chokepoint, honors per-channel kill-switches (`GDD_DISABLE_SLACK` / `GDD_DISABLE_DISCORD`), and degrades to a noop when a webhook URL is unset - notification never blocks the pipeline. **No new runtime dependency** (injectable `fetch`, no Slack/Discord SDK). Routing: [`reference/notification-routing.md`](reference/notification-routing.md).
|
|
144
144
|
|
|
145
|
-
### Team surfaces
|
|
145
|
+
### Team surfaces - Ticket sync (v1.35.3)
|
|
146
146
|
|
|
147
147
|
Links a design cycle to a **Linear** or **Jira** ticket and keeps them in sync ([`connections/linear.md`](connections/linear.md) / [`connections/jira.md`](connections/jira.md), MCP-based). [`agents/ticket-sync-agent.md`](agents/ticket-sync-agent.md) surfaces the linked ticket's comments as context when a design file opens (via the decision-injector) and, on `/gdd:complete-cycle`, transitions the ticket + posts a **redacted** summary. Per-system kill-switches (`GDD_DISABLE_LINEAR` / `GDD_DISABLE_JIRA`); degrade-to-noop (never gates the cycle). **No new runtime dependency, no new egress** (MCP tools only). Contract: [`reference/ticket-sync.md`](reference/ticket-sync.md). **Completes the Team Surfaces layer** (PR inline + notifications + ticket sync).
|
|
148
148
|
|
|
149
149
|
### Design-artifact export (v1.35.5)
|
|
150
150
|
|
|
151
|
-
`/gdd:export <cycle> --format html|pdf|notion` packages a finished cycle's design output (`EXPERIENCE.md`, `DESIGN.md`, `DESIGN-VERIFICATION.md`, the decision log, screenshots) into a stakeholder-shareable artifact
|
|
151
|
+
`/gdd:export <cycle> --format html|pdf|notion` packages a finished cycle's design output (`EXPERIENCE.md`, `DESIGN.md`, `DESIGN-VERIFICATION.md`, the decision log, screenshots) into a stakeholder-shareable artifact - for PMs/execs/brand who aren't in the repo. The [`build-html`](scripts/lib/export/build-html.cjs) assembler emits a **self-contained** HTML (inline CSS, base64-embedded screenshots, **zero external references**); `pdf` is the same HTML plus Paged.js-compatible `@page` print CSS you render yourself; `notion` writes a page via the Notion MCP ([`connections/notion.md`](connections/notion.md), degrade-to-HTML). Every artifact is **redacted**; `--pseudonymize` masks identity/paths/hostname for external sharing; `--pr` posts the HTML preview as a PR comment via `pr-commenter`. **No new runtime dependency** (D-02: pure assembler, no PDF/markdown library). Contract: [`reference/export-formats.md`](reference/export-formats.md).
|
|
152
152
|
|
|
153
|
-
### Domain packs
|
|
153
|
+
### Domain packs - Knowledge Tier 3 (v1.36.1)
|
|
154
154
|
|
|
155
|
-
Four industry-specific design-pattern packs at [`reference/domains/`](reference/domains/)
|
|
155
|
+
Four industry-specific design-pattern packs at [`reference/domains/`](reference/domains/) - **finance** (data-table density, trading-UI color semantics, Reg-T/MiFID II disclosure, PCI-DSS masking, number-formatting precision), **healthcare** (HIPAA PHI isolation, audit-trail-as-UI, WCAG 2.1 AAA, medical-data viz), **gaming** (HUD/diegetic taxonomy, vestibular + photosensitive safety, ESRB/PEGI age-gates, controller/touch input adaptation), and **civic** (Section 508 + WCAG 2.1 AA floor, multi-language gov forms, Plain Writing Act, USWDS). The [`design-context-builder`](agents/design-context-builder.md) auto-detects the domain from brief keywords + `package.json` dependencies (`@stripe/`, `fhir`, `@react-three/fiber`, `@uswds/uswds`, …) and loads the matching pack into downstream context; [`design-auditor`](agents/design-auditor.md) folds each pack's audit checklist into the relevant pillar. Additive knowledge - no new pillar, no new runtime dependency. First sub-phase of Phase 36 (Motion-tool verification + Conversational UI follow).
|
|
156
156
|
|
|
157
157
|
### Motion-tool verification (v1.36.2)
|
|
158
158
|
|
|
159
|
-
GDD now opens the motion **exports** a project ships. The pure, dependency-free [`validate-motion`](scripts/lib/motion/validate-motion.cjs) checks a **Lottie** JSON for frame-rate sanity, non-positive duration, embedded-asset bloat, and a perf budget (`MO-*` rules); for **Rive** `.riv` (binary) it does size + a `RIVE`-header sanity, and surfaces the state-machine graph (unreachable states, no-exit loops) when the opt-in Rive runtime is present. The [`motion-verifier`](agents/motion-verifier.md) agent runs at verify time ([`connections/lottie.md`](connections/lottie.md) / [`connections/rive.md`](connections/rive.md)) and **WARNs
|
|
159
|
+
GDD now opens the motion **exports** a project ships. The pure, dependency-free [`validate-motion`](scripts/lib/motion/validate-motion.cjs) checks a **Lottie** JSON for frame-rate sanity, non-positive duration, embedded-asset bloat, and a perf budget (`MO-*` rules); for **Rive** `.riv` (binary) it does size + a `RIVE`-header sanity, and surfaces the state-machine graph (unreachable states, no-exit loops) when the opt-in Rive runtime is present. The [`motion-verifier`](agents/motion-verifier.md) agent runs at verify time ([`connections/lottie.md`](connections/lottie.md) / [`connections/rive.md`](connections/rive.md)) and **WARNs - never blocks** (motion is creative). **No new runtime dependency** - the Lottie player and Rive runtime are opt-in. Second sub-phase of Phase 36.
|
|
160
160
|
|
|
161
161
|
### Conversational UI (v1.36.3)
|
|
162
162
|
|
|
163
|
-
[`reference/conversational-ui.md`](reference/conversational-ui.md) closes a zero-coverage surface: voice flows + chatbots. It codifies voice-flow reprompts (no-input / no-match → human handoff), multi-turn dialogue (context carryover, slot-filling, repair), **prompt-as-UX** (the assistant's persona/tone/boundaries as a versioned design artifact), chatbot empty-states + suggested replies, voice-first onboarding, and error recovery + accessibility. [`design-context-builder`](agents/design-context-builder.md) detects a `conversational` project type (brief keywords + chatbot/voice deps like `botpress` / `dialogflow` / `actions-on-google` / `ask-sdk-core`) and loads the pack into context. **No new runtime dependency.** This is the **final sub-phase of Phase 36
|
|
163
|
+
[`reference/conversational-ui.md`](reference/conversational-ui.md) closes a zero-coverage surface: voice flows + chatbots. It codifies voice-flow reprompts (no-input / no-match → human handoff), multi-turn dialogue (context carryover, slot-filling, repair), **prompt-as-UX** (the assistant's persona/tone/boundaries as a versioned design artifact), chatbot empty-states + suggested replies, voice-first onboarding, and error recovery + accessibility. [`design-context-builder`](agents/design-context-builder.md) detects a `conversational` project type (brief keywords + chatbot/voice deps like `botpress` / `dialogflow` / `actions-on-google` / `ask-sdk-core`) and loads the pack into context. **No new runtime dependency.** This is the **final sub-phase of Phase 36 - which is now complete** (domain packs + motion-tool verification + conversational UI).
|
|
164
164
|
|
|
165
|
-
### AI-native tools
|
|
165
|
+
### AI-native tools - Wave 2 (v1.37.1)
|
|
166
166
|
|
|
167
|
-
Six more AI-native design tools join the connection layer (Phase 14's backlog, now scheduled): **Framer**, **Penpot**, and **Webflow** (canvas-category
|
|
167
|
+
Six more AI-native design tools join the connection layer (Phase 14's backlog, now scheduled): **Framer**, **Penpot**, and **Webflow** (canvas-category - read frames/boards/structure as design sources) plus **v0.dev**, **Plasmic**, and **Builder.io** (generator-category - prompt→component, wired into [`design-component-generator`](agents/design-component-generator.md) as `<!-- impl: -->` sections). Plasmic is dual (canvas + generator). Onboarding grows 21 → 27. Each is an opt-in MCP/API connection that degrades to code-only when absent - **no new runtime dependency**. First sub-phase of Phase 37 (Greenfield DS Bootstrap follows).
|
|
168
168
|
|
|
169
169
|
### Greenfield design-system bootstrap (v1.37.2)
|
|
170
170
|
|
|
@@ -172,46 +172,46 @@ Six more AI-native design tools join the connection layer (Phase 14's backlog, n
|
|
|
172
172
|
|
|
173
173
|
### Outcome-driven adaptation (v1.38.0)
|
|
174
174
|
|
|
175
|
-
GDD now learns **which design patterns win with users**, not just which pass lint. `/gdd:design --variants N` emits N competing, hypothesis-tagged variants; a new `design_arms` posterior ([`design-arms-store`](scripts/lib/ds-arms/design-arms-store.cjs)
|
|
175
|
+
GDD now learns **which design patterns win with users**, not just which pass lint. `/gdd:design --variants N` emits N competing, hypothesis-tagged variants; a new `design_arms` posterior ([`design-arms-store`](scripts/lib/ds-arms/design-arms-store.cjs) - Beta(2,8), distinct from the routing bandit) consults prior outcomes to bias generation (**advisory, never directive**). Two read-only external signal sources close the loop: **A/B experiments** ([LaunchDarkly / Statsig / GrowthBook](connections/launchdarkly.md) → [`experiment-result-ingester`](agents/experiment-result-ingester.md)) and **user research** ([UserTesting / Maze / Hotjar](connections/usertesting.md) → [`user-research-synthesizer`](agents/user-research-synthesizer.md)), the latter **pseudonymized before any agent context** (a tested PII guard). Findings populate the brief's `<prior-research>` block, which verify cross-checks. **No new runtime dependency.** Onboarding 27 → 33.
|
|
176
176
|
|
|
177
177
|
### Deployment coordination (v1.38.5)
|
|
178
178
|
|
|
179
|
-
GDD now tracks a design past "PR merged" to **actually live**. [`/gdd:rollout-status`](skills/rollout-status/SKILL.md) reads the feature-flag service (the Phase 38 LaunchDarkly/Statsig/GrowthBook connections) via [`rollout-coordinator`](agents/rollout-coordinator.md) and classifies each cycle
|
|
179
|
+
GDD now tracks a design past "PR merged" to **actually live**. [`/gdd:rollout-status`](skills/rollout-status/SKILL.md) reads the feature-flag service (the Phase 38 LaunchDarkly/Statsig/GrowthBook connections) via [`rollout-coordinator`](agents/rollout-coordinator.md) and classifies each cycle - `unrolled` / `staging-only` / `canary-N%` / `prod-100%` - surfacing **stuck** rollouts (a canary that hasn't advanced in N days). The pure [`rollout-status`](scripts/lib/rollout/rollout-status.cjs) classifier also computes a **deployed-percentage weight** that feeds the `design_arms` posterior via `verify_outcome` events - a variant that only reached 10% of users counts as weak evidence (0.1), a fully-rolled one counts 1.0. **Read-only** (GDD never advances or rolls back) and **no new runtime dependency**.
|
|
180
180
|
|
|
181
181
|
### DS migration workflows (v1.39.1)
|
|
182
182
|
|
|
183
|
-
When a design system ships a breaking major
|
|
183
|
+
When a design system ships a breaking major - shadcn/ui v1→v2, Tailwind v3→v4, MUI v5→v6, or the Material 2/3 token rename - GDD detects the skew from the in-repo `package.json`, consults a curated rule library ([`reference/migrations/`](reference/migrations/)), and produces an **impact-scored, proposal-only** migration plan via [`ds-migration-planner`](agents/ds-migration-planner.md). Each affected component is scored by visual-delta × usage × tests-affected, and the planner emits codemod scaffolds to `.design/migration/` through the pure [`codemod-gen`](scripts/lib/migration/codemod-gen.cjs) - which produces jscodeshift/ast-grep template **text only** (it never imports or runs a codemod engine). [`design-verifier`](agents/design-verifier.md) then treats an in-flight migration as a contract: visual-diff within threshold, component API surface unchanged, tests green, and an unmigrated high-impact rule is a gap. **Proposal-only, no new runtime dependency, no new egress.**
|
|
184
184
|
|
|
185
185
|
### Long-horizon cost governance (v1.39.2)
|
|
186
186
|
|
|
187
|
-
GDD already tracks cost per task and per runtime
|
|
187
|
+
GDD already tracks cost per task and per runtime - now it **forecasts** it, **caps** it at the project level, and shows whether the spend **shipped**. [`/gdd:budget`](skills/budget/SKILL.md) groups `costs.jsonl` by cycle and (via [`cost-forecaster`](agents/cost-forecaster.md) → the pure [`cost-forecast`](scripts/lib/budget/cost-forecast.cjs)) projects the next N cycles in **best / typical / worst** scenarios - "at the current rate you'll hit your $X project cap in Y cycles." A new `budget.json.project_cap_usd` adds a **project-level hard cap**: the [`budget-enforcer`](hooks/budget-enforcer.ts) hook warns at 50% + 80% and **gracefully halts** the next agent spawn at 100% (via the pure [`project-cap`](scripts/lib/budget/project-cap.cjs) classifier) - **disabled by default**, so existing users are unaffected. [`/gdd:roi`](skills/roi/SKILL.md) joins per-cycle cost with commits that shipped (survived ≥ 14 days) vs reverted into a cost-per-shipped-commit table ([`roi`](scripts/lib/budget/roi.cjs)). **No new runtime dependency, no new egress** - the hook only ever blocks, never spends.
|
|
188
188
|
|
|
189
189
|
### GDD self-migration (v1.39.5)
|
|
190
190
|
|
|
191
|
-
GDD migrates *your* design systems (above)
|
|
191
|
+
GDD migrates *your* design systems (above) - now it migrates **itself**. When GDD ships a breaking path change (like the Phase 31.5 `scripts/lib/**` → `sdk/**` reorg), a machine-readable registry in [`reference/DEPRECATIONS.md`](reference/DEPRECATIONS.md) records `Since · Removed in · Old · New · hint`. After an upgrade, [`/gdd:update`](skills/update/SKILL.md) flags anything that crossed into deprecated/removed, and [`/gdd:migrate`](skills/migrate/SKILL.md) rewrites your project's stale references - **previewing a diff first, never silent** - via the pure [`deprecation-registry`](scripts/lib/deprecation-registry.cjs). Two CI gates keep the system honest: a completeness check (every entry has a shim or a confirmed removal) and `lint-changelog` (every future minor must declare a `### Breaking changes` section). **No new runtime dependency, no new egress.**
|
|
192
192
|
|
|
193
193
|
### Team collaboration mode (v1.40.0)
|
|
194
194
|
|
|
195
|
-
GDD's single-operator baseline now extends to **teams**
|
|
195
|
+
GDD's single-operator baseline now extends to **teams** - git-native + advisory, no server. Two developers working a cycle on parallel branches merge their `.design/STATE.md` **per section** ([`section-merge`](scripts/lib/collab/section-merge.cjs) unions decisions by `D-id`; a real conflict is only a same-id divergence, which [`conflict-resolver`](agents/conflict-resolver.md) reconciles with human confirmation - never auto-picking or dropping a decision). Decisions carry optional `[author= co-author=]` attribution, move through an async review queue (`proposed → reviewing → approved → locked`) with **hard locks** (the only escape is an audited [`/gdd:unlock-decision`](skills/unlock-decision/SKILL.md)), and [`/gdd:review-decisions`](skills/review-decisions/SKILL.md) surfaces what's pending. [`decision-journal-exporter`](agents/decision-journal-exporter.md) publishes a **pseudonymized, read-only** Notion/Confluence journal for stakeholders who don't run GDD. `gdd_cycle_mode` (designer/dev/full) partitions a cycle by role, a `permissions` model gates per-section writes, and `collab.multi_writer_enabled` switches the advisory lock to a team-mode backoff. The full contract: [`reference/multi-author-model.md`](reference/multi-author-model.md). **Everything is off by default** - a single-operator project is unaffected. **No new runtime dependency.**
|
|
196
196
|
|
|
197
197
|
### CLI localization (v1.40.5)
|
|
198
198
|
|
|
199
|
-
GDD's README is multilingual
|
|
199
|
+
GDD's README is multilingual - now its **CLI** is too. [`/gdd:locale <code>`](skills/locale/SKILL.md) sets the language of `--help`, common error messages, and skill prompt headers, resolved by [`scripts/lib/i18n`](scripts/lib/i18n/index.cjs) (precedence: `config.locale` > env `LANG` > `en`; fallback chain `locale → base → en`). Flat-JSON message tables ship for **en** (complete source), **ru** (full), and **uk/de/fr/zh/ja** placeholders - a missing key always falls back to English, so a partial locale never breaks the CLI. Skills + agents can carry an opt-in `description_i18n` map. Adding a locale is a PR: translate the table, add a `NOTICE` credit (the contribution path is in [`reference/cli-localization.md`](reference/cli-localization.md)). Completeness is **warn-only**. **No new runtime dependency.**
|
|
200
200
|
|
|
201
|
-
### Deterministic anti-pattern CLI
|
|
201
|
+
### Deterministic anti-pattern CLI - `gdd-detect` (v1.41.0)
|
|
202
202
|
|
|
203
|
-
GDD's BAN-NN anti-pattern catalogue is now executable. [`gdd-detect`](bin/gdd-detect) is a **dep-free, offline** Node CLI that scans HTML/CSS/JSX for the 11 statically-detectable BAN rules ([`scripts/lib/detect/rules/`](scripts/lib/detect/))
|
|
203
|
+
GDD's BAN-NN anti-pattern catalogue is now executable. [`gdd-detect`](bin/gdd-detect) is a **dep-free, offline** Node CLI that scans HTML/CSS/JSX for the 11 statically-detectable BAN rules ([`scripts/lib/detect/rules/`](scripts/lib/detect/)) - `transition: all`, `will-change: all`, gradient text, bounce easing, `scale(0)` entry, naked `outline: none`, pure-black dark mode, disabled zoom, tinted image outline - each finding linked to its [`reference/anti-patterns.md`](reference/anti-patterns.md) paragraph. `gdd-detect <path> [--json] [--fast] [--rule BAN-NN]` exits `0` clean / `2` findings / `1` error. The rule files are the canonical executable; the markdown stays canonical prose; [`sync-rule-catalogue`](scripts/sync-rule-catalogue.cjs) keeps them in parity. `npm run lint:design` is the CI gate; an opt-in pre-commit scaffold ships too. `design-auditor` and the Phase-25 quality-gate consume it; `jsdom`/`puppeteer` are soft-optional (regex-fast is the default). **No new runtime dependency.**
|
|
204
204
|
|
|
205
205
|
### Previous releases
|
|
206
206
|
|
|
207
|
-
- **v1.26.0**
|
|
208
|
-
- **v1.25.0**
|
|
209
|
-
- **v1.24.0**
|
|
210
|
-
- **v1.23.5**
|
|
211
|
-
- **v1.23.0**
|
|
212
|
-
- **v1.22.0**
|
|
213
|
-
- **v1.21.0**
|
|
214
|
-
- **v1.20.0**
|
|
207
|
+
- **v1.26.0** - Headless Model Resolver (per-runtime tier→model map, `resolved_models` router field, per-runtime price tables, `reasoning-class` runtime-neutral alias).
|
|
208
|
+
- **v1.25.0** - Pipeline Hardening (prototype gate + STATE `<prototyping>` block, router S/M/L/XL `complexity_class`, quality-gate Stage 4.5, Stop-hook turn closeout).
|
|
209
|
+
- **v1.24.0** - Multi-Runtime Installer (`@clack/prompts` interactive multi-select for all 14 runtimes, idempotent + foreign-AGENTS.md-safe, scripted CI surface preserved 1:1).
|
|
210
|
+
- **v1.23.5** - No-Regret Adaptive Layer (Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank; single-user via informed-prior bootstrap, no opt-in telemetry).
|
|
211
|
+
- **v1.23.0** - SDK Domain Primitives (solidify-with-rollback gate, JSON output contracts, auto-crystallization of `Touches:` patterns).
|
|
212
|
+
- **v1.22.0** - SDK Observability (~24 typed event types, per-tool-call trajectory, append-only event chain, secret scrubber).
|
|
213
|
+
- **v1.21.0** - Headless SDK (`gdd-sdk` CLI runs full pipeline without Claude Code, parallel researchers, cross-harness MCP).
|
|
214
|
+
- **v1.20.0** - SDK Foundation (resilience primitives, lockfile-safe `STATE.md`, `gdd-state` MCP server with 11 typed tools, TypeScript foundation).
|
|
215
215
|
|
|
216
216
|
For full release notes see [CHANGELOG.md](CHANGELOG.md).
|
|
217
217
|
|
|
@@ -238,10 +238,14 @@ npx @hegemonart/get-design-done@latest
|
|
|
238
238
|
```
|
|
239
239
|
|
|
240
240
|
The installer prompts you to choose:
|
|
241
|
-
1. **Runtime**
|
|
242
|
-
2. **Location**
|
|
241
|
+
1. **Runtime** - Claude Code, OpenCode, Gemini, Kilo, Codex, Copilot, Cursor, Windsurf, Antigravity, Augment, Trae, Qwen Code, CodeBuddy, Cline, or all (interactive multi-select - pick multiple runtimes in a single session)
|
|
242
|
+
2. **Location** - Global (all projects) or local (current project only)
|
|
243
243
|
|
|
244
|
-
All 14 runtimes receive their native artifact layout (`skills/`, `command/`, `agents/`, or `.clinerules`) via per-runtime content converters
|
|
244
|
+
All 14 runtimes receive their native artifact layout (`skills/`, `command/`, `agents/`, or `.clinerules`) via per-runtime content converters - Claude SKILL.md sources are translated to each runtime's expected shape at install time (frontmatter pass-through, path rewrite, tool-name rewrite via the Phase 21 cross-harness maps). Architecture ported from `gsd-build/get-shit-done` (MIT - see `NOTICE`; upstream is now archived following the May 2026 $GSD token rug-pull, community continuation lives at [`open-gsd/get-shit-done-redux`](https://github.com/open-gsd/get-shit-done-redux)).
|
|
245
|
+
|
|
246
|
+
**Multi-harness compilation (v1.42.0).** Skills are authored once in `source/skills/` with placeholders (`{{command_prefix}}`, `{{model}}`, `{{config_file}}`, `{{ask_instruction}}`) and compiled per-harness by `scripts/build-skills.cjs` (`npm run build:skills`, or `gdd-sdk build skills`) using a pure transformer factory that reads the single harness manifest at `scripts/lib/manifest/harnesses.json`. The committed `skills/` tree is the regenerated Claude-Code default (CI drift-gates `committed === generated`); the default bundle ships at `dist/claude-code/`, and the other 13 bundles are produced on demand. Adding a 15th harness is one manifest entry. Contributors: edit `source/skills/`, never `skills/` directly - see `reference/skill-placeholders.md` and `reference/DEPRECATIONS.md`.
|
|
247
|
+
|
|
248
|
+
**Editorial quality floor (v1.43.0).** A tool that audits design quality should hold its own prose to the same bar. `npm run lint:prose` is a CI gate that fails on em dashes, prose double hyphens, and AI-prose tells (`load-bearing`, `leverage`, `robust`, `seamless`, ...) across the README, `SKILL.md`, `source/skills/`, `agents/`, `CHANGELOG.md`, and `reference/` (bodies and frontmatter descriptions). Fenced/inline code, HTML comments, and Cyrillic-majority files are skipped. The ruleset lives in `STYLE.md`, generated from the shared denylist at `scripts/lib/manifest/prose-denylist.json`. See `CONTRIBUTING.md`. **No new runtime dependency.**
|
|
245
249
|
|
|
246
250
|
Verify with:
|
|
247
251
|
|
|
@@ -250,11 +254,11 @@ Verify with:
|
|
|
250
254
|
```
|
|
251
255
|
|
|
252
256
|
> [!TIP]
|
|
253
|
-
> Run Claude Code with `--dangerously-skip-permissions` for a frictionless experience. GDD is designed for autonomous multi-stage execution
|
|
257
|
+
> Run Claude Code with `--dangerously-skip-permissions` for a frictionless experience. GDD is designed for autonomous multi-stage execution - approving each Read and `git commit` defeats the purpose.
|
|
254
258
|
|
|
255
259
|
### Staying Updated
|
|
256
260
|
|
|
257
|
-
GDD ships often. Update by re-running the installer (it's idempotent
|
|
261
|
+
GDD ships often. Update by re-running the installer (it's idempotent - updates registered marketplace entries in place):
|
|
258
262
|
|
|
259
263
|
```bash
|
|
260
264
|
npx @hegemonart/get-design-done@latest
|
|
@@ -266,7 +270,7 @@ Or from inside Claude Code:
|
|
|
266
270
|
/gdd:update
|
|
267
271
|
```
|
|
268
272
|
|
|
269
|
-
`/gdd:update` previews the changelog before applying. Local modifications under `reference/` are preserved
|
|
273
|
+
`/gdd:update` previews the changelog before applying. Local modifications under `reference/` are preserved - if a structural update needs re-stitching, run `/gdd:reapply-patches`. When a new release lands, the SessionStart hook prints a one-line banner gated by state-machine logic so it never interrupts a running stage.
|
|
270
274
|
|
|
271
275
|
<details>
|
|
272
276
|
<summary><strong>Non-interactive Install (Docker, CI, Scripts)</strong></summary>
|
|
@@ -323,7 +327,7 @@ claude plugin marketplace add hegemonart/get-design-done
|
|
|
323
327
|
claude plugin install get-design-done@get-design-done
|
|
324
328
|
```
|
|
325
329
|
|
|
326
|
-
This is what the npx installer does for you
|
|
330
|
+
This is what the npx installer does for you - `npx` just collapses two commands into one.
|
|
327
331
|
|
|
328
332
|
</details>
|
|
329
333
|
|
|
@@ -331,36 +335,36 @@ This is what the npx installer does for you — `npx` just collapses two command
|
|
|
331
335
|
|
|
332
336
|
Beyond the Phase 28.7 file-drop install paths above (which remain the default and continue to work exactly as before), v1.28.8 adds three Tier-2 distribution channels for discovery-driven install:
|
|
333
337
|
|
|
334
|
-
- **agentskills.io cross-runtime portability.** Our `skills/` are spec-compliant per the [agentskills.io](https://agentskills.io) standard (lint-only path per Phase 28.8 D-13; Phase 28.5 frontmatter contract already matches the 2 required spec fields `name` + `description`; current lint score 38 PASS / 32 WARN / 0 FAIL). Runtimes that claim agentskills.io compatibility (Codex, Kilo, Augment, Hermes, Qwen) can consume our skills directly via that channel
|
|
335
|
-
- **Cursor Marketplace.** Install via Cursor's marketplace UI. Publisher application submitted to Cursor post-merge; live link pending Cursor team review approval (no published SLA)
|
|
338
|
+
- **agentskills.io cross-runtime portability.** Our `skills/` are spec-compliant per the [agentskills.io](https://agentskills.io) standard (lint-only path per Phase 28.8 D-13; Phase 28.5 frontmatter contract already matches the 2 required spec fields `name` + `description`; current lint score 38 PASS / 32 WARN / 0 FAIL). Runtimes that claim agentskills.io compatibility (Codex, Kilo, Augment, Hermes, Qwen) can consume our skills directly via that channel - see `.planning/research/agentskills-io-compat/<runtime>.md` for per-runtime verification reports.
|
|
339
|
+
- **Cursor Marketplace.** Install via Cursor's marketplace UI. Publisher application submitted to Cursor post-merge; live link pending Cursor team review approval (no published SLA) - see `docs/cursor-marketplace-field-test.md` for current status. Manifest at `.cursor-plugin/plugin.json`.
|
|
336
340
|
- **Codex Plugin.** Install via Codex's GitHub-URL plugin add:
|
|
337
341
|
|
|
338
342
|
```bash
|
|
339
343
|
codex plugin marketplace add hegemonart/get-design-done
|
|
340
344
|
```
|
|
341
345
|
|
|
342
|
-
Works today against any GitHub URL with `.codex-plugin/plugin.json`. Per Phase 28.8 D-14: catalog discovery reuses `.claude-plugin/marketplace.json`
|
|
346
|
+
Works today against any GitHub URL with `.codex-plugin/plugin.json`. Per Phase 28.8 D-14: catalog discovery reuses `.claude-plugin/marketplace.json` - no separate Codex catalog file required.
|
|
343
347
|
|
|
344
|
-
Tier-1 file-drop paths above and Tier-2 channels here are **additive opt-in**
|
|
348
|
+
Tier-1 file-drop paths above and Tier-2 channels here are **additive opt-in** - both work independently per Phase 28.8 D-05 backward-compat discipline.
|
|
345
349
|
|
|
346
350
|
### Capability-Gap Telemetry + Self-Authoring (v1.29.0+)
|
|
347
351
|
|
|
348
|
-
The reflector loop now tracks "capability lookup failed" signals as first-class telemetry and
|
|
352
|
+
The reflector loop now tracks "capability lookup failed" signals as first-class telemetry and - once enough recurring gaps surface - can draft new agents or skills as proposals for your review.
|
|
349
353
|
|
|
350
|
-
**Stage 0
|
|
351
|
-
Three lookup-fail points now emit typed `capability_gap` events: `skills/fast` no-skill-match paths, `gdd-router` unmatched-intent paths, and the reflector's pattern-detection pass (recurring `Touches:` clusters without a dedicated owner). The reflector aggregates per-cycle gap events into a `## Capability gaps observed` section in your reflection notes. View with `gdd-events --type capability_gap`. No authoring on Stage 0
|
|
354
|
+
**Stage 0 - telemetry (ships immediately).**
|
|
355
|
+
Three lookup-fail points now emit typed `capability_gap` events: `skills/fast` no-skill-match paths, `gdd-router` unmatched-intent paths, and the reflector's pattern-detection pass (recurring `Touches:` clusters without a dedicated owner). The reflector aggregates per-cycle gap events into a `## Capability gaps observed` section in your reflection notes. View with `gdd-events --type capability_gap`. No authoring on Stage 0 - this just surfaces signal.
|
|
352
356
|
|
|
353
|
-
**Stage 1
|
|
354
|
-
When K=3 stable clusters surface across M=10 reflection cycles (defaults in `reference/capability-gap-stage-gate.md`), `/gdd:apply-reflections` prompts you once to enable Stage 1. With Stage 1 on, the reflector drafts incubator artifacts at `.design/reflections/incubator/<slug>/`
|
|
357
|
+
**Stage 1 - self-authoring (opt-in once data crosses the gate).**
|
|
358
|
+
When K=3 stable clusters surface across M=10 reflection cycles (defaults in `reference/capability-gap-stage-gate.md`), `/gdd:apply-reflections` prompts you once to enable Stage 1. With Stage 1 on, the reflector drafts incubator artifacts at `.design/reflections/incubator/<slug>/` - `SKILL.md` or `agents/<slug>.md` with full Phase 28.5-compliant frontmatter, originating events, computed usage frequency, and a suggested integration point. Drafts surface in `/gdd:apply-reflections` as a 5th proposal class with four actions: `accept` (promotes + registers), `reject`, `defer`, `edit`. Promoted arms enter the bandit with a conservative `Beta(2, 8)` prior so they don't get preferential selection until evidence accumulates. Drafts not promoted/refreshed within 30 days auto-archive.
|
|
355
359
|
|
|
356
|
-
**Scope guard.** Authoring is limited to `agents/` and `skills/` only
|
|
360
|
+
**Scope guard.** Authoring is limited to `agents/` and `skills/` only - never runtimes, transports, connections, hooks, or CI workflows. `scripts/validate-incubator-scope.cjs` blocks promotion attempts outside scope.
|
|
357
361
|
|
|
358
|
-
**Discipline preserved.** Reflector authors nothing that auto-ships. `/gdd:apply-reflections` remains the single human gate (Phase 11 SC-8). Stage 1 never auto-flips
|
|
362
|
+
**Discipline preserved.** Reflector authors nothing that auto-ships. `/gdd:apply-reflections` remains the single human gate (Phase 11 SC-8). Stage 1 never auto-flips - user opts in.
|
|
359
363
|
|
|
360
364
|
|
|
361
365
|
### Figma off-context extraction (v1.31.0+)
|
|
362
366
|
|
|
363
|
-
Pull an entire Figma design system into a compact, LLM-readable local digest
|
|
367
|
+
Pull an entire Figma design system into a compact, LLM-readable local digest - **without the raw JSON ever entering Claude's context**. One command extracts the file via the Figma REST API into a local raw cache; a separate digest stage reduces it to `DESIGN.md` + `tokens.json` + `components.json`.
|
|
364
368
|
|
|
365
369
|
```bash
|
|
366
370
|
# Stage 1 — raw pull (0 Claude tokens; writes a gitignored cache)
|
|
@@ -369,10 +373,10 @@ node scripts/lib/figma-extract/pull.cjs <figma-file-url-or-key>
|
|
|
369
373
|
node scripts/lib/figma-extract/digest.cjs --raw <cache>/raw/<key> --out .design/figma
|
|
370
374
|
```
|
|
371
375
|
|
|
372
|
-
**The economics.** A spike measured **898× compression** (223 MB raw → 254 KB digest) with a ~15.7K-token `DESIGN.md`, capturing 127 component sets + 40 singletons (variants, props, defaults) in ~33s
|
|
376
|
+
**The economics.** A spike measured **898× compression** (223 MB raw → 254 KB digest) with a ~15.7K-token `DESIGN.md`, capturing 127 component sets + 40 singletons (variants, props, defaults) in ~33s - at **0 Claude tokens and 0 Figma MCP calls during extraction**. This is the cost-sane alternative to the Figma MCP for whole-design-system work, which can run tens of minutes and 50–500K+ tokens for the same data. (The Figma MCP remains the right tool for spot questions on a single component.)
|
|
373
377
|
|
|
374
|
-
- **Token-safe by construction.** `FIGMA_TOKEN` is read from the environment only and sent solely as a request header
|
|
375
|
-
- **Works on any Figma plan.** The optional **"GDD Sync"** Figma plugin (`figma-plugin/`) fills the Variables-API-Enterprise gap: it reads `figma.variables` from inside Figma and POSTs them to an ephemeral, 127.0.0.1-only receiver
|
|
378
|
+
- **Token-safe by construction.** `FIGMA_TOKEN` is read from the environment only and sent solely as a request header - never logged, never written to disk (a CI static-analysis test enforces this across the whole extract library). The digest never reads raw JSON into context.
|
|
379
|
+
- **Works on any Figma plan.** The optional **"GDD Sync"** Figma plugin (`figma-plugin/`) fills the Variables-API-Enterprise gap: it reads `figma.variables` from inside Figma and POSTs them to an ephemeral, 127.0.0.1-only receiver - so Free-tier users get full token coverage too.
|
|
376
380
|
- **Per-component slices.** `digest --component <name|glob>` renders a ~500-token slice of just the components you ask for, instead of the full digest.
|
|
377
381
|
- **Health-aware.** `/gdd:health` reports a `figma_extract` readiness line (token set / token missing / Free-tier plugin-sync needed).
|
|
378
382
|
|
|
@@ -380,10 +384,10 @@ See [`skills/figma-extract/SKILL.md`](skills/figma-extract/SKILL.md) and [`figma
|
|
|
380
384
|
|
|
381
385
|
### Skill discipline bootstrap (v1.32.0+)
|
|
382
386
|
|
|
383
|
-
GDD ships 70+ skills, but a description-match skill router consults them opportunistically
|
|
387
|
+
GDD ships 70+ skills, but a description-match skill router consults them opportunistically - easy to skip a stage under pressure. v1.32.0 adds the forcing function GDD lacked, porting the skill-discipline **mechanism** (not content) from [`obra/superpowers`](https://github.com/obra/superpowers) (MIT):
|
|
384
388
|
|
|
385
|
-
- **SessionStart inject.** A `using-gdd` bootstrap contract is injected at every session start / `/clear` / compact (`hooks/inject-using-gdd.sh`, per-harness: Cursor / Claude Code / SDK). It carries the **1%-rule** ("even a 1% chance a skill applies → invoke it"), a red-flags `Thought → Reality` table, and the skill-priority + instruction-priority order
|
|
386
|
-
- **`<HARD-GATE>` at every stage transition.** Brief / Explore / Plan / Design / Verify each refuse to advance until the stage's artifact exists and is approved
|
|
389
|
+
- **SessionStart inject.** A `using-gdd` bootstrap contract is injected at every session start / `/clear` / compact (`hooks/inject-using-gdd.sh`, per-harness: Cursor / Claude Code / SDK). It carries the **1%-rule** ("even a 1% chance a skill applies → invoke it"), a red-flags `Thought → Reality` table, and the skill-priority + instruction-priority order - so the agent is primed to find the right skill before it acts.
|
|
390
|
+
- **`<HARD-GATE>` at every stage transition.** Brief / Explore / Plan / Design / Verify each refuse to advance until the stage's artifact exists and is approved - no free-handing a stage.
|
|
387
391
|
- **Rationalization tables** in all 7 stage skills name the common "skip it" justifications and rebut each; **inline self-review** blocks gate the brief and plan specs.
|
|
388
392
|
- **`<SUBAGENT-STOP>` no-cascade.** The inject fires only on SessionStart, so the bootstrap never cascades into spawned subagents.
|
|
389
393
|
- **Portable + health-aware.** `AGENTS.md` + `GEMINI.md` carry the same discipline block for non-Claude-Code harnesses, and `/gdd:health` reports a `skill-discipline` readiness line.
|
|
@@ -394,7 +398,7 @@ See [`skills/using-gdd/SKILL.md`](skills/using-gdd/SKILL.md) and the `NOTICE` at
|
|
|
394
398
|
|
|
395
399
|
Static validators check a skill's shape; **behavior tests** check that it holds under pressure. v1.33.0 adds a manifest-driven pressure-scenario harness (porting the TDD-for-skills methodology + pressure-scenario pattern from [`obra/superpowers/skills/writing-skills`](https://github.com/obra/superpowers), MIT): a runner drives a scenario (time / sunk-cost / authority / exhaustion / scope-minimization) through an injectable agent-invoker and scores the response against a compliance/violation rubric with N-attempts + majority rule. Ships 8 scenarios (7 stage skills + `using-gdd`) with synthetic RED baselines.
|
|
396
400
|
|
|
397
|
-
Behavior tests are **opt-in** and key-gated
|
|
401
|
+
Behavior tests are **opt-in** and key-gated - the default `npm test` stub suite covers the harness structurally and stays CI-green (LLM non-determinism keeps live runs out of CI). To run the live pass:
|
|
398
402
|
|
|
399
403
|
```bash
|
|
400
404
|
# Skips + exits 0 when ANTHROPIC_API_KEY is unset.
|
|
@@ -406,7 +410,7 @@ See [`docs/research/description-format-ab.md`](docs/research/description-format-
|
|
|
406
410
|
|
|
407
411
|
## How It Works
|
|
408
412
|
|
|
409
|
-
> **New to an existing codebase?** Run `/gdd:map` first. It dispatches 5 specialist mappers in parallel (tokens, components, visual hierarchy, a11y, motion) and writes structured JSON to `.design/map/`
|
|
413
|
+
> **New to an existing codebase?** Run `/gdd:map` first. It dispatches 5 specialist mappers in parallel (tokens, components, visual hierarchy, a11y, motion) and writes structured JSON to `.design/map/` - much higher signal than the grep-based fallback in Explore.
|
|
410
414
|
|
|
411
415
|
### 1. Brief
|
|
412
416
|
|
|
@@ -452,7 +456,7 @@ Decomposes Explore output into atomic, wave-coordinated, dependency-analyzed des
|
|
|
452
456
|
|
|
453
457
|
Executes plan tasks in waves. Each task gets a dedicated `design-executor` agent with a fresh 200k context, atomic git commit, and automatic deviation handling per in-context rules. Parallel-safe tasks run in worktrees.
|
|
454
458
|
|
|
455
|
-
**Solidify-with-rollback** (v1.23.0)
|
|
459
|
+
**Solidify-with-rollback** (v1.23.0) - every task validates (typecheck + build + targeted test) before locking in. Validation fails → `git stash` revert. Each task is atomic commit-or-revert.
|
|
456
460
|
|
|
457
461
|
**Creates:** `.design/tasks/task-NN.md` per task, atomic git commit per task
|
|
458
462
|
|
|
@@ -481,7 +485,7 @@ Executes plan tasks in waves. Each task gets a dedicated `design-executor` agent
|
|
|
481
485
|
/gdd:verify
|
|
482
486
|
```
|
|
483
487
|
|
|
484
|
-
Verifies against the brief
|
|
488
|
+
Verifies against the brief - must-haves, NN/g heuristics, audit rubric, token integration. Three agents run in sequence: `design-auditor` (6-pillar 1–4 score), `design-verifier` (goal-backward), `design-integration-checker` (greps D-XX decisions back to code). On failures, produces a structured gap list and enters a verify→fix loop via `design-fixer`.
|
|
485
489
|
|
|
486
490
|
**Creates:** `.design/DESIGN-VERIFICATION.md`, gap-fix commits if issues found
|
|
487
491
|
|
|
@@ -551,7 +555,7 @@ Each stage is a thin orchestrator that spawns specialized agents. Heavy lifting
|
|
|
551
555
|
|
|
552
556
|
| Stage | Orchestrator does | Agents do |
|
|
553
557
|
|-------|-------------------|-----------|
|
|
554
|
-
| Brief | one-question interview | (no subagents
|
|
558
|
+
| Brief | one-question interview | (no subagents - leaf skill) |
|
|
555
559
|
| Explore | spawns 5 mappers + discussant | 5 parallel mappers, design-discussant, research-synthesizer |
|
|
556
560
|
| Plan | spawns researcher + planner + checker | design-phase-researcher (optional), design-planner (opus), design-plan-checker (haiku) |
|
|
557
561
|
| Design | wave coordination + worktree isolation | design-executor per task, design-fixer on solidify failure |
|
|
@@ -560,31 +564,31 @@ Each stage is a thin orchestrator that spawns specialized agents. Heavy lifting
|
|
|
560
564
|
|
|
561
565
|
### 12 Tool Connections
|
|
562
566
|
|
|
563
|
-
All optional
|
|
564
|
-
|
|
565
|
-
- **Figma** (read + write + Code Connect)
|
|
566
|
-
- **Refero**
|
|
567
|
-
- **Pinterest**
|
|
568
|
-
- **Claude Design**
|
|
569
|
-
- **Storybook**
|
|
570
|
-
- **Chromatic**
|
|
571
|
-
- **Preview**
|
|
572
|
-
- **paper.design**
|
|
573
|
-
- **pencil.dev**
|
|
574
|
-
- **Graphify**
|
|
575
|
-
- **21st.dev Magic**
|
|
576
|
-
- **Magic Patterns**
|
|
567
|
+
All optional - the pipeline degrades gracefully when any connection is unavailable:
|
|
568
|
+
|
|
569
|
+
- **Figma** (read + write + Code Connect) - annotations, token bindings, implementation status write-back
|
|
570
|
+
- **Refero** - design reference search
|
|
571
|
+
- **Pinterest** - visual reference grounding
|
|
572
|
+
- **Claude Design** - handoff bundle import (`/gdd:handoff`)
|
|
573
|
+
- **Storybook** - component-spec lookup
|
|
574
|
+
- **Chromatic** - visual regression baseline diff
|
|
575
|
+
- **Preview** - Playwright + Claude Preview MCP for runtime screenshots
|
|
576
|
+
- **paper.design** - MCP canvas read/write for round-trip verification
|
|
577
|
+
- **pencil.dev** - git-tracked `.pen` spec files
|
|
578
|
+
- **Graphify** - knowledge-graph export
|
|
579
|
+
- **21st.dev Magic** - prior-art component search before greenfield builds
|
|
580
|
+
- **Magic Patterns** - DS-aware component generation with `preview_url`
|
|
577
581
|
|
|
578
582
|
### Embedded Design References
|
|
579
583
|
|
|
580
584
|
The plugin ships **18+ reference files** covering every major design-knowledge domain. Agents have authoritative answers without web search:
|
|
581
585
|
|
|
582
|
-
- **Heuristics**
|
|
583
|
-
- **Components**
|
|
584
|
-
- **Visual + brand**
|
|
585
|
-
- **Motion**
|
|
586
|
-
- **Platform + a11y**
|
|
587
|
-
- **Anti-patterns**
|
|
586
|
+
- **Heuristics** - NN/g 10, Don Norman emotional design (visceral/behavioral/reflective), Dieter Rams 10, Disney 12 (motion), Sonner / Emil Kowalski component-authoring lens, Peak-End Rule, Loss Aversion, Cognitive Load Theory, Aesthetic-Usability Effect, Doherty Threshold, Flow.
|
|
587
|
+
- **Components** - 35 component specs (Material 3, Apple HIG, Radix, shadcn, Polaris, Carbon, Fluent, Atlassian, Ant, Mantine, Chakra, Base Web, Spectrum, Lightning, Evergreen, Gestalt) with locked spec template (Purpose · Anatomy · Variants · States · Sizing · Typography · Keyboard · Motion · Do/Don't · Anti-patterns · Citations · Grep signatures).
|
|
588
|
+
- **Visual + brand** - gestalt principles, visual-hierarchy, brand-voice, palette catalog (161 industry palettes), style vocabulary (67 UI aesthetics), iconography (Lucide / Phosphor / Heroicons / Radix Icons / Tabler / SF Symbols).
|
|
589
|
+
- **Motion** - 12 canonical easings (RN MIT) + 8 transition families (hyperframes Apache-2.0) + spring presets + interpolation taxonomy + advanced craft (gesture mechanics, clip-path, blur crossfades, View Transitions API, WAAPI).
|
|
590
|
+
- **Platform + a11y** - WCAG 2.1 AA thresholds, platforms (iOS / Android / web / visionOS / watchOS), RTL + CJK + cultural color, form patterns (Wroblewski label research, autocomplete taxonomy, CAPTCHA ethics).
|
|
591
|
+
- **Anti-patterns** - regex-signature catalog matched by `design-pattern-mapper`.
|
|
588
592
|
|
|
589
593
|
### Atomic Git Commits
|
|
590
594
|
|
|
@@ -603,19 +607,19 @@ Git bisect finds exact failing task. Each task is independently revertable. Soli
|
|
|
603
607
|
|
|
604
608
|
After every cycle, `design-reflector` (opus) reads `events.jsonl`, `agent-metrics.json`, and `learnings/`, then proposes diffs:
|
|
605
609
|
|
|
606
|
-
- **Tier overrides**
|
|
607
|
-
- **Parallelism rules**
|
|
608
|
-
- **Reference additions**
|
|
609
|
-
- **Frontmatter updates**
|
|
610
|
+
- **Tier overrides** - "design-verifier on plans <300 lines: drop to haiku, no measured quality regression"
|
|
611
|
+
- **Parallelism rules** - "token-mapper + component-taxonomy-mapper conflict on `Touches: src/styles/`; serialize"
|
|
612
|
+
- **Reference additions** - "L-12 cited 9 times across cycles 3–5; promote to `reference/heuristics.md`"
|
|
613
|
+
- **Frontmatter updates** - "design-executor `typical-duration-seconds: 60` measured at 142s; propose 120s"
|
|
610
614
|
|
|
611
615
|
`/gdd:apply-reflections` shows the diff and asks before applying. Nothing auto-applies. The **No-Regret Adaptive Layer** (v1.23.5) layers a Thompson sampling bandit + AdaNormalHedge ensemble + MMR rerank on top, viable in single-user mode via informed-prior bootstrap.
|
|
612
616
|
|
|
613
617
|
### Cost Governance
|
|
614
618
|
|
|
615
|
-
- **`gdd-router` skill**
|
|
616
|
-
- **`gdd-cache-manager`**
|
|
617
|
-
- **`budget-enforcer` PreToolUse hook**
|
|
618
|
-
- **Per-spawn cost telemetry**
|
|
619
|
+
- **`gdd-router` skill** - deterministic intent → fast / quick / full routing. No model call.
|
|
620
|
+
- **`gdd-cache-manager`** - Layer-B explicit cache with SHA-256 input-hash + 5-min TTL awareness.
|
|
621
|
+
- **`budget-enforcer` PreToolUse hook** - enforces tier overrides, hard caps, lazy-spawn gates from `.design/budget.json`.
|
|
622
|
+
- **Per-spawn cost telemetry** - `.design/telemetry/costs.jsonl` rows feed `/gdd:optimize` rule-based recommendations.
|
|
619
623
|
|
|
620
624
|
Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
621
625
|
|
|
@@ -627,14 +631,14 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
627
631
|
|
|
628
632
|
| Command | What it does |
|
|
629
633
|
|---------|--------------|
|
|
630
|
-
| `/gdd:brief` | Stage 1
|
|
631
|
-
| `/gdd:explore` | Stage 2
|
|
632
|
-
| `/gdd:plan` | Stage 3
|
|
633
|
-
| `/gdd:design` | Stage 4
|
|
634
|
-
| `/gdd:verify` | Stage 5
|
|
634
|
+
| `/gdd:brief` | Stage 1 - capture the design brief |
|
|
635
|
+
| `/gdd:explore` | Stage 2 - codebase inventory + interview |
|
|
636
|
+
| `/gdd:plan` | Stage 3 - produce DESIGN-PLAN.md |
|
|
637
|
+
| `/gdd:design` | Stage 4 - execute plan in waves |
|
|
638
|
+
| `/gdd:verify` | Stage 5 - verify against brief |
|
|
635
639
|
| `/gdd:ship` | Generate clean PR branch (filters .design/ commits) |
|
|
636
640
|
| `/gdd:next` | Auto-route to the next stage based on STATE.md |
|
|
637
|
-
| `/gdd:do <text>` | Natural-language router
|
|
641
|
+
| `/gdd:do <text>` | Natural-language router - picks the right command |
|
|
638
642
|
| `/gdd:fast <text>` | One-shot trivial fix, no pipeline |
|
|
639
643
|
| `/gdd:quick` | Ad-hoc task with GDD guarantees but skipped optional gates |
|
|
640
644
|
|
|
@@ -642,7 +646,7 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
642
646
|
|
|
643
647
|
| Command | What it does |
|
|
644
648
|
|---------|--------------|
|
|
645
|
-
| `/gdd:start` | First-run proof path
|
|
649
|
+
| `/gdd:start` | First-run proof path - top-3 design issues in your repo (no `.design/` footprint until you opt in) |
|
|
646
650
|
| `/gdd:new-project` | Initialize a GDD project (PROJECT.md + STATE.md + first cycle) |
|
|
647
651
|
| `/gdd:connections` | Onboarding wizard for the 12 external integrations |
|
|
648
652
|
|
|
@@ -652,7 +656,7 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
652
656
|
|---------|--------------|
|
|
653
657
|
| `/gdd:new-cycle` | Open a new design cycle |
|
|
654
658
|
| `/gdd:complete-cycle` | Archive cycle artifacts + write per-cycle EXPERIENCE.md |
|
|
655
|
-
| `/gdd:pause` / `/gdd:resume` | Numbered checkpoints
|
|
659
|
+
| `/gdd:pause` / `/gdd:resume` | Numbered checkpoints - pause mid-stage, resume from any saved checkpoint |
|
|
656
660
|
| `/gdd:continue` | Alias for `/gdd:resume` (latest checkpoint) |
|
|
657
661
|
| `/gdd:timeline` | Narrative retrospective across cycles + git log |
|
|
658
662
|
|
|
@@ -660,14 +664,14 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
660
664
|
|
|
661
665
|
| Command | What it does |
|
|
662
666
|
|---------|--------------|
|
|
663
|
-
| `/gdd:discuss [topic]` | Adaptive design interview
|
|
667
|
+
| `/gdd:discuss [topic]` | Adaptive design interview - `--all` for batch gray areas, `--spec` for ambiguity scoring |
|
|
664
668
|
| `/gdd:list-assumptions` | Surface hidden design assumptions before planning |
|
|
665
|
-
| `/gdd:sketch [idea]` | Multi-variant HTML mockup exploration
|
|
669
|
+
| `/gdd:sketch [idea]` | Multi-variant HTML mockup exploration - browser-openable directly |
|
|
666
670
|
| `/gdd:spike [idea]` | Timeboxed feasibility experiment with hypothesis + verdict |
|
|
667
671
|
| `/gdd:sketch-wrap-up` / `/gdd:spike-wrap-up` | Package findings into project-local skill |
|
|
668
672
|
| `/gdd:audit` | Wraps `design-verifier` + `design-auditor` + `design-reflector`. `--retroactive` audits the full cycle |
|
|
669
|
-
| `/gdd:reflect` | Run `design-reflector` on demand
|
|
670
|
-
| `/gdd:apply-reflections` | Review and selectively apply reflector proposals
|
|
673
|
+
| `/gdd:reflect` | Run `design-reflector` on demand - produces `.design/reflections/<cycle-slug>.md` |
|
|
674
|
+
| `/gdd:apply-reflections` | Review and selectively apply reflector proposals - diff before apply |
|
|
671
675
|
|
|
672
676
|
### Memory + Knowledge Layer
|
|
673
677
|
|
|
@@ -675,8 +679,8 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
675
679
|
|---------|--------------|
|
|
676
680
|
| `/gdd:recall <query>` | FTS5-backed search across cycle archives, learnings, decisions, EXPERIENCE.md files |
|
|
677
681
|
| `/gdd:extract-learnings` | Mine cycle artifacts for patterns + decisions + lessons |
|
|
678
|
-
| `/gdd:note <text>` | Zero-friction idea capture
|
|
679
|
-
| `/gdd:plant-seed <idea>` | Forward-looking idea with trigger condition
|
|
682
|
+
| `/gdd:note <text>` | Zero-friction idea capture - append, list, promote to todo |
|
|
683
|
+
| `/gdd:plant-seed <idea>` | Forward-looking idea with trigger condition - surfaces at the right cycle |
|
|
680
684
|
| `/gdd:analyze-dependencies` | Token fan-out, component call-graphs, decision traceability, circular dependency detection |
|
|
681
685
|
| `/gdd:skill-manifest` | List all GDD skills + agents from the intel store |
|
|
682
686
|
| `/gdd:graphify` | Build, query, inspect, diff the project knowledge graph |
|
|
@@ -699,9 +703,9 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
699
703
|
| `/gdd:scan` | Codebase design-system inventory (no STATE.md write) |
|
|
700
704
|
| `/gdd:map` | 5 parallel codebase mappers (tokens / components / a11y / motion / visual-hierarchy) |
|
|
701
705
|
| `/gdd:debug [desc]` | Symptom-driven design investigation with persistent state |
|
|
702
|
-
| `/gdd:health` | Reports `.design/` artifact health
|
|
706
|
+
| `/gdd:health` | Reports `.design/` artifact health - staleness, missing files, token drift |
|
|
703
707
|
| `/gdd:progress` | Show pipeline position; `--forensic` runs 6-check integrity audit |
|
|
704
|
-
| `/gdd:stats` | Cycle stats
|
|
708
|
+
| `/gdd:stats` | Cycle stats - decisions made, tasks completed, commits, timeline, git metrics |
|
|
705
709
|
| `/gdd:optimize` | Rule-based cost analysis + tier-override recommendations |
|
|
706
710
|
| `/gdd:warm-cache` | Pre-warm Anthropic prompt cache across all agents that import shared-preamble |
|
|
707
711
|
|
|
@@ -711,10 +715,10 @@ Targets 50–70% per-task token-cost reduction with no quality-floor regression.
|
|
|
711
715
|
|---------|--------------|
|
|
712
716
|
| `/gdd:update` | Update GDD with changelog preview |
|
|
713
717
|
| `/gdd:reapply-patches` | Restitch local `reference/` modifications after structural updates |
|
|
714
|
-
| `/gdd:check-update` | Manual update check
|
|
715
|
-
| `/gdd:settings` | Configure `.design/config.json`
|
|
718
|
+
| `/gdd:check-update` | Manual update check - `--refresh` bypasses 24h TTL, `--dismiss` hides nudge |
|
|
719
|
+
| `/gdd:settings` | Configure `.design/config.json` - profile / parallelism / cleanup |
|
|
716
720
|
| `/gdd:set-profile <profile>` | Switch model profile (quality / balanced / budget / inherit) |
|
|
717
|
-
| `/gdd:undo` | Safe design change revert
|
|
721
|
+
| `/gdd:undo` | Safe design change revert - uses git log + dependency check |
|
|
718
722
|
| `/gdd:pr-branch` | Create clean PR branch by filtering out `.design/` and `.planning/` commits |
|
|
719
723
|
|
|
720
724
|
### Backlog + Notes
|
|
@@ -743,7 +747,7 @@ GDD ships with 12 tool connections. All are optional; the pipeline degrades grac
|
|
|
743
747
|
| **Figma** | Read tokens, components, screenshots; write annotations, Code Connect, implementation status | `mcp__figma__get_metadata` + `use_figma` |
|
|
744
748
|
| **Refero** | Design reference search across catalogued sources | `mcp__refero__search` |
|
|
745
749
|
| **Pinterest** | Visual reference grounding for brand-voice + style | OAuth + MCP |
|
|
746
|
-
| **Claude Design** | Handoff bundle import (`/gdd:handoff`)
|
|
750
|
+
| **Claude Design** | Handoff bundle import (`/gdd:handoff`) - skip Stages 1–3 | URL or local file |
|
|
747
751
|
| **Storybook** | Component-spec lookup at port 6006 | HTTP probe |
|
|
748
752
|
| **Chromatic** | Visual regression baseline diff | API key |
|
|
749
753
|
| **Preview** | Playwright + Claude Preview MCP runtime screenshots | `mcp__Claude_Preview__preview_*` |
|
|
@@ -786,7 +790,7 @@ Use `inherit` when using non-Anthropic providers or to follow the runtime's curr
|
|
|
786
790
|
|
|
787
791
|
| Mode | What it does |
|
|
788
792
|
|------|--------------|
|
|
789
|
-
| `static` (default) | Phase 10.1 behavior
|
|
793
|
+
| `static` (default) | Phase 10.1 behavior - static D-13 tier map |
|
|
790
794
|
| `hedge` | AdaNormalHedge ensemble + MMR rerank engaged. Bandit router still reads static map. Safest intro. |
|
|
791
795
|
| `full` | Bandit router + Hedge + MMR all active, reading/writing `.design/telemetry/posterior.json` |
|
|
792
796
|
|
|
@@ -802,10 +806,10 @@ Use `inherit` when using non-Anthropic providers or to follow the runtime's curr
|
|
|
802
806
|
|
|
803
807
|
| Setting | Default | What it controls |
|
|
804
808
|
|---------|---------|------------------|
|
|
805
|
-
| `solidify.rollback_mode` | `"stash"` | `stash` / `hard` / `none`
|
|
809
|
+
| `solidify.rollback_mode` | `"stash"` | `stash` / `hard` / `none` - how to revert on validation failure |
|
|
806
810
|
| `solidify.commands` | autodetect | Override typecheck / build / test commands |
|
|
807
811
|
| `verify.iterations_max` | `3` | Cap on verify→fix loop iterations |
|
|
808
|
-
| `connection.figma_writeback` | `proposal` | `proposal` / `auto`
|
|
812
|
+
| `connection.figma_writeback` | `proposal` | `proposal` / `auto` - confirm before writing |
|
|
809
813
|
|
|
810
814
|
---
|
|
811
815
|
|
|
@@ -815,11 +819,11 @@ Use `inherit` when using non-Anthropic providers or to follow the runtime's curr
|
|
|
815
819
|
|
|
816
820
|
GDD ships defense-in-depth security since Phase 14.5:
|
|
817
821
|
|
|
818
|
-
- **`hooks/gdd-bash-guard.js`**
|
|
819
|
-
- **`hooks/gdd-protected-paths.js`**
|
|
820
|
-
- **`hooks/gdd-read-injection-scanner.ts`**
|
|
821
|
-
- **`scripts/lib/blast-radius.cjs`**
|
|
822
|
-
- **`hooks/gdd-mcp-circuit-breaker.js`**
|
|
822
|
+
- **`hooks/gdd-bash-guard.js`** - PreToolUse:Bash blocks ~50 dangerous patterns (`rm -rf /`, `chmod 777`, `curl | sh`, `git reset --hard`, fork bombs) after Unicode NFKC + ANSI normalization.
|
|
823
|
+
- **`hooks/gdd-protected-paths.js`** - PreToolUse:Edit/Write/Bash enforces `protected_paths` glob list (defaults: `reference/**`, `.design/archive/**`, `skills/**`, `commands/**`, `hooks/**`, `.design/config.json`, `.design/telemetry/**`).
|
|
824
|
+
- **`hooks/gdd-read-injection-scanner.ts`** - scans inbound Read content for invisible-Unicode (zero-width, word-joiner, BOM, bidi overrides) + HTML-comment + secret-exfil patterns.
|
|
825
|
+
- **`scripts/lib/blast-radius.cjs`** - `design-executor` preflight refuses tasks above `max_files_per_task: 10` / `max_lines_per_task: 400`.
|
|
826
|
+
- **`hooks/gdd-mcp-circuit-breaker.js`** - breaks consecutive-timeout loops on `use_figma` / `use_paper` / `use_pencil`.
|
|
823
827
|
|
|
824
828
|
### Protecting Sensitive Files
|
|
825
829
|
|
|
@@ -841,7 +845,7 @@ Add sensitive paths to your runtime's deny list:
|
|
|
841
845
|
```
|
|
842
846
|
|
|
843
847
|
> [!IMPORTANT]
|
|
844
|
-
> Because GDD generates markdown files that become LLM system prompts, any user-controlled text flowing into `.design/` artifacts is a potential indirect prompt-injection vector. The injection scanner catches such vectors at multiple layers
|
|
848
|
+
> Because GDD generates markdown files that become LLM system prompts, any user-controlled text flowing into `.design/` artifacts is a potential indirect prompt-injection vector. The injection scanner catches such vectors at multiple layers - but defense-in-depth is best practice.
|
|
845
849
|
|
|
846
850
|
---
|
|
847
851
|
|
|
@@ -854,14 +858,14 @@ Add sensitive paths to your runtime's deny list:
|
|
|
854
858
|
- Run `/gdd:help` to confirm registration
|
|
855
859
|
|
|
856
860
|
**Pipeline stuck mid-stage?**
|
|
857
|
-
- `/gdd:resume`
|
|
858
|
-
- `/gdd:health`
|
|
859
|
-
- `/gdd:progress --forensic`
|
|
861
|
+
- `/gdd:resume` - restore from the most recent numbered checkpoint
|
|
862
|
+
- `/gdd:health` - diagnose `.design/` artifact issues
|
|
863
|
+
- `/gdd:progress --forensic` - 6-check integrity audit
|
|
860
864
|
|
|
861
865
|
**Cost overruns?**
|
|
862
|
-
- `/gdd:optimize`
|
|
863
|
-
- `/gdd:set-profile budget`
|
|
864
|
-
- Set `adaptive_mode: "full"` in `.design/budget.json`
|
|
866
|
+
- `/gdd:optimize` - rule-based recommendations
|
|
867
|
+
- `/gdd:set-profile budget` - switch to budget tier
|
|
868
|
+
- Set `adaptive_mode: "full"` in `.design/budget.json` - bandit will learn cheap-and-correct tier per agent over 5–10 cycles
|
|
865
869
|
|
|
866
870
|
**Updating to the latest version?**
|
|
867
871
|
```bash
|
|
@@ -909,15 +913,15 @@ This removes all GDD commands, agents, hooks, and settings while preserving othe
|
|
|
909
913
|
|
|
910
914
|
GDD now ships a consent-first GitHub issue reporter via the `/gdd:report-issue` slash command.
|
|
911
915
|
|
|
912
|
-
- **What it does.** Walks you through reporting an issue or a capability gap, with a payload preview before submission. Local-first, consent-gated, no auto-mode. Triages against `reference/known-failure-modes.md` first
|
|
913
|
-
- **Pseudonymization, NOT anonymization.** Direct identifiers (your username, hostname, absolute paths, git identity, env-var values, emails, IPs) are replaced with stable pseudonyms
|
|
916
|
+
- **What it does.** Walks you through reporting an issue or a capability gap, with a payload preview before submission. Local-first, consent-gated, no auto-mode. Triages against `reference/known-failure-modes.md` first - many failures resolve without filing.
|
|
917
|
+
- **Pseudonymization, NOT anonymization.** Direct identifiers (your username, hostname, absolute paths, git identity, env-var values, emails, IPs) are replaced with stable pseudonyms - but internal correlation is preserved so maintainers can debug. Side-channel data (writing style, code patterns, repo fingerprints) may still re-identify. You see the full payload before submission and explicitly consent per-issue.
|
|
914
918
|
- **Kill-switch.** Set `GDD_DISABLE_ISSUE_REPORTER=1` (env) or add `{ "issue_reporter": false }` to `.design/config.json` to halt submission before any network call. `gsd-health` surfaces the disable line.
|
|
915
919
|
- **Hardcoded destination.** The reporter cannot be redirected at runtime; the destination repo is a frozen constant in `scripts/lib/issue-reporter/destination.cjs`.
|
|
916
920
|
- **`gh`-absent fallback.** If the GitHub CLI isn't installed, the payload is written to `.design/issue-drafts/` and the issue-template URL is copied to your clipboard (xclip / pbcopy / clip).
|
|
917
921
|
|
|
918
922
|
See [`reference/pseudonymization-rules.md`](reference/pseudonymization-rules.md) for the R1..R8 rule catalog and [`reference/known-failure-modes.md`](reference/known-failure-modes.md) for known anti-patterns the reporter detects.
|
|
919
923
|
|
|
920
|
-
**v1.30.5 update**
|
|
924
|
+
**v1.30.5 update** - the catalogue now ships 22 entries (was 10 in v1.30.0), and a new deterministic fuzzy matcher (`scripts/lib/failure-mode-matcher.cjs`, top-N + threshold + confidence) returns ranked candidates for ambiguous symptoms. The reflector + authority-watcher can propose new entries via `/gdd:apply-reflections` (6th proposal class) - strictly proposal-only, every entry passes through user review.
|
|
921
925
|
|
|
922
926
|
---
|
|
923
927
|
|