@hegemonart/get-design-done 1.57.1 → 1.57.3
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 +26 -41
- package/.claude-plugin/plugin.json +23 -48
- package/CHANGELOG.md +139 -0
- package/README.md +166 -511
- package/SKILL.md +4 -6
- package/agents/README.md +33 -36
- package/agents/a11y-mapper.md +3 -3
- package/agents/component-benchmark-harvester.md +6 -6
- package/agents/component-benchmark-synthesizer.md +3 -3
- package/agents/compose-executor.md +3 -3
- package/agents/cost-forecaster.md +2 -2
- package/agents/design-auditor.md +7 -7
- package/agents/design-authority-watcher.md +15 -15
- package/agents/design-context-builder.md +4 -4
- package/agents/design-context-checker-gate.md +1 -1
- package/agents/design-discussant.md +2 -2
- package/agents/design-doc-writer.md +1 -1
- package/agents/design-executor.md +2 -2
- package/agents/design-figma-writer.md +2 -2
- package/agents/design-fixer.md +7 -7
- package/agents/design-integration-checker-gate.md +1 -1
- package/agents/design-integration-checker.md +1 -1
- package/agents/design-paper-writer.md +3 -3
- package/agents/design-pencil-writer.md +1 -1
- package/agents/design-planner.md +21 -0
- package/agents/design-reflector.md +39 -39
- package/agents/design-research-synthesizer.md +1 -0
- package/agents/design-start-writer.md +1 -1
- package/agents/design-update-checker.md +5 -5
- package/agents/design-verifier-gate.md +1 -1
- package/agents/design-verifier.md +52 -48
- package/agents/ds-generator.md +2 -2
- package/agents/ds-migration-planner.md +4 -4
- package/agents/email-executor.md +9 -9
- package/agents/experiment-result-ingester.md +3 -3
- package/agents/flutter-executor.md +5 -5
- package/agents/gdd-graph-refresh.md +3 -3
- package/agents/gdd-intel-updater.md +2 -2
- package/agents/motion-mapper.md +2 -2
- package/agents/motion-verifier.md +4 -4
- package/agents/pdf-executor.md +8 -8
- package/agents/perf-analyzer.md +17 -17
- package/agents/pr-commenter.md +9 -9
- package/agents/prototype-gate.md +2 -2
- package/agents/quality-gate-runner.md +1 -1
- package/agents/rollout-coordinator.md +3 -3
- package/agents/swift-executor.md +4 -4
- package/agents/ticket-sync-agent.md +6 -6
- package/agents/user-research-synthesizer.md +2 -2
- package/connections/connections.md +44 -45
- package/connections/cursor.md +72 -0
- package/connections/preview.md +3 -3
- package/hooks/first-run-nudge.cjs +171 -0
- package/hooks/gdd-intel-trigger.js +243 -0
- package/hooks/gdd-mcp-circuit-breaker.js +62 -7
- package/hooks/gdd-precompact-snapshot.js +50 -29
- package/hooks/gdd-protected-paths.js +150 -18
- package/hooks/gdd-risk-gate.js +93 -1
- package/hooks/gdd-sessionstart-recap.js +59 -24
- package/hooks/hooks.json +13 -4
- package/hooks/inject-using-gdd.cjs +188 -0
- package/hooks/update-check.cjs +511 -0
- package/package.json +9 -3
- package/reference/STATE-TEMPLATE.md +10 -13
- package/reference/audit-scoring.md +1 -1
- package/reference/cache-tier-doctrine.md +46 -0
- package/reference/config-schema.md +9 -9
- package/reference/i18n.md +1 -1
- package/reference/intel-schema.md +37 -2
- package/reference/meta-rules.md +4 -4
- package/reference/model-tiers.md +2 -2
- package/reference/registry.json +101 -94
- package/reference/runtime-models.md +11 -1
- package/reference/shared-preamble.md +13 -14
- package/reference/skill-graph.md +22 -3
- package/scripts/bootstrap.cjs +373 -0
- package/scripts/injection-patterns.cjs +58 -0
- package/scripts/lib/apply-reflections/incubator-proposals.cjs +57 -26
- package/scripts/lib/install/converters/codex-plugin.cjs +5 -2
- package/scripts/lib/install/converters/cursor.cjs +20 -0
- package/scripts/lib/issue-reporter/report-flow.cjs +1 -1
- package/scripts/lib/manifest/skills.json +75 -28
- package/scripts/lib/state/query-surface.cjs +67 -9
- package/scripts/lib/state/state-store.cjs +68 -26
- package/scripts/lib/worktree-resolve.cjs +4 -16
- package/sdk/cli/commands/stage.ts +17 -0
- package/sdk/cli/index.js +14 -0
- package/skills/README.md +46 -0
- package/skills/bootstrap-ds/SKILL.md +1 -1
- package/skills/cache-manager/SKILL.md +3 -3
- package/skills/cache-manager/cache-policy.md +1 -1
- package/skills/compare/SKILL.md +1 -1
- package/skills/design/SKILL.md +19 -0
- package/skills/explore/SKILL.md +11 -0
- package/skills/figma-write/SKILL.md +13 -2
- package/skills/new-cycle/SKILL.md +1 -1
- package/skills/paper-write/SKILL.md +54 -0
- package/skills/peer-cli-customize/SKILL.md +0 -1
- package/skills/peers/SKILL.md +1 -1
- package/skills/pencil-write/SKILL.md +54 -0
- package/skills/reflect/procedures/capability-gap-scan.md +0 -1
- package/skills/report-issue/SKILL.md +2 -2
- package/skills/report-issue/report-issue-procedure.md +0 -1
- package/skills/router/SKILL.md +2 -2
- package/skills/synthesize/SKILL.md +1 -1
- package/skills/turn-closeout/SKILL.md +1 -1
- package/skills/verify/verify-procedure.md +10 -11
- package/skills/warm-cache/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/add-backlog/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/analyze-dependencies/SKILL.md +0 -95
- package/dist/claude-code/.claude/skills/apply-reflections/SKILL.md +0 -109
- package/dist/claude-code/.claude/skills/apply-reflections/apply-reflections-procedure.md +0 -170
- package/dist/claude-code/.claude/skills/audit/SKILL.md +0 -79
- package/dist/claude-code/.claude/skills/bandit-status/SKILL.md +0 -94
- package/dist/claude-code/.claude/skills/benchmark/SKILL.md +0 -65
- package/dist/claude-code/.claude/skills/bootstrap-ds/SKILL.md +0 -43
- package/dist/claude-code/.claude/skills/brief/SKILL.md +0 -145
- package/dist/claude-code/.claude/skills/budget/SKILL.md +0 -45
- package/dist/claude-code/.claude/skills/cache-manager/SKILL.md +0 -66
- package/dist/claude-code/.claude/skills/cache-manager/cache-policy.md +0 -126
- package/dist/claude-code/.claude/skills/check-update/SKILL.md +0 -98
- package/dist/claude-code/.claude/skills/compare/SKILL.md +0 -82
- package/dist/claude-code/.claude/skills/compare/compare-rubric.md +0 -171
- package/dist/claude-code/.claude/skills/complete-cycle/SKILL.md +0 -81
- package/dist/claude-code/.claude/skills/connections/SKILL.md +0 -71
- package/dist/claude-code/.claude/skills/connections/connections-onboarding.md +0 -608
- package/dist/claude-code/.claude/skills/context/SKILL.md +0 -137
- package/dist/claude-code/.claude/skills/continue/SKILL.md +0 -24
- package/dist/claude-code/.claude/skills/darkmode/SKILL.md +0 -76
- package/dist/claude-code/.claude/skills/darkmode/darkmode-audit-procedure.md +0 -258
- package/dist/claude-code/.claude/skills/debug/SKILL.md +0 -41
- package/dist/claude-code/.claude/skills/debug/debug-feedback-loops.md +0 -119
- package/dist/claude-code/.claude/skills/design/SKILL.md +0 -99
- package/dist/claude-code/.claude/skills/design/design-procedure.md +0 -304
- package/dist/claude-code/.claude/skills/discover/SKILL.md +0 -78
- package/dist/claude-code/.claude/skills/discover/discover-procedure.md +0 -222
- package/dist/claude-code/.claude/skills/discuss/SKILL.md +0 -96
- package/dist/claude-code/.claude/skills/do/SKILL.md +0 -45
- package/dist/claude-code/.claude/skills/explore/SKILL.md +0 -107
- package/dist/claude-code/.claude/skills/explore/explore-procedure.md +0 -267
- package/dist/claude-code/.claude/skills/export/SKILL.md +0 -30
- package/dist/claude-code/.claude/skills/extract-learnings/SKILL.md +0 -114
- package/dist/claude-code/.claude/skills/fast/SKILL.md +0 -91
- package/dist/claude-code/.claude/skills/figma-extract/SKILL.md +0 -64
- package/dist/claude-code/.claude/skills/figma-write/SKILL.md +0 -39
- package/dist/claude-code/.claude/skills/graphify/SKILL.md +0 -49
- package/dist/claude-code/.claude/skills/health/SKILL.md +0 -99
- package/dist/claude-code/.claude/skills/health/health-mcp-detection.md +0 -44
- package/dist/claude-code/.claude/skills/health/health-skill-length-report.md +0 -69
- package/dist/claude-code/.claude/skills/help/SKILL.md +0 -87
- package/dist/claude-code/.claude/skills/instinct/SKILL.md +0 -111
- package/dist/claude-code/.claude/skills/list-assumptions/SKILL.md +0 -61
- package/dist/claude-code/.claude/skills/list-pins/SKILL.md +0 -27
- package/dist/claude-code/.claude/skills/live/SKILL.md +0 -98
- package/dist/claude-code/.claude/skills/locale/SKILL.md +0 -51
- package/dist/claude-code/.claude/skills/map/SKILL.md +0 -89
- package/dist/claude-code/.claude/skills/migrate/SKILL.md +0 -70
- package/dist/claude-code/.claude/skills/migrate-context/SKILL.md +0 -123
- package/dist/claude-code/.claude/skills/new-addendum/SKILL.md +0 -81
- package/dist/claude-code/.claude/skills/new-cycle/SKILL.md +0 -37
- package/dist/claude-code/.claude/skills/new-cycle/milestone-completeness-rubric.md +0 -87
- package/dist/claude-code/.claude/skills/new-project/SKILL.md +0 -53
- package/dist/claude-code/.claude/skills/new-skill/SKILL.md +0 -90
- package/dist/claude-code/.claude/skills/next/SKILL.md +0 -68
- package/dist/claude-code/.claude/skills/note/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/openrouter-status/SKILL.md +0 -86
- package/dist/claude-code/.claude/skills/optimize/SKILL.md +0 -97
- package/dist/claude-code/.claude/skills/override/SKILL.md +0 -86
- package/dist/claude-code/.claude/skills/pause/SKILL.md +0 -77
- package/dist/claude-code/.claude/skills/peer-cli-add/SKILL.md +0 -88
- package/dist/claude-code/.claude/skills/peer-cli-add/peer-cli-protocol.md +0 -161
- package/dist/claude-code/.claude/skills/peer-cli-customize/SKILL.md +0 -90
- package/dist/claude-code/.claude/skills/peers/SKILL.md +0 -96
- package/dist/claude-code/.claude/skills/pin/SKILL.md +0 -37
- package/dist/claude-code/.claude/skills/plan/SKILL.md +0 -105
- package/dist/claude-code/.claude/skills/plan/plan-procedure.md +0 -278
- package/dist/claude-code/.claude/skills/plant-seed/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/pr-branch/SKILL.md +0 -32
- package/dist/claude-code/.claude/skills/progress/SKILL.md +0 -107
- package/dist/claude-code/.claude/skills/quality-gate/SKILL.md +0 -90
- package/dist/claude-code/.claude/skills/quality-gate/threat-modeling.md +0 -101
- package/dist/claude-code/.claude/skills/quick/SKILL.md +0 -44
- package/dist/claude-code/.claude/skills/reapply-patches/SKILL.md +0 -32
- package/dist/claude-code/.claude/skills/recall/SKILL.md +0 -75
- package/dist/claude-code/.claude/skills/reflect/SKILL.md +0 -85
- package/dist/claude-code/.claude/skills/reflect/procedures/capability-gap-scan.md +0 -120
- package/dist/claude-code/.claude/skills/report-issue/SKILL.md +0 -53
- package/dist/claude-code/.claude/skills/report-issue/report-issue-procedure.md +0 -120
- package/dist/claude-code/.claude/skills/resume/SKILL.md +0 -93
- package/dist/claude-code/.claude/skills/review-backlog/SKILL.md +0 -46
- package/dist/claude-code/.claude/skills/review-decisions/SKILL.md +0 -42
- package/dist/claude-code/.claude/skills/roi/SKILL.md +0 -54
- package/dist/claude-code/.claude/skills/rollout-status/SKILL.md +0 -35
- package/dist/claude-code/.claude/skills/router/SKILL.md +0 -89
- package/dist/claude-code/.claude/skills/router/capability-gap-emitter.md +0 -65
- package/dist/claude-code/.claude/skills/router/router-pick-emitter.md +0 -78
- package/dist/claude-code/.claude/skills/router/router-rules.md +0 -84
- package/dist/claude-code/.claude/skills/scan/SKILL.md +0 -92
- package/dist/claude-code/.claude/skills/scan/scan-procedure.md +0 -732
- package/dist/claude-code/.claude/skills/settings/SKILL.md +0 -87
- package/dist/claude-code/.claude/skills/ship/SKILL.md +0 -48
- package/dist/claude-code/.claude/skills/sketch/SKILL.md +0 -78
- package/dist/claude-code/.claude/skills/sketch-wrap-up/SKILL.md +0 -92
- package/dist/claude-code/.claude/skills/skill-manifest/SKILL.md +0 -79
- package/dist/claude-code/.claude/skills/spike/SKILL.md +0 -67
- package/dist/claude-code/.claude/skills/spike-wrap-up/SKILL.md +0 -86
- package/dist/claude-code/.claude/skills/start/SKILL.md +0 -67
- package/dist/claude-code/.claude/skills/start/start-procedure.md +0 -115
- package/dist/claude-code/.claude/skills/state/SKILL.md +0 -106
- package/dist/claude-code/.claude/skills/stats/SKILL.md +0 -51
- package/dist/claude-code/.claude/skills/style/SKILL.md +0 -71
- package/dist/claude-code/.claude/skills/style/style-doc-procedure.md +0 -150
- package/dist/claude-code/.claude/skills/synthesize/SKILL.md +0 -94
- package/dist/claude-code/.claude/skills/timeline/SKILL.md +0 -66
- package/dist/claude-code/.claude/skills/todo/SKILL.md +0 -64
- package/dist/claude-code/.claude/skills/turn-closeout/SKILL.md +0 -95
- package/dist/claude-code/.claude/skills/undo/SKILL.md +0 -31
- package/dist/claude-code/.claude/skills/unlock-decision/SKILL.md +0 -54
- package/dist/claude-code/.claude/skills/unpin/SKILL.md +0 -31
- package/dist/claude-code/.claude/skills/update/SKILL.md +0 -56
- package/dist/claude-code/.claude/skills/using-gdd/SKILL.md +0 -78
- package/dist/claude-code/.claude/skills/verify/SKILL.md +0 -113
- package/dist/claude-code/.claude/skills/verify/verify-procedure.md +0 -512
- package/dist/claude-code/.claude/skills/warm-cache/SKILL.md +0 -81
- package/dist/claude-code/.claude/skills/watch-authorities/SKILL.md +0 -82
- package/dist/claude-code/.claude/skills/zoom-out/SKILL.md +0 -26
- package/hooks/first-run-nudge.sh +0 -82
- package/hooks/inject-using-gdd.sh +0 -72
- package/hooks/run-hook.cmd +0 -35
- package/hooks/update-check.sh +0 -251
- package/scripts/lib/audit-aggregator/index.cjs +0 -219
- package/scripts/lib/hedge-ensemble.cjs +0 -217
- package/skills/discover/SKILL.md +0 -78
- package/skills/discover/discover-procedure.md +0 -222
- package/skills/new-cycle/milestone-completeness-rubric.md +0 -87
- package/skills/scan/SKILL.md +0 -92
- package/skills/scan/scan-procedure.md +0 -732
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: discover-procedure
|
|
3
|
-
type: meta-rules
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
phase: 28.5
|
|
6
|
-
tags: [discover, procedure, extracted, pipeline-stage, connection-probe, design-context-builder]
|
|
7
|
-
last_updated: 2026-05-18
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
Source: extracted from `skills/discover/SKILL.md` (Phase 28.5 rework - D-10 extract-then-link).
|
|
11
|
-
The skill's essential workflow stays in `../skills/discover/SKILL.md`; this file holds the
|
|
12
|
-
detail the agent reaches for when executing a specific step (state integration, three
|
|
13
|
-
connection probes, design-context-builder + design-context-checker agent prompts, lazy gate
|
|
14
|
-
prompt, auto-mode CSS detection).
|
|
15
|
-
|
|
16
|
-
# Discover Procedure
|
|
17
|
-
|
|
18
|
-
Detailed procedure for the get-design-done `discover` Stage 1.5 orchestrator. Companion to
|
|
19
|
-
`../skills/discover/SKILL.md`. Read this file when executing a specific discover step.
|
|
20
|
-
|
|
21
|
-
---
|
|
22
|
-
|
|
23
|
-
## State Integration
|
|
24
|
-
|
|
25
|
-
1. Read `.design/STATE.md`.
|
|
26
|
-
- If missing: create minimal skeleton from `reference/STATE-TEMPLATE.md` with stage=discover, status=in_progress, task_progress=0/1, and log warning: "STATE.md not found - created fresh. If this is a resumed session, run /get-design-done:scan first."
|
|
27
|
-
- If present and stage==discover and status==in_progress: RESUME - continue existing interview; do not reset.
|
|
28
|
-
- Otherwise: normal transition - set frontmatter stage=discover, <position> stage=discover, status=in_progress, task_progress=0/1.
|
|
29
|
-
2. **Probe connection availability** - ToolSearch runs FIRST because MCP tools may be in the deferred tool set. This is the canonical probe pattern (spec lives in `connections/connections.md`; copied inline because SKILL.md has no include mechanism - if the probe pattern changes, update all stages that copied it). See §Connection Probes below.
|
|
30
|
-
3. Update last_checkpoint. Write STATE.md.
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Connection Probes
|
|
35
|
-
|
|
36
|
-
### A - Figma probe (variant-agnostic)
|
|
37
|
-
|
|
38
|
-
```
|
|
39
|
-
A1. ToolSearch({ query: "figma get_metadata use_figma", max_results: 10 })
|
|
40
|
-
A2. Parse tool names matching /^mcp__([^_]*figma[^_]*)__(get_metadata|use_figma)$/i
|
|
41
|
-
into read-capable and write-capable prefix sets.
|
|
42
|
-
A3. Empty read set -> figma: not_configured (skip all Figma paths)
|
|
43
|
-
One or more matches -> pick prefix via tiebreaker:
|
|
44
|
-
(1) both-sets > reads-only,
|
|
45
|
-
(2) `figma` > others,
|
|
46
|
-
(3) non-`figma-desktop` > desktop,
|
|
47
|
-
(4) alphabetical.
|
|
48
|
-
A4. Call {prefix}get_metadata:
|
|
49
|
-
Success -> figma: available (prefix=mcp__<prefix>__, writes=<true|false>)
|
|
50
|
-
Error -> figma: unavailable
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### B - Refero probe (ToolSearch presence is sufficient - no tool call needed)
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
B1. ToolSearch({ query: "refero", max_results: 5 })
|
|
57
|
-
B2. Empty result -> refero: not_configured
|
|
58
|
-
Non-empty -> refero: available
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### C - Pinterest probe (ToolSearch-only, same pattern as Refero)
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
C1. ToolSearch({ query: "mcp-pinterest", max_results: 5 })
|
|
65
|
-
C2. Empty result -> pinterest: not_configured
|
|
66
|
-
Non-empty -> pinterest: available
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
No live `pinterest_search` call at probe time - ToolSearch presence is sufficient. The synthesizer makes the actual search calls.
|
|
70
|
-
|
|
71
|
-
### D - Lazyweb probe (ToolSearch-only - free, discover Tier 1 per D-01)
|
|
72
|
-
|
|
73
|
-
```
|
|
74
|
-
D1. ToolSearch({ query: "lazyweb", max_results: 5 })
|
|
75
|
-
D2. Empty result -> lazyweb: not_configured
|
|
76
|
-
Non-empty -> lazyweb: available
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### E - Mobbin probe (ToolSearch-only - paid, discover Tier 2 per D-01)
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
E1. ToolSearch({ query: "mobbin", max_results: 5 })
|
|
83
|
-
E2. Empty result -> mobbin: not_configured
|
|
84
|
-
Non-empty -> mobbin: available
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
**Reference-source tier order (cost-aware, D-01):** Lazyweb (free, tried first) → Mobbin / Refero (paid, whichever is bound + subscribed) → Pinterest → awesome-design-md → WebFetch.
|
|
88
|
-
|
|
89
|
-
After all probes (A, B, C, D, E), update `.design/STATE.md` `<connections>` with the results and continue. Downstream stages (design-context-builder) read `<connections>` from STATE.md rather than re-probing.
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Auto Mode
|
|
94
|
-
|
|
95
|
-
Auto Mode CSS detection (when `auto_mode: true` is passed to the builder):
|
|
96
|
-
|
|
97
|
-
1. If tailwind.config.{js,cjs,mjs,ts} exists -> Tailwind-only project
|
|
98
|
-
- Skip CSS file grep
|
|
99
|
-
- Parse tailwind.config for color palette, spacing scale, font families
|
|
100
|
-
- Use tailwind.config values as the baseline style signal
|
|
101
|
-
2. Else -> fall through to existing CSS file grep logic
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Step 1 - Spawn design-context-builder
|
|
106
|
-
|
|
107
|
-
```
|
|
108
|
-
Task("design-context-builder", """
|
|
109
|
-
<required_reading>
|
|
110
|
-
@.design/STATE.md
|
|
111
|
-
@reference/audit-scoring.md
|
|
112
|
-
@reference/anti-patterns.md
|
|
113
|
-
</required_reading>
|
|
114
|
-
|
|
115
|
-
You are the design-context-builder agent. Auto-detect existing design system
|
|
116
|
-
state via grep/glob before asking questions. Interview the user ONLY for areas
|
|
117
|
-
where auto-detect returned no confident answer. Write .design/DESIGN-CONTEXT.md.
|
|
118
|
-
|
|
119
|
-
Baseline audit directory detection (ordered fallback chain):
|
|
120
|
-
1. If src/ exists -> use src/
|
|
121
|
-
2. Elif app/ exists -> use app/ (Next.js App Router)
|
|
122
|
-
3. Elif pages/ exists -> use pages/ (Next.js Pages Router)
|
|
123
|
-
4. Elif lib/ exists -> use lib/ (library-only projects)
|
|
124
|
-
5. Else -> flag "layout unknown", skip baseline, note in DESIGN-CONTEXT.md
|
|
125
|
-
|
|
126
|
-
Common gray areas to probe during discovery (Area 7):
|
|
127
|
-
1. font-change risk — switching type families when existing UI has body copy in a specific family. Ask: "Is the current body font intentional or inherited? OK to change?"
|
|
128
|
-
2. token-layer introduction risk — adding CSS custom properties to a codebase that uses direct values. Ask: "Do you want design tokens (--primary, --surface) or inline values (hex, rgb)?"
|
|
129
|
-
3. Component rebuild vs restyle — when to keep existing component, when to rebuild from scratch. Ask: "For <component>, restyle in place or rebuild?"
|
|
130
|
-
|
|
131
|
-
Context:
|
|
132
|
-
auto_mode: <true|false>
|
|
133
|
-
|
|
134
|
-
Output file: .design/DESIGN-CONTEXT.md
|
|
135
|
-
Emit `## CONTEXT COMPLETE` when done.
|
|
136
|
-
""")
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
Wait for `## CONTEXT COMPLETE`. Update STATE.md task_progress = 0.5.
|
|
140
|
-
|
|
141
|
-
---
|
|
142
|
-
|
|
143
|
-
## Step 1.75 - Lazy gate: should design-context-checker run? (Plan 10.1-04, D-21)
|
|
144
|
-
|
|
145
|
-
Spawn the cheap Haiku gate before the full context-checker:
|
|
146
|
-
|
|
147
|
-
Task("design-context-checker-gate", """
|
|
148
|
-
<required_reading>
|
|
149
|
-
@.design/STATE.md
|
|
150
|
-
</required_reading>
|
|
151
|
-
|
|
152
|
-
You are the design-context-checker-gate.
|
|
153
|
-
|
|
154
|
-
Context:
|
|
155
|
-
diff_files: <git diff `--name-only` HEAD~1..HEAD>
|
|
156
|
-
diff_body: (not needed - single-file heuristic)
|
|
157
|
-
baseline_sha: <HEAD~1>
|
|
158
|
-
|
|
159
|
-
Apply the heuristic (DESIGN-CONTEXT.md in diff_files?). Emit JSON + `## GATE COMPLETE`.
|
|
160
|
-
""")
|
|
161
|
-
|
|
162
|
-
Wait for `## GATE COMPLETE`. Parse JSON:
|
|
163
|
-
|
|
164
|
-
- `spawn: false` -> append `lazy_skipped: true` telemetry row for `design-context-checker`, skip Step 2, set STATE.md `<position>` as if checker passed (rationale: DESIGN-CONTEXT.md didn't change, last validation still holds), emit `design-context-checker skipped — <rationale>`.
|
|
165
|
-
- `spawn: true` -> proceed to Step 2 as currently written.
|
|
166
|
-
|
|
167
|
-
**Note:** On first-run discover, the builder just wrote DESIGN-CONTEXT.md so the gate returns `spawn: true`. The gate meaningfully short-circuits only on re-runs where the builder made no changes.
|
|
168
|
-
|
|
169
|
-
**Parallel synthesizer note:** discover does not spawn parallel researchers in v1, so `skills/synthesize/` is not wired here. If future variants spawn N parallel interviewers/auto-detectors, wire synthesize between dispatch and collate as in `skills/map/` Step 3.5.
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
## Step 2 - Spawn design-context-checker
|
|
174
|
-
|
|
175
|
-
```
|
|
176
|
-
Task("design-context-checker", """
|
|
177
|
-
<required_reading>
|
|
178
|
-
@.design/STATE.md
|
|
179
|
-
@.design/DESIGN-CONTEXT.md
|
|
180
|
-
</required_reading>
|
|
181
|
-
|
|
182
|
-
You are the design-context-checker agent. Validate DESIGN-CONTEXT.md across
|
|
183
|
-
6 dimensions. Return APPROVED or BLOCKED with per-dimension verdicts.
|
|
184
|
-
|
|
185
|
-
Emit `## CONTEXT CHECK COMPLETE` when done.
|
|
186
|
-
""")
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
Wait for `## CONTEXT CHECK COMPLETE`.
|
|
190
|
-
|
|
191
|
-
---
|
|
192
|
-
|
|
193
|
-
## Step 3 - Handle checker verdict
|
|
194
|
-
|
|
195
|
-
If APPROVED: proceed to state update.
|
|
196
|
-
If BLOCKED: present dimensions that BLOCKED to user, offer fix-and-retry loop (re-spawn builder with specific fix instructions). Do not proceed to planning.
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## State Update (exit)
|
|
201
|
-
|
|
202
|
-
1. Set <position> status=completed, task_progress=1/1.
|
|
203
|
-
2. Set <timestamps> discover_completed_at=<ISO 8601 now>.
|
|
204
|
-
3. Update last_checkpoint. Write STATE.md.
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## After Writing
|
|
209
|
-
|
|
210
|
-
```
|
|
211
|
-
=== Discovery complete ===
|
|
212
|
-
Saved: .design/DESIGN-CONTEXT.md
|
|
213
|
-
|
|
214
|
-
Baseline score: [N]/100 ([grade])
|
|
215
|
-
Key issues: [top issue 1], [top issue 2], [top issue 3]
|
|
216
|
-
|
|
217
|
-
Next: /get-design-done:plan
|
|
218
|
-
-> Decomposes your context into executable design tasks.
|
|
219
|
-
==========================
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
Do not proceed to planning automatically unless `--auto` was passed.
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: milestone-completeness-rubric
|
|
3
|
-
type: heuristic
|
|
4
|
-
version: 1.0.0
|
|
5
|
-
phase: 28.5
|
|
6
|
-
tags: [milestone, closeout, rubric, completion, turn-closeout, new-cycle, complete-cycle]
|
|
7
|
-
last_updated: 2026-05-18
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Milestone Completeness Rubric
|
|
11
|
-
|
|
12
|
-
What "complete" means at each layer of the gdd lifecycle. Used by `skills/turn-closeout/`,
|
|
13
|
-
`skills/new-cycle/`, `skills/complete-cycle/`, the phase closeout discipline (Plan -12 of
|
|
14
|
-
every phase), and the cycle wrap-up flow. Centralized here so the rubric stays consistent
|
|
15
|
-
across consumers and updates land in one place rather than fanning out across N skills.
|
|
16
|
-
|
|
17
|
-
## Layers
|
|
18
|
-
|
|
19
|
-
The lifecycle has four nested layers. A layer is complete only when EVERY criterion at
|
|
20
|
-
that layer is satisfied. Layers above can only flip complete when every layer below has
|
|
21
|
-
flipped complete first - closeout walks bottom-up.
|
|
22
|
-
|
|
23
|
-
### Task level
|
|
24
|
-
|
|
25
|
-
The smallest unit of work - one row in a PLAN.md `<tasks>` list.
|
|
26
|
-
|
|
27
|
-
- Verify command runs with exit 0 (the `<verify>` block's command).
|
|
28
|
-
- The `<done>` criterion is observable (the file exists, the test passes, the output
|
|
29
|
-
matches the contract).
|
|
30
|
-
- If the task is `tdd="true"`: tests pass after the GREEN step; tests fail before it.
|
|
31
|
-
- File diff is scoped to the declared `files_modified` only - no collateral damage.
|
|
32
|
-
- A single commit per task in conventional form `{type}({phase}-{plan}): {description}`.
|
|
33
|
-
- Deviations (Rules 1, 2, 3) tracked for the SUMMARY.md "Deviations" section.
|
|
34
|
-
|
|
35
|
-
### Plan level
|
|
36
|
-
|
|
37
|
-
A self-contained chunk of work - one `XX-YY-PLAN.md`.
|
|
38
|
-
|
|
39
|
-
- All tasks complete (per task level above).
|
|
40
|
-
- Plan-level validator passes (e.g. `validate-skill-length.cjs` for Phase 28.5 buckets;
|
|
41
|
-
`validate-frontmatter.ts` for agent-frontmatter plans).
|
|
42
|
-
- SUMMARY.md written at `.planning/phases/XX-name/XX-YY-SUMMARY.md` with the canonical
|
|
43
|
-
shape: deviations, files-modified table, commits, verification result, decisions.
|
|
44
|
-
- No collateral damage outside the plan's declared `files_modified` list - out-of-scope
|
|
45
|
-
edits are forbidden (executor Rule 5 boundary).
|
|
46
|
-
- A final docs commit aggregates `SUMMARY.md`, `STATE.md`, `ROADMAP.md`, and
|
|
47
|
-
`REQUIREMENTS.md` updates.
|
|
48
|
-
|
|
49
|
-
### Phase level
|
|
50
|
-
|
|
51
|
-
A coherent batch of plans - one `XX-name/` directory under `.planning/phases/`.
|
|
52
|
-
|
|
53
|
-
- All plans complete (per plan level above).
|
|
54
|
-
- Phase-level verification ALL pass (`<verification>` block in each PLAN.md).
|
|
55
|
-
- ROADMAP.md flipped `[ ]` → `[x]` for all plans in this phase (rule #14: scoped flip
|
|
56
|
-
only - never flip plans outside this phase).
|
|
57
|
-
- Phase SUMMARY ladder coherent - each `XX-YY-SUMMARY.md` exists and reads top-to-bottom
|
|
58
|
-
as a single story.
|
|
59
|
-
- All decisions surfaced through the SUMMARY frontmatter and rolled up into STATE.md's
|
|
60
|
-
`<decisions>` block.
|
|
61
|
-
|
|
62
|
-
### Cycle level
|
|
63
|
-
|
|
64
|
-
A shipping milestone - typically one minor version bump in the gdd project.
|
|
65
|
-
|
|
66
|
-
- All phases for the cycle's target version complete (per phase level above).
|
|
67
|
-
- 4 manifests version-aligned: `plugin.json`, `marketplace.json`, `package.json`, and
|
|
68
|
-
the phase-20 manifests-version baseline (`test-fixture/baselines/phase-XX/manifests-version.txt`).
|
|
69
|
-
- CHANGELOG.md entry written for the new version with one block per phase.
|
|
70
|
-
- Off-cadence registration if applicable - `tests/semver-compare.test.cjs` adds
|
|
71
|
-
`OFF_CADENCE_VERSIONS.add('<version>')` for `.5`/`.6`/`.7` insertion-style versions.
|
|
72
|
-
- Regression baseline at `test-fixture/baselines/phase-XX/` exists and the
|
|
73
|
-
`tests/phase-XX-baseline.test.cjs` suite passes (version-agnostic - reads
|
|
74
|
-
`package.json#version`).
|
|
75
|
-
- NOTICE attribution updated if any third-party content was adopted in this cycle.
|
|
76
|
-
- Closeout plan's scoped ROADMAP flip touches only this cycle's checkboxes (precedent:
|
|
77
|
-
Phase 28 closeout flipped exactly 7 inline + 1 overview entry).
|
|
78
|
-
|
|
79
|
-
## Cross-references
|
|
80
|
-
|
|
81
|
-
- `./STATE-TEMPLATE.md` - STATE.md schema; closeout updates the `<position>` block's
|
|
82
|
-
`last_checkpoint` field.
|
|
83
|
-
- `../skills/turn-closeout/SKILL.md` - consumer at the turn boundary (within a stage).
|
|
84
|
-
- `../skills/new-cycle/SKILL.md` - consumer at cycle ingress.
|
|
85
|
-
- `../skills/complete-cycle/SKILL.md` - consumer at cycle egress.
|
|
86
|
-
- `../skills/quality-gate/SKILL.md` - Stage 4.5 gate that gates the plan-level "verify
|
|
87
|
-
command runs with exit 0" criterion when project tooling exists.
|
package/skills/scan/SKILL.md
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: scan
|
|
3
|
-
description: "Pre-pipeline initializer that maps an existing repo's design system (colors, typography, spacing, components, tokens), runs the anti-pattern audit, scores the 7 weighted categories, and writes DESIGN.md + .design/DESIGN-DEBT.md. Use when starting work in any new or existing repo before /gdd:discover. Activates for requests involving a fast read-only anti-pattern sweep, a quick design lint, or spotting slop without a full audit."
|
|
4
|
-
argument-hint: "[--quick] [--full]"
|
|
5
|
-
user-invocable: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Get Design Done - Scan
|
|
9
|
-
|
|
10
|
-
**Pre-pipeline initializer.** Run once in any new or existing repo before starting the Discover -> Plan -> Design -> Verify pipeline.
|
|
11
|
-
|
|
12
|
-
Full procedure detail: `./scan-procedure.md`.
|
|
13
|
-
|
|
14
|
-
Produces:
|
|
15
|
-
- `DESIGN.md` - snapshot of the existing design system as it actually is
|
|
16
|
-
- `.design/DESIGN-DEBT.md` - prioritized debt roadmap
|
|
17
|
-
|
|
18
|
-
`--quick`: Skip component inventory, focus on tokens + anti-patterns only (~2 min)
|
|
19
|
-
`--full`: Include component-by-component analysis (slower, more thorough)
|
|
20
|
-
|
|
21
|
-
Default: full scan of tokens, patterns, and anti-patterns. Component inventory is a summary count, not per-file.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## State Integration
|
|
26
|
-
|
|
27
|
-
At scan entry, before running any step:
|
|
28
|
-
|
|
29
|
-
1. Read or create `.design/STATE.md` from `reference/STATE-TEMPLATE.md` (set `stage=scan`, `status=in_progress`, `task_progress=0/8`; preserve `started_at` on resume). See `./scan-procedure.md` §State Integration for the full read/create/resume decision tree.
|
|
30
|
-
2. Probe Figma + Refero connections (variant-agnostic ToolSearch + tiebreaker resolution). Detail: `./scan-procedure.md` §Probe connection availability.
|
|
31
|
-
3. Run the four Phase 8 probes (preview, storybook, chromatic, graphify) and batch-write results to STATE.md `<connections>`. Detail: `./scan-procedure.md` §Phase 8 Connection Probes.
|
|
32
|
-
4. Emit the first-run connection nudge if every probe returned `not_configured` AND `.design/config.json > connections_onboarding` is absent.
|
|
33
|
-
5. Update `last_checkpoint`; persist STATE.md before proceeding to Step 1.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Workflow
|
|
38
|
-
|
|
39
|
-
The scan executes eight steps in order. Each step's full grep commands, analysis prompts, and decision rules live in `./scan-procedure.md` - keep that file open while executing.
|
|
40
|
-
|
|
41
|
-
### Step 1 - Orient
|
|
42
|
-
|
|
43
|
-
Detect framework, CSS approach, component count, style file count, token system. Detect source root by ordered fallback (`src/` -> `app/` -> `pages/` -> `lib/`) and substitute into subsequent grep commands. Log the detected source root in DESIGN.md frontmatter. Detail: `./scan-procedure.md` §Step 1.
|
|
44
|
-
|
|
45
|
-
### Step 2 - Extract Color System
|
|
46
|
-
|
|
47
|
-
Grep hex / `oklch()` / `hsl()` / `rgb()` colors, CSS custom properties, and Tailwind color config. Analyze palette size, token discipline, AI-slop colors (#6366f1, #8b5cf6, #06b6d4), semantic naming, dark-mode purity. Produce a color inventory table. Detail: `./scan-procedure.md` §Step 2.
|
|
48
|
-
|
|
49
|
-
### Step 2A - Figma Token Augmentation
|
|
50
|
-
|
|
51
|
-
If `figma: available` in STATE.md `<connections>`: call `{prefix}get_variable_defs`, translate variables by type/name pattern, merge with grep-derived tokens (never replace). Skip silently if `figma` is `not_configured` or `unavailable`. Detail: `./scan-procedure.md` §Step 2A.
|
|
52
|
-
|
|
53
|
-
### Step 3 - Extract Typography System
|
|
54
|
-
|
|
55
|
-
Grep font families, sizes, weights, line-heights. Analyze family count, scale compliance, weight hierarchy, line-height on body, reflex-font signals. Read `${CLAUDE_PLUGIN_ROOT}/reference/typography.md` for comparison criteria. Detail: `./scan-procedure.md` §Step 3.
|
|
56
|
-
|
|
57
|
-
### Step 4 - Extract Spacing System
|
|
58
|
-
|
|
59
|
-
Grep CSS spacing values, Tailwind spacing overrides, space tokens. Score grid compliance against the 4/8/12/16/24/32/48/64 series. Detail: `./scan-procedure.md` §Step 4.
|
|
60
|
-
|
|
61
|
-
### Step 5 - Anti-Pattern Audit
|
|
62
|
-
|
|
63
|
-
Read `${CLAUDE_PLUGIN_ROOT}/reference/anti-patterns.md`. Run all BAN-XX and SLOP-XX grep commands, plus a11y checks (focus rings, reduced-motion, div onClick, small fonts). Detail: `./scan-procedure.md` §Step 5.
|
|
64
|
-
|
|
65
|
-
### Step 6 - Component Inventory
|
|
66
|
-
|
|
67
|
-
If `--quick`, skip. Otherwise run the three-pass multi-signal filter (JSX-return + className + framework-import) to produce an authoritative component list, then enumerate primitives. In `--full` mode, emit one row per file. Detail: `./scan-procedure.md` §Step 6.
|
|
68
|
-
|
|
69
|
-
### Step 7 - Score All 7 Categories
|
|
70
|
-
|
|
71
|
-
Read `${CLAUDE_PLUGIN_ROOT}/reference/audit-scoring.md`. Score each category 0–10 and apply the weighted formula `(A11Y * 0.25) + (Visual Hierarchy * 0.20) + (Typography * 0.15) + (Color * 0.15) + (Layout * 0.10) + (Anti-Patterns * 0.10) + (Motion * 0.05)`. Grade A=90+, B=75+, C=60+, D=45+, F<45.
|
|
72
|
-
|
|
73
|
-
### Step 8 - Generate Design Debt Roadmap
|
|
74
|
-
|
|
75
|
-
Classify each finding P0/P1/P2/P3, estimate effort XS/S/M/L/XL, group by debt theme, compute `priority_score = (severity_weight * effort_weight) + (dependency_depth * 2)`. Mark P1+XS/S items as quick wins. Detail: `./scan-procedure.md` §Step 8.
|
|
76
|
-
|
|
77
|
-
---
|
|
78
|
-
|
|
79
|
-
## Outputs
|
|
80
|
-
|
|
81
|
-
Write both artifacts using the templates in `./scan-procedure.md`:
|
|
82
|
-
|
|
83
|
-
- **`DESIGN.md`** (project root) - design-system snapshot with score table, color/typography/spacing/component inventories, anti-pattern status, motion summary. Frontmatter records `score`, `framework`, `css_approach`, `token_layer`, and (if Figma ran) `figma_variables_used` + `figma_source`. Template: `./scan-procedure.md` §Output 1.
|
|
84
|
-
- **`.design/DESIGN-DEBT.md`** - prioritized debt roadmap grouped P0/P1/P2/P3, with priority_score ordering, recommended fix order, and pipeline recommendation. Template: `./scan-procedure.md` §Output 2.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## After Writing
|
|
89
|
-
|
|
90
|
-
Print the user-facing summary block from `./scan-procedure.md` §After Writing - project name, score, P0/P1 counts, quick-win count, artifact paths, and next-step options (start pipeline, fix quick wins first, or just reference the debt).
|
|
91
|
-
|
|
92
|
-
## SCAN COMPLETE
|