@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
|
@@ -18,22 +18,22 @@ conventions are at `../../reference/shared-preamble.md#output-contract-reminders
|
|
|
18
18
|
|------------|--------|
|
|
19
19
|
| `/gdd:benchmark <component>` | Harvest + synthesize a single component |
|
|
20
20
|
| `/gdd:benchmark --wave <N>` | Run a full wave (1 = Inputs, 2 = Containers, etc.) |
|
|
21
|
-
| `/gdd:benchmark --list` | Show corpus coverage
|
|
21
|
+
| `/gdd:benchmark --list` | Show corpus coverage - which specs exist, which are pending |
|
|
22
22
|
| `/gdd:benchmark --refresh <component>` | Re-harvest a spec (for design-system version bumps) |
|
|
23
23
|
|
|
24
24
|
## Single-Component Flow (`/gdd:benchmark <component>`)
|
|
25
25
|
|
|
26
|
-
1. **Check if spec exists**
|
|
26
|
+
1. **Check if spec exists** - `Glob("reference/components/<component>.md")`. If found and `--refresh` was not passed, confirm before overwriting.
|
|
27
27
|
|
|
28
|
-
2. **Harvest**
|
|
28
|
+
2. **Harvest** - spawn `component-benchmark-harvester` with required-reading `@connections/design-corpora.md`, target component, raw-output path `.planning/benchmarks/raw/<component>.md`, and a salvage hint to `.planning/research/impeccable-salvage/`. Acceptance: raw harvest exists with ≥4 source sections.
|
|
29
29
|
|
|
30
|
-
3. **Synthesize**
|
|
30
|
+
3. **Synthesize** - spawn `component-benchmark-synthesizer` with required-reading `@.planning/benchmarks/raw/<component>.md`, `@reference/components/TEMPLATE.md`, `@reference/anti-patterns.md`. Output: `reference/components/<component>.md`. Also update `reference/components/README.md` (add entry in correct category). Acceptance: spec ≤350 lines, cites ≥4 systems, follows `TEMPLATE.md` sections, has a WAI-ARIA keyboard contract + a failing-example block.
|
|
31
31
|
|
|
32
|
-
4. **Report**
|
|
32
|
+
4. **Report** - print spec path, line count, systems cited.
|
|
33
33
|
|
|
34
34
|
## Wave Mode (`/gdd:benchmark --wave <N>`)
|
|
35
35
|
|
|
36
|
-
Read the wave definition from `reference/components/README.md` and run each component sequentially (not parallel
|
|
36
|
+
Read the wave definition from `reference/components/README.md` and run each component sequentially (not parallel - each harvest is network-bound and the raw files are large).
|
|
37
37
|
|
|
38
38
|
| Wave | Components |
|
|
39
39
|
|------|-----------|
|
|
@@ -52,7 +52,7 @@ Same as single-component flow but skips the "already exists" guard. Use when a d
|
|
|
52
52
|
|
|
53
53
|
## Source List
|
|
54
54
|
|
|
55
|
-
`../../connections/design-corpora.md`
|
|
55
|
+
`../../connections/design-corpora.md` - 18 design systems with canonical URLs, licensing, and fallback chain (canonical → archive.org → Refero MCP → Pinterest MCP).
|
|
56
56
|
|
|
57
57
|
## Output Artifacts
|
|
58
58
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-bootstrap-ds
|
|
3
|
-
description: "Bootstraps a design system for a GREENFIELD project that has none
|
|
3
|
+
description: "Bootstraps a design system for a GREENFIELD project that has none - no Figma, no tokens, no component library. Takes a brand input (primary color + optional secondary + tone tags + target framework) and emits a coherent OKLCH token system (color tints, modular type scale, 4pt/8pt spacing, radius + motion defaults) in 3 variants to pick from, then scaffolds proof components (button/input/card). Use at the start of a brand-new project, or when /gdd:discover finds no existing design system. Never invents a brand; never overwrites an existing DS."
|
|
4
4
|
argument-hint: "[--primary <color>] [--secondary <color>] [--tone <tags>] [--framework web|native-ios|native-android|flutter]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
|
|
@@ -8,31 +8,31 @@ tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
|
|
|
8
8
|
|
|
9
9
|
# /gdd:bootstrap-ds
|
|
10
10
|
|
|
11
|
-
Greenfield design-system bootstrap. Closes the gap that GDD's `design-context-builder` assumes a design system already exists (in code or Figma)
|
|
11
|
+
Greenfield design-system bootstrap. Closes the gap that GDD's `design-context-builder` assumes a design system already exists (in code or Figma) - a brand-new project has none. This skill is the **front door**: it collects a brand input and hands it to `agents/ds-generator.md`, which emits the token system + proof components per `reference/ds-bootstrap-rubric.md` (deterministic math in `scripts/lib/ds/token-scale.cjs`).
|
|
12
12
|
|
|
13
13
|
## When to use
|
|
14
14
|
|
|
15
15
|
- At the start of a brand-new project (no `tailwind.config`, no token file, no DS).
|
|
16
16
|
- When `/gdd:discover` / `design-context-builder` reports **no existing design system** and the user opts to bootstrap one.
|
|
17
17
|
|
|
18
|
-
If a design system **already exists**, do NOT run this
|
|
18
|
+
If a design system **already exists**, do NOT run this - defer to `design-context-builder` (it maps the existing one). State that and stop.
|
|
19
19
|
|
|
20
20
|
## Steps
|
|
21
21
|
|
|
22
22
|
1. **Collect the brand input.** From flags, or via `AskUserQuestion` for anything missing:
|
|
23
|
-
- **primary** (required)
|
|
24
|
-
- **secondary** (optional)
|
|
25
|
-
- **tone tags** (optional)
|
|
26
|
-
- **target framework** (optional)
|
|
23
|
+
- **primary** (required) - the brand color (hex / rgb / `oklch()`).
|
|
24
|
+
- **secondary** (optional) - a second brand color (emitted only if supplied - the rubric's ≤2-brand-colors rule).
|
|
25
|
+
- **tone tags** (optional) - `calm` / `corporate` / `editorial` / `playful` / `bold` (maps to the type ratio + chroma treatment).
|
|
26
|
+
- **target framework** (optional) - `web` (default) / `native-ios` / `native-android` / `flutter`. Detect from the project if absent (Phase 34 routing).
|
|
27
27
|
2. **Delegate to `ds-generator`** (via `Task`): it resolves the primary to OKLCH, runs `token-scale.cjs` for **3 variants** (conservative / balanced / bold), and presents them.
|
|
28
28
|
3. **Pick a variant.** Surface the 3 variants (primary `500`, type ratio, spacing baseline, radius, feel); the user picks ONE.
|
|
29
29
|
4. **Emit + scaffold (proposal → confirm).** `ds-generator` emits the chosen token set (role-named CSS custom properties + the framework mapping) and scaffolds **button / input / card** as a coherence proof. Nothing is written to `src/` without confirmation.
|
|
30
30
|
|
|
31
31
|
## Do Not
|
|
32
32
|
|
|
33
|
-
- Do not invent a brand (no logomark, no typeface choice, no third brand color)
|
|
34
|
-
- Do not overwrite an existing design system
|
|
35
|
-
- Do not add a color-conversion dependency
|
|
33
|
+
- Do not invent a brand (no logomark, no typeface choice, no third brand color) - emit a token *system*, not an identity.
|
|
34
|
+
- Do not overwrite an existing design system - defer to `design-context-builder`.
|
|
35
|
+
- Do not add a color-conversion dependency - `token-scale.cjs` emits native CSS `oklch()`.
|
|
36
36
|
|
|
37
37
|
## Output
|
|
38
38
|
|
package/skills/brief/SKILL.md
CHANGED
|
@@ -5,7 +5,7 @@ argument-hint: "[--re-brief to redo intake on existing project]"
|
|
|
5
5
|
tools: Read, Write, AskUserQuestion, mcp__gdd_state__frontmatter_update, mcp__gdd_state__set_status, mcp__gdd_state__update_progress, mcp__gdd_state__get
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# Get Design Done
|
|
8
|
+
# Get Design Done - Brief
|
|
9
9
|
|
|
10
10
|
**Role:** You are the Brief stage. Stage 1 of 5 in the get-design-done pipeline.
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ tools: Read, Write, AskUserQuestion, mcp__gdd_state__frontmatter_update, mcp__gd
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
## Step 1
|
|
16
|
+
## Step 1 - Check for existing BRIEF.md
|
|
17
17
|
|
|
18
18
|
1. Read `.design/BRIEF.md` if it exists.
|
|
19
19
|
2. Parse it into sections: Problem, Audience, Constraints, Success Metrics, Scope.
|
|
@@ -21,19 +21,19 @@ tools: Read, Write, AskUserQuestion, mcp__gdd_state__frontmatter_update, mcp__gd
|
|
|
21
21
|
4. If `--re-brief` flag is passed, ignore existing answers and ask all five questions.
|
|
22
22
|
5. Otherwise, only ask questions for unanswered sections.
|
|
23
23
|
|
|
24
|
-
## Step 2
|
|
24
|
+
## Step 2 - Interview
|
|
25
25
|
|
|
26
26
|
Ask the following one at a time using `AskUserQuestion`, only for unanswered sections:
|
|
27
27
|
|
|
28
|
-
1. **Problem**
|
|
29
|
-
2. **Audience**
|
|
30
|
-
3. **Constraints**
|
|
31
|
-
4. **Success Metrics**
|
|
32
|
-
5. **Scope**
|
|
28
|
+
1. **Problem** - "What design problem are we solving? (user-facing outcome)"
|
|
29
|
+
2. **Audience** - "Who is the primary audience? (role, device, context)"
|
|
30
|
+
3. **Constraints** - "What constraints apply? (tech stack, brand, time, a11y requirements)"
|
|
31
|
+
4. **Success Metrics** - "How will we measure success? (specific metrics or outcomes)"
|
|
32
|
+
5. **Scope** - "What is in/out of scope for this cycle?"
|
|
33
33
|
|
|
34
34
|
Do not proceed to the next question until the current one is answered.
|
|
35
35
|
|
|
36
|
-
## Step 3
|
|
36
|
+
## Step 3 - Write .design/BRIEF.md
|
|
37
37
|
|
|
38
38
|
Write the brief with these sections, preserving any pre-existing answers:
|
|
39
39
|
|
|
@@ -62,15 +62,15 @@ Write the brief with these sections, preserving any pre-existing answers:
|
|
|
62
62
|
</prior-research>
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
Leave the `<prior-research>` block empty on a greenfield brief
|
|
65
|
+
Leave the `<prior-research>` block empty on a greenfield brief - it is filled by `/gdd:research-sync` (the `user-research-synthesizer`) when a research source is connected, and re-checked at verify. See `reference/design-variants.md` for the outcome loop.
|
|
66
66
|
|
|
67
|
-
## Step 4
|
|
67
|
+
## Step 4 - Bootstrap STATE.md (if missing)
|
|
68
68
|
|
|
69
69
|
<!-- BOOTSTRAP EXCEPTION: STATE.md does not exist yet — MCP tools require it to exist. Direct Write is intentional. All subsequent mutations use MCP. -->
|
|
70
70
|
|
|
71
|
-
If `.design/STATE.md` does not exist, copy the template block from `reference/STATE-TEMPLATE.md` (between `==== BEGIN TEMPLATE ====` and `==== END TEMPLATE ====`) to `.design/STATE.md` via `Write`. Leave the `<ISO 8601 timestamp>` placeholders in-place
|
|
71
|
+
If `.design/STATE.md` does not exist, copy the template block from `reference/STATE-TEMPLATE.md` (between `==== BEGIN TEMPLATE ====` and `==== END TEMPLATE ====`) to `.design/STATE.md` via `Write`. Leave the `<ISO 8601 timestamp>` placeholders in-place - Step 5 stamps them via MCP. If STATE.md already exists, skip to Step 5.
|
|
72
72
|
|
|
73
|
-
## Step 5
|
|
73
|
+
## Step 5 - Commit STATE.md initialization
|
|
74
74
|
|
|
75
75
|
With `.design/STATE.md` seeded from the template:
|
|
76
76
|
|
|
@@ -78,16 +78,16 @@ With `.design/STATE.md` seeded from the template:
|
|
|
78
78
|
2. Mark brief progress: call `mcp__gdd_state__update_progress` with `task_progress: "5/5"`, `status: "brief_complete"`.
|
|
79
79
|
3. Set handoff status: call `mcp__gdd_state__set_status` with `status: "brief_complete"`.
|
|
80
80
|
|
|
81
|
-
Do NOT call `mcp__gdd_state__transition_stage` from brief
|
|
81
|
+
Do NOT call `mcp__gdd_state__transition_stage` from brief - explore calls it on entry, keeping the transition atomic with the stage that owns the new state.
|
|
82
82
|
|
|
83
|
-
## Step 6
|
|
83
|
+
## Step 6 - Inline glossary (CONTEXT.md) + ADR pointer
|
|
84
84
|
|
|
85
85
|
When a fuzzy phrase is resolved or a new domain concept is named during the briefing
|
|
86
86
|
interview: write to `./CONTEXT.md` IMMEDIATELY per `./../../reference/context-md-format.md`
|
|
87
87
|
(H2 heading + body; lazy-create on first term; no batching). Glossary entries compound
|
|
88
|
-
across cycles
|
|
88
|
+
across cycles - token savings + naming consistency.
|
|
89
89
|
|
|
90
|
-
Project-shaping decisions surfaced in briefing can be promoted to an ADR
|
|
90
|
+
Project-shaping decisions surfaced in briefing can be promoted to an ADR - see
|
|
91
91
|
`./../../reference/adr-format.md` for the 3-criteria gate (hard-to-reverse AND
|
|
92
92
|
surprising-without-context AND real-tradeoff). Routine choices stay in STATE.md.
|
|
93
93
|
|
|
@@ -112,16 +112,16 @@ Run this final spec-quality pass over `.design/BRIEF.md` before the brief→expl
|
|
|
112
112
|
Do NOT transition to explore (or invoke `/gdd:explore`) until the brief artifact (default `.design/BRIEF.md`) is committed AND the user has approved it. If this project uses a custom `.design` location, read the artifact path from `.design/STATE.md` rather than assuming the default.
|
|
113
113
|
</HARD-GATE>
|
|
114
114
|
|
|
115
|
-
## Rationalizations
|
|
115
|
+
## Rationalizations - Thought to Reality
|
|
116
116
|
|
|
117
117
|
The excuses an agent invents to skip or shortcut the brief, and what each one actually costs the cycle:
|
|
118
118
|
|
|
119
119
|
| Thought | Reality |
|
|
120
120
|
|---------|---------|
|
|
121
121
|
| "This brief is too simple to need a problem statement." | Skip the brief = guess at requirements, then redesign mid-design when the real problem surfaces. |
|
|
122
|
-
| "The user told me what to build, I can skip the interview." | Unasked constraints (a11y, brand, stack) become rework
|
|
122
|
+
| "The user told me what to build, I can skip the interview." | Unasked constraints (a11y, brand, stack) become rework - the five questions exist because each one has blown a past cycle. |
|
|
123
123
|
| "I'll capture success metrics later in verify." | Verify has nothing to check against; an un-metricked brief produces an un-verifiable cycle. |
|
|
124
|
-
| "Scope is obvious, I don't need an in/out line." | Undeclared scope is scope creep waiting to happen
|
|
124
|
+
| "Scope is obvious, I don't need an in/out line." | Undeclared scope is scope creep waiting to happen - the explore scan widens to fill the vacuum. |
|
|
125
125
|
| "I can answer all five questions for the user from context." | AskUserQuestion one-at-a-time exists because batched/assumed answers smuggle in wrong premises that compound downstream. |
|
|
126
126
|
| "STATE.md bootstrap can wait." | Every later MCP mutation requires STATE.md to exist; skipping the bootstrap hard-blocks explore on entry. |
|
|
127
127
|
|
package/skills/budget/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-budget
|
|
3
|
-
description: "Forecasts GDD design-cycle spend before the bill arrives. Reads .design/telemetry/costs.jsonl (cost per cycle) + .design/budget.json (the project_cap), runs the pure cost-forecast model via agents/cost-forecaster.md, and projects the next N cycles
|
|
3
|
+
description: "Forecasts GDD design-cycle spend before the bill arrives. Reads .design/telemetry/costs.jsonl (cost per cycle) + .design/budget.json (the project_cap), runs the pure cost-forecast model via agents/cost-forecaster.md, and projects the next N cycles - surfacing 'at the current rate you'll hit your $X project cap in Y cycles.' Supports --scenario best|typical|worst and --cycles N. Read-only - it forecasts and warns; it never spends, edits budget.json, or halts (the budget-enforcer hook halts). Use to sanity-check spend trajectory before a long run."
|
|
4
4
|
argument-hint: "[--cycles N] [--scenario best|typical|worst]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: Read, Bash, Grep, Glob, ToolSearch, Task
|
|
@@ -10,7 +10,7 @@ tools: Read, Bash, Grep, Glob, ToolSearch, Task
|
|
|
10
10
|
|
|
11
11
|
Closes the long-horizon cost gap: Phase 10.1 per-task caps + Phase 26 per-runtime telemetry track
|
|
12
12
|
*cost*, but nothing **forecasts** it. This skill projects the next N cycles of spend and tells you how
|
|
13
|
-
many cycles you have before you hit your `project_cap`. **Read-only**
|
|
13
|
+
many cycles you have before you hit your `project_cap`. **Read-only** - it forecasts and warns; it
|
|
14
14
|
never spends, never edits `budget.json`, and never halts (the Phase 25 budget-enforcer hook is the
|
|
15
15
|
only thing that blocks a spawn). Contract: `../../reference/cost-governance.md`.
|
|
16
16
|
|
|
@@ -30,11 +30,11 @@ only thing that blocks a spawn). Contract: `../../reference/cost-governance.md`.
|
|
|
30
30
|
`scripts/lib/budget/cost-forecast.cjs` model for the requested `--scenario`/`--cycles`, reads
|
|
31
31
|
`project_cap_usd` from `.design/budget.json`, and computes cycles-to-cap.
|
|
32
32
|
3. **Render.** Show: the scenario + its per-cycle rate, the best↔worst band, the projected total over
|
|
33
|
-
N cycles, and
|
|
33
|
+
N cycles, and - when `project_cap_usd > 0` - **"at the `<scenario>` rate (~$X/cycle) you'll reach
|
|
34
34
|
your $`<cap>` project cap in `<Y>` cycles"** (or "not at this rate" when the trend is flat/down).
|
|
35
35
|
When no cap is set, show the trajectory and note that `project_cap_usd` is unset (so the hook won't
|
|
36
36
|
halt).
|
|
37
|
-
4. **Do not act.** Never raise/lower the cap, never spend
|
|
37
|
+
4. **Do not act.** Never raise/lower the cap, never spend - GDD forecasts; the human sets the budget.
|
|
38
38
|
|
|
39
39
|
## Output
|
|
40
40
|
|
|
@@ -10,14 +10,14 @@ disable-model-invocation: true
|
|
|
10
10
|
|
|
11
11
|
## Role
|
|
12
12
|
|
|
13
|
-
You are the deterministic cache-key computer and cache-manifest writer for the optimization layer. You do not spawn agents, and you do not make model calls. You read agent paths, input file paths, and input file contents; you compute a stable SHA-256 key; you look that key up in `.design/cache-manifest.json`; you return a hit (cached result + `cache_hit: true`) or a miss. On spawn completion, the orchestrator calls you again to persist the result. You are Layer B of the two-layer cache (D-08). Layer A
|
|
13
|
+
You are the deterministic cache-key computer and cache-manifest writer for the optimization layer. You do not spawn agents, and you do not make model calls. You read agent paths, input file paths, and input file contents; you compute a stable SHA-256 key; you look that key up in `.design/cache-manifest.json`; you return a hit (cached result + `cache_hit: true`) or a miss. On spawn completion, the orchestrator calls you again to persist the result. You are Layer B of the two-layer cache (D-08). Layer A - Anthropic's 5-min prompt cache - is not owned by you; it's owned by the shared-preamble ordering convention in `agents/README.md`.
|
|
14
14
|
|
|
15
15
|
## Invocation Contract
|
|
16
16
|
|
|
17
17
|
### Phase 1: compute-key
|
|
18
18
|
|
|
19
|
-
- **Input**: `{agent_path: string, input_file_paths: string[]}`
|
|
20
|
-
- **Output**: `{input_hash: string}`
|
|
19
|
+
- **Input**: `{agent_path: string, input_file_paths: string[]}` - `agent_path` is the absolute or repo-relative path to the `agents/<name>.md` file; `input_file_paths` is the sorted-unique list of files the agent will read.
|
|
20
|
+
- **Output**: `{input_hash: string}` - 64-character lowercase SHA-256 hex.
|
|
21
21
|
- **Algorithm**: canonicalize inputs, concat with newline separators, SHA-256 (see Deterministic Input-Hash Algorithm below).
|
|
22
22
|
|
|
23
23
|
### Phase 2: lookup
|
|
@@ -33,18 +33,18 @@ You are the deterministic cache-key computer and cache-manifest writer for the o
|
|
|
33
33
|
|
|
34
34
|
### Phase 4: write-result-on-completion
|
|
35
35
|
|
|
36
|
-
- **Input**: `{input_hash: string, agent: string, result: string, ttl_seconds: number}`
|
|
36
|
+
- **Input**: `{input_hash: string, agent: string, result: string, ttl_seconds: number}` - `ttl_seconds` defaults to `.design/budget.json.cache_ttl_seconds` (3600 if budget.json absent).
|
|
37
37
|
- **Behavior**: open `.design/cache-manifest.json` (create if missing), set key `input_hash` → `{agent, result, written_at, ttl_seconds, expires_at}`, write file. `written_at` is `new Date().toISOString()`. `expires_at` is `written_at + ttl_seconds` as ISO.
|
|
38
38
|
|
|
39
39
|
## Deterministic Input-Hash Algorithm
|
|
40
40
|
|
|
41
|
-
The canonical reference implementation (single source of truth; `hooks/budget-enforcer.js` imports the same primitive via a shared helper) lives in `./cache-policy.md#deterministic-input-hash-algorithm-layer-b`
|
|
41
|
+
The canonical reference implementation (single source of truth; `hooks/budget-enforcer.js` imports the same primitive via a shared helper) lives in `./cache-policy.md#deterministic-input-hash-algorithm-layer-b` - it documents the JS implementation, the maintainer notes (sorted-unique paths, MISSING-file sentinel, agent-path bust behavior), the manifest shape, and TTL semantics in one place. Conform to the algorithm exactly so the hook and any orchestrator agree byte-for-byte.
|
|
42
42
|
|
|
43
43
|
## Integration Points
|
|
44
44
|
|
|
45
45
|
- **`hooks/budget-enforcer.js`** (Plan 10.1-01) reads the manifest on every Agent spawn. The hook already calls `cacheLookup(agent, inputHash)` against `.design/cache-manifest.json`. This skill is the authority on how `inputHash` is computed so the hook and any orchestrator agree byte-for-byte.
|
|
46
46
|
- **Orchestrators** (e.g., `skills/map/`, `skills/discover/`, `skills/plan/`) invoke Phase 1 (compute-key) + Phase 4 (write-result-on-completion) around each Agent spawn they launch. Phase 2 + Phase 3 are executed by the hook.
|
|
47
|
-
- **Warm-cache command** (`skills/warm-cache/SKILL.md`, Task 02) does not touch Layer B
|
|
47
|
+
- **Warm-cache command** (`skills/warm-cache/SKILL.md`, Task 02) does not touch Layer B - it only primes Anthropic's 5-min prompt cache (Layer A). Do not confuse the two.
|
|
48
48
|
|
|
49
49
|
## Failure Modes
|
|
50
50
|
|
|
@@ -16,8 +16,8 @@ so the SKILLs stay under the 100-line cap.
|
|
|
16
16
|
|
|
17
17
|
The two layers (D-08):
|
|
18
18
|
|
|
19
|
-
- **Layer A**
|
|
20
|
-
- **Layer B**
|
|
19
|
+
- **Layer A** - Anthropic's 5-min prompt cache (owned by `warm-cache`). Keyed on shared-preamble-first prompt prefix. No project-local state.
|
|
20
|
+
- **Layer B** - explicit `.design/cache-manifest.json` (owned by `gdd-cache-manager`). Keyed on deterministic SHA-256 of `(agent-path, sorted-input-file-paths, input-content-hashes)`. Per-repo state.
|
|
21
21
|
|
|
22
22
|
## Deterministic Input-Hash Algorithm (Layer B)
|
|
23
23
|
|
|
@@ -56,9 +56,9 @@ function computeInputHash(agentPath, inputFilePaths) {
|
|
|
56
56
|
|
|
57
57
|
Notes for maintainers:
|
|
58
58
|
|
|
59
|
-
- **Sorted-unique paths**
|
|
60
|
-
- **Missing file**
|
|
61
|
-
- **Agent-path**
|
|
59
|
+
- **Sorted-unique paths** - ordering must be stable; caller is expected to de-duplicate. If the same path appears twice the hash still matches as long as caller pre-dedupes before invoking.
|
|
60
|
+
- **Missing file** - the string `MISSING` is used in place of the content hash so a missing dependency doesn't silently collide with an empty file (empty file's SHA-256 is `e3b0c44...`). Missing-file hashes naturally miss on the next read because the real file has a different content hash.
|
|
61
|
+
- **Agent-path** - agents changing their own body (role, tools, output contract) invalidate all their cache entries automatically because the agent file's content is not hashed; but the `agent_path` string is concatenated. Upgrading agents between versions naturally busts the cache only when the path changes. Plan 10.1-04 (shared preamble extraction) is expected to slightly adjust agent bodies - consumers should treat the first post-10.1 run as a full cache miss, which is the intended behavior.
|
|
62
62
|
|
|
63
63
|
## Manifest Shape (Layer B)
|
|
64
64
|
|
|
@@ -14,7 +14,7 @@ tools: Read, Write, Bash, Task
|
|
|
14
14
|
| Flag | Effect |
|
|
15
15
|
|------|--------|
|
|
16
16
|
| *(none)* | Print cached state. If cache is older than 24h, trigger `--refresh` implicitly. |
|
|
17
|
-
| `--refresh` | Invoke `hooks/update-check.sh --refresh`
|
|
17
|
+
| `--refresh` | Invoke `hooks/update-check.sh --refresh` - bypasses the 24h TTL and re-fetches immediately. |
|
|
18
18
|
| `--dismiss` | Write `update_dismissed: "<latest_tag>"` to `.design/config.json` atomically and delete `.design/update-available.md`. Sticky until a newer release ships. |
|
|
19
19
|
| `--prompt` | Spawn `design-update-checker` agent (Haiku) to produce a 3–5-line "what this release changes for you" summary. Does not alter the banner or cache. |
|
|
20
20
|
|
|
@@ -34,7 +34,7 @@ Flags combine: `--refresh --prompt` is valid (re-fetch, then enrich). `--dismiss
|
|
|
34
34
|
|
|
35
35
|
3. **Read cache.** After any optional refresh, read `.design/update-cache.json`. If missing: print `No cache. Network may be unreachable or the hook has not run yet. Try /gdd:check-update --refresh.` and exit.
|
|
36
36
|
|
|
37
|
-
4. **`--dismiss` path** (if set): Compute new config contents and write atomically via the env-prefix Python heredoc pattern below. The pattern is
|
|
37
|
+
4. **`--dismiss` path** (if set): Compute new config contents and write atomically via the env-prefix Python heredoc pattern below. The pattern is essential - passing variables as trailing `KEY=VALUE` argv treats them as `sys.argv`, not `os.environ`. Use env-prefix form only.
|
|
38
38
|
|
|
39
39
|
```bash
|
|
40
40
|
CONFIG_PATH=".design/config.json"
|
|
@@ -86,10 +86,10 @@ Flags combine: `--refresh --prompt` is valid (re-fetch, then enrich). `--dismiss
|
|
|
86
86
|
|
|
87
87
|
## Do Not
|
|
88
88
|
|
|
89
|
-
- Do not fetch from GitHub directly
|
|
89
|
+
- Do not fetch from GitHub directly - always go through `hooks/update-check.sh --refresh` so caching + state-guard + dismissal logic stays in one place.
|
|
90
90
|
- Do not modify `.design/update-available.md` except to delete on `--dismiss`.
|
|
91
|
-
- Do not rewrite `.design/config.json` wholesale
|
|
92
|
-
- Do not pass variables to the Python heredoc via trailing `KEY=VALUE` argv
|
|
91
|
+
- Do not rewrite `.design/config.json` wholesale - the atomic Python rewrite preserves every unknown key (D-14).
|
|
92
|
+
- Do not pass variables to the Python heredoc via trailing `KEY=VALUE` argv - env-prefix form only.
|
|
93
93
|
|
|
94
94
|
## Completion marker
|
|
95
95
|
|
package/skills/compare/SKILL.md
CHANGED
|
@@ -5,7 +5,7 @@ argument-hint: ""
|
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
# gdd-compare
|
|
8
|
+
# gdd-compare - Baseline vs Result Delta
|
|
9
9
|
|
|
10
10
|
Standalone delta command. Computes the difference between the scan baseline (`DESIGN.md`) and the verification result (`DESIGN-VERIFICATION.md`), and flags design drift for any regression not covered by an explicit task in `DESIGN-PLAN.md`. Writes one artifact: `.design/COMPARE-REPORT.md`.
|
|
11
11
|
|
|
@@ -15,10 +15,10 @@ For the full step-by-step methodology (score parsing, set arithmetic for anti-pa
|
|
|
15
15
|
|
|
16
16
|
## Scope
|
|
17
17
|
|
|
18
|
-
This command is **standalone**
|
|
18
|
+
This command is **standalone** - not a pipeline stage:
|
|
19
19
|
|
|
20
20
|
- Scoped strictly to delta between two existing files (COMP-02): `DESIGN.md` (baseline, from scan) and `DESIGN-VERIFICATION.md` (result, from verify).
|
|
21
|
-
- Does NOT require or implement a snapshot mechanism
|
|
21
|
+
- Does NOT require or implement a snapshot mechanism - multi-run history is deferred to V2-06.
|
|
22
22
|
- Does NOT mutate any pipeline artifact (`DESIGN.md`, `DESIGN-VERIFICATION.md`, `DESIGN-SUMMARY.md`, `DESIGN-CONTEXT.md`, `DESIGN-PLAN.md`, `.design/STATE.md`).
|
|
23
23
|
- Writes exactly ONE file: `.design/COMPARE-REPORT.md`.
|
|
24
24
|
- Output artifact prefix `COMPARE-REPORT` is distinct from the pipeline namespace (`DESIGN-*.md`). No naming conflict.
|
|
@@ -27,15 +27,15 @@ This command is **standalone** — not a pipeline stage:
|
|
|
27
27
|
|
|
28
28
|
## Pre-Flight Checks (Pitfall 3)
|
|
29
29
|
|
|
30
|
-
Required files
|
|
30
|
+
Required files - abort if either is missing:
|
|
31
31
|
|
|
32
32
|
- `.design/DESIGN.md` missing → `"No baseline found. Run /get-design-done scan first."`
|
|
33
33
|
- `.design/DESIGN-VERIFICATION.md` missing → `"No verification result found. Run /get-design-done verify first to produce DESIGN-VERIFICATION.md."`
|
|
34
34
|
|
|
35
35
|
**Optional files (graceful degradation if absent):**
|
|
36
36
|
|
|
37
|
-
- `.design/DESIGN-CONTEXT.md`
|
|
38
|
-
- `.design/DESIGN-PLAN.md`
|
|
37
|
+
- `.design/DESIGN-CONTEXT.md` - used for must-have delta. If missing, skip the Must-Have Status section and emit note: `"Must-have delta skipped: DESIGN-CONTEXT.md not found."`
|
|
38
|
+
- `.design/DESIGN-PLAN.md` - used for drift detection. If missing, skip DRIFT flagging and emit note: `"Drift detection skipped: no DESIGN-PLAN.md."`
|
|
39
39
|
|
|
40
40
|
Confirm `.design/` directory exists. If absent: `mkdir -p .design/`.
|
|
41
41
|
|
|
@@ -45,13 +45,13 @@ Probe `preview` connection per `../../reference/shared-preamble.md#connection-ha
|
|
|
45
45
|
|
|
46
46
|
## Workflow
|
|
47
47
|
|
|
48
|
-
1. **Parse Category Scores**
|
|
49
|
-
2. **Compute Score Delta**
|
|
50
|
-
3. **Anti-Pattern Delta**
|
|
51
|
-
4. **Must-Have Pass/Fail Change**
|
|
52
|
-
5. **Design Drift Detection (COMP-04)**
|
|
53
|
-
6. **Screenshot Delta (preview: available only)**
|
|
54
|
-
7. **Write `.design/COMPARE-REPORT.md`**
|
|
48
|
+
1. **Parse Category Scores** - extract baseline + result score tables, normalize names, flag unmatched. Detail: `./compare-rubric.md#step-1--parse-category-scores`.
|
|
49
|
+
2. **Compute Score Delta** - `delta = result - baseline`, classify (`improvement`/`no_change`/`regression`). Detail: `./compare-rubric.md#step-2--compute-score-delta-comp-03`.
|
|
50
|
+
3. **Anti-Pattern Delta** - set arithmetic on baseline vs result anti-pattern sets (resolved / new / unchanged). Detail: `./compare-rubric.md#step-3--anti-pattern-delta`.
|
|
51
|
+
4. **Must-Have Pass/Fail Change** - read `<must_haves>` from `DESIGN-CONTEXT.md`, status from `DESIGN-VERIFICATION.md`. Detail: `./compare-rubric.md#step-4--must-have-passfail-change`.
|
|
52
|
+
5. **Design Drift Detection (COMP-04)** - build coverage map from `DESIGN-PLAN.md` `Type:` fields; for each `regression` not in coverage_map → emit `DRIFT: [category] ...`. Detail: `./compare-rubric.md#step-5--design-drift-detection-comp-04`.
|
|
53
|
+
6. **Screenshot Delta (preview: available only)** - capture per-route screenshots to `.design/screenshots/{before,after}/<route>.png`. Detail: `./compare-rubric.md#step-5b--screenshot-delta-when-preview-available`.
|
|
54
|
+
7. **Write `.design/COMPARE-REPORT.md`** - full template at `./compare-rubric.md#step-6--compare-reportmd-template`.
|
|
55
55
|
|
|
56
56
|
---
|
|
57
57
|
|
|
@@ -61,7 +61,7 @@ This command MUST NOT (per `../../reference/shared-preamble.md#output-contract-r
|
|
|
61
61
|
|
|
62
62
|
- Write to `DESIGN.md`, `DESIGN-VERIFICATION.md`, `DESIGN-SUMMARY.md`, `DESIGN-CONTEXT.md`, `DESIGN-PLAN.md`, or `.design/STATE.md`.
|
|
63
63
|
- Require or implement a snapshot system (V2-06 deferred).
|
|
64
|
-
- Reinterpret or silently normalize category names that do not match between files
|
|
64
|
+
- Reinterpret or silently normalize category names that do not match between files - report mismatches in the Notes section.
|
|
65
65
|
- Invoke `design-auditor` or any other pipeline agent.
|
|
66
66
|
- Produce more than one output file: `.design/COMPARE-REPORT.md`.
|
|
67
67
|
|
|
@@ -77,6 +77,6 @@ After writing `.design/COMPARE-REPORT.md`, print a summary:
|
|
|
77
77
|
Compare complete. Improvements: N. Regressions: M. Drift flags: K. See .design/COMPARE-REPORT.md.
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
Where `N` = improvement count, `M` = regression count, `K` = DRIFT-flag count (0 if drift detection was skipped or no regressions). Do not summarize individual issues
|
|
80
|
+
Where `N` = improvement count, `M` = regression count, `K` = DRIFT-flag count (0 if drift detection was skipped or no regressions). Do not summarize individual issues - the file contains the full detail.
|
|
81
81
|
|
|
82
82
|
## COMPARE COMPLETE
|
|
@@ -7,24 +7,24 @@ tags: [compare, delta, drift, scoring, rubric, extracted]
|
|
|
7
7
|
last_updated: 2026-05-18
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
Source: extracted from `skills/compare/SKILL.md` (Phase 28.5 rework
|
|
11
|
-
The skill's
|
|
10
|
+
Source: extracted from `skills/compare/SKILL.md` (Phase 28.5 rework - D-10 extract-then-link).
|
|
11
|
+
The skill's essential workflow stays in `../skills/compare/SKILL.md`; this file holds the
|
|
12
12
|
delta-computation methodology, anti-pattern set arithmetic, drift-detection coverage map,
|
|
13
13
|
and the `COMPARE-REPORT.md` template the skill writes.
|
|
14
14
|
|
|
15
|
-
# Compare Rubric
|
|
15
|
+
# Compare Rubric - Baseline vs Result Delta Methodology
|
|
16
16
|
|
|
17
|
-
Detailed methodology for the `gdd-compare` standalone command
|
|
17
|
+
Detailed methodology for the `gdd-compare` standalone command - companion to
|
|
18
18
|
`../skills/compare/SKILL.md`. Read this file when executing a specific compare step (score
|
|
19
19
|
delta math, anti-pattern set arithmetic, drift coverage map, report layout). The SKILL.md
|
|
20
|
-
keeps the
|
|
20
|
+
keeps the essential pre-flight checks + step routing; this file holds the deep methodology.
|
|
21
21
|
|
|
22
22
|
See `./shared-preamble.md#output-contract-reminders` for the per-skill output discipline and
|
|
23
23
|
`./audit-scoring.md` for the 0–10 category-scoring rubric the delta is computed against.
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
|
-
## Step 1
|
|
27
|
+
## Step 1 - Parse Category Scores
|
|
28
28
|
|
|
29
29
|
**Extract baseline scores from `.design/DESIGN.md`:** locate the category score table (rows like `| Accessibility | 6/10 | ... |`). Parse each row: extract category name + numeric score. Store as `baseline_scores` map.
|
|
30
30
|
|
|
@@ -40,18 +40,18 @@ See `./shared-preamble.md#output-contract-reminders` for the per-skill output di
|
|
|
40
40
|
- Result-only → flag `[UNMATCHED-RESULT]`, exclude from score delta.
|
|
41
41
|
- Report all unmatched categories in the Notes section. Do NOT silently paper over mismatches.
|
|
42
42
|
|
|
43
|
-
## Step 2
|
|
43
|
+
## Step 2 - Compute Score Delta (COMP-03)
|
|
44
44
|
|
|
45
45
|
For each matched category: `delta = result_scores[category] - baseline_scores[category]`.
|
|
46
46
|
|
|
47
47
|
Classify:
|
|
48
|
-
- `improvement`
|
|
49
|
-
- `no_change`
|
|
50
|
-
- `regression`
|
|
48
|
+
- `improvement` - delta > 0
|
|
49
|
+
- `no_change` - delta == 0
|
|
50
|
+
- `regression` - delta < 0
|
|
51
51
|
|
|
52
52
|
Record per category: name, baseline score, result score, signed delta, classification. Collect regressed categories for drift detection in Step 5.
|
|
53
53
|
|
|
54
|
-
## Step 3
|
|
54
|
+
## Step 3 - Anti-Pattern Delta
|
|
55
55
|
|
|
56
56
|
Enumerate anti-patterns in both files (entries identified by BAN-*, SLOP-*, or labeled as anti-patterns). Collect identifiers or descriptions as sets.
|
|
57
57
|
|
|
@@ -70,13 +70,13 @@ unchanged = intersection of both sets
|
|
|
70
70
|
|
|
71
71
|
Report all three groups in the output report.
|
|
72
72
|
|
|
73
|
-
## Step 4
|
|
73
|
+
## Step 4 - Must-Have Pass/Fail Change
|
|
74
74
|
|
|
75
75
|
**Skip condition:** if `.design/DESIGN-CONTEXT.md` is absent → emit note and skip this section.
|
|
76
76
|
|
|
77
77
|
Read `<must_haves>` from `DESIGN-CONTEXT.md` (each must-have has ID + description). Read pass/fail status from `DESIGN-VERIFICATION.md` (must-have status table). For each must-have: record `pass`, `fail`, or `not-evaluated`. If `DESIGN.md` contained a prior must-have status section, compute the change (`pass→fail`, `fail→pass`); otherwise report current status only.
|
|
78
78
|
|
|
79
|
-
## Step 5
|
|
79
|
+
## Step 5 - Design Drift Detection (COMP-04)
|
|
80
80
|
|
|
81
81
|
**Skip condition:** if `.design/DESIGN-PLAN.md` is absent → emit `"Drift detection skipped: DESIGN-PLAN.md not found."` in the Drift section.
|
|
82
82
|
|
|
@@ -95,9 +95,9 @@ Category-to-Type matching is case-insensitive and normalized.
|
|
|
95
95
|
|
|
96
96
|
Emit `"No drift detected. All regressed categories are covered by tasks in DESIGN-PLAN.md."` if all regressed categories are covered. Emit `"No drift detected. No score regressions found."` if no regressions in Step 2.
|
|
97
97
|
|
|
98
|
-
## Step 5B
|
|
98
|
+
## Step 5B - Screenshot Delta (when preview: available)
|
|
99
99
|
|
|
100
|
-
Check `preview` status from `.design/STATE.md <connections>` (written by the probe at stage entry
|
|
100
|
+
Check `preview` status from `.design/STATE.md <connections>` (written by the probe at stage entry - see `./shared-preamble.md#connection-handshake-summary`).
|
|
101
101
|
|
|
102
102
|
**If `preview: available`:**
|
|
103
103
|
|
|
@@ -110,7 +110,7 @@ Check `preview` status from `.design/STATE.md <connections>` (written by the pro
|
|
|
110
110
|
|
|
111
111
|
**If `preview: unavailable` or `preview: not_configured`:** emit exactly `Screenshot delta skipped — preview not configured.`
|
|
112
112
|
|
|
113
|
-
## Step 6
|
|
113
|
+
## Step 6 - COMPARE-REPORT.md Template
|
|
114
114
|
|
|
115
115
|
Output path: `.design/COMPARE-REPORT.md`. This file MUST NOT be written to any pipeline-reserved path.
|
|
116
116
|
|
|
@@ -168,4 +168,4 @@ If a section has no items (e.g., no anti-patterns in baseline), write "None."
|
|
|
168
168
|
|
|
169
169
|
---
|
|
170
170
|
|
|
171
|
-
*Imported by: `../skills/compare/SKILL.md`. Maintained as part of Phase 28.5 (Bucket 2 rework
|
|
171
|
+
*Imported by: `../skills/compare/SKILL.md`. Maintained as part of Phase 28.5 (Bucket 2 rework - D-10).*
|
|
@@ -11,7 +11,7 @@ Closes the current cycle: marks CYCLES.md entry complete, archives pipeline arti
|
|
|
11
11
|
|
|
12
12
|
## Steps
|
|
13
13
|
|
|
14
|
-
1. **Load state**: Read `.design/STATE.md` for the active `cycle:` ID. If empty/missing, error: "No active cycle
|
|
14
|
+
1. **Load state**: Read `.design/STATE.md` for the active `cycle:` ID. If empty/missing, error: "No active cycle - nothing to complete."
|
|
15
15
|
2. **Retrospective**: If no argument was passed, ask (AskUserQuestion): "Is cycle <N> complete? Briefly describe what was achieved." Capture for CYCLES.md.
|
|
16
16
|
3. **Update CYCLES.md**: Find the current cycle entry, change `**Status**: active` to `**Status**: complete`, append a `**Retrospective**: <note>` line and `**Ended**: <date>`.
|
|
17
17
|
4. **Archive artifacts**: Create `.design/archive/cycle-N/` via Bash `mkdir -p`. Copy these files into it (if present):
|
|
@@ -21,7 +21,7 @@ Closes the current cycle: marks CYCLES.md entry complete, archives pipeline arti
|
|
|
21
21
|
- `DESIGN-VERIFICATION.md`
|
|
22
22
|
- `DESIGN-AUDIT.md`
|
|
23
23
|
- `DESIGN-SUMMARY.md`
|
|
24
|
-
Mark originals with a `<!-- archived to .design/archive/cycle-N/ -->` note at top (do not delete
|
|
24
|
+
Mark originals with a `<!-- archived to .design/archive/cycle-N/ -->` note at top (do not delete - next cycle will overwrite).
|
|
25
25
|
5. **Generate EXPERIENCE.md** (Haiku-tier writer step): Read cycle STATE decisions + `.design/DESIGN-VERIFICATION.md` (if present) + any `.design/reflections/*.md` from this cycle. Write `.design/archive/cycle-N/EXPERIENCE.md` using this structure (~100–200 lines, declarative-fact framing, prepend `reference/cycle-handoff-preamble.md` content):
|
|
26
26
|
|
|
27
27
|
```markdown
|
|
@@ -65,10 +65,10 @@ Closes the current cycle: marks CYCLES.md entry complete, archives pipeline arti
|
|
|
65
65
|
|
|
66
66
|
## Do Not
|
|
67
67
|
|
|
68
|
-
- Do not delete source files in `src/`
|
|
69
|
-
- Do not auto-start a new cycle
|
|
68
|
+
- Do not delete source files in `src/` - only archive `.design/` artifacts.
|
|
69
|
+
- Do not auto-start a new cycle - user invokes `/gdd:new-cycle` explicitly.
|
|
70
70
|
|
|
71
|
-
## Step 6
|
|
71
|
+
## Step 6 - Update notice (post-closeout surface)
|
|
72
72
|
|
|
73
73
|
After the archive has been written and STATE.md has been cleared for the next cycle, emit the plugin-update banner if one is present:
|
|
74
74
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-connections
|
|
3
|
-
description: "Interactive onboarding wizard for the 33 external integrations the pipeline supports
|
|
3
|
+
description: "Interactive onboarding wizard for the 33 external integrations the pipeline supports - probes all (`figma`, `refero`, `preview`, `storybook`, `chromatic`, `graphify`, `pinterest`, `claude-design`, `paper-design`, `pencil-dev`, `21st-dev`, `magic-patterns`, `lazyweb`, `mobbin`, `slack`, `discord`, `linear`, `jira`, `notion`, `lottie`, `rive`, `framer`, `penpot`, `webflow`, `v0-dev`, `plasmic`, `builder-io`, `launchdarkly`, `statsig`, `growthbook`, `usertesting`, `maze`, `hotjar`), recommends based on project type, walks the user through setup (auto-run MCP install or copy-command fallback), writes results to `STATE.md <connections>`. Use after `/gdd:new-project` or whenever the user wants to add, inspect, or skip a connection. Re-runnable anytime."
|
|
4
4
|
argument-hint: "[list | <connection-name> | --auto]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, ToolSearch
|
|
@@ -29,21 +29,21 @@ For the 33 probe scripts (MCP + HTTP + CLI + file probes), bucket categorization
|
|
|
29
29
|
|
|
30
30
|
## State Integration
|
|
31
31
|
|
|
32
|
-
1. Read `.design/STATE.md`
|
|
33
|
-
2. Read `.design/config.json`
|
|
34
|
-
3. Read `connections.skip[]` from config
|
|
32
|
+
1. Read `.design/STATE.md` - if missing, that's fine; this skill does not require a pipeline run.
|
|
33
|
+
2. Read `.design/config.json` - if missing, use defaults. If `connections_onboarding` block is present with `pending_verification`, this is a resume - see Step 6.
|
|
34
|
+
3. Read `connections.skip[]` from config - never re-prompt for skipped connections.
|
|
35
35
|
4. Update `last_checkpoint` in STATE.md at skill exit if STATE.md exists.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## Workflow
|
|
40
40
|
|
|
41
|
-
1. **Probe all 33 connections**
|
|
42
|
-
2. **Categorize + build summary**
|
|
43
|
-
3. **Print summary table**
|
|
44
|
-
4. **Route by mode**
|
|
45
|
-
5. **Per-connection setup screen**
|
|
46
|
-
6. **Verification pass**
|
|
41
|
+
1. **Probe all 33 connections** - run every probe script per `./connections-onboarding.md#step-1--probe-all-33-connections`. MCP probes use `ToolSearch` first; HTTP / CLI / file probes follow non-MCP patterns. Merge results into `STATE.md <connections>` with the three-value schema (`available | unavailable | not_configured`) - never add new values.
|
|
42
|
+
2. **Categorize + build summary** - bucket each probe result (available / recommended / optional / skipped / unavailable) using project-hint detection. Detail + recommendation mapping: `./connections-onboarding.md#step-2--bucket-categorization`.
|
|
43
|
+
3. **Print summary table** - show buckets + value-prop one-liners (verbatim from `./connections-onboarding.md#step-3--summary-table`).
|
|
44
|
+
4. **Route by mode** - `list` / `--auto` exits after summary; `<name>` jumps straight to Step 5; default mode opens an AskUserQuestion (configure recommended / pick one by one / configure all optional / re-check specific / exit). Routing detail: `./connections-onboarding.md#step-4--route-by-mode`.
|
|
45
|
+
5. **Per-connection setup screen** - for each target: read `connections/<name>.md`, present the setup screen, AskUserQuestion (run now / copy-paste / skip / never ask). Auto-run only if reversible (see eligibility matrix). On success: append name to `connections_onboarding.pending_verification[]`. Detail: `./connections-onboarding.md#step-5--per-connection-setup-screen`.
|
|
46
|
+
6. **Verification pass** - re-probe every name in `pending_verification[]`. Available → remove. `not_configured` → leave (needs session restart). `unavailable` → leave + note OAuth needed. Print "Setup complete" summary. Detail: `./connections-onboarding.md#step-6--verification-pass`.
|
|
47
47
|
|
|
48
48
|
If `.design/config.json > connections_onboarding.pending_verification[]` is non-empty at entry → enter **resume flow**: run Step 6 immediately; if clean, exit; otherwise fall through to Step 3. Detail: `./connections-onboarding.md#resumability`.
|
|
49
49
|
|
|
@@ -58,7 +58,7 @@ Per `./connections-onboarding.md#do-not`:
|
|
|
58
58
|
- Never run `claude mcp add` without explicit `"Run install command now"` confirmation.
|
|
59
59
|
- Never auto-restart the Claude Code session.
|
|
60
60
|
- Never re-prompt for names in `connections.skip[]`.
|
|
61
|
-
- Never overwrite existing `<connections>` entries that this skill did not probe
|
|
61
|
+
- Never overwrite existing `<connections>` entries that this skill did not probe - merge only.
|
|
62
62
|
|
|
63
63
|
---
|
|
64
64
|
|