@hegemonart/get-design-done 1.48.0 → 1.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +2 -2
- package/.claude-plugin/plugin.json +8 -2
- package/CHANGELOG.md +93 -0
- package/README.md +4 -0
- package/SKILL.md +2 -1
- package/agents/design-auditor.md +37 -4
- package/agents/design-context-builder.md +2 -0
- package/agents/design-debt-crawler.md +36 -5
- package/agents/design-executor.md +2 -0
- package/agents/design-fixer.md +4 -1
- package/agents/design-planner.md +2 -0
- package/agents/design-reflector.md +2 -0
- package/agents/design-research-synthesizer.md +2 -0
- package/agents/design-verifier.md +7 -15
- package/dist/claude-code/.claude/skills/audit/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/brief/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/compare/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/connections/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/darkmode/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/design/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/discover/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/do/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/explore/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/fast/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/health/SKILL.md +2 -2
- package/dist/claude-code/.claude/skills/live/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/new-skill/SKILL.md +90 -0
- package/dist/claude-code/.claude/skills/plan/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/progress/SKILL.md +9 -1
- package/dist/claude-code/.claude/skills/quick/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/scan/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/ship/SKILL.md +1 -1
- package/dist/claude-code/.claude/skills/verify/SKILL.md +1 -1
- package/hooks/gdd-design-quality-check.js +340 -0
- package/hooks/hooks.json +9 -0
- package/package.json +12 -2
- package/reference/anti-slop-rubric.md +173 -0
- package/reference/audit-scoring.md +4 -0
- package/reference/debt-categories.md +20 -1
- package/reference/registry.json +28 -0
- package/reference/reviewer-confidence-gate.md +108 -0
- package/reference/skill-authoring-contract.md +97 -15
- package/reference/skill-graph.md +118 -0
- package/reference/visual-tells.md +383 -0
- package/scripts/lib/confidence-route.cjs +60 -0
- package/scripts/lib/manifest/scaffolder.cjs +261 -0
- package/scripts/lib/manifest/schemas/skills.schema.json +14 -0
- package/scripts/lib/manifest/skills.json +26 -18
- package/scripts/lib/worktree-resolve.cjs +221 -0
- package/sdk/mcp/gdd-state/server.js +37 -4
- package/sdk/mcp/gdd-state/tools/shared.ts +61 -0
- package/skills/audit/SKILL.md +1 -1
- package/skills/brief/SKILL.md +1 -1
- package/skills/compare/SKILL.md +1 -1
- package/skills/connections/SKILL.md +1 -1
- package/skills/darkmode/SKILL.md +1 -1
- package/skills/design/SKILL.md +1 -1
- package/skills/discover/SKILL.md +1 -1
- package/skills/do/SKILL.md +1 -1
- package/skills/explore/SKILL.md +1 -1
- package/skills/fast/SKILL.md +1 -1
- package/skills/health/SKILL.md +2 -2
- package/skills/live/SKILL.md +1 -1
- package/skills/new-skill/SKILL.md +90 -0
- package/skills/plan/SKILL.md +1 -1
- package/skills/progress/SKILL.md +9 -1
- package/skills/quick/SKILL.md +1 -1
- package/skills/scan/SKILL.md +1 -1
- package/skills/ship/SKILL.md +1 -1
- package/skills/verify/SKILL.md +1 -1
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
},
|
|
6
6
|
"metadata": {
|
|
7
7
|
"description": "Get Design Done — 5-stage agent-orchestrated design pipeline with 9 connections, handoff-first workflow, bidirectional Figma write-back, 22+ specialized agents, queryable knowledge layer (intel store, dependency analysis, learnings extraction), and a self-improvement loop (reflector, frontmatter + budget feedback, global-skills layer). v1.20.0 ships the SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream, and resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) for rate-limit + 429 + context-overflow recovery. Full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows) and release automation (auto-tag + GitHub Release + release-time smoke test).",
|
|
8
|
-
"version": "1.
|
|
8
|
+
"version": "1.50.0"
|
|
9
9
|
},
|
|
10
10
|
"plugins": [
|
|
11
11
|
{
|
|
12
12
|
"name": "get-design-done",
|
|
13
13
|
"source": "./",
|
|
14
14
|
"description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify. 22+ specialized agents, 9 connections (Figma, Refero, Preview, Storybook, Chromatic, Figma Writer, Graphify, Pinterest, Claude Design), Claude Design handoff, bidirectional Figma write-back, and a queryable intel store (.design/intel/) for dependency and learnings queries. Standalone commands: style, darkmode, compare, figma-write, graphify, handoff, analyze-dependencies, skill-manifest, extract-learnings. Embeds NNG heuristics, WCAG thresholds, typographic systems, motion framework, and anti-pattern catalog. Ships with a full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows) and release automation. Optimization layer (v1.0.4.1, retroactive): gdd-router + gdd-cache-manager skills, PreToolUse budget-enforcer hook, tier-aware agent frontmatter, lazy checker gates, streaming synthesizer, /gdd:warm-cache + /gdd:optimize commands, and cost telemetry at .design/telemetry/costs.jsonl — targeting 50-70% per-task token-cost reduction with no quality-floor regression. v1.20.0 SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream at .design/telemetry/events.jsonl, resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) with rate-limit + 429 + context-overflow recovery, and TypeScript toolchain.",
|
|
15
|
-
"version": "1.
|
|
15
|
+
"version": "1.50.0",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "hegemonart"
|
|
18
18
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "get-design-done",
|
|
3
3
|
"short_name": "gdd",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.50.0",
|
|
5
5
|
"description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify. 22+ specialized agents, 9 connections (Figma, Refero, Preview, Storybook, Chromatic, Figma Writer, Graphify, Pinterest, Claude Design), handoff-first workflow via Claude Design bundles, bidirectional Figma write-back (annotations, Code Connect), queryable intel store (`.design/intel/`) for O(1) design surface lookups, and self-improvement loop (reflector agent, frontmatter + budget feedback, global-skills layer at `~/.claude/gdd/global-skills/`). Standalone commands: style, darkmode, compare, figma-write, graphify, handoff, analyze-dependencies, skill-manifest, extract-learnings, reflect, apply-reflections. Embeds NNG heuristics, WCAG thresholds, typographic systems, motion framework, and anti-pattern catalog. Ships with a full CI/CD pipeline (Node 22/24 × Linux/macOS/Windows, lint + schema + frontmatter + stale-ref + shellcheck + gitleaks + injection-scan + blocking size-budget) and release automation (auto-tag + GitHub Release + release-time smoke test). Optimization layer (v1.0.4.1, retroactive): gdd-router + gdd-cache-manager skills, PreToolUse budget-enforcer hook, tier-aware agent frontmatter, lazy checker gates, streaming synthesizer, /gdd:warm-cache + /gdd:optimize commands, and cost telemetry at .design/telemetry/costs.jsonl — targeting 50-70% per-task token-cost reduction with no quality-floor regression. v1.20.0 SDK foundation: gdd-state MCP server (11 typed tools), lockfile-safe STATE.md mutations, event stream at .design/telemetry/events.jsonl, resilience primitives (jittered-backoff, rate-guard, error-classifier, iteration-budget) with rate-limit + 429 + context-overflow recovery, and TypeScript toolchain. v1.27.7 ships gdd-mcp (Phase 27.7): 12 read-only MCP tools for sub-3s priming. v1.28.0 (Phase 28): Foundational References Tier 2 — 5 new reference files (color-theory, composition, proportion-systems, i18n, contrast-advanced), 2 verifier i18n probes + 1 explore i18n-readiness probe, 12 additive cross-link insertions across 10 existing references, 2 orthogonal audit-scoring lens-tags (composition_alignment + i18n_readiness).",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "hegemonart",
|
|
@@ -71,7 +71,13 @@
|
|
|
71
71
|
"flutter",
|
|
72
72
|
"email",
|
|
73
73
|
"print",
|
|
74
|
-
"pdf"
|
|
74
|
+
"pdf",
|
|
75
|
+
"worktree-safe",
|
|
76
|
+
"anti-slop",
|
|
77
|
+
"confidence-gate",
|
|
78
|
+
"anti-slop-rubric",
|
|
79
|
+
"skill-composition",
|
|
80
|
+
"skill-graph"
|
|
75
81
|
],
|
|
76
82
|
"skills": [
|
|
77
83
|
"./skills/"
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,99 @@ All notable changes to get-design-done are documented here. Versions follow [sem
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [1.50.0] - 2026-06-03
|
|
8
|
+
|
|
9
|
+
### Phase 50 - Authoring Contract v3
|
|
10
|
+
|
|
11
|
+
Two cross-repo-validated additions to the authoring contract. A verb-based anti-slop rubric catches a different
|
|
12
|
+
class of failure than the noun-based 7-pillar audit (the pillars ask "is the typography wrong?", the verb axes ask
|
|
13
|
+
"is it generically AI-default?"). And a machine-parseable skill-composition manifest fills the "no skill calls
|
|
14
|
+
another skill" gap with a DAG validator and an auto-generated skill graph. Planned and executed via the GSD pipeline
|
|
15
|
+
(3 parallel executor subagents). No new runtime dependency, no new egress. This closes the 45-to-50 release run.
|
|
16
|
+
|
|
17
|
+
### Breaking changes
|
|
18
|
+
|
|
19
|
+
- **Skill descriptions move to a multi-paragraph v3 form** (`<what>. Use when <triggers>. Activates for requests
|
|
20
|
+
involving <kw1>, <kw2>, <kw3>.`). Both the v2 and v3 forms are accepted for one minor version (transition window);
|
|
21
|
+
`/gdd:health` reports adoption ("Skills: N/88 in v3 form"). The 1024-char cap is unchanged. A new boilerplate-cohort
|
|
22
|
+
lint (`validate:skill-frontmatter`) fails CI if three or more skills share an identical opening sentence.
|
|
23
|
+
- **Two new CI gates guard the composition graph.** `validate:composition-graph` fails on a cycle or a dangling
|
|
24
|
+
`composes_with`/`next_skills` reference; `build:skill-graph:check` fails if `reference/skill-graph.md` drifts from
|
|
25
|
+
`skills.json`. Authors adding composition edges must keep the graph acyclic and the generated graph current.
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- **`reference/anti-slop-rubric.md`**: 5 orthogonal verb axes (Directness, Distinctness, Hierarchy, Authenticity,
|
|
30
|
+
Density), 1-10 each; `sum < 35/50` routes a finding to `design-debt-crawler` as `category: aesthetic-slop`.
|
|
31
|
+
`design-auditor` emits `verb_axes_scored` as a lens-tag (no pillar change, mirrors `emotion_levels`).
|
|
32
|
+
- **`reference/visual-tells.md` v2**: the 8 Phase-49 categories plus 5 more (stock-photo-people, badge-spam,
|
|
33
|
+
oversized-single-word, motion-without-content-intent, narrator-from-a-distance-UI), each cross-linked to its
|
|
34
|
+
primary verb axis.
|
|
35
|
+
- **Skill composition manifest**: optional `composes_with`/`next_skills` frontmatter (documented in the skills
|
|
36
|
+
schema), `scripts/validate-composition-graph.cjs` (cycle + dangling-ref detection), and an auto-generated
|
|
37
|
+
`reference/skill-graph.md` (mermaid, grouped by lifecycle stage) via `scripts/generate-skill-graph.cjs`.
|
|
38
|
+
- **`reference/skill-authoring-contract.md` v3** (description form + transition window + composition fields) +
|
|
39
|
+
**`/gdd:new-skill`** scaffolder (`scripts/lib/manifest/scaffolder.cjs`, @clack/prompts) that emits a v3-compliant
|
|
40
|
+
skill, with `composes_with` suggestions by lifecycle stage.
|
|
41
|
+
- **Description migration**: 18 high-traffic skills (brief, explore, plan, design, verify, audit, scan, discover, do,
|
|
42
|
+
ship, health, progress, live, connections, darkmode, compare, fast, quick) moved to the v3 form; the rest follow
|
|
43
|
+
gradually under the transition window. `/gdd:health` + `/gdd:progress` surface adoption and composition-graph readiness.
|
|
44
|
+
|
|
45
|
+
### Notes
|
|
46
|
+
|
|
47
|
+
- 6-manifest lockstep at **v1.50.0** + `OFF_CADENCE_VERSIONS.add('1.50.0')` + 37 `manifests-version.txt` baselines +
|
|
48
|
+
plugin keywords (`anti-slop-rubric`, `skill-composition`, `skill-graph`). Re-locked: skill-list (88), registry (175),
|
|
49
|
+
registry-diff, phase-42 count (112), 6 `*-after.md` byte snapshots (brief/design/explore/verify + health/progress),
|
|
50
|
+
the phase-28.5 distribution + warn count (4 -> 5, progress crossed 100 lines), tarball golden 907 -> 912 (+5).
|
|
51
|
+
- The verb axes are an orthogonal lens (no new pillar, no scoring-math change). `composes_with`/`next_skills` are
|
|
52
|
+
optional in v3 (mandatory deferred to v4). Out of scope: rubric auto-fix, LLM-judge of axes, skill body migration.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## [1.49.0] - 2026-06-03
|
|
57
|
+
|
|
58
|
+
### Phase 49 - Quick Anti-Slop Floor
|
|
59
|
+
|
|
60
|
+
Three small, atomic safety and policy primitives identified in the cross-repo synthesis, each low-risk and
|
|
61
|
+
high-signal: a worktree redirect that ends the recurring `.planning/` leak, a free anti-slop regex pass on every
|
|
62
|
+
front-end file write, and a reviewer confidence gate that stops severity inflation. Planned and executed via the
|
|
63
|
+
GSD pipeline (3 parallel executor subagents). No new runtime dependency, no new egress.
|
|
64
|
+
|
|
65
|
+
### Breaking changes
|
|
66
|
+
|
|
67
|
+
- **`.design/` and `.planning/` writes redirect to the main repo root inside a git worktree.** `scripts/lib/worktree-resolve.cjs`
|
|
68
|
+
detects a worktree (`git rev-parse --git-dir` vs `--git-common-dir`) and the gdd-state write path (`resolveStatePath`,
|
|
69
|
+
used by all 11 state tools) now resolves STATE there, with a one-line stderr notice. Outside a worktree, behavior is
|
|
70
|
+
unchanged. Tooling that assumed `.design/` always lived under `process.cwd()` should resolve through the helper.
|
|
71
|
+
- **Findings now carry a `confidence` field and design-fixer filters on it.** design-auditor, design-verifier, and
|
|
72
|
+
design-debt-crawler emit `confidence: 0.0-1.0` per finding; design-fixer drops `## Tentative` findings and routes
|
|
73
|
+
BLOCKER/MAJOR findings below 0.8 confidence to user review instead of auto-fix. Consumers of these findings should
|
|
74
|
+
read the new field.
|
|
75
|
+
|
|
76
|
+
### Added
|
|
77
|
+
|
|
78
|
+
- **`scripts/lib/worktree-resolve.cjs`** (resolveRepoRoot / isWorktree / resolveDesignRoot / resolvePlanningRoot;
|
|
79
|
+
graceful fallback, injectable exec) wired into the state write path + a one-line worktree note in the 7
|
|
80
|
+
artifact-writer agents.
|
|
81
|
+
- **`hooks/gdd-design-quality-check.js`**: an advisory PostToolUse hook scanning `Write`/`Edit`/`MultiEdit` to
|
|
82
|
+
`.tsx`/`.vue`/`.svelte`/`.astro` for 8 default-AI-aesthetic tells (gradient spam, generic CTAs, centered-everything,
|
|
83
|
+
font-inter default, purple/violet default, glassmorphism spam, isometric fallback, decorative motion). WARN-only,
|
|
84
|
+
emits a `design_quality_warn` event. Catalogued in **`reference/visual-tells.md`** (8 named categories with diagnostic
|
|
85
|
+
regex + remediation).
|
|
86
|
+
- **Reviewer confidence gate**: a 4-question Pre-Report Gate + the `confidence` field across the three audit agents,
|
|
87
|
+
a `scripts/lib/confidence-route.cjs` routing helper (`fix` / `user-review` / `drop`), and
|
|
88
|
+
**`reference/reviewer-confidence-gate.md`** (template + rationale + 4 before/after examples).
|
|
89
|
+
|
|
90
|
+
### Notes
|
|
91
|
+
|
|
92
|
+
- 6-manifest lockstep at **v1.49.0** + `OFF_CADENCE_VERSIONS.add('1.49.0')` + 37 `manifests-version.txt` baselines +
|
|
93
|
+
plugin keywords (`worktree-safe`, `anti-slop`, `confidence-gate`). Baselines re-locked: hook-list (19),
|
|
94
|
+
resilience-primitives (39 `scripts/lib/*.cjs`), registry (173), tarball golden 902 -> 907 (+5).
|
|
95
|
+
- WARN-only hook (never blocks); auto-fix of matched tells is out of scope (proposal-only); the verb-based anti-slop
|
|
96
|
+
rubric and a wider tell catalog are deferred to Phase 50.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
7
100
|
## [1.48.0] - 2026-06-03
|
|
8
101
|
|
|
9
102
|
### Phase 48 - Audit & Pillar Expansion
|
package/README.md
CHANGED
|
@@ -257,6 +257,10 @@ All 14 runtimes receive their native artifact layout (`skills/`, `command/`, `ag
|
|
|
257
257
|
|
|
258
258
|
**Audit and pillar expansion (v1.48.0).** Four audit-side gaps close at once. The copy pillar gets a real rubric (`reference/copy-quality.md` + `copy-auditor`): microcopy, error and empty-state text, ARIA and alt text, voice alignment, with an i18n overflow lens. A project-wide `design-debt-crawler` walks an existing codebase (not just the current cycle), enumerates raw color literals, anti-patterns, untokenized components, and contrast/density issues, and writes a priority-scored `.design/debt/DEBT-CATALOG.md`. A `brief-auditor` grades the brief against five anti-patterns (vague verbs, missing audience, immeasurable success criteria, scope creep, missing anti-goals) and surfaces a non-blocking `/gdd:discuss brief` pointer. And the Stage 4.5 quality-gate gains an `a11y` failure class so `axe` / `pa11y` / `lighthouse` regressions route to `design-fixer` like any other gate failure. **No new runtime dependency.**
|
|
259
259
|
|
|
260
|
+
**Quick anti-slop floor (v1.49.0).** Three small safety primitives. A worktree redirect (`scripts/lib/worktree-resolve.cjs`) sends `.design/` and `.planning/` writes to the main repo root when GDD runs inside a git worktree, so artifacts never leak into an ephemeral checkout. A design-quality PostToolUse hook (`gdd-design-quality-check.js`) runs a free regex pass on every `.tsx`/`.vue`/`.svelte`/`.astro` write and warns on eight default-AI-aesthetic tells (gradient spam, generic CTAs, centered-everything, font-inter defaults, purple/violet defaults, glassmorphism spam, isometric fallbacks, decorative motion), catalogued in `reference/visual-tells.md`. And a reviewer confidence gate adds a `confidence: 0.0-1.0` field plus a 4-question Pre-Report Gate to every audit finding: HIGH and CRITICAL findings need at least 0.8 confidence and cited proof, low-confidence findings stay tentative and never reach `design-fixer`. The hook is WARN-only and there is **no new runtime dependency**.
|
|
261
|
+
|
|
262
|
+
**Authoring contract v3 (v1.50.0).** Two additions. A verb-based anti-slop rubric (`reference/anti-slop-rubric.md`) scores five orthogonal axes (Directness, Distinctness, Hierarchy, Authenticity, Density); a sum below 35/50 routes a finding to the debt crawler as `aesthetic-slop`. It rides as a lens-tag on the existing 7-pillar audit, so it catches "generically AI-default" where the pillars catch "wrong". And a machine-parseable skill-composition manifest: optional `composes_with` / `next_skills` frontmatter, a DAG validator (`validate:composition-graph` fails on cycles or dangling refs), and an auto-generated `reference/skill-graph.md`. Skill descriptions move to a multi-paragraph v3 form (`<what>. Use when <triggers>. Activates for requests involving <kw>.`) with both forms accepted during a transition window, a boilerplate-cohort lint, and a `/gdd:new-skill` scaffolder. **No new runtime dependency.**
|
|
263
|
+
|
|
260
264
|
Verify with:
|
|
261
265
|
|
|
262
266
|
```
|
package/SKILL.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: get-design-done
|
|
3
3
|
short_name: gdd
|
|
4
4
|
description: "Master design pipeline for Claude Code. 5-stage workflow: Brief → Explore → Plan → Design → Verify. Run 'brief' first in any new project to capture the design problem, then 'explore' to inventory the codebase and interview for context. Invoke without arguments for status and auto-routing."
|
|
5
|
-
argument-hint: "[brief|explore|plan|design|verify|handoff|map|next|help|status|style|darkmode|live|compare|figma-write|graphify|discuss|list-assumptions|progress|health|todo|stats|note|plant-seed|add-backlog|review-backlog|scan|discover|settings|update|reapply-patches|audit|pause|resume|new-cycle|debug|quick|new-project|complete-cycle|fast|do|ship|undo|pr-branch|sketch|sketch-wrap-up|spike|spike-wrap-up|reflect|apply-reflections|analyze-dependencies|extract-learnings|skill-manifest|pin|unpin|list-pins|warm-cache|optimize|cache-manager|watch-authorities|check-update|benchmark|recall|timeline|continue|zoom-out]"
|
|
5
|
+
argument-hint: "[brief|explore|plan|design|verify|handoff|map|next|help|status|style|darkmode|live|compare|figma-write|graphify|discuss|list-assumptions|progress|health|todo|stats|note|plant-seed|add-backlog|review-backlog|scan|discover|settings|update|reapply-patches|audit|pause|resume|new-cycle|debug|quick|new-project|complete-cycle|fast|do|ship|undo|pr-branch|sketch|sketch-wrap-up|spike|spike-wrap-up|reflect|apply-reflections|analyze-dependencies|extract-learnings|skill-manifest|pin|unpin|list-pins|new-skill|warm-cache|optimize|cache-manager|watch-authorities|check-update|benchmark|recall|timeline|continue|zoom-out]"
|
|
6
6
|
user-invocable: true
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -93,6 +93,7 @@ Each stage produces artifacts in `.design/` inside the current project.
|
|
|
93
93
|
| `pin <skill>` | `get-design-done:gdd-pin` | Phase 46 - write standalone shortcut aliases for a gdd skill across every installed harness dir (so `/audit` resolves alongside `/gdd:audit`); metadata comes from the skills.json catalogue |
|
|
94
94
|
| `unpin <skill>` | `get-design-done:gdd-unpin` | Phase 46 - remove pinned aliases for a skill (only files carrying the gdd-pinned-skill marker) |
|
|
95
95
|
| `list-pins` | `get-design-done:gdd-list-pins` | Phase 46 - show pinned aliases per harness with their source skill and last-pinned timestamp |
|
|
96
|
+
| `new-skill <name>` | `get-design-done:gdd-new-skill` | Phase 50 - interactive scaffolder for a new Phase 28.5 + v3-compliant skill (multi-paragraph description, lifecycle stage, optional composes_with); writes source/skills/<name>/SKILL.md |
|
|
96
97
|
| `quality-gate` | `get-design-done:quality-gate` | Phase 25 - parallel lint/type/test/visual command runner; classifies failures via quality-gate-runner agent |
|
|
97
98
|
| `turn-closeout` | `get-design-done:turn-closeout` | Phase 25 - Stop-hook mirror skill; finalizes per-turn STATE blocks and emits closeout events |
|
|
98
99
|
| `bandit-status` | `get-design-done:bandit-status` | Phase 27.5 - read-only diagnostic surface for the bandit posterior; per-(agent, bin, delegate, tier) snapshots (alpha, beta, mean, stddev, count, last-used). Use `/gdd:bandit-reset` to mutate. |
|
package/agents/design-auditor.md
CHANGED
|
@@ -47,6 +47,9 @@ Minimum expected files:
|
|
|
47
47
|
- `.design/tasks/` - what was actually done (glob all task files)
|
|
48
48
|
- **Domain-index navigation (Phase 45):** the 7 entry-points `reference/{typography,color,spatial,motion,interaction,responsive,ux-writing}.md` index every fragment below. For a pillar, load the relevant domain index first, then drill into the specific fragments it lists only as the pillar needs them - this is the cheap navigation layer over the detailed fragments.
|
|
49
49
|
- `reference/audit-scoring.md` - existing 7-category scoring rubric (understand, do not duplicate)
|
|
50
|
+
- `reference/anti-slop-rubric.md` - the five verb axes scored after the pillar pass (see Anti-slop scoring section)
|
|
51
|
+
- `reference/visual-tells.md` - default-AI tell catalog; each tell names the verb axis it degrades
|
|
52
|
+
- `reference/reviewer-confidence-gate.md` - Pre-Report Gate, the `confidence` field, and the routing rule applied to every finding
|
|
50
53
|
- `reference/brand-voice.md` - voice axes, archetype library, and tone-by-context table (use when auditing Pillar 1: Copy)
|
|
51
54
|
- `reference/gestalt.md` - 8 Gestalt principles with scoring rubrics (use when auditing Pillar 2: Visual Hierarchy)
|
|
52
55
|
- `reference/visual-hierarchy-layout.md` - Z-order, whitespace, grids, and reading-order patterns (use when auditing Pillar 2: Visual Hierarchy)
|
|
@@ -321,6 +324,24 @@ grep -rEn "w-4 h-4|w-5 h-5|w-6 h-6" src/ --include="*.tsx" --include="*.jsx" 2>/
|
|
|
321
324
|
|
|
322
325
|
---
|
|
323
326
|
|
|
327
|
+
## Anti-slop scoring
|
|
328
|
+
|
|
329
|
+
After the 7-pillar pass, apply the verb-axis lens from `reference/anti-slop-rubric.md`. This is **orthogonal** and **v2-compatible additive** under `scoring_contract_version: v2` (see the contract note above): it adds NO eighth scored pillar, leaves the reserved Pillar 8 unscored, and changes neither the /28 total here nor the weighted 0-100 score in `reference/audit-scoring.md`.
|
|
330
|
+
|
|
331
|
+
Score five axes 1-10 each per the rubric (do not inline the scales or examples; the rubric is the source of truth):
|
|
332
|
+
|
|
333
|
+
- **Directness** - does copy and CTA name the specific product, verb, and outcome?
|
|
334
|
+
- **Distinctness** - is the palette and type a recorded brand decision, not the default reach?
|
|
335
|
+
- **Hierarchy** - one focal point and an obvious reading order, not flat competing weight?
|
|
336
|
+
- **Authenticity** - real product and shipped copy, not stock scenes, lorem, or badge spam?
|
|
337
|
+
- **Density** - density chosen for the content, not inflated to fill space?
|
|
338
|
+
|
|
339
|
+
Emit the result as a lens-tag on the relevant finding: `verb_axes_scored: {directness, distinctness, hierarchy, authenticity, density}`. Record which `reference/visual-tells.md` categories matched as evidence. The lens-tag is registered in `reference/audit-scoring.md` under Lens-Tags (Orthogonal).
|
|
340
|
+
|
|
341
|
+
When `directness + distinctness + hierarchy + authenticity + density < 35` (of 50), the work reads as generically AI-default even if pillars pass: flag an `aesthetic-slop` debt item for `agents/design-debt-crawler.md` (per `reference/debt-categories.md`) and note it in the Priority Fix List with the per-axis scores. A sum at or above 35 is not a pillar pass; it only means no aesthetic-slop routing.
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
324
345
|
## Domain checklist addendum (Tier-3)
|
|
325
346
|
|
|
326
347
|
If DESIGN-CONTEXT.md carries a `<domain>` line (set by `design-context-builder` Step 0F - `finance` / `healthcare` / `gaming` / `civic`), **also** run that pack's `## Audit checklist` from `reference/domains/<domain>-patterns.md` and fold its findings into the relevant pillar:
|
|
@@ -357,6 +378,10 @@ For each of the 7 pillars:
|
|
|
357
378
|
3. Assign a score (1–4) with specific evidence
|
|
358
379
|
4. Identify the top gap for this pillar (one concrete, actionable finding)
|
|
359
380
|
|
|
381
|
+
### Step 3.5: Pre-Report Gate + confidence
|
|
382
|
+
|
|
383
|
+
Before writing any finding into the Priority Fix List or Detailed Findings, run the four-question Pre-Report Gate from `reference/reviewer-confidence-gate.md`: (a) can you cite `file:line`, (b) can you state the failure mode in one sentence, (c) did you read context beyond the matched line, (d) is the implied severity defensible? Stamp every priority-fix finding with a `confidence` value (`0.0-1.0`): `>= 0.8` when all four pass, `0.5-0.8` for partial evidence, `< 0.5` for an unconfirmed pattern match (common for the code-only Visual Hierarchy and Color pillars, where runtime cannot be seen). Move every `< 0.5` finding into a `## Tentative` section instead of the Priority Fix List, so a low-confidence guess never escalates to remediation. Confidence is independent of the 1-4 pillar scores and does not change them.
|
|
384
|
+
|
|
360
385
|
### Step 4: Write DESIGN-AUDIT.md
|
|
361
386
|
|
|
362
387
|
Write `.design/DESIGN-AUDIT.md` using the output format below.
|
|
@@ -414,11 +439,19 @@ supplement_note: "Supplements 7-category 0-10 system in reference/audit-scoring.
|
|
|
414
439
|
|
|
415
440
|
## Priority Fix List
|
|
416
441
|
|
|
417
|
-
Listed by impact. Top 3 fixes the verifier should weight heavily.
|
|
442
|
+
Listed by impact. Top 3 fixes the verifier should weight heavily. Each finding carries a `confidence` value (see `reference/reviewer-confidence-gate.md`); findings below `0.5` go in `## Tentative`, not here.
|
|
443
|
+
|
|
444
|
+
1. **[Pillar N: specific issue]** (confidence: [0.0-1.0]) [user impact] [concrete fix with file reference]
|
|
445
|
+
2. **[Pillar N: specific issue]** (confidence: [0.0-1.0]) [user impact] [concrete fix with file reference]
|
|
446
|
+
3. **[Pillar N: specific issue]** (confidence: [0.0-1.0]) [user impact] [concrete fix with file reference]
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
## Tentative
|
|
451
|
+
|
|
452
|
+
Low-confidence findings (`confidence < 0.5`, per `reference/reviewer-confidence-gate.md`): pattern matches not confirmed by reading context, or runtime-only concerns the code-only pass cannot verify. Surfaced for human review; never auto-escalated to design-fixer.
|
|
418
453
|
|
|
419
|
-
|
|
420
|
-
2. **[Pillar N — specific issue]** — [user impact] — [concrete fix with file reference]
|
|
421
|
-
3. **[Pillar N — specific issue]** — [user impact] — [concrete fix with file reference]
|
|
454
|
+
- [Pillar N: finding] (confidence: [N], unconfirmed because [reason])
|
|
422
455
|
|
|
423
456
|
---
|
|
424
457
|
|
|
@@ -561,6 +561,8 @@ Iterate until the user confirms. Then write the artifact.
|
|
|
561
561
|
|
|
562
562
|
## Output: .design/DESIGN-CONTEXT.md
|
|
563
563
|
|
|
564
|
+
Before writing any `.design/` artifact, resolve the main repo root via `scripts/lib/worktree-resolve.cjs` (`resolveDesignRoot`) so a worktree run writes to the main checkout and does not leak.
|
|
565
|
+
|
|
564
566
|
Create `.design/` directory if needed. Write `.design/DESIGN-CONTEXT.md`:
|
|
565
567
|
|
|
566
568
|
```markdown
|
|
@@ -60,6 +60,8 @@ listed file before acting. Minimum expected files:
|
|
|
60
60
|
|
|
61
61
|
- @reference/debt-categories.md
|
|
62
62
|
- @reference/anti-patterns.md
|
|
63
|
+
- @reference/anti-slop-rubric.md
|
|
64
|
+
- @reference/reviewer-confidence-gate.md
|
|
63
65
|
|
|
64
66
|
`reference/debt-categories.md` is the taxonomy you classify against and the source of
|
|
65
67
|
the priority-scoring model. `reference/anti-patterns.md` is the BAN-NN and SLOP-NN
|
|
@@ -157,6 +159,25 @@ grep -rEn "No data|No results|Nothing here|went wrong|error occurred" src/ \
|
|
|
157
159
|
Flag meaningful images without `alt`, icon-only controls without an accessible name,
|
|
158
160
|
placeholder used as the only label, and generic empty or error copy.
|
|
159
161
|
|
|
162
|
+
**aesthetic-slop** (generically AI-default even when pillars pass): the orthogonal
|
|
163
|
+
verb-axis class from `reference/anti-slop-rubric.md`. `agents/design-auditor.md` scores
|
|
164
|
+
five axes (Directness, Distinctness, Hierarchy, Authenticity, Density, 1-10 each) and routes
|
|
165
|
+
any finding summing below 35 of 50 here as `category: aesthetic-slop`, carrying its
|
|
166
|
+
`verb_axes_scored` values plus matched `reference/visual-tells.md` categories as evidence.
|
|
167
|
+
|
|
168
|
+
### Step 2.5: Pre-Report Gate + confidence
|
|
169
|
+
|
|
170
|
+
Before cataloging any finding, run the four-question Pre-Report Gate from
|
|
171
|
+
`reference/reviewer-confidence-gate.md`: (a) can you cite `file:line`, (b) can you state the
|
|
172
|
+
failure mode in one sentence, (c) did you read context beyond the matched line (the token
|
|
173
|
+
definition, the call site), and (d) is the class assignment defensible? Stamp every catalog
|
|
174
|
+
row with a `confidence` value (`0.0-1.0`): `>= 0.8` when all four pass, `0.5-0.8` when evidence
|
|
175
|
+
is partial, `< 0.5` for a pattern match you could not confirm (for example an unresolved
|
|
176
|
+
contrast pair or a literal that may be inside a token definition). Move every `< 0.5` finding
|
|
177
|
+
into a `## Tentative` section instead of the ranked findings table, so a low-confidence guess
|
|
178
|
+
never escalates to remediation. Confidence is independent of priority: a high-priority debt
|
|
179
|
+
item can still be low confidence and belongs in `## Tentative` until confirmed.
|
|
180
|
+
|
|
160
181
|
### Step 3: Group and score
|
|
161
182
|
|
|
162
183
|
Group findings by the seven debt classes. For each finding, assign the three priority
|
|
@@ -212,17 +233,27 @@ note: "Project-scoped retroactive debt catalog. Does NOT read STATE.md completed
|
|
|
212
233
|
| density-spacing | N | P |
|
|
213
234
|
| typography-drift | N | P |
|
|
214
235
|
| a11y-text | N | P |
|
|
236
|
+
| aesthetic-slop | N | P |
|
|
215
237
|
|
|
216
238
|
---
|
|
217
239
|
|
|
218
240
|
## Findings (ranked by priority)
|
|
219
241
|
|
|
220
|
-
| Priority | Class | Location | Finding | V × E × P | Suggested command |
|
|
221
|
-
|
|
222
|
-
| 18 | color-literal | src/Card.tsx:42 | Raw #1a73e8 instead of token | 3×3×2 | `/gdd:fast "replace #1a73e8 with semantic token in Card.tsx"` |
|
|
223
|
-
| 12 | anti-pattern | src/Hero.tsx:8 | BAN-02 gradient text on heading | 3×2×2 | `/gdd:fast "remove BAN-02 gradient text in Hero.tsx"` |
|
|
242
|
+
| Priority | Class | Location | Finding | V × E × P | Confidence | Suggested command |
|
|
243
|
+
|----------|-------|----------|---------|-----------|------------|-------------------|
|
|
244
|
+
| 18 | color-literal | src/Card.tsx:42 | Raw #1a73e8 instead of token | 3×3×2 | 0.9 | `/gdd:fast "replace #1a73e8 with semantic token in Card.tsx"` |
|
|
245
|
+
| 12 | anti-pattern | src/Hero.tsx:8 | BAN-02 gradient text on heading | 3×2×2 | 0.85 | `/gdd:fast "remove BAN-02 gradient text in Hero.tsx"` |
|
|
246
|
+
|
|
247
|
+
(One row per finding with `confidence >= 0.5`. The Suggested command column always carries a `/gdd:fast "<finding>"` string. Findings below `0.5` go in `## Tentative` below, not in this table.)
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## Tentative
|
|
252
|
+
|
|
253
|
+
Findings with `confidence < 0.5` (pattern matches not confirmed by reading context, per
|
|
254
|
+
`reference/reviewer-confidence-gate.md`). Listed for human review; never auto-escalated.
|
|
224
255
|
|
|
225
|
-
|
|
256
|
+
- [class] [location]: [finding] (confidence: [N], unconfirmed because [reason])
|
|
226
257
|
|
|
227
258
|
---
|
|
228
259
|
|
|
@@ -395,6 +395,8 @@ Apply these rules automatically during execution. Track all deviations in the ta
|
|
|
395
395
|
|
|
396
396
|
## Task Output - .design/tasks/task-NN.md
|
|
397
397
|
|
|
398
|
+
Before writing any `.design/` artifact, resolve the main repo root via `scripts/lib/worktree-resolve.cjs` (`resolveDesignRoot`) so a worktree run writes to the main checkout and does not leak.
|
|
399
|
+
|
|
398
400
|
After completing the task's implementation work, write `.design/tasks/task-NN.md` (where NN = task_id from prompt context). Create `.design/tasks/` directory first if it does not exist.
|
|
399
401
|
|
|
400
402
|
Format (locked - do not alter structure):
|
package/agents/design-fixer.md
CHANGED
|
@@ -48,6 +48,8 @@ The orchestrating stage supplies a `<required_reading>` block in the prompt. Rea
|
|
|
48
48
|
|
|
49
49
|
**Invariant:** read all listed files FIRST, before making any changes.
|
|
50
50
|
|
|
51
|
+
**Worktree-root invariant:** before writing any `.design/` artifact (for example a `<blocker>` entry to `.design/STATE.md`), resolve the main repo root via `scripts/lib/worktree-resolve.cjs` so a worktree run writes to the canonical `.design/` and does not leak artifacts into the worktree checkout.
|
|
52
|
+
|
|
51
53
|
---
|
|
52
54
|
|
|
53
55
|
## Prompt Context Fields
|
|
@@ -88,7 +90,8 @@ Parse every entry in that section. The `G-NN` identifier, severity classificatio
|
|
|
88
90
|
4. Filter by severity based on `auto_mode`:
|
|
89
91
|
- Always include: `BLOCKER`, `MAJOR`
|
|
90
92
|
- Include only if `auto_mode=true`: `MINOR`, `COSMETIC`
|
|
91
|
-
5.
|
|
93
|
+
5. **Confidence routing filter (Phase 49, see `reference/reviewer-confidence-gate.md`).** Drop any gap that sits under a `## Tentative` heading: those never reach you. Then drop any `BLOCKER` or `MAJOR` gap whose `confidence` field is below `0.8` and route it to user review instead of auto-fix, since a high-severity gap without strong evidence is exactly the inflated-severity case the gate exists to catch. A gap missing its `confidence` field is treated as below the floor. The shared decision lives in `scripts/lib/confidence-route.cjs` (`route({ severity, confidence, tentative })` returns `'fix' | 'user-review' | 'drop'`); fix only the gaps it routes to `'fix'`.
|
|
94
|
+
6. Build an ordered list: BLOCKER first, then MAJOR, then (if included) MINOR, COSMETIC.
|
|
92
95
|
|
|
93
96
|
If no in-scope gaps are found (e.g., verifier found only MINOR gaps and `auto_mode=false`), emit `## FIX COMPLETE` immediately with "No in-scope gaps to fix."
|
|
94
97
|
|
package/agents/design-planner.md
CHANGED
|
@@ -227,6 +227,8 @@ Before finalizing task list:
|
|
|
227
227
|
|
|
228
228
|
## Output Format
|
|
229
229
|
|
|
230
|
+
Before writing any `.design/` artifact, resolve the main repo root via `scripts/lib/worktree-resolve.cjs` (`resolveDesignRoot`) so a worktree run writes to the main checkout and does not leak.
|
|
231
|
+
|
|
230
232
|
Write `.design/DESIGN-PLAN.md` with this exact structure:
|
|
231
233
|
|
|
232
234
|
```markdown
|
|
@@ -62,6 +62,8 @@ Minimum expected inputs (skip gracefully if absent, note what's missing):
|
|
|
62
62
|
|
|
63
63
|
## Output
|
|
64
64
|
|
|
65
|
+
Before writing any `.design/` artifact, resolve the main repo root via `scripts/lib/worktree-resolve.cjs` (`resolveDesignRoot`) so a worktree run writes to the main checkout and does not leak.
|
|
66
|
+
|
|
65
67
|
Write `.design/reflections/<cycle-slug>.md`. If `--dry-run` is set in the spawning prompt, print proposals to stdout only - do not write the file.
|
|
66
68
|
|
|
67
69
|
If the capability-gap pattern scan emitted any events during this run, include a `## Capability gaps emitted` heading listing each `event_id` with the source signal kind (`intel` | `posterior` | `trajectory`) and the `suggested_kind` (`agent` | `skill`) per event. Plan 29-03 reads these events from `.design/gep/events.jsonl` to cluster recurring `capability_gap` events for `/gdd:apply-reflections`.
|
|
@@ -161,6 +161,8 @@ Read .design/STATE.md
|
|
|
161
161
|
|
|
162
162
|
## Output
|
|
163
163
|
|
|
164
|
+
Before writing any `.design/` artifact, resolve the main repo root via `scripts/lib/worktree-resolve.cjs` (`resolveDesignRoot`) so a worktree run writes to the main checkout and does not leak.
|
|
165
|
+
|
|
164
166
|
Single file: `.design/DESIGN-CONTEXT.md`.
|
|
165
167
|
|
|
166
168
|
## Record
|
|
@@ -33,6 +33,7 @@ The orchestrating stage supplies a `<required_reading>` block in the prompt. Rea
|
|
|
33
33
|
- `.design/DESIGN-CONTEXT.md` - goals, must-haves, brand direction, references
|
|
34
34
|
- `.design/tasks/` - what was actually done (glob all task files)
|
|
35
35
|
- `reference/audit-scoring.md` - scoring rubric for category weights
|
|
36
|
+
- `reference/reviewer-confidence-gate.md` - Pre-Report Gate, the `confidence` field, and the gap routing rule
|
|
36
37
|
- `reference/heuristics.md` - NNG heuristics H-01..H-10 scoring guide
|
|
37
38
|
- `reference/review-format.md` - visual UAT presentation format
|
|
38
39
|
- `reference/accessibility.md` - WCAG checklist for accessibility scoring
|
|
@@ -40,6 +41,8 @@ The orchestrating stage supplies a `<required_reading>` block in the prompt. Rea
|
|
|
40
41
|
- `connections/chromatic.md` - Chromatic CLI connection spec (probe, baseline management, fallback)
|
|
41
42
|
- `connections/storybook.md` - Storybook HTTP probe and a11y integration details
|
|
42
43
|
|
|
44
|
+
**Worktree-root invariant:** before writing `.design/DESIGN-VERIFICATION.md` (or any `.design/` artifact), resolve the main repo root via `scripts/lib/worktree-resolve.cjs` so a worktree run writes to the canonical `.design/` and does not leak artifacts into the worktree checkout.
|
|
45
|
+
|
|
43
46
|
## Prompt Context Fields
|
|
44
47
|
|
|
45
48
|
The stage embeds these fields in its prompt:
|
|
@@ -440,6 +443,8 @@ Classify each gap:
|
|
|
440
443
|
- `MINOR` - noticeable issue; fix if time allows
|
|
441
444
|
- `COSMETIC` - polish only; defer to later
|
|
442
445
|
|
|
446
|
+
**Pre-Report Gate (Phase 49, see `reference/reviewer-confidence-gate.md`).** Before emitting each gap, answer the four questions: (a) can you cite `file:line`, (b) can you state the failure mode in one sentence, (c) did you read context beyond the modified file, (d) is the severity defensible? Stamp every gap with a `confidence` field (`0.0-1.0`): `>= 0.8` when all four pass, `0.5-0.8` when evidence is partial, `< 0.5` for an unconfirmed hunch. A BLOCKER or MAJOR requires `confidence >= 0.8` plus a `file:line` citation plus a one-sentence failure mode; below that, lower the severity or move it to `## Tentative`. Confidence is independent of severity. Move every `< 0.5` gap into a `## Tentative` section so it is surfaced but never reaches `design-fixer`.
|
|
447
|
+
|
|
443
448
|
For each gap, emit an entry in the locked gap format:
|
|
444
449
|
|
|
445
450
|
```
|
|
@@ -452,6 +457,7 @@ For each gap, emit an entry in the locked gap format:
|
|
|
452
457
|
- Actual: [what is true]
|
|
453
458
|
- Location: [file:line or UI element]
|
|
454
459
|
- Suggested fix: [one-line hint]
|
|
460
|
+
- confidence: [0.0-1.0]
|
|
455
461
|
```
|
|
456
462
|
|
|
457
463
|
Order gaps: BLOCKER first, then MAJOR, MINOR, COSMETIC. Number sequentially (G-01, G-02, ...).
|
|
@@ -464,21 +470,7 @@ If zero gaps found: skip this section entirely - do NOT emit `## GAPS FOUND`.
|
|
|
464
470
|
|
|
465
471
|
**Skip if `chromatic` is `not_configured` or `unavailable` in STATE.md `<connections>`.**
|
|
466
472
|
|
|
467
|
-
If `.design/chromatic-results.json` exists:
|
|
468
|
-
1. Read .design/chromatic-results.json
|
|
469
|
-
2. Check if this is a first run (all entries have status: "new"):
|
|
470
|
-
→ First run: emit "Baseline established - no regressions detected (first run creates baseline)."
|
|
471
|
-
3. For subsequent runs, narrate changes:
|
|
472
|
-
For each story entry in results:
|
|
473
|
-
- status "unchanged" → PASS <StoryTitle>:<StoryName>
|
|
474
|
-
- status "changed" → CHANGED <StoryTitle>:<StoryName> (visual change detected - review on chromatic.com)
|
|
475
|
-
- status "new" → NEW <StoryTitle>:<StoryName> (first snapshot - not a regression)
|
|
476
|
-
- status "error" → ERROR <StoryTitle>:<StoryName> - investigate
|
|
477
|
-
4. Emit summary: "Total: N stories. X unchanged. Y changed. Z new. W errors."
|
|
478
|
-
5. If Y > 0 (changed stories): flag as "VISUAL REGRESSION CANDIDATES - review required on chromatic.com before merging"
|
|
479
|
-
6. Append narration to DESIGN-VERIFICATION.md ## Visual Regression section (create section if absent)
|
|
480
|
-
|
|
481
|
-
If .design/chromatic-results.json does not exist: skip; emit no note.
|
|
473
|
+
If `.design/chromatic-results.json` exists, read it and narrate. First run (all entries `status: "new"`): emit "Baseline established - no regressions detected (first run creates baseline)." Subsequent runs, per story entry: `unchanged` → PASS, `changed` → CHANGED (review on chromatic.com), `new` → NEW (first snapshot, not a regression), `error` → ERROR (investigate). Emit summary "Total: N stories. X unchanged. Y changed. Z new. W errors." If any changed (Y > 0), flag "VISUAL REGRESSION CANDIDATES - review required on chromatic.com before merging". Append the narration to the DESIGN-VERIFICATION.md `## Visual Regression` section (create it if absent). If the file does not exist: skip; emit no note.
|
|
482
474
|
|
|
483
475
|
---
|
|
484
476
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-audit
|
|
3
|
-
description: "Run a design audit by spawning design-auditor, design-integration-checker, and (optionally) design-verifier + design-reflector agents, then printing a consolidated 6-pillar score summary. Use when the user wants to score the current design, retroactively verify a completed cycle, or quickly re-check after a fix."
|
|
3
|
+
description: "Run a design audit by spawning design-auditor, design-integration-checker, and (optionally) design-verifier + design-reflector agents, then printing a consolidated 6-pillar score summary. Use when the user wants to score the current design, retroactively verify a completed cycle, or quickly re-check after a fix. Activates for requests involving scoring an existing design, retroactively reviewing quality, or re-checking after a fix."
|
|
4
4
|
argument-hint: "[--retroactive] [--quick] [--no-reflect]"
|
|
5
5
|
tools: Read, Write, Task, Glob, Bash
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-brief
|
|
3
|
-
description: "Stage 1 of 5 design intake that captures problem statement, audience, constraints, success metrics, and scope into .design/BRIEF.md, and bootstraps .design/STATE.md if missing. Use when starting a new design cycle and before /gdd:explore."
|
|
3
|
+
description: "Stage 1 of 5 design intake that captures problem statement, audience, constraints, success metrics, and scope into .design/BRIEF.md, and bootstraps .design/STATE.md if missing. Use when starting a new design cycle and before /gdd:explore. Activates for requests involving capturing a problem statement, defining audience and constraints, or starting a new design brief."
|
|
4
4
|
argument-hint: "[--re-brief to redo intake on existing project]"
|
|
5
5
|
tools: Read, Write, AskUserQuestion, mcp__gdd_state__frontmatter_update, mcp__gdd_state__set_status, mcp__gdd_state__update_progress, mcp__gdd_state__get
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-compare
|
|
3
|
-
description: "Compute the delta between the `DESIGN.md` baseline (from scan) and the `DESIGN-VERIFICATION.md` result (from verify), reporting per-category score delta, anti-pattern delta (resolved vs new), must-have pass/fail change, and design drift (regressions without covering tasks in `DESIGN-PLAN.md`). Use after `verify` to measure whether a design pipeline cycle actually improved the design. Writes `.design/COMPARE-REPORT.md`."
|
|
3
|
+
description: "Compute the delta between the `DESIGN.md` baseline (from scan) and the `DESIGN-VERIFICATION.md` result (from verify), reporting per-category score delta, anti-pattern delta (resolved vs new), must-have pass/fail change, and design drift (regressions without covering tasks in `DESIGN-PLAN.md`). Use after `verify` to measure whether a design pipeline cycle actually improved the design. Writes `.design/COMPARE-REPORT.md`. Activates for requests involving diffing a design baseline against verification output, or a before-after design delta."
|
|
4
4
|
argument-hint: ""
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-connections
|
|
3
|
-
description: "Interactive onboarding wizard for the 33 external integrations the pipeline supports - probes all (`figma`, `refero`, `preview`, `storybook`, `chromatic`, `graphify`, `pinterest`, `claude-design`, `paper-design`, `pencil-dev`, `21st-dev`, `magic-patterns`, `lazyweb`, `mobbin`, `slack`, `discord`, `linear`, `jira`, `notion`, `lottie`, `rive`, `framer`, `penpot`, `webflow`, `v0-dev`, `plasmic`, `builder-io`, `launchdarkly`, `statsig`, `growthbook`, `usertesting`, `maze`, `hotjar`), recommends based on project type, walks the user through setup (auto-run MCP install or copy-command fallback), writes results to `STATE.md <connections>`. Use after `/gdd:new-project` or whenever the user wants to add, inspect, or skip a connection. Re-runnable anytime."
|
|
3
|
+
description: "Interactive onboarding wizard for the 33 external integrations the pipeline supports - probes all (`figma`, `refero`, `preview`, `storybook`, `chromatic`, `graphify`, `pinterest`, `claude-design`, `paper-design`, `pencil-dev`, `21st-dev`, `magic-patterns`, `lazyweb`, `mobbin`, `slack`, `discord`, `linear`, `jira`, `notion`, `lottie`, `rive`, `framer`, `penpot`, `webflow`, `v0-dev`, `plasmic`, `builder-io`, `launchdarkly`, `statsig`, `growthbook`, `usertesting`, `maze`, `hotjar`), recommends based on project type, walks the user through setup (auto-run MCP install or copy-command fallback), writes results to `STATE.md <connections>`. Use after `/gdd:new-project` or whenever the user wants to add, inspect, or skip a connection. Re-runnable anytime. Activates for requests involving setting up external integrations, probing Figma or preview or storybook, or onboarding tools."
|
|
4
4
|
argument-hint: "[list | <connection-name> | --auto]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: Read, Write, Bash, Glob, Grep, AskUserQuestion, ToolSearch
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-darkmode
|
|
3
|
-
description: "Audit a project's dark mode implementation - detects architecture (CSS custom props, Tailwind `dark:` prefix, or JS class toggle), runs architecture-specific contrast / token-override / anti-pattern / meta-property checks, and writes a prioritized fix list to `.design/DARKMODE-AUDIT.md`. Use when the user wants to verify dark mode quality without re-running the full design pipeline. Read-only - no score writeback to `DESIGN.md`."
|
|
3
|
+
description: "Audit a project's dark mode implementation - detects architecture (CSS custom props, Tailwind `dark:` prefix, or JS class toggle), runs architecture-specific contrast / token-override / anti-pattern / meta-property checks, and writes a prioritized fix list to `.design/DARKMODE-AUDIT.md`. Use when the user wants to verify dark mode quality without re-running the full design pipeline. Read-only - no score writeback to `DESIGN.md`. Activates for requests involving auditing dark mode, checking dark-theme contrast, or dark-mode anti-patterns."
|
|
4
4
|
argument-hint: ""
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: design
|
|
3
|
-
description: "Stage 4 of 5 orchestrator that reads DESIGN-PLAN.md, partitions tasks by wave + parallel-safe flag, and spawns design-executor agents with the appropriate isolation (worktree for parallel batches, in-place for sequential tail). Use when DESIGN-PLAN.md is approved and ready for implementation."
|
|
3
|
+
description: "Stage 4 of 5 orchestrator that reads DESIGN-PLAN.md, partitions tasks by wave + parallel-safe flag, and spawns design-executor agents with the appropriate isolation (worktree for parallel batches, in-place for sequential tail). Use when DESIGN-PLAN.md is approved and ready for implementation. Activates for requests involving implementing UI, building components, or turning a plan into working interface code."
|
|
4
4
|
argument-hint: "[--auto] [--parallel] [--variants N]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: Read, Write, Bash, Grep, Glob, Task, AskUserQuestion, mcp__gdd_state__get, mcp__gdd_state__transition_stage, mcp__gdd_state__update_progress, mcp__gdd_state__set_status, mcp__gdd_state__add_blocker, mcp__gdd_state__resolve_blocker, mcp__gdd_state__checkpoint
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: discover
|
|
3
|
-
description: "Stage 1.5 of 4 orchestrator that probes Figma / Refero / Pinterest connections, spawns design-context-builder (auto-detect + interview) and (via lazy gate) design-context-checker (6-dimension validator), producing .design/DESIGN-CONTEXT.md. Use after /gdd:scan when a fast-path context build is wanted instead of the full /gdd:explore."
|
|
3
|
+
description: "Stage 1.5 of 4 orchestrator that probes Figma / Refero / Pinterest connections, spawns design-context-builder (auto-detect + interview) and (via lazy gate) design-context-checker (6-dimension validator), producing .design/DESIGN-CONTEXT.md. Use after /gdd:scan when a fast-path context build is wanted instead of the full /gdd:explore. Activates for requests involving detecting an existing design system, inventorying tokens and components, or onboarding a brownfield repo."
|
|
4
4
|
argument-hint: "[--auto]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-do
|
|
3
|
-
description: "Natural-language design task router. Parses your intent, maps to the right gdd command(s), confirms before executing."
|
|
3
|
+
description: "Natural-language design task router. Parses your intent, maps to the right gdd command(s), confirms before executing. Activates for requests involving a natural-language design request, routing intent to the right command, or not knowing which skill to use."
|
|
4
4
|
argument-hint: "<natural language description>"
|
|
5
5
|
tools: Read, Write, AskUserQuestion
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-explore
|
|
3
|
-
description: "Stage 2 of 5 - unified exploration merging inventory grep + design interview. Probes 6 connections, scans the codebase, conducts the AskUserQuestion interview, and writes .design/DESIGN.md + DESIGN-DEBT.md + DESIGN-CONTEXT.md. Use after /gdd:brief to map the existing system and lock decisions before planning."
|
|
3
|
+
description: "Stage 2 of 5 - unified exploration merging inventory grep + design interview. Probes 6 connections, scans the codebase, conducts the AskUserQuestion interview, and writes .design/DESIGN.md + DESIGN-DEBT.md + DESIGN-CONTEXT.md. Use after /gdd:brief to map the existing system and lock decisions before planning. Activates for requests involving researching design direction, gathering references, or exploring visual options."
|
|
4
4
|
argument-hint: "[--skip-interview] [--skip-scan]"
|
|
5
5
|
tools: Read, Write, Bash, Grep, Glob, Task, AskUserQuestion, mcp__gdd_state__get, mcp__gdd_state__transition_stage, mcp__gdd_state__probe_connections, mcp__gdd_state__update_progress, mcp__gdd_state__set_status, mcp__gdd_state__add_blocker, mcp__gdd_state__checkpoint, mcp__gdd_state__add_decision
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-fast
|
|
3
|
-
description: "Trivial inline design task. No subagents, no planning documents, no pipeline stages. Just do the thing described."
|
|
3
|
+
description: "Trivial inline design task. No subagents, no planning documents, no pipeline stages. Just do the thing described. Activates for requests involving a single quick design fix, a one-shot change, or a fast targeted edit."
|
|
4
4
|
argument-hint: "<task description>"
|
|
5
5
|
tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-health
|
|
3
|
-
description: "Reports .design/ artifact health - staleness, missing files, token drift, broken state transitions."
|
|
3
|
+
description: "Reports .design/ artifact health - staleness, missing files, token drift, broken state transitions. Activates for requests involving checking .design artifact health, staleness, token drift, or broken state transitions."
|
|
4
4
|
tools: Read, Bash, Glob, Grep, mcp__gdd_state__get
|
|
5
5
|
disable-model-invocation: true
|
|
6
6
|
---
|
|
@@ -90,7 +90,7 @@ After the health table, surface the Phase 28.5 skill-authoring contract drift si
|
|
|
90
90
|
- `Skill-length: <total> total | <clean> clean | <warnings> warn (>=100) | <blockers> block (>=250)`
|
|
91
91
|
- If blockers > 0: list each blocker as a row `- <name> (<lines> lines)`. Else: print `All skills within contract.`
|
|
92
92
|
|
|
93
|
-
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.
|
|
93
|
+
Thresholds: warn >=100, block >=250 (D-01). Strict description-format off by default (D-02). Then add two compact Phase 50 lines from `scripts/lib/manifest/skills.json`: `Skills: <n>/<total> in v3 description form` (descriptions matching `/Activates for requests involving/i`) and `Composition: <edges> edges | <cycles> cycles` (`composes_with`/`next_skills` fan-out; cycles via `scripts/validate-composition-graph.cjs` when present, else `0`). See `./health-skill-length-report.md` for the JSON shape and threshold rationale.
|
|
94
94
|
|
|
95
95
|
## Do Not
|
|
96
96
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-live
|
|
3
|
-
description: "Live in-browser design mode. The user picks a DOM element on a running dev server (via the Claude Preview MCP), the agent generates N design variants in one batch, they hot-swap in place through HMR or preview_eval using a data-gdd-variant marker, the user accepts or discards, and the whole pick-generate-accept loop persists to .design/live-sessions so it survives a crash or resume. Use when the user wants to iterate on the look of a live component against a real running server, asks to try variants on a page, or runs the live command with a url; falls back to a screenshot-only degraded mode on harnesses without MCP support."
|
|
3
|
+
description: "Live in-browser design mode. The user picks a DOM element on a running dev server (via the Claude Preview MCP), the agent generates N design variants in one batch, they hot-swap in place through HMR or preview_eval using a data-gdd-variant marker, the user accepts or discards, and the whole pick-generate-accept loop persists to .design/live-sessions so it survives a crash or resume. Use when the user wants to iterate on the look of a live component against a real running server, asks to try variants on a page, or runs the live command with a url; falls back to a screenshot-only degraded mode on harnesses without MCP support. Activates for requests involving in-browser design iteration, picking an element on a dev server, or generating variants with hot-swap."
|
|
4
4
|
argument-hint: "[--variants N] [--resume <session-id>] [url]"
|
|
5
5
|
tools: Read, Write, Edit, Bash, Glob, Grep, Task
|
|
6
6
|
user-invocable: true
|