@hegemonart/get-design-done 1.14.3 → 1.14.5

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.
@@ -24,10 +24,9 @@ Flags:
24
24
 
25
25
  ## Prerequisites
26
26
 
27
- 1. Figma desktop app running with Dev Mode enabled
28
- 2. Remote Figma MCP registered: `claude mcp add figma --transport http https://mcp.figma.com/v1/sse`
29
- 3. `.design/DESIGN-CONTEXT.md` exists (run `discover` first)
30
- 4. `figma: available` in `.design/STATE.md` `<connections>` block
27
+ 1. Remote Figma MCP registered (writes are remote-only). Preferred: `claude plugin install figma@claude-plugins-official`. Manual: `claude mcp add --transport http figma https://mcp.figma.com/mcp`.
28
+ 2. `.design/DESIGN-CONTEXT.md` exists (run `discover` first)
29
+ 3. `.design/STATE.md` `<connections>` shows `figma: available (…, writes=true)`. If `writes=false` (desktop-only variant), writes are not supported — the agent will STOP with an instruction to install the remote MCP.
31
30
 
32
31
  ## Required Reading
33
32
 
@@ -43,7 +43,7 @@ One-time project initialization. Replaces "run scan cold" by gathering context u
43
43
  Files named `design-*-conventions.md` are read by explore/plan/design.
44
44
  Populated by `/gdd:sketch-wrap-up` and manual edits.
45
45
  ```
46
- 10. Print: "Project initialized. Run `/gdd:brief` to capture your design problem, or `/gdd:explore` to scan directly."
46
+ 10. Print: "Project initialized. Run `/gdd:brief` to capture your design problem, or `/gdd:explore` to scan directly. Run `/gdd:connections` to wire up optional integrations (Figma, Storybook, Chromatic, etc.)."
47
47
 
48
48
  ## Do Not
49
49
 
@@ -31,6 +31,16 @@ Next: /gdd:<next-stage>
31
31
 
32
32
  Recommend next stage via the same logic as `/gdd:next` (route by which artifacts exist).
33
33
 
34
+ ### First-run connection nudge
35
+
36
+ After the pipeline state block, check STATE.md `<connections>`. If every entry is `not_configured` AND `.design/config.json > connections_onboarding` is absent (user has never run the wizard), append once:
37
+
38
+ ```
39
+ Tip: run /gdd:connections to see what integrations can plug in (Figma, Storybook, Chromatic, etc.).
40
+ ```
41
+
42
+ Suppress the nudge on subsequent invocations in the same session (track via a transient marker file `.design/.connections-nudge-shown` written at first emit, deleted on next session start by no mechanism — so effectively once per session).
43
+
34
44
  ## Step 3 — Forensic audit (only if `--forensic`)
35
45
 
36
46
  Run these six checks and print PASS/WARN/FAIL per check:
@@ -39,18 +39,30 @@ At scan entry, before running any step:
39
39
 
40
40
  Run both probes below. MCP tools may be in the deferred tool set — **always call ToolSearch first**; without it, a deferred tool invocation fails silently.
41
41
 
42
- **Figma probe (single probe covers both reads and writes remote MCP exposes `get_metadata`, `get_variable_defs`, `use_figma` on the same server):**
42
+ **Figma probe (variant-agnosticresolves any server prefix matching `/figma/i`):**
43
43
 
44
44
  ```
45
- Step A1 — ToolSearch check:
46
- ToolSearch({ query: "select:mcp__figma__get_metadata", max_results: 1 })
47
- → Empty result → figma: not_configured (skip all Figma steps)
48
- → Non-empty result → proceed to Step A2
45
+ Step A1 — Keyword ToolSearch:
46
+ ToolSearch({ query: "figma get_metadata use_figma", max_results: 10 })
49
47
 
50
- Step A2 Live tool call:
51
- call mcp__figma__get_metadata
52
- Success figma: available (reads AND use_figma writes both available)
53
- → Error → figma: unavailable (skip all Figma steps)
48
+ Parse results for tool names matching:
49
+ - /^mcp__([^_]*figma[^_]*)__get_metadata$/i read-capable prefix set
50
+ - /^mcp__([^_]*figma[^_]*)__use_figma$/i write-capable prefix set
51
+
52
+ Empty read set → figma: not_configured (skip all Figma steps)
53
+ One or more matches → proceed to Step A2
54
+
55
+ Step A2 — Tiebreaker selection:
56
+ Preference order when multiple read prefixes match:
57
+ 1. Prefer prefixes that appear in BOTH read set and write set
58
+ 2. Prefer `figma` (canonical remote server name)
59
+ 3. Prefer non-`figma-desktop`
60
+ 4. Alphabetical
61
+
62
+ Step A3 — Live tool call on resolved prefix:
63
+ call mcp__<prefix>__get_metadata
64
+ → Success → figma: available (prefix=mcp__<prefix>__, writes=<true|false>)
65
+ → Error → figma: unavailable (skip all Figma steps)
54
66
  ```
55
67
 
56
68
  **Refero probe:**
@@ -138,6 +150,14 @@ Write: graphify: <status> to STATE.md <connections>
138
150
 
139
151
  After all 4 probes, STATE.md `<connections>` contains all 4 status entries (plus the Wave A `figma:` and `refero:` probes = 6 total entries). Downstream plans (08-02 through 08-05) read these values without re-probing.
140
152
 
153
+ **First-run connection nudge:** after writing STATE.md, check whether every probed connection came back `not_configured` AND `.design/config.json > connections_onboarding` is absent. If so, print once at the end of scan output:
154
+
155
+ ```
156
+ Tip: run /gdd:connections to walk through setup for Figma, Storybook, Chromatic, and 9 other integrations.
157
+ ```
158
+
159
+ Suppress the nudge if any probe returned `available` or `unavailable`, or if the user has already run `/gdd:connections` (marker: `connections_onboarding` block present or previously drained).
160
+
141
161
  ### Write STATE.md
142
162
 
143
163
  Update `.design/STATE.md` with probe results:
@@ -228,7 +248,7 @@ Produce a color inventory table:
228
248
 
229
249
  ### If `figma: available`
230
250
 
231
- Call `mcp__figma__get_variable_defs` (no arguments — returns all variables in the active Figma file).
251
+ Read the resolved prefix from STATE.md `<connections>` (e.g., `prefix=mcp__figma__` or `prefix=mcp__figma-desktop__`) and call `{prefix}get_variable_defs` (no arguments — returns all variables in the active Figma file).
232
252
 
233
253
  > If no Figma file is open, the call errors. Treat any error as a graceful skip: update STATE.md `<connections>` to `figma: unavailable` and continue with Step 2 results only.
234
254
 
@@ -28,13 +28,14 @@ Run at stage entry, after reading STATE.md:
28
28
  ```
29
29
  Step P1 — ToolSearch check:
30
30
  ToolSearch({ query: "Claude_Preview", max_results: 5 })
31
- → Empty result → preview: not_configured (skip all Preview steps in this stage)
31
+ → Empty result → preview: not_loaded (MCP not registered — skip all Preview steps in this stage)
32
32
  → Non-empty result → proceed to Step P2
33
33
 
34
34
  Step P2 — Live tool call:
35
35
  call mcp__Claude_Preview__preview_list
36
- → Success → preview: available
37
- → Error → preview: unavailable
36
+ → Success → preview: available
37
+ → Error containing "permission"/blocked → preview: permission_denied
38
+ → Any other error → preview: unreachable
38
39
 
39
40
  Write preview status to .design/STATE.md <connections>.
40
41
  ```