@hegemonart/get-design-done 1.36.3 → 1.37.2

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.
@@ -0,0 +1,43 @@
1
+ ---
2
+ name: gdd-bootstrap-ds
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
+ argument-hint: "[--primary <color>] [--secondary <color>] [--tone <tags>] [--framework web|native-ios|native-android|flutter]"
5
+ user-invocable: true
6
+ tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, Task
7
+ ---
8
+
9
+ # /gdd:bootstrap-ds
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) — 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
+
13
+ ## When to use
14
+
15
+ - At the start of a brand-new project (no `tailwind.config`, no token file, no DS).
16
+ - When `/gdd:discover` / `design-context-builder` reports **no existing design system** and the user opts to bootstrap one.
17
+
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
+
20
+ ## Steps
21
+
22
+ 1. **Collect the brand input.** From flags, or via `AskUserQuestion` for anything missing:
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
+ 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
+ 3. **Pick a variant.** Surface the 3 variants (primary `500`, type ratio, spacing baseline, radius, feel); the user picks ONE.
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
+
31
+ ## Do Not
32
+
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
+
37
+ ## Output
38
+
39
+ End with:
40
+
41
+ ```
42
+ ## BOOTSTRAP-DS COMPLETE
43
+ ```
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: gdd-connections
3
- description: "Interactive onboarding wizard for the 21 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`), 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."
3
+ description: "Interactive onboarding wizard for the 27 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`), 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
@@ -8,11 +8,11 @@ tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, ToolSearch
8
8
 
9
9
  # /gdd:connections
10
10
 
11
- Interactive onboarding for the 21 external integrations the pipeline supports. Replaces "probe silently at scan entry and hope the user noticed" with an explicit "here is what can plug in, here is how."
11
+ Interactive onboarding for the 27 external integrations the pipeline supports. Replaces "probe silently at scan entry and hope the user noticed" with an explicit "here is what can plug in, here is how."
12
12
 
13
13
  Canonical per-connection specs live in `../../connections/<name>.md` (one file per integration). The capability matrix + probe-pattern spec live in `../../connections/connections.md`. This skill is the **user-facing front end** for those specs.
14
14
 
15
- For the 21 probe scripts (MCP + HTTP + CLI + file probes), bucket categorization, per-connection setup screen, auto-run eligibility matrix, value-prop one-liners, and STATE.md / config.json write contracts, see `./connections-onboarding.md`. For the cross-skill probe pattern + connection-handshake summary, see `../../reference/shared-preamble.md#connection-handshake-summary`. For the cross-skill output discipline, see `../../reference/shared-preamble.md#output-contract-reminders`.
15
+ For the 27 probe scripts (MCP + HTTP + CLI + file probes), bucket categorization, per-connection setup screen, auto-run eligibility matrix, value-prop one-liners, and STATE.md / config.json write contracts, see `./connections-onboarding.md`. For the cross-skill probe pattern + connection-handshake summary, see `../../reference/shared-preamble.md#connection-handshake-summary`. For the cross-skill output discipline, see `../../reference/shared-preamble.md#output-contract-reminders`.
16
16
 
17
17
  ---
18
18
 
@@ -38,7 +38,7 @@ For the 21 probe scripts (MCP + HTTP + CLI + file probes), bucket categorization
38
38
 
39
39
  ## Workflow
40
40
 
41
- 1. **Probe all 21 connections** — run every probe script per `./connections-onboarding.md#step-1--probe-all-21-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.
41
+ 1. **Probe all 27 connections** — run every probe script per `./connections-onboarding.md#step-1--probe-all-27-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
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
43
  3. **Print summary table** — show buckets + value-prop one-liners (verbatim from `./connections-onboarding.md#step-3--summary-table`).
44
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`.
@@ -9,7 +9,7 @@ last_updated: 2026-05-18
9
9
 
10
10
  Source: extracted from `skills/connections/SKILL.md` (Phase 28.5 rework — D-10 extract-then-link).
11
11
  The skill's load-bearing routing + invocation-mode dispatch stays in `../skills/connections/SKILL.md`;
12
- this file holds the 21 probe scripts, bucket categorization, per-connection setup screen,
12
+ this file holds the 27 probe scripts, bucket categorization, per-connection setup screen,
13
13
  auto-run eligibility matrix, value-prop one-liners, and STATE.md / config.json write contracts.
14
14
 
15
15
  # Connections Onboarding Procedure
@@ -27,7 +27,7 @@ this file does NOT duplicate them; it points at them by name.
27
27
 
28
28
  ---
29
29
 
30
- ## Step 1 — Probe all 21 connections
30
+ ## Step 1 — Probe all 27 connections
31
31
 
32
32
  Run every probe below in order. MCP probes call `ToolSearch` first (deferred tools fail silently without it). Write every result to `STATE.md <connections>` when done.
33
33
 
@@ -196,7 +196,49 @@ Bash: find . -name "*.riv" -not -path "*/node_modules/*" 2>/dev/null | head
196
196
  → none → rive: not_configured
197
197
  ```
198
198
 
199
- After all 21 probes complete, merge results into `STATE.md <connections>`. Preserve the three-value schema verbatim (`available | unavailable | not_configured`). Do not add new values.
199
+ **framer:** (AI-native Wave 2 canvas; MCP or API token)
200
+ ```
201
+ ToolSearch({ query: "framer", max_results: 5 })
202
+ → Empty → framer: not_configured
203
+ → Non-empty → framer: available
204
+ ```
205
+
206
+ **penpot:** (AI-native Wave 2 — canvas; self-hosted URL/token or cloud)
207
+ ```
208
+ ToolSearch({ query: "penpot", max_results: 5 })
209
+ → Empty → penpot: not_configured
210
+ → Non-empty → penpot: available
211
+ ```
212
+
213
+ **webflow:** (AI-native Wave 2 — generator; MCP or WEBFLOW token)
214
+ ```
215
+ ToolSearch({ query: "webflow", max_results: 5 })
216
+ → Empty → webflow: not_configured
217
+ → Non-empty → webflow: available
218
+ ```
219
+
220
+ **v0-dev:** (AI-native Wave 2 — generator; MCP-first, else V0_API_KEY)
221
+ ```
222
+ ToolSearch({ query: "v0", max_results: 5 })
223
+ → Empty → v0-dev: not_configured
224
+ → Non-empty → v0-dev: available
225
+ ```
226
+
227
+ **plasmic:** (AI-native Wave 2 — generator+canvas; MCP or token)
228
+ ```
229
+ ToolSearch({ query: "plasmic", max_results: 5 })
230
+ → Empty → plasmic: not_configured
231
+ → Non-empty → plasmic: available
232
+ ```
233
+
234
+ **builder-io:** (AI-native Wave 2 — generator; MCP-first, else BUILDER_API_KEY)
235
+ ```
236
+ ToolSearch({ query: "builder", max_results: 5 })
237
+ → Empty → builder-io: not_configured
238
+ → Non-empty → builder-io: available
239
+ ```
240
+
241
+ After all 27 probes complete, merge results into `STATE.md <connections>`. Preserve the three-value schema verbatim (`available | unavailable | not_configured`). Do not add new values.
200
242
 
201
243
  ---
202
244
 
@@ -286,6 +328,12 @@ One-line value props (use verbatim):
286
328
  | notion | export — `/gdd:export --format notion` writes a stakeholder page (degrade-to-HTML) |
287
329
  | lottie | verify — Lottie JSON motion check (frame-rate / duration / bloat / perf-budget), WARN-never-block |
288
330
  | rive | verify — Rive `.riv` motion check (size + state-machine reachability via the opt-in runtime), WARN-never-block |
331
+ | framer | design — read Framer frames + write proposals (canvas, Wave 2) |
332
+ | penpot | design — open-source Figma alt; read boards (self-hosted or cloud) |
333
+ | webflow | design — read site structure as an adaptation source (Wave 2) |
334
+ | v0-dev | generator — Vercel v0 prompt→component (MCP-first → REST + V0_API_KEY) |
335
+ | plasmic | generator + canvas — emit code + read the Plasmic canvas |
336
+ | builder-io | generator — Builder.io Visual Copilot (pull-only this phase) |
289
337
 
290
338
  ---
291
339
 
@@ -313,7 +361,7 @@ options:
313
361
  - "Exit" → emit ## CONNECTIONS COMPLETE, exit
314
362
  ```
315
363
 
316
- If recommended bucket is empty, swap that option for "Show all 21 and pick."
364
+ If recommended bucket is empty, swap that option for "Show all 27 and pick."
317
365
 
318
366
  ---
319
367
 
@@ -379,6 +427,12 @@ options:
379
427
  | notion | `claude mcp add notion ...` (Notion MCP) | ✓ yes | Reversible MCP add; OAuth on first call |
380
428
  | lottie | (file-based — no install; drop a Lottie `.json` export in the repo) | n/a | Detected from Lottie exports / a `lottie-web` dep; live player opt-in |
381
429
  | rive | (file-based — no install; add a `.riv` export / `@rive-app` dep) | n/a | Detected from `.riv` files / a `@rive-app` dep; Rive runtime opt-in |
430
+ | framer | `claude mcp add framer ...` (or API token) | ✓ yes | Reversible MCP add; canvas-category |
431
+ | penpot | `claude mcp add penpot ...` (self-hosted URL or cloud + token) | ✓ yes | Reversible; self-host vs cloud |
432
+ | webflow | `claude mcp add webflow ...` (or WEBFLOW token) | ✓ yes | Reversible; reads structure, not CMS authoring |
433
+ | v0-dev | `claude mcp add v0 ...` (or V0_API_KEY) | ✓ yes | Reversible; MCP-first → REST fallback |
434
+ | plasmic | `claude mcp add plasmic ...` (or token) | ✓ yes | Reversible; dual canvas+generator |
435
+ | builder-io | `claude mcp add builder ...` (or BUILDER_API_KEY) | ✓ yes | Reversible; pull-only this phase |
382
436
 
383
437
  For non-auto-run connections, hide the "Run install command now" option entirely in 5.3.
384
438