@hegemonart/get-design-done 1.28.5 → 1.28.6
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 +56 -0
- package/package.json +1 -1
- package/reference/registry.json +0 -140
- package/reference/skill-authoring-contract.md +40 -9
- package/skills/apply-reflections/SKILL.md +1 -1
- package/skills/cache-manager/SKILL.md +2 -2
- package/skills/compare/SKILL.md +8 -8
- package/skills/connections/SKILL.md +9 -9
- package/skills/darkmode/SKILL.md +8 -8
- package/skills/debug/SKILL.md +3 -3
- package/skills/design/SKILL.md +6 -6
- package/skills/discover/SKILL.md +7 -7
- package/skills/explore/SKILL.md +6 -6
- package/skills/health/SKILL.md +2 -2
- package/skills/new-cycle/SKILL.md +1 -1
- package/skills/peer-cli-add/SKILL.md +6 -6
- package/skills/peer-cli-customize/SKILL.md +5 -5
- package/skills/peers/SKILL.md +2 -2
- package/skills/plan/SKILL.md +10 -10
- package/skills/quality-gate/SKILL.md +1 -1
- package/skills/router/SKILL.md +3 -3
- package/skills/scan/SKILL.md +17 -17
- package/skills/start/SKILL.md +1 -1
- package/skills/style/SKILL.md +5 -5
- package/skills/turn-closeout/SKILL.md +1 -1
- package/skills/verify/SKILL.md +10 -10
- package/skills/warm-cache/SKILL.md +2 -2
- /package/{reference → skills/apply-reflections}/apply-reflections-procedure.md +0 -0
- /package/{reference → skills/cache-manager}/cache-policy.md +0 -0
- /package/{reference → skills/compare}/compare-rubric.md +0 -0
- /package/{reference → skills/connections}/connections-onboarding.md +0 -0
- /package/{reference → skills/darkmode}/darkmode-audit-procedure.md +0 -0
- /package/{reference → skills/debug}/debug-feedback-loops.md +0 -0
- /package/{reference → skills/design}/design-procedure.md +0 -0
- /package/{reference → skills/discover}/discover-procedure.md +0 -0
- /package/{reference → skills/explore}/explore-procedure.md +0 -0
- /package/{reference → skills/health}/health-mcp-detection.md +0 -0
- /package/{reference → skills/health}/health-skill-length-report.md +0 -0
- /package/{reference → skills/new-cycle}/milestone-completeness-rubric.md +0 -0
- /package/{reference → skills/peer-cli-add}/peer-cli-protocol.md +0 -0
- /package/{reference → skills/plan}/plan-procedure.md +0 -0
- /package/{reference → skills/quality-gate}/threat-modeling.md +0 -0
- /package/{reference → skills/router}/router-rules.md +0 -0
- /package/{reference → skills/scan}/scan-procedure.md +0 -0
- /package/{reference → skills/start}/start-procedure.md +0 -0
- /package/{reference → skills/style}/style-doc-procedure.md +0 -0
- /package/{reference → skills/verify}/verify-procedure.md +0 -0
package/skills/discover/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ user-invocable: true
|
|
|
9
9
|
|
|
10
10
|
**Stage 1.5 of 4.** Produces `.design/DESIGN-CONTEXT.md`.
|
|
11
11
|
|
|
12
|
-
Full procedure detail:
|
|
12
|
+
Full procedure detail: `./discover-procedure.md`.
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -19,26 +19,26 @@ Full procedure detail: `../../reference/discover-procedure.md`.
|
|
|
19
19
|
- **Missing** -> create minimal skeleton from `reference/STATE-TEMPLATE.md` (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."
|
|
20
20
|
- **Present + stage==discover + status==in_progress** -> RESUME (continue interview; do not reset).
|
|
21
21
|
- **Otherwise** -> normal transition: set frontmatter stage=discover, `<position>` stage=discover, status=in_progress, task_progress=0/1.
|
|
22
|
-
2. Probe connection availability. ToolSearch runs FIRST (MCP tools may be in the deferred tool set). Run three probes — A (Figma, variant-agnostic with prefix tiebreaker), B (Refero, ToolSearch-only), C (Pinterest, ToolSearch-only). After all probes, write `<connections>` to STATE.md so the builder doesn't re-probe. Full probe specs:
|
|
22
|
+
2. Probe connection availability. ToolSearch runs FIRST (MCP tools may be in the deferred tool set). Run three probes — A (Figma, variant-agnostic with prefix tiebreaker), B (Refero, ToolSearch-only), C (Pinterest, ToolSearch-only). After all probes, write `<connections>` to STATE.md so the builder doesn't re-probe. Full probe specs: `./discover-procedure.md` §Connection Probes.
|
|
23
23
|
3. Update `last_checkpoint`. Write STATE.md.
|
|
24
24
|
|
|
25
25
|
---
|
|
26
26
|
|
|
27
27
|
## Auto Mode
|
|
28
28
|
|
|
29
|
-
When `--auto` is passed to the builder: if `tailwind.config.{js,cjs,mjs,ts}` exists -> Tailwind-only project (skip CSS file grep, parse tailwind.config for palette/spacing/font, use those as the baseline style signal). Else fall through to the existing CSS file grep logic. Detail:
|
|
29
|
+
When `--auto` is passed to the builder: if `tailwind.config.{js,cjs,mjs,ts}` exists -> Tailwind-only project (skip CSS file grep, parse tailwind.config for palette/spacing/font, use those as the baseline style signal). Else fall through to the existing CSS file grep logic. Detail: `./discover-procedure.md` §Auto Mode.
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
33
|
## Step 1 — Spawn design-context-builder
|
|
34
34
|
|
|
35
|
-
Spawn `design-context-builder` -> `.design/DESIGN-CONTEXT.md`. The agent auto-detects via grep/glob first and interviews only for areas where auto-detect returned no confident answer. Baseline audit directory chain: `src/` -> `app/` -> `pages/` -> `lib/` -> flag "layout unknown". Common gray areas to probe (Area 7): font-change risk, token-layer introduction risk, component rebuild-vs-restyle. Wait for `## CONTEXT COMPLETE`, then update STATE.md `task_progress = 0.5`. Full prompt:
|
|
35
|
+
Spawn `design-context-builder` -> `.design/DESIGN-CONTEXT.md`. The agent auto-detects via grep/glob first and interviews only for areas where auto-detect returned no confident answer. Baseline audit directory chain: `src/` -> `app/` -> `pages/` -> `lib/` -> flag "layout unknown". Common gray areas to probe (Area 7): font-change risk, token-layer introduction risk, component rebuild-vs-restyle. Wait for `## CONTEXT COMPLETE`, then update STATE.md `task_progress = 0.5`. Full prompt: `./discover-procedure.md` §Step 1.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## Step 1.75 — Lazy gate: should design-context-checker run? (Plan 10.1-04, D-21)
|
|
40
40
|
|
|
41
|
-
Spawn the cheap Haiku gate `design-context-checker-gate` before the full checker. It applies the single-file heuristic (is `DESIGN-CONTEXT.md` in `git diff --name-only HEAD~1..HEAD`?) and emits JSON + `## GATE COMPLETE`. On `spawn: false`: append `lazy_skipped: true` telemetry row, skip Step 2, set STATE.md `<position>` as if checker passed. On `spawn: true`: proceed to Step 2. On first-run discover the gate always returns `spawn: true` (builder just wrote the file); the gate meaningfully short-circuits only on re-runs where the builder made no changes. Full prompt:
|
|
41
|
+
Spawn the cheap Haiku gate `design-context-checker-gate` before the full checker. It applies the single-file heuristic (is `DESIGN-CONTEXT.md` in `git diff --name-only HEAD~1..HEAD`?) and emits JSON + `## GATE COMPLETE`. On `spawn: false`: append `lazy_skipped: true` telemetry row, skip Step 2, set STATE.md `<position>` as if checker passed. On `spawn: true`: proceed to Step 2. On first-run discover the gate always returns `spawn: true` (builder just wrote the file); the gate meaningfully short-circuits only on re-runs where the builder made no changes. Full prompt: `./discover-procedure.md` §Step 1.75.
|
|
42
42
|
|
|
43
43
|
**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, wire synthesize between dispatch and collate as in `skills/map/` Step 3.5.
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ Spawn the cheap Haiku gate `design-context-checker-gate` before the full checker
|
|
|
46
46
|
|
|
47
47
|
## Step 2 — Spawn design-context-checker
|
|
48
48
|
|
|
49
|
-
Spawn `design-context-checker` with `<required_reading>` on STATE.md + DESIGN-CONTEXT.md. The agent validates DESIGN-CONTEXT.md across 6 dimensions and returns APPROVED or BLOCKED with per-dimension verdicts. Wait for `## CONTEXT CHECK COMPLETE`. Full prompt:
|
|
49
|
+
Spawn `design-context-checker` with `<required_reading>` on STATE.md + DESIGN-CONTEXT.md. The agent validates DESIGN-CONTEXT.md across 6 dimensions and returns APPROVED or BLOCKED with per-dimension verdicts. Wait for `## CONTEXT CHECK COMPLETE`. Full prompt: `./discover-procedure.md` §Step 2.
|
|
50
50
|
|
|
51
51
|
---
|
|
52
52
|
|
|
@@ -67,6 +67,6 @@ Spawn `design-context-checker` with `<required_reading>` on STATE.md + DESIGN-CO
|
|
|
67
67
|
|
|
68
68
|
## After Writing
|
|
69
69
|
|
|
70
|
-
Print the "=== Discovery complete ===" block with saved path, baseline score, top key issues, and next step (`/get-design-done:plan`). Do not proceed to planning automatically unless `--auto` was passed. Template:
|
|
70
|
+
Print the "=== Discovery complete ===" block with saved path, baseline score, top key issues, and next step (`/get-design-done:plan`). Do not proceed to planning automatically unless `--auto` was passed. Template: `./discover-procedure.md` §After Writing.
|
|
71
71
|
|
|
72
72
|
## DISCOVER COMPLETE
|
package/skills/explore/SKILL.md
CHANGED
|
@@ -11,7 +11,7 @@ tools: Read, Write, Bash, Grep, Glob, Task, AskUserQuestion, mcp__gdd_state__get
|
|
|
11
11
|
|
|
12
12
|
**Purpose:** Unified exploration merging the former `scan` (inventory grep) and `discover` (context interview) stages. Produces `.design/DESIGN.md`, `.design/DESIGN-DEBT.md`, and `.design/DESIGN-CONTEXT.md`.
|
|
13
13
|
|
|
14
|
-
Full procedure detail:
|
|
14
|
+
Full procedure detail: `./explore-procedure.md`.
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
@@ -35,11 +35,11 @@ Probe six connections, then batch-write results via ONE `mcp__gdd_state__probe_c
|
|
|
35
35
|
- **E — paper.design**: ToolSearch `mcp__paper` + live `get_selection` call.
|
|
36
36
|
- **F — pencil.dev**: `find . -name "*.pen"` file-presence.
|
|
37
37
|
|
|
38
|
-
Full probe specs + commit-results JSON shape:
|
|
38
|
+
Full probe specs + commit-results JSON shape: `./explore-procedure.md` §Step 1.
|
|
39
39
|
|
|
40
40
|
## Step 1.5 — 21st.dev Prior-Art Check (when `21st-dev: available`)
|
|
41
41
|
|
|
42
|
-
For each greenfield component in scope: `21st_magic_component_search(component_name, limit: 3)`. Fit >= 80% -> add `<prior-art>` block to DESIGN.md recommending adoption; fit < 80% -> note as reference, build custom. If `svgl_get_brand_logo` available and brand assets are in scope, call per logo and save SVGs to `.design/assets/`. Skip entirely if no greenfield components in scope. Detail:
|
|
42
|
+
For each greenfield component in scope: `21st_magic_component_search(component_name, limit: 3)`. Fit >= 80% -> add `<prior-art>` block to DESIGN.md recommending adoption; fit < 80% -> note as reference, build custom. If `svgl_get_brand_logo` available and brand assets are in scope, call per logo and save SVGs to `.design/assets/`. Skip entirely if no greenfield components in scope. Detail: `./explore-procedure.md` §Step 1.5.
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
@@ -49,9 +49,9 @@ For each greenfield component in scope: `21st_magic_component_search(component_n
|
|
|
49
49
|
|
|
50
50
|
**Parallelism decision**: read `.design/config.json` + `reference/parallelism-rules.md`. Record verdict via `mcp__gdd_state__set_status` (`"explore_parallel"` / `"explore_serial"`). Parallel -> multiple `Task()` in one response; serial -> sequential.
|
|
51
51
|
|
|
52
|
-
Run the canonical scan grep/glob inventory (POSIX ERE, preserving PLAT-01/02): component detection (Glob `**/*.{tsx,jsx,vue,svelte}`), color extraction (hex / rgb / hsl / Tailwind arbitrary), typography scan (font-family / Tailwind `font-*` / `text-*`), motion scan (`transition` / `animate-` / `@keyframes` / `framer-motion`), token detection (tailwind.config / CSS custom properties / token JSON), layout detection (ordered fallback `src/` -> `app/` -> `pages/` -> `lib/` -> unknown). Write `.design/DESIGN.md` + `.design/DESIGN-DEBT.md`. Then `mcp__gdd_state__update_progress` for scan progress. Detail:
|
|
52
|
+
Run the canonical scan grep/glob inventory (POSIX ERE, preserving PLAT-01/02): component detection (Glob `**/*.{tsx,jsx,vue,svelte}`), color extraction (hex / rgb / hsl / Tailwind arbitrary), typography scan (font-family / Tailwind `font-*` / `text-*`), motion scan (`transition` / `animate-` / `@keyframes` / `framer-motion`), token detection (tailwind.config / CSS custom properties / token JSON), layout detection (ordered fallback `src/` -> `app/` -> `pages/` -> `lib/` -> unknown). Write `.design/DESIGN.md` + `.design/DESIGN-DEBT.md`. Then `mcp__gdd_state__update_progress` for scan progress. Detail: `./explore-procedure.md` §Step 2.
|
|
53
53
|
|
|
54
|
-
**Step 2.x — i18n readiness probe (informational, per D-04)**: check `package.json` deps against `{react-intl, next-intl, i18next, vue-i18n, formatjs, lingui}` -> `framework-managed`; else grep `Intl.(DateTimeFormat|NumberFormat|...)` in `src/` -> `partial`; else `none`. Emit single line `Localization readiness: <state>` in the report. NO gate, NO blocking — surface signal only (D-07). Detail:
|
|
54
|
+
**Step 2.x — i18n readiness probe (informational, per D-04)**: check `package.json` deps against `{react-intl, next-intl, i18next, vue-i18n, formatjs, lingui}` -> `framework-managed`; else grep `Intl.(DateTimeFormat|NumberFormat|...)` in `src/` -> `partial`; else `none`. Emit single line `Localization readiness: <state>` in the report. NO gate, NO blocking — surface signal only (D-07). Detail: `./explore-procedure.md` §Step 2.x.
|
|
55
55
|
|
|
56
56
|
## Step 2.5 — Detect prior sketches and project-local conventions
|
|
57
57
|
|
|
@@ -71,7 +71,7 @@ Run the canonical scan grep/glob inventory (POSIX ERE, preserving PLAT-01/02): c
|
|
|
71
71
|
- **3.d Record after each answer**: `mcp__gdd_state__add_decision` (atomic, auto-assigns D-NN); append a quality-classified JSON line to `.design/learnings/question-quality.jsonl`.
|
|
72
72
|
- **3.e Produce DESIGN-CONTEXT.md**: summarize locked decisions, remaining gray areas, Figma tentatives. Frontmatter `status: complete`.
|
|
73
73
|
|
|
74
|
-
Full interview protocol + JSON line schema:
|
|
74
|
+
Full interview protocol + JSON line schema: `./explore-procedure.md` §Step 3.
|
|
75
75
|
|
|
76
76
|
---
|
|
77
77
|
|
package/skills/health/SKILL.md
CHANGED
|
@@ -55,7 +55,7 @@ Health: 5 / 6 checks passing.
|
|
|
55
55
|
|
|
56
56
|
## Check MCP registration (gdd-mcp)
|
|
57
57
|
|
|
58
|
-
After the health table, inspect whether `gdd-mcp` (Phase 27.7+) is registered with any installed harness and render a one-line status row. Dismissable via `.design/config.json#mcp_nudge=false`. Non-blocking: failure paths render `MCP server: unknown` rather than crash. Full detection procedure (dismissal check, detection via `scripts/lib/install/mcp-register.cjs`, row rendering for claude/codex/both/neither, fallback) lives in `./
|
|
58
|
+
After the health table, inspect whether `gdd-mcp` (Phase 27.7+) is registered with any installed harness and render a one-line status row. Dismissable via `.design/config.json#mcp_nudge=false`. Non-blocking: failure paths render `MCP server: unknown` rather than crash. Full detection procedure (dismissal check, detection via `scripts/lib/install/mcp-register.cjs`, row rendering for claude/codex/both/neither, fallback) lives in `./health-mcp-detection.md`.
|
|
59
59
|
|
|
60
60
|
## Update notice (safe-window surface)
|
|
61
61
|
|
|
@@ -74,7 +74,7 @@ After the health table, surface the Phase 28.5 skill-authoring contract drift si
|
|
|
74
74
|
- `Skill-length: <total> total | <clean> clean | <warnings> warn (>=100) | <blockers> block (>=250)`
|
|
75
75
|
- If blockers > 0: list each blocker as a row `- <name> (<lines> lines)`. Else: print `All skills within contract.`
|
|
76
76
|
|
|
77
|
-
Thresholds: warn >=100, block >=250 (D-01). Strict description-format off by default (D-02). See `./
|
|
77
|
+
Thresholds: warn >=100, block >=250 (D-01). Strict description-format off by default (D-02). See `./health-skill-length-report.md` for the JSON shape and threshold rationale.
|
|
78
78
|
|
|
79
79
|
## Do Not
|
|
80
80
|
|
|
@@ -7,7 +7,7 @@ tools: Read, Write, AskUserQuestion
|
|
|
7
7
|
|
|
8
8
|
# /gdd:new-cycle
|
|
9
9
|
|
|
10
|
-
The cycle is the hierarchical unit above individual pipeline runs: **Cycle > Pipeline run > Wave > Task**. Each cycle has a goal, tracks its own decisions, and can span many pipeline runs. See `./
|
|
10
|
+
The cycle is the hierarchical unit above individual pipeline runs: **Cycle > Pipeline run > Wave > Task**. Each cycle has a goal, tracks its own decisions, and can span many pipeline runs. See `./milestone-completeness-rubric.md` §"Cycle level" for what counts as cycle completion (used by `/gdd:complete-cycle` to close the cycle).
|
|
11
11
|
|
|
12
12
|
## Steps
|
|
13
13
|
|
|
@@ -11,7 +11,7 @@ tools: Read, Edit, Write, Bash, Grep
|
|
|
11
11
|
|
|
12
12
|
## Role
|
|
13
13
|
|
|
14
|
-
You add a brand-new peer-CLI to gdd's delegation layer. v1.27.0 ships 5 peers (codex, gemini, cursor, copilot, qwen). When the user wants a 6th — a peer that exists in the wild but isn't in our capability matrix — you walk them through the verification ladder and produce the 3-file footprint that integrates the peer cleanly. The procedural ladder, adapter scaffold shape, and verification gate live in `./
|
|
14
|
+
You add a brand-new peer-CLI to gdd's delegation layer. v1.27.0 ships 5 peers (codex, gemini, cursor, copilot, qwen). When the user wants a 6th — a peer that exists in the wild but isn't in our capability matrix — you walk them through the verification ladder and produce the 3-file footprint that integrates the peer cleanly. The procedural ladder, adapter scaffold shape, and verification gate live in `./peer-cli-protocol.md`.
|
|
15
15
|
|
|
16
16
|
## Invocation Contract
|
|
17
17
|
|
|
@@ -22,7 +22,7 @@ You add a brand-new peer-CLI to gdd's delegation layer. v1.27.0 ships 5 peers (c
|
|
|
22
22
|
|
|
23
23
|
### Step 1 — Verification ladder (no edits yet)
|
|
24
24
|
|
|
25
|
-
Walk the four-rung ladder in `./
|
|
25
|
+
Walk the four-rung ladder in `./peer-cli-protocol.md` §"Verification ladder":
|
|
26
26
|
|
|
27
27
|
1. Binary on PATH (`which` / `where`).
|
|
28
28
|
2. Handshake test (`initialize` JSON-RPC over stdin; capture reply).
|
|
@@ -33,13 +33,13 @@ Stop at the first failing rung. Do not proceed to scaffold a broken adapter.
|
|
|
33
33
|
|
|
34
34
|
### Step 2 — Generate the adapter scaffold
|
|
35
35
|
|
|
36
|
-
Copy one of `scripts/lib/peer-cli/adapters/{codex,gemini,cursor,copilot,qwen}.cjs` as the template (pick by protocol — ASP for `<protocol>=asp`, else ACP). Replace `ROLES_CLAIMED`, `ROLE_PREFIX`, `name`, `protocol` with the user's values from Step 1. The full adapter scaffold shape — `claims`, `dispatch`, exports — lives in `./
|
|
36
|
+
Copy one of `scripts/lib/peer-cli/adapters/{codex,gemini,cursor,copilot,qwen}.cjs` as the template (pick by protocol — ASP for `<protocol>=asp`, else ACP). Replace `ROLES_CLAIMED`, `ROLE_PREFIX`, `name`, `protocol` with the user's values from Step 1. The full adapter scaffold shape — `claims`, `dispatch`, exports — lives in `./peer-cli-protocol.md` §"Adapter scaffold shape" so consumers (codex/gemini/cursor/copilot/qwen) stay byte-similar.
|
|
37
37
|
|
|
38
38
|
Write the result to `scripts/lib/peer-cli/adapters/<new-peer-id>.cjs`.
|
|
39
39
|
|
|
40
40
|
### Step 3 — Three-file footprint
|
|
41
41
|
|
|
42
|
-
Per `./
|
|
42
|
+
Per `./peer-cli-protocol.md` §"Three-file footprint":
|
|
43
43
|
|
|
44
44
|
1. New adapter at `scripts/lib/peer-cli/adapters/<new-peer-id>.cjs` (Step 2).
|
|
45
45
|
2. Edit `scripts/lib/install/runtimes.cjs` — add `peerBinary` field (platform-aware: `<peer-binary>.cmd` on Windows, plain on POSIX).
|
|
@@ -48,7 +48,7 @@ Per `./reference/peer-cli-protocol.md` §"Three-file footprint":
|
|
|
48
48
|
|
|
49
49
|
### Step 4 — Verification gate
|
|
50
50
|
|
|
51
|
-
Run the four-check gate in `./
|
|
51
|
+
Run the four-check gate in `./peer-cli-protocol.md` §"Verification gate": `tsc --noEmit`, peer-cli tests, reference-registry round-trip, frontmatter validator. Any failure — surface error + offer revert.
|
|
52
52
|
|
|
53
53
|
### Step 5 — Surface the summary
|
|
54
54
|
|
|
@@ -77,7 +77,7 @@ Next steps:
|
|
|
77
77
|
|
|
78
78
|
## Edge cases
|
|
79
79
|
|
|
80
|
-
See `./
|
|
80
|
+
See `./peer-cli-protocol.md` §"Edge cases" for: peer speaks neither protocol, claims unknown role, claims all roles (generalist), peer-ID conflicts, and testing-only peers.
|
|
81
81
|
|
|
82
82
|
## Record
|
|
83
83
|
|
|
@@ -11,7 +11,7 @@ tools: Read, Edit, Bash, Grep
|
|
|
11
11
|
|
|
12
12
|
## Role
|
|
13
13
|
|
|
14
|
-
You help the user rewire which peer-CLI delegate handles which agent's calls. The mechanism is direct file-edits to agent frontmatter (`delegate_to:` field added in Plan 27-06) — there is no runtime config layer. Your job is to make this safe and validatable. The rewire discipline (per-edit validation, three frontmatter cases, validator gate) lives in
|
|
14
|
+
You help the user rewire which peer-CLI delegate handles which agent's calls. The mechanism is direct file-edits to agent frontmatter (`delegate_to:` field added in Plan 27-06) — there is no runtime config layer. Your job is to make this safe and validatable. The rewire discipline (per-edit validation, three frontmatter cases, validator gate) lives in `./../peer-cli-add/peer-cli-protocol.md` §"Rewire discipline" so the procedure stays canonical across consumers.
|
|
15
15
|
|
|
16
16
|
## Invocation Contract
|
|
17
17
|
|
|
@@ -36,7 +36,7 @@ Valid `<new-delegate-target>` values:
|
|
|
36
36
|
|
|
37
37
|
### Step 3 — Validate the proposed rewire
|
|
38
38
|
|
|
39
|
-
Cross-check against the capability matrix per
|
|
39
|
+
Cross-check against the capability matrix per `./../peer-cli-add/peer-cli-protocol.md` §"Rewire discipline":
|
|
40
40
|
|
|
41
41
|
1. The peer must exist in the matrix.
|
|
42
42
|
2. The role must be in the peer's `claims` list.
|
|
@@ -46,7 +46,7 @@ If validation fails, surface the error and stop. Do not edit the file.
|
|
|
46
46
|
|
|
47
47
|
### Step 4 — Apply the edit
|
|
48
48
|
|
|
49
|
-
Use the `Edit` tool. Three cases (per
|
|
49
|
+
Use the `Edit` tool. Three cases (per `./../peer-cli-add/peer-cli-protocol.md` §"Rewire discipline"):
|
|
50
50
|
|
|
51
51
|
- **Field absent, user wants to add:** insert `delegate_to: <new-target>` into frontmatter (between `default-tier:` and the next field, or at the end of frontmatter).
|
|
52
52
|
- **Field present, user wants to change:** replace the value; preserve indentation.
|
|
@@ -71,11 +71,11 @@ Verify: /gdd:peers (shows updated allowlist + capability matrix).
|
|
|
71
71
|
|
|
72
72
|
## Edge cases
|
|
73
73
|
|
|
74
|
-
See
|
|
74
|
+
See `./../peer-cli-add/peer-cli-protocol.md` §"Edge cases" for: rewire-to-unmatrixed-peer (direct user to `peer-cli-add` first), rewire-to-unclaimed-role (refuse with helpful list), bulk-rewire (require explicit confirmation), validator-fails-post-edit (revert and surface).
|
|
75
75
|
|
|
76
76
|
## Cross-references
|
|
77
77
|
|
|
78
|
-
-
|
|
78
|
+
- `./../peer-cli-add/peer-cli-protocol.md` — rewire discipline, three frontmatter cases, edge cases.
|
|
79
79
|
- `scripts/validate-frontmatter.ts` (Plan 27-06) — `delegate_to` validation.
|
|
80
80
|
- `scripts/lib/peer-cli/registry.cjs` (Plan 27-05) — capability matrix.
|
|
81
81
|
- `skills/peer-cli-add/SKILL.md` — for adding a NEW peer (this skill rewires among existing peers).
|
package/skills/peers/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ tools: Read, Bash
|
|
|
9
9
|
|
|
10
10
|
## Role
|
|
11
11
|
|
|
12
|
-
You are a deterministic discovery skill. You do not spawn agents and do not delegate to peers. You read `scripts/lib/install/runtimes.cjs`, `scripts/lib/peer-cli/registry.cjs`, `.design/config.json`, and (optionally) `.design/telemetry/posterior.json` (canonical path declared by `bandit-router.cjs`'s `DEFAULT_POSTERIOR_PATH`), then emit a single Markdown table summarizing peer-CLI status. Protocol-level handshake details live in
|
|
12
|
+
You are a deterministic discovery skill. You do not spawn agents and do not delegate to peers. You read `scripts/lib/install/runtimes.cjs`, `scripts/lib/peer-cli/registry.cjs`, `.design/config.json`, and (optionally) `.design/telemetry/posterior.json` (canonical path declared by `bandit-router.cjs`'s `DEFAULT_POSTERIOR_PATH`), then emit a single Markdown table summarizing peer-CLI status. Protocol-level handshake details live in `./../peer-cli-add/peer-cli-protocol.md`.
|
|
13
13
|
|
|
14
14
|
## Invocation Contract
|
|
15
15
|
|
|
@@ -83,7 +83,7 @@ The table IS the output. No follow-up prose. Users act on it: `(opt-in disabled)
|
|
|
83
83
|
|
|
84
84
|
## Cross-references
|
|
85
85
|
|
|
86
|
-
-
|
|
86
|
+
- `./../peer-cli-add/peer-cli-protocol.md` — ACP/ASP handshake + adapter scaffold (procedure ref shared with peer-cli-add/customize).
|
|
87
87
|
- `./reference/peer-cli-capabilities.md` (Plan 27-05) — full capability matrix doc.
|
|
88
88
|
- `scripts/lib/peer-cli/registry.cjs` (Plan 27-05), `scripts/lib/install/runtimes.cjs` (Plan 27-11), `skills/peer-cli-customize/SKILL.md`, `skills/peer-cli-add/SKILL.md`, `.planning/phases/27-peer-cli-delegation/CONTEXT.md` D-10.
|
|
89
89
|
|
package/skills/plan/SKILL.md
CHANGED
|
@@ -10,7 +10,7 @@ tools: Read, Write, Bash, Glob, Task, AskUserQuestion, ToolSearch, mcp__gdd_stat
|
|
|
10
10
|
|
|
11
11
|
**Stage 3 of 5** in the get-design-done pipeline. Thin orchestrator. All planning intelligence lives in `agents/design-planner.md`.
|
|
12
12
|
|
|
13
|
-
Full procedure detail:
|
|
13
|
+
Full procedure detail: `./plan-procedure.md`.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -30,39 +30,39 @@ Full procedure detail: `../../reference/plan-procedure.md`.
|
|
|
30
30
|
|
|
31
31
|
## Probe Chromatic connection
|
|
32
32
|
|
|
33
|
-
Probe `chromatic` (CLI presence + `CHROMATIC_PROJECT_TOKEN` check; auto-`unavailable` if `storybook: not_configured`), then write status via `mcp__gdd_state__probe_connections` (single-entry array, never edit `<connections>` directly). Detail:
|
|
33
|
+
Probe `chromatic` (CLI presence + `CHROMATIC_PROJECT_TOKEN` check; auto-`unavailable` if `storybook: not_configured`), then write status via `mcp__gdd_state__probe_connections` (single-entry array, never edit `<connections>` directly). Detail: `./plan-procedure.md` §Probe Chromatic connection.
|
|
34
34
|
|
|
35
|
-
When `chromatic: available`, run change-risk scoping before writing DESIGN-PLAN.md: identify token/component files in scope from DESIGN-CONTEXT.md, run `npx chromatic --trace-changed=expanded --dry-run`, count story files that depend on changed source files, and pass the story count to the design-planner spawn prompt. Detail:
|
|
35
|
+
When `chromatic: available`, run change-risk scoping before writing DESIGN-PLAN.md: identify token/component files in scope from DESIGN-CONTEXT.md, run `npx chromatic --trace-changed=expanded --dry-run`, count story files that depend on changed source files, and pass the story count to the design-planner spawn prompt. Detail: `./plan-procedure.md` §Chromatic Change-Risk Scoping.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## Step 1 — Optional Research (skip if `auto_mode`)
|
|
40
40
|
|
|
41
|
-
Complexity heuristic: DESIGN-CONTEXT.md `<domain>` spans 3+ scopes OR `<decisions>` count > 6 -> spawn `design-phase-researcher` -> `.design/DESIGN-RESEARCH.md` (~100 lines, ~2 min). Wait for `## RESEARCH COMPLETE`, then `update_progress` `task_progress: "1/3"`. Full prompt:
|
|
41
|
+
Complexity heuristic: DESIGN-CONTEXT.md `<domain>` spans 3+ scopes OR `<decisions>` count > 6 -> spawn `design-phase-researcher` -> `.design/DESIGN-RESEARCH.md` (~100 lines, ~2 min). Wait for `## RESEARCH COMPLETE`, then `update_progress` `task_progress: "1/3"`. Full prompt: `./plan-procedure.md` §Step 1.
|
|
42
42
|
|
|
43
43
|
## Step 1.5 — Pattern Mapping (mandatory, brownfield protection)
|
|
44
44
|
|
|
45
|
-
Spawn `design-pattern-mapper` -> `.design/DESIGN-PATTERNS.md` (classify by design concern, not by code architecture — no controllers/services/middleware vocabulary). Wait for `## MAPPING COMPLETE`. Full prompt:
|
|
45
|
+
Spawn `design-pattern-mapper` -> `.design/DESIGN-PATTERNS.md` (classify by design concern, not by code architecture — no controllers/services/middleware vocabulary). Wait for `## MAPPING COMPLETE`. Full prompt: `./plan-procedure.md` §Step 1.5.
|
|
46
46
|
|
|
47
47
|
## Step 1.6 — Assumptions Analysis (skip if `auto_mode`)
|
|
48
48
|
|
|
49
|
-
If assumptions analysis is enabled: spawn `design-assumptions-analyzer` -> surfaces hidden design assumptions with confidence + evidence. Wait for `## ANALYSIS COMPLETE`. Full prompt:
|
|
49
|
+
If assumptions analysis is enabled: spawn `design-assumptions-analyzer` -> surfaces hidden design assumptions with confidence + evidence. Wait for `## ANALYSIS COMPLETE`. Full prompt: `./plan-procedure.md` §Step 1.6.
|
|
50
50
|
|
|
51
51
|
## Step 1.7 — Synthesize pre-plan inputs (Plan 10.1-04, D-13/D-15)
|
|
52
52
|
|
|
53
|
-
If 2+ pre-plan agents ran (Step 1, 1.5, 1.6), invoke `Skill("synthesize", { outputs, directive, output_shape: "markdown" })` to merge their outputs into `.design/DESIGN-PREPLAN-BRIEF.md` (~150 lines, per-source headers preserved). Add the brief to the planner's `<required_reading>` in Step 2. If only one agent ran, skip. Full call signature + parallel-synthesizer note:
|
|
53
|
+
If 2+ pre-plan agents ran (Step 1, 1.5, 1.6), invoke `Skill("synthesize", { outputs, directive, output_shape: "markdown" })` to merge their outputs into `.design/DESIGN-PREPLAN-BRIEF.md` (~150 lines, per-source headers preserved). Add the brief to the planner's `<required_reading>` in Step 2. If only one agent ran, skip. Full call signature + parallel-synthesizer note: `./plan-procedure.md` §Step 1.7.
|
|
54
54
|
|
|
55
|
-
**Research-synthesis persistence:** for each D-XX the synthesizer produces, `mcp__gdd_state__add_decision`; for each M-XX, `mcp__gdd_state__add_must_have`. Issue sequentially (lockfile-bound). Detail:
|
|
55
|
+
**Research-synthesis persistence:** for each D-XX the synthesizer produces, `mcp__gdd_state__add_decision`; for each M-XX, `mcp__gdd_state__add_must_have`. Issue sequentially (lockfile-bound). Detail: `./plan-procedure.md` §Research-synthesis persistence.
|
|
56
56
|
|
|
57
57
|
---
|
|
58
58
|
|
|
59
59
|
## Step 2 — Plan
|
|
60
60
|
|
|
61
|
-
Spawn `design-planner` with `<required_reading>` covering STATE.md, DESIGN-CONTEXT.md, DESIGN-PATTERNS.md, plus (conditionally) DESIGN-RESEARCH.md, DESIGN-ASSUMPTIONS.md, DESIGN-PREPLAN-BRIEF.md (preferred when 1.7 ran), all `.design/sketches/*/WINNER.md`, all `.design/spikes/*/FINDINGS.md`, and all `./.claude/skills/design-*-conventions.md` + `~/.claude/gdd/global-skills/*.md` (project-local D-XX overrides globals). Wait for `## PLANNING COMPLETE`, then `update_progress` `task_progress: "2/3"`. Full prompt + conditional include syntax:
|
|
61
|
+
Spawn `design-planner` with `<required_reading>` covering STATE.md, DESIGN-CONTEXT.md, DESIGN-PATTERNS.md, plus (conditionally) DESIGN-RESEARCH.md, DESIGN-ASSUMPTIONS.md, DESIGN-PREPLAN-BRIEF.md (preferred when 1.7 ran), all `.design/sketches/*/WINNER.md`, all `.design/spikes/*/FINDINGS.md`, and all `./.claude/skills/design-*-conventions.md` + `~/.claude/gdd/global-skills/*.md` (project-local D-XX overrides globals). Wait for `## PLANNING COMPLETE`, then `update_progress` `task_progress: "2/3"`. Full prompt + conditional include syntax: `./plan-procedure.md` §Step 2.
|
|
62
62
|
|
|
63
63
|
## Step 3 — Check
|
|
64
64
|
|
|
65
|
-
Spawn `design-plan-checker` to validate DESIGN-PLAN.md against DESIGN-CONTEXT.md across 5 dimensions: requirement coverage, task completeness, wave ordering, must-have derivation, auto-mode compliance. Wait for `## PLAN CHECK COMPLETE`, then `update_progress` `task_progress: "3/3"`. On `## PLAN CHECK RESULT: ISSUES FOUND` + BLOCKER: offer revise/accept/abort (`auto_mode`: auto-accept WARN, abort on BLOCKER). Full prompt + branching:
|
|
65
|
+
Spawn `design-plan-checker` to validate DESIGN-PLAN.md against DESIGN-CONTEXT.md across 5 dimensions: requirement coverage, task completeness, wave ordering, must-have derivation, auto-mode compliance. Wait for `## PLAN CHECK COMPLETE`, then `update_progress` `task_progress: "3/3"`. On `## PLAN CHECK RESULT: ISSUES FOUND` + BLOCKER: offer revise/accept/abort (`auto_mode`: auto-accept WARN, abort on BLOCKER). Full prompt + branching: `./plan-procedure.md` §Step 3.
|
|
66
66
|
|
|
67
67
|
---
|
|
68
68
|
|
|
@@ -87,4 +87,4 @@ Emit one JSON object on stdout: `{status, iteration, commands_run, started_at, c
|
|
|
87
87
|
- Do not invoke verify or design — Stage 4.5 sits strictly between.
|
|
88
88
|
- Exit-code convention: `0` clean; non-zero classified as failure. Do not interpret stderr for pass/fail.
|
|
89
89
|
|
|
90
|
-
For verify-side severity classification (when this gate's `status="fail"` reaches the verify entry gate), see `./
|
|
90
|
+
For verify-side severity classification (when this gate's `status="fail"` reaches the verify entry gate), see `./threat-modeling.md` — STRIDE dispositions are the audit-side framework that informs whether a failed quality gate blocks ship.
|
package/skills/router/SKILL.md
CHANGED
|
@@ -53,15 +53,15 @@ Existing consumers reading any subset of the older fields keep working unchanged
|
|
|
53
53
|
|
|
54
54
|
## Path Selection Heuristic
|
|
55
55
|
|
|
56
|
-
The router emits `path` (3-tier: `fast|quick|full`, legacy enum, stable for back-compat) AND `complexity_class` (4-tier: `S|M|L|XL`, Phase 25 / D-04 additive). Full mapping table, bucket-assignment signal list, `--dry-run` downgrade rule, and the S-class short-circuit semantics live in `./
|
|
56
|
+
The router emits `path` (3-tier: `fast|quick|full`, legacy enum, stable for back-compat) AND `complexity_class` (4-tier: `S|M|L|XL`, Phase 25 / D-04 additive). Full mapping table, bucket-assignment signal list, `--dry-run` downgrade rule, and the S-class short-circuit semantics live in `./router-rules.md#path-selection-heuristic`. The S-class short-circuit is load-bearing: when `complexity_class` would be `S`, the router does not run; the deterministic skip list lives in the `/gdd:*` SKILL.md entry, and the budget-enforcer hook treats "no payload + matching command name" as the S signal.
|
|
57
57
|
|
|
58
58
|
## Cost Estimation Algorithm
|
|
59
59
|
|
|
60
|
-
Standard cost-estimation pseudocode (sum over planned spawn graph; per-agent `(in_tok / 1e6) * in_rate + (out_tok / 1e6) * out_rate` using `./reference/model-prices.md`) lives in `./
|
|
60
|
+
Standard cost-estimation pseudocode (sum over planned spawn graph; per-agent `(in_tok / 1e6) * in_rate + (out_tok / 1e6) * out_rate` using `./reference/model-prices.md`) lives in `./router-rules.md#cost-estimation-algorithm`.
|
|
61
61
|
|
|
62
62
|
## Runtime-aware model resolution
|
|
63
63
|
|
|
64
|
-
Computation contract for `resolved_models`, implementation surfaces (`scripts/lib/runtime-detect.cjs` + `scripts/lib/tier-resolver.cjs`), per-agent emission rules (including the JSON-`null` contract), and the Claude-runtime back-compat assertion live in `./
|
|
64
|
+
Computation contract for `resolved_models`, implementation surfaces (`scripts/lib/runtime-detect.cjs` + `scripts/lib/tier-resolver.cjs`), per-agent emission rules (including the JSON-`null` contract), and the Claude-runtime back-compat assertion live in `./router-rules.md#runtime-aware-model-resolution`. Top-line: `model_tier_overrides` keeps its `opus|sonnet|haiku` enum for back-compat; `resolved_models` runs the per-runtime translation additively on top.
|
|
65
65
|
|
|
66
66
|
## Cache-Hit Detection
|
|
67
67
|
|
package/skills/scan/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ user-invocable: true
|
|
|
9
9
|
|
|
10
10
|
**Pre-pipeline initializer.** Run once in any new or existing repo before starting the Discover -> Plan -> Design -> Verify pipeline.
|
|
11
11
|
|
|
12
|
-
Full procedure detail:
|
|
12
|
+
Full procedure detail: `./scan-procedure.md`.
|
|
13
13
|
|
|
14
14
|
Produces:
|
|
15
15
|
- `DESIGN.md` — snapshot of the existing design system as it actually is
|
|
@@ -26,9 +26,9 @@ Default: full scan of tokens, patterns, and anti-patterns. Component inventory i
|
|
|
26
26
|
|
|
27
27
|
At scan entry, before running any step:
|
|
28
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
|
|
30
|
-
2. Probe Figma + Refero connections (variant-agnostic ToolSearch + tiebreaker resolution). Detail:
|
|
31
|
-
3. Run the four Phase 8 probes (preview, storybook, chromatic, graphify) and batch-write results to STATE.md `<connections>`. Detail:
|
|
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
32
|
4. Emit the first-run connection nudge if every probe returned `not_configured` AND `.design/config.json > connections_onboarding` is absent.
|
|
33
33
|
5. Update `last_checkpoint`; persist STATE.md before proceeding to Step 1.
|
|
34
34
|
|
|
@@ -36,35 +36,35 @@ At scan entry, before running any step:
|
|
|
36
36
|
|
|
37
37
|
## Workflow
|
|
38
38
|
|
|
39
|
-
The scan executes eight steps in order. Each step's full grep commands, analysis prompts, and decision rules live in
|
|
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
40
|
|
|
41
41
|
### Step 1 — Orient
|
|
42
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:
|
|
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
44
|
|
|
45
45
|
### Step 2 — Extract Color System
|
|
46
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:
|
|
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
48
|
|
|
49
49
|
### Step 2A — Figma Token Augmentation
|
|
50
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:
|
|
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
52
|
|
|
53
53
|
### Step 3 — Extract Typography System
|
|
54
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:
|
|
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
56
|
|
|
57
57
|
### Step 4 — Extract Spacing System
|
|
58
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:
|
|
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
60
|
|
|
61
61
|
### Step 5 — Anti-Pattern Audit
|
|
62
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:
|
|
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
64
|
|
|
65
65
|
### Step 6 — Component Inventory
|
|
66
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:
|
|
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
68
|
|
|
69
69
|
### Step 7 — Score All 7 Categories
|
|
70
70
|
|
|
@@ -72,21 +72,21 @@ Read `${CLAUDE_PLUGIN_ROOT}/reference/audit-scoring.md`. Score each category 0
|
|
|
72
72
|
|
|
73
73
|
### Step 8 — Generate Design Debt Roadmap
|
|
74
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:
|
|
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
76
|
|
|
77
77
|
---
|
|
78
78
|
|
|
79
79
|
## Outputs
|
|
80
80
|
|
|
81
|
-
Write both artifacts using the templates in
|
|
81
|
+
Write both artifacts using the templates in `./scan-procedure.md`:
|
|
82
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:
|
|
84
|
-
- **`.design/DESIGN-DEBT.md`** — prioritized debt roadmap grouped P0/P1/P2/P3, with priority_score ordering, recommended fix order, and pipeline recommendation. Template:
|
|
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
85
|
|
|
86
86
|
---
|
|
87
87
|
|
|
88
88
|
## After Writing
|
|
89
89
|
|
|
90
|
-
Print the user-facing summary block from
|
|
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
91
|
|
|
92
92
|
## SCAN COMPLETE
|
package/skills/start/SKILL.md
CHANGED
|
@@ -41,7 +41,7 @@ disable-model-invocation: true
|
|
|
41
41
|
|
|
42
42
|
## Workflow
|
|
43
43
|
|
|
44
|
-
Six steps, all documented in `./
|
|
44
|
+
Six steps, all documented in `./start-procedure.md`. Companion file `./reference/start-interview.md` holds the 5-question copy + defaults + validation.
|
|
45
45
|
|
|
46
46
|
| Step | What it does | Where to look |
|
|
47
47
|
|------|--------------|---------------|
|
package/skills/style/SKILL.md
CHANGED
|
@@ -9,7 +9,7 @@ user-invocable: true
|
|
|
9
9
|
|
|
10
10
|
Generates a per-component style spec at `.design/DESIGN-STYLE-[ComponentName].md`. This is a **standalone command**, not a pipeline stage.
|
|
11
11
|
|
|
12
|
-
For the full mode-detection logic, source-resolution fallback chain (10 paths), agent-spawn payload, and STYL-05 section spec, see
|
|
12
|
+
For the full mode-detection logic, source-resolution fallback chain (10 paths), agent-spawn payload, and STYL-05 section spec, see `./style-doc-procedure.md`. For the cross-skill output discipline (artifact prefix, completion marker, MUST-NOT-write list), see `../../reference/shared-preamble.md#output-contract-reminders`. For the raw-hex audit signal used in Token Semantic Health Score, see `../../reference/shared-preamble.md#token-first-reasoning`.
|
|
13
13
|
|
|
14
14
|
Output artifact naming: `.design/DESIGN-STYLE-[ComponentName].md` — Title-cased component name, one file per invocation.
|
|
15
15
|
|
|
@@ -31,10 +31,10 @@ This separation is a pre-roadmap decision recorded in `.planning/STATE.md`: util
|
|
|
31
31
|
|
|
32
32
|
## Workflow
|
|
33
33
|
|
|
34
|
-
1. **Argument check** — if `$ARGUMENTS` is empty, enter list mode (see
|
|
35
|
-
2. **Mode detect** — `DESIGN-SUMMARY.md` exists → post-pipeline; else `DESIGN.md` exists → pre-pipeline; else abort with a "run /get-design-done scan first" message. Full decision tree at
|
|
34
|
+
1. **Argument check** — if `$ARGUMENTS` is empty, enter list mode (see `./style-doc-procedure.md#component-source-resolution`); display available components from `src/components/` + `.design/tasks/`, then exit.
|
|
35
|
+
2. **Mode detect** — `DESIGN-SUMMARY.md` exists → post-pipeline; else `DESIGN.md` exists → pre-pipeline; else abort with a "run /get-design-done scan first" message. Full decision tree at `./style-doc-procedure.md#mode-detection`.
|
|
36
36
|
3. **Source resolve** — search the 10-path fallback chain for a file matching the ComponentName. On zero matches: abort. On multiple matches: prompt the user to disambiguate.
|
|
37
|
-
4. **Agent spawn** — dispatch `design-doc-writer` with the mode-specific `<required_reading>` block and the STYL-05 section list. The full Task payload + STYL-05 spec live in
|
|
37
|
+
4. **Agent spawn** — dispatch `design-doc-writer` with the mode-specific `<required_reading>` block and the STYL-05 section list. The full Task payload + STYL-05 spec live in `./style-doc-procedure.md#agent-spawn-payload`.
|
|
38
38
|
5. **Confirm + report** — after the agent emits `## DOC COMPLETE`, verify the output path exists and report success.
|
|
39
39
|
|
|
40
40
|
---
|
|
@@ -66,6 +66,6 @@ Resolves `src/components/Button.tsx`, detects post-pipeline mode (DESIGN-SUMMARY
|
|
|
66
66
|
/get-design-done style
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Globs component files and prompts the user to specify a ComponentName. Exits without generating any file. See
|
|
69
|
+
Globs component files and prompts the user to specify a ComponentName. Exits without generating any file. See `./style-doc-procedure.md#component-source-resolution` for the full glob path list.
|
|
70
70
|
|
|
71
71
|
## STYLE COMPLETE
|
|
@@ -9,7 +9,7 @@ tools: Read, Bash
|
|
|
9
9
|
|
|
10
10
|
## Role
|
|
11
11
|
|
|
12
|
-
You are a deterministic **closeout** skill. You close the per-turn telemetry gap on runtimes that don't expose a Stop event (codex, gemini, and 11 others). You are a code-level mirror of `hooks/gdd-turn-closeout.js` (D-10): same conditions, same idempotence, same emitted event shape. The only difference: the JS hook emits the nudge as `additionalContext` via the harness; this skill prints the nudge directly to the user. See
|
|
12
|
+
You are a deterministic **closeout** skill. You close the per-turn telemetry gap on runtimes that don't expose a Stop event (codex, gemini, and 11 others). You are a code-level mirror of `hooks/gdd-turn-closeout.js` (D-10): same conditions, same idempotence, same emitted event shape. The only difference: the JS hook emits the nudge as `additionalContext` via the harness; this skill prints the nudge directly to the user. See `./../new-cycle/milestone-completeness-rubric.md` §"Task level" for the broader closeout discipline (what "turn complete" means within a stage).
|
|
13
13
|
|
|
14
14
|
**When to invoke:** orchestrator skills (`/gdd:next`, `/gdd:design`, `/gdd:verify`) tail-call this skill as their final step before returning. Adoption is incremental — each orchestrator can wire the tail-call independently; the skill exists as a stable, callable surface today.
|
|
15
15
|
|
package/skills/verify/SKILL.md
CHANGED
|
@@ -10,7 +10,7 @@ tools: mcp__gdd_state__get, mcp__gdd_state__transition_stage, mcp__gdd_state__ad
|
|
|
10
10
|
|
|
11
11
|
**Stage 5 of 5** in the get-design-done pipeline. Thin orchestrator. Verification intelligence lives in three agents: design-auditor, design-verifier, and design-integration-checker.
|
|
12
12
|
|
|
13
|
-
Full procedure detail:
|
|
13
|
+
Full procedure detail: `./verify-procedure.md`.
|
|
14
14
|
|
|
15
15
|
---
|
|
16
16
|
|
|
@@ -22,26 +22,26 @@ Full procedure detail: `../../reference/verify-procedure.md`.
|
|
|
22
22
|
- `"fail"` -> refuse to advance; call `mcp__gdd_state__add_blocker` with the iteration count + `commands_run`; exit. Do NOT open the stage.
|
|
23
23
|
- `"timeout"` / `"skipped"` -> print one-line warning naming the status + `commands_run`, continue normally (signals, not walls).
|
|
24
24
|
- `"pass"` / `null` -> continue silently.
|
|
25
|
-
Full decision tree:
|
|
25
|
+
Full decision tree: `./verify-procedure.md` §Quality-gate gate.
|
|
26
26
|
4. Resume detection — if `state.position.status==in_progress` and `.design/DESIGN-VERIFICATION.md` exists: RESUME to Step 2 (gap-response loop). Otherwise call `mcp__gdd_state__update_progress` with `task_progress: "0/3"`, `status: "in_progress"` and proceed.
|
|
27
27
|
5. Missing STATE.md is a hard block — verify is never the entry point; upstream stages own bootstrap.
|
|
28
28
|
|
|
29
|
-
**Flipping a must-have status:** `mcp__gdd_state__add_must_have` with the SAME `id` updates in-place (no separate update tool). Detail:
|
|
29
|
+
**Flipping a must-have status:** `mcp__gdd_state__add_must_have` with the SAME `id` updates in-place (no separate update tool). Detail: `./verify-procedure.md` §Flipping a must-have status.
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
33
|
## Connection probes
|
|
34
34
|
|
|
35
|
-
Run preview / storybook / chromatic probes at stage entry, then issue ONE batched `mcp__gdd_state__probe_connections` call with all results. Full probe specs (project detection, dev-server probe, CLI presence, token check) and downstream loops (storybook a11y, chromatic visual delta) are in
|
|
35
|
+
Run preview / storybook / chromatic probes at stage entry, then issue ONE batched `mcp__gdd_state__probe_connections` call with all results. Full probe specs (project detection, dev-server probe, CLI presence, token check) and downstream loops (storybook a11y, chromatic visual delta) are in `./verify-procedure.md` §Connection Probes.
|
|
36
36
|
|
|
37
37
|
---
|
|
38
38
|
|
|
39
39
|
## Prerequisites + flags
|
|
40
40
|
|
|
41
41
|
- **DESIGN-PLAN.md prerequisite** (normal mode): missing -> block with "Verify requires DESIGN-PLAN.md. Run `/gdd:plan` first, or use `--post-handoff` if starting from a Claude Design handoff bundle."
|
|
42
|
-
- **Post-handoff mode** (`--post-handoff` OR STATE.md `status: handoff-sourced`): skip the DESIGN-PLAN.md check; pass `post_handoff: true` + `handoff_path` to design-verifier; DESIGN-VERIFICATION.md gains a `## Handoff Faithfulness` section. Detail:
|
|
42
|
+
- **Post-handoff mode** (`--post-handoff` OR STATE.md `status: handoff-sourced`): skip the DESIGN-PLAN.md check; pass `post_handoff: true` + `handoff_path` to design-verifier; DESIGN-VERIFICATION.md gains a `## Handoff Faithfulness` section. Detail: `./verify-procedure.md` §Post-Handoff Mode.
|
|
43
43
|
- **Flags:** `--auto` -> `auto_mode=true` (no interactive prompts; on gaps: save-and-exit); `--post-handoff` -> see above.
|
|
44
|
-
- **Parallelism decision:** read `.design/config.json` + `reference/parallelism-rules.md`. Default serial (verifier depends on auditor output). Record via `mcp__gdd_state__set_status` before spawning. Detail:
|
|
44
|
+
- **Parallelism decision:** read `.design/config.json` + `reference/parallelism-rules.md`. Default serial (verifier depends on auditor output). Record via `mcp__gdd_state__set_status` before spawning. Detail: `./verify-procedure.md` §Parallelism Decision.
|
|
45
45
|
|
|
46
46
|
---
|
|
47
47
|
|
|
@@ -55,7 +55,7 @@ Initialize the fix-loop iteration counter to 0. Each full checker is preceded by
|
|
|
55
55
|
|
|
56
56
|
**1c-gate -> 1c. design-integration-checker** (per-decision wiring check on each D-XX in DESIGN-CONTEXT.md) -> reports Connected / Orphaned / Missing counts. Wait for `## INTEGRATION CHECK COMPLETE`, then `task_progress: "3/3"`.
|
|
57
57
|
|
|
58
|
-
Full agent prompts, lazy-gate decision logic, and telemetry-row shapes:
|
|
58
|
+
Full agent prompts, lazy-gate decision logic, and telemetry-row shapes: `./verify-procedure.md` §Step 1.
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
@@ -67,7 +67,7 @@ Consolidate gaps from both sources: verifier `## GAPS FOUND` (G-NN entries) and
|
|
|
67
67
|
- **Gaps + `auto_mode=true`** -> preserve DESIGN-VERIFICATION.md, `set_status: "blocked"`, `add_blocker` with the gap count, exit with the failure message.
|
|
68
68
|
- **Gaps + `auto_mode=false`** -> proceed to Step 3.
|
|
69
69
|
|
|
70
|
-
Detail:
|
|
70
|
+
Detail: `./verify-procedure.md` §Step 2.
|
|
71
71
|
|
|
72
72
|
---
|
|
73
73
|
|
|
@@ -79,7 +79,7 @@ Present the gap summary + 3-option menu (`[1] Fix now`, `[2] Save and exit`, `[3
|
|
|
79
79
|
- **[2] Save and exit** -> preserve DESIGN-VERIFICATION.md, `set_status: "blocked"`, `add_blocker`, `checkpoint`, exit.
|
|
80
80
|
- **[3] Accept as-is** -> flip each unmet M-XX to `status: "fail"`, `add_blocker` with "accepted with N unresolved gaps", proceed to Stage exit.
|
|
81
81
|
|
|
82
|
-
Full prompts + branching:
|
|
82
|
+
Full prompts + branching: `./verify-procedure.md` §Step 3.
|
|
83
83
|
|
|
84
84
|
---
|
|
85
85
|
|
|
@@ -91,6 +91,6 @@ Full prompts + branching: `../../reference/verify-procedure.md` §Step 3.
|
|
|
91
91
|
|
|
92
92
|
## After Completion
|
|
93
93
|
|
|
94
|
-
Print the `=== Verify complete ===` summary (status, gap counts, agent paths, next-step suggestion) from
|
|
94
|
+
Print the `=== Verify complete ===` summary (status, gap counts, agent paths, next-step suggestion) from `./verify-procedure.md` §After Completion.
|
|
95
95
|
|
|
96
96
|
## VERIFY COMPLETE
|
|
@@ -56,7 +56,7 @@ Print the markdown summary described in the Invocation Contract.
|
|
|
56
56
|
|
|
57
57
|
## Concrete Command Example
|
|
58
58
|
|
|
59
|
-
Full + filtered command-output examples live in
|
|
59
|
+
Full + filtered command-output examples live in `./../cache-manager/cache-policy.md#concrete-warm-cache-command-examples-layer-a` so this skill stays close to its step-by-step flow rather than its sample output.
|
|
60
60
|
|
|
61
61
|
## Integration Points
|
|
62
62
|
|
|
@@ -66,7 +66,7 @@ Full + filtered command-output examples live in `./reference/cache-policy.md#con
|
|
|
66
66
|
|
|
67
67
|
## Cost Model
|
|
68
68
|
|
|
69
|
-
Full per-ping math, total-cost arithmetic for a 14-agent warm, and payback calculation versus a downstream Opus spawn live in
|
|
69
|
+
Full per-ping math, total-cost arithmetic for a 14-agent warm, and payback calculation versus a downstream Opus spawn live in `./../cache-manager/cache-policy.md#cost-model-layer-a`. Top-line: a full warm is ~$0.001 and pays back ~500× on the first repeated planner spawn.
|
|
70
70
|
|
|
71
71
|
## Failure Modes
|
|
72
72
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|