@hegemonart/get-design-done 1.49.0 → 1.50.1
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 +6 -3
- package/CHANGELOG.md +77 -0
- package/README.md +2 -0
- package/SKILL.md +2 -2
- package/agents/design-auditor.md +20 -0
- package/agents/design-debt-crawler.md +8 -0
- package/dist/claude-code/.claude/skills/audit/SKILL.md +5 -5
- 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 +2 -2
- package/dist/claude-code/.claude/skills/verify/verify-procedure.md +5 -5
- package/package.json +9 -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 +15 -1
- package/reference/skill-authoring-contract.md +97 -15
- package/reference/skill-graph.md +125 -0
- package/reference/visual-tells.md +152 -6
- package/scripts/lib/manifest/scaffolder.cjs +261 -0
- package/scripts/lib/manifest/schemas/skills.schema.json +14 -0
- package/scripts/lib/manifest/skills.json +50 -24
- package/skills/audit/SKILL.md +5 -5
- 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 +2 -2
- package/skills/verify/verify-procedure.md +5 -5
|
@@ -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.1"
|
|
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.1",
|
|
16
16
|
"author": {
|
|
17
17
|
"name": "hegemonart"
|
|
18
18
|
},
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "get-design-done",
|
|
3
3
|
"short_name": "gdd",
|
|
4
|
-
"version": "1.
|
|
5
|
-
"description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify.
|
|
4
|
+
"version": "1.50.1",
|
|
5
|
+
"description": "Agent-orchestrated 5-stage design pipeline: Brief → Explore → Plan → Design → Verify. 59 specialized agents, 88 skills, 41 connection integrations (Figma, Refero, Preview, Storybook, Chromatic, Graphify, Slack, Linear, Jira, Notion, and more), 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",
|
|
8
8
|
"url": "https://github.com/hegemonart"
|
|
@@ -74,7 +74,10 @@
|
|
|
74
74
|
"pdf",
|
|
75
75
|
"worktree-safe",
|
|
76
76
|
"anti-slop",
|
|
77
|
-
"confidence-gate"
|
|
77
|
+
"confidence-gate",
|
|
78
|
+
"anti-slop-rubric",
|
|
79
|
+
"skill-composition",
|
|
80
|
+
"skill-graph"
|
|
78
81
|
],
|
|
79
82
|
"skills": [
|
|
80
83
|
"./skills/"
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,83 @@ All notable changes to get-design-done are documented here. Versions follow [sem
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [1.50.1] - 2026-06-03
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
Post-release consistency sweep against the shipped v1.50.0 surface.
|
|
12
|
+
|
|
13
|
+
- **Audit terminology aligned to 7 pillars.** `design-auditor` has been a 7-pillar audit since Phase 48, but
|
|
14
|
+
`skills/audit`, `skills/verify` (+ `verify-procedure.md`), `reference/skill-authoring-contract.md`, and the
|
|
15
|
+
registry rubric description still said "6-pillar". All now read 7-pillar (the copy/visual-hierarchy/color/
|
|
16
|
+
typography/layout/experience/micro-polish set, /28). `copy-auditor`'s "the other six pillars" is correct and
|
|
17
|
+
unchanged (copy plus six others is seven).
|
|
18
|
+
- **Plugin positioning refreshed.** `.claude-plugin/plugin.json` advertised "22+ specialized agents, 9 connections";
|
|
19
|
+
it now reads the accurate **59 agents, 88 skills, 41 connection integrations**.
|
|
20
|
+
- **Composition graph seeded.** Phase 50 shipped the composition manifest infrastructure with no data, so
|
|
21
|
+
`reference/skill-graph.md` had zero edges. The true pipeline chain is now declared via `next_skills`
|
|
22
|
+
(new-project → brief → explore → plan → design → verify → ship); `validate:composition-graph` confirms it stays an
|
|
23
|
+
acyclic, dangle-free DAG.
|
|
24
|
+
- **`SKILL.md` command table** no longer lists `benchmark` twice.
|
|
25
|
+
- **Codex default prompt** uses the `/gdd-` command prefix consistently (`/gdd-brief`, `/gdd-explore`) instead of the
|
|
26
|
+
Claude-style `/gdd:` and a stray `$gdd-explore`.
|
|
27
|
+
|
|
28
|
+
### Notes
|
|
29
|
+
|
|
30
|
+
- 6-manifest lockstep at **v1.50.1** + `OFF_CADENCE_VERSIONS.add('1.50.1')` + 37 `manifests-version.txt` baselines.
|
|
31
|
+
Re-locked `verify-after.md` after the terminology fix. No new shipped files (tarball golden unchanged).
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## [1.50.0] - 2026-06-03
|
|
36
|
+
|
|
37
|
+
### Phase 50 - Authoring Contract v3
|
|
38
|
+
|
|
39
|
+
Two cross-repo-validated additions to the authoring contract. A verb-based anti-slop rubric catches a different
|
|
40
|
+
class of failure than the noun-based 7-pillar audit (the pillars ask "is the typography wrong?", the verb axes ask
|
|
41
|
+
"is it generically AI-default?"). And a machine-parseable skill-composition manifest fills the "no skill calls
|
|
42
|
+
another skill" gap with a DAG validator and an auto-generated skill graph. Planned and executed via the GSD pipeline
|
|
43
|
+
(3 parallel executor subagents). No new runtime dependency, no new egress. This closes the 45-to-50 release run.
|
|
44
|
+
|
|
45
|
+
### Breaking changes
|
|
46
|
+
|
|
47
|
+
- **Skill descriptions move to a multi-paragraph v3 form** (`<what>. Use when <triggers>. Activates for requests
|
|
48
|
+
involving <kw1>, <kw2>, <kw3>.`). Both the v2 and v3 forms are accepted for one minor version (transition window);
|
|
49
|
+
`/gdd:health` reports adoption ("Skills: N/88 in v3 form"). The 1024-char cap is unchanged. A new boilerplate-cohort
|
|
50
|
+
lint (`validate:skill-frontmatter`) fails CI if three or more skills share an identical opening sentence.
|
|
51
|
+
- **Two new CI gates guard the composition graph.** `validate:composition-graph` fails on a cycle or a dangling
|
|
52
|
+
`composes_with`/`next_skills` reference; `build:skill-graph:check` fails if `reference/skill-graph.md` drifts from
|
|
53
|
+
`skills.json`. Authors adding composition edges must keep the graph acyclic and the generated graph current.
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- **`reference/anti-slop-rubric.md`**: 5 orthogonal verb axes (Directness, Distinctness, Hierarchy, Authenticity,
|
|
58
|
+
Density), 1-10 each; `sum < 35/50` routes a finding to `design-debt-crawler` as `category: aesthetic-slop`.
|
|
59
|
+
`design-auditor` emits `verb_axes_scored` as a lens-tag (no pillar change, mirrors `emotion_levels`).
|
|
60
|
+
- **`reference/visual-tells.md` v2**: the 8 Phase-49 categories plus 5 more (stock-photo-people, badge-spam,
|
|
61
|
+
oversized-single-word, motion-without-content-intent, narrator-from-a-distance-UI), each cross-linked to its
|
|
62
|
+
primary verb axis.
|
|
63
|
+
- **Skill composition manifest**: optional `composes_with`/`next_skills` frontmatter (documented in the skills
|
|
64
|
+
schema), `scripts/validate-composition-graph.cjs` (cycle + dangling-ref detection), and an auto-generated
|
|
65
|
+
`reference/skill-graph.md` (mermaid, grouped by lifecycle stage) via `scripts/generate-skill-graph.cjs`.
|
|
66
|
+
- **`reference/skill-authoring-contract.md` v3** (description form + transition window + composition fields) +
|
|
67
|
+
**`/gdd:new-skill`** scaffolder (`scripts/lib/manifest/scaffolder.cjs`, @clack/prompts) that emits a v3-compliant
|
|
68
|
+
skill, with `composes_with` suggestions by lifecycle stage.
|
|
69
|
+
- **Description migration**: 18 high-traffic skills (brief, explore, plan, design, verify, audit, scan, discover, do,
|
|
70
|
+
ship, health, progress, live, connections, darkmode, compare, fast, quick) moved to the v3 form; the rest follow
|
|
71
|
+
gradually under the transition window. `/gdd:health` + `/gdd:progress` surface adoption and composition-graph readiness.
|
|
72
|
+
|
|
73
|
+
### Notes
|
|
74
|
+
|
|
75
|
+
- 6-manifest lockstep at **v1.50.0** + `OFF_CADENCE_VERSIONS.add('1.50.0')` + 37 `manifests-version.txt` baselines +
|
|
76
|
+
plugin keywords (`anti-slop-rubric`, `skill-composition`, `skill-graph`). Re-locked: skill-list (88), registry (175),
|
|
77
|
+
registry-diff, phase-42 count (112), 6 `*-after.md` byte snapshots (brief/design/explore/verify + health/progress),
|
|
78
|
+
the phase-28.5 distribution + warn count (4 -> 5, progress crossed 100 lines), tarball golden 907 -> 912 (+5).
|
|
79
|
+
- The verb axes are an orthogonal lens (no new pillar, no scoring-math change). `composes_with`/`next_skills` are
|
|
80
|
+
optional in v3 (mandatory deferred to v4). Out of scope: rubric auto-fix, LLM-judge of axes, skill body migration.
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
7
84
|
## [1.49.0] - 2026-06-03
|
|
8
85
|
|
|
9
86
|
### Phase 49 - Quick Anti-Slop Floor
|
package/README.md
CHANGED
|
@@ -259,6 +259,8 @@ All 14 runtimes receive their native artifact layout (`skills/`, `command/`, `ag
|
|
|
259
259
|
|
|
260
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
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
|
+
|
|
262
264
|
Verify with:
|
|
263
265
|
|
|
264
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. |
|
|
@@ -102,7 +103,6 @@ Each stage produces artifacts in `.design/` inside the current project.
|
|
|
102
103
|
| `peer-cli-add` | `get-design-done:peer-cli-add` | Phase 27 - guided ladder for adding a brand-new peer (verification ladder + adapter scaffolding + capability-matrix update) |
|
|
103
104
|
| `watch-authorities [--refresh] [--since <date>] [--feed <name>] [--schedule <cadence>]` | `get-design-done:gdd-watch-authorities` | Run design-authority-watcher - fetch curated feeds, diff snapshot, classify new entries → `.design/authority-report.md` (consumed by `/gdd:reflect`) |
|
|
104
105
|
| `benchmark <component\|--wave N\|--list\|--refresh component>` | `get-design-done:gdd-benchmark` | Harvest + synthesize per-component design specs from 18 design systems → `reference/components/<name>.md` |
|
|
105
|
-
| `benchmark <component\|--wave N\|--list\|--refresh component>` | `get-design-done:gdd-benchmark` | Harvest + synthesize per-component design specs from 18 design systems → `reference/components/<name>.md` |
|
|
106
106
|
| `export <cycle> --format html\|pdf\|notion [--pseudonymize] [--pr]` | `get-design-done:gdd-export` | Phase 35.5 - package a finished cycle's design output into a stakeholder-shareable artifact (self-contained HTML / Paged.js-print PDF / Notion page); redacts always, `--pseudonymize` masks identity for external sharing, `--pr` posts the HTML preview via pr-commenter |
|
|
107
107
|
| `bootstrap-ds [--primary <color>] [--secondary <color>] [--tone <tags>] [--framework <t>]` | `get-design-done:gdd-bootstrap-ds` | Phase 37.2 - bootstrap a design system for a GREENFIELD project (no DS): brand input → OKLCH token system (color tints + modular type + 4pt/8pt spacing + radius/motion) in 3 variants to pick, then button/input/card proof scaffolding via `ds-generator` |
|
|
108
108
|
| `rollout-status [<cycle>] [--all] [--stuck]` | `get-design-done:gdd-rollout-status` | Phase 38.5 - track a shipped cycle's production rollout (unrolled / staging-only / canary-N% / prod-100%) by reading the feature-flag service via `rollout-coordinator`; surfaces STUCK rollouts; feeds `design_arms` by deployed %. Read-only - never advances or rolls back |
|
package/agents/design-auditor.md
CHANGED
|
@@ -47,6 +47,8 @@ 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
|
|
50
52
|
- `reference/reviewer-confidence-gate.md` - Pre-Report Gate, the `confidence` field, and the routing rule applied to every finding
|
|
51
53
|
- `reference/brand-voice.md` - voice axes, archetype library, and tone-by-context table (use when auditing Pillar 1: Copy)
|
|
52
54
|
- `reference/gestalt.md` - 8 Gestalt principles with scoring rubrics (use when auditing Pillar 2: Visual Hierarchy)
|
|
@@ -322,6 +324,24 @@ grep -rEn "w-4 h-4|w-5 h-5|w-6 h-6" src/ --include="*.tsx" --include="*.jsx" 2>/
|
|
|
322
324
|
|
|
323
325
|
---
|
|
324
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
|
+
|
|
325
345
|
## Domain checklist addendum (Tier-3)
|
|
326
346
|
|
|
327
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:
|
|
@@ -60,6 +60,7 @@ 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
|
|
63
64
|
- @reference/reviewer-confidence-gate.md
|
|
64
65
|
|
|
65
66
|
`reference/debt-categories.md` is the taxonomy you classify against and the source of
|
|
@@ -158,6 +159,12 @@ grep -rEn "No data|No results|Nothing here|went wrong|error occurred" src/ \
|
|
|
158
159
|
Flag meaningful images without `alt`, icon-only controls without an accessible name,
|
|
159
160
|
placeholder used as the only label, and generic empty or error copy.
|
|
160
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
|
+
|
|
161
168
|
### Step 2.5: Pre-Report Gate + confidence
|
|
162
169
|
|
|
163
170
|
Before cataloging any finding, run the four-question Pre-Report Gate from
|
|
@@ -226,6 +233,7 @@ note: "Project-scoped retroactive debt catalog. Does NOT read STATE.md completed
|
|
|
226
233
|
| density-spacing | N | P |
|
|
227
234
|
| typography-drift | N | P |
|
|
228
235
|
| a11y-text | N | P |
|
|
236
|
+
| aesthetic-slop | N | P |
|
|
229
237
|
|
|
230
238
|
---
|
|
231
239
|
|
|
@@ -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
|
|
3
|
+
description: "Run a design audit by spawning design-auditor, design-integration-checker, and (optionally) design-verifier + design-reflector agents, then printing a consolidated 7-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
|
---
|
|
@@ -9,12 +9,12 @@ tools: Read, Write, Task, Glob, Bash
|
|
|
9
9
|
|
|
10
10
|
Wraps the existing `design-auditor`, `design-verifier`, and `design-integration-checker` agents - no new auditor logic here. Parses flags, spawns the right combination, prints summary.
|
|
11
11
|
|
|
12
|
-
For the
|
|
12
|
+
For the 7-pillar scoring rubric this skill aggregates, see `../../reference/audit-scoring.md`. For the shared design-quality pillar set that frames the score categories, see `../../reference/shared-preamble.md`.
|
|
13
13
|
|
|
14
14
|
## Modes
|
|
15
15
|
|
|
16
16
|
### Default
|
|
17
|
-
Spawn `design-auditor` (
|
|
17
|
+
Spawn `design-auditor` (7-pillar scoring 1–4) in parallel with `design-integration-checker`. After both finish, read `.design/DESIGN-AUDIT.md` and `.design/DESIGN-INTEGRATION.md` and print a consolidated summary (scores + top 3 findings each).
|
|
18
18
|
|
|
19
19
|
After the auditor and integration checker complete, check if `.design/learnings/` exists and contains at least one `.md` file. If so - and unless `--no-reflect` is passed - spawn `design-reflector` for the current cycle. Append the reflection proposal count to the audit summary: "Reflection: N proposals → review with `/gdd:apply-reflections`".
|
|
20
20
|
|
|
@@ -70,8 +70,8 @@ The excuses an agent reaches for to skip or thin out an audit, and the drift eac
|
|
|
70
70
|
| Thought | Reality |
|
|
71
71
|
|---------|---------|
|
|
72
72
|
| "The audit passed last cycle, I can skip it this cycle." | Per-cycle audit catches drift the prior pass couldn't see; a skipped review is exactly where regressions accumulate unnoticed. |
|
|
73
|
-
| "`--quick` is fine, integration isn't the concern here." | Dropping the integration-checker hides orphaned decisions - wiring breaks even when the
|
|
74
|
-
| "I can eyeball the scores instead of spawning the auditor." | The auditor's rubric scores
|
|
73
|
+
| "`--quick` is fine, integration isn't the concern here." | Dropping the integration-checker hides orphaned decisions - wiring breaks even when the 7-pillar score looks healthy. |
|
|
74
|
+
| "I can eyeball the scores instead of spawning the auditor." | The auditor's rubric scores seven pillars consistently; an eyeballed review drifts toward whatever the agent already believes. |
|
|
75
75
|
| "Reflection proposals are optional polish, skip the reflector." | The reflector turns this cycle's learnings into next-cycle improvements; skipping it lets the same mistakes repeat. |
|
|
76
76
|
| "I'll modify the source while I'm in here fixing findings." | Audit is read-only by contract; editing source mid-audit invalidates the very scores you're producing. |
|
|
77
77
|
| "Retroactive mode is overkill for a finished cycle." | Retroactive verification is the only check on tasks that shipped without per-task verify - skipping it leaves a completed cycle unaudited. |
|
|
@@ -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
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gdd-new-skill
|
|
3
|
+
description: "Scaffolds a new Phase-28.5 + Phase-50-compliant skill: gathers a name, a multi-paragraph v3 description, a lifecycle stage, an allowed-tools list, and optional composes_with neighbours, then writes source/skills/<name>/SKILL.md from the pure generator. Use when adding a brand-new gdd skill and you want the frontmatter, length cap, and v3 description form correct from the first commit. Activates for requests involving authoring a skill, scaffolding a command, creating a new SKILL.md, or adding a slash command."
|
|
4
|
+
argument-hint: "<skill-name>"
|
|
5
|
+
tools: Read, Write, Bash, AskUserQuestion
|
|
6
|
+
user-invocable: true
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# /gdd:new-skill
|
|
10
|
+
|
|
11
|
+
**Role:** Interactively scaffold a contract-compliant skill. Gather the fields, then write `source/skills/<name>/SKILL.md` from the pure generator at `scripts/lib/manifest/scaffolder.cjs`. This skill writes ONE source file. It does NOT touch `scripts/lib/manifest/skills.json` and does NOT run the build; it prints the exact follow-up commands instead.
|
|
12
|
+
|
|
13
|
+
Read `reference/skill-authoring-contract.md` first for the length cap, the frontmatter required fields, and the v3 description form.
|
|
14
|
+
|
|
15
|
+
## Prompt strategy (clack with a fallback)
|
|
16
|
+
|
|
17
|
+
Mirror the installer pattern in `scripts/install.cjs`: try `@clack/prompts` lazily, and degrade to `AskUserQuestion` (or plain text) when it is absent. Use this probe at the start:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
node -e "try { require.resolve('@clack/prompts'); console.log('clack'); } catch { console.log('fallback'); }"
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
- `clack`: drive `clack.text`, `clack.select`, and `clack.confirm` from a short Node script.
|
|
24
|
+
- `fallback`: ask the same questions with `AskUserQuestion` (one prompt per field), or read plain answers.
|
|
25
|
+
|
|
26
|
+
Either way the answers feed the same record builder. Never block waiting on a TTY in a non-interactive run; fall back to `AskUserQuestion`.
|
|
27
|
+
|
|
28
|
+
## Step 1 - Gather the fields
|
|
29
|
+
|
|
30
|
+
1. **name**: the slug from `$ARGUMENTS` if present, else ask. Must match `^[a-z0-9][a-z0-9-._]*$`. Reject `source/skills/<name>/` collisions.
|
|
31
|
+
2. **description**: a multi-paragraph v3 form. Sentence one is what the skill does. Sentence two is `Use when <triggers>`. Sentence three is `Activates for requests involving <kw1>, <kw2>, <kw3>.` Keep it 20 to 1024 chars.
|
|
32
|
+
3. **lifecycle stage**: pick one of brief / explore / plan / verify / ship / figma / token / report (free text allowed). This seeds the composition suggestions.
|
|
33
|
+
4. **tools**: a comma list (for example `Read, Write, Bash`). Empty means inherit-all.
|
|
34
|
+
5. **composes_with**: auto-suggest neighbours, then confirm. Compute the suggestion list:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
node -e "
|
|
38
|
+
const s = require('./scripts/lib/manifest/scaffolder.cjs');
|
|
39
|
+
const m = require('./scripts/lib/manifest/skills.json');
|
|
40
|
+
console.log(JSON.stringify(s.suggestComposesWith(process.argv[1], m.skills)));
|
|
41
|
+
" "<name>"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Present the suggestions; let the user accept, edit, or clear them.
|
|
45
|
+
|
|
46
|
+
## Step 2 - Length pre-check
|
|
47
|
+
|
|
48
|
+
Before writing, estimate the body length. If the planned body would exceed about 100 lines, warn the user (the authoring contract warns at 100 and blocks at 250) and suggest extracting domain content into a co-located `source/skills/<name>/<topic>.md` reference. The generated skeleton is small; the warning is for the prose the user will add next.
|
|
49
|
+
|
|
50
|
+
## Step 3 - Write the file
|
|
51
|
+
|
|
52
|
+
Build the record and render the file with the pure generator, then write it with the Write tool (not shell redirection):
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
node -e "
|
|
56
|
+
const s = require('./scripts/lib/manifest/scaffolder.cjs');
|
|
57
|
+
const rec = s.buildSkillRecord({
|
|
58
|
+
name: process.env.SK_NAME,
|
|
59
|
+
description: process.env.SK_DESC,
|
|
60
|
+
argumentHint: process.env.SK_HINT || undefined,
|
|
61
|
+
tools: process.env.SK_TOOLS || undefined,
|
|
62
|
+
userInvocable: process.env.SK_UI === 'true',
|
|
63
|
+
composesWith: (process.env.SK_COMPOSES || '').split(',').map(x => x.trim()).filter(Boolean),
|
|
64
|
+
});
|
|
65
|
+
process.stdout.write(s.renderSkillMd(rec));
|
|
66
|
+
"
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`buildSkillRecord` throws on an invalid name, an out-of-budget description, or a malformed tools list. Surface the thrown message to the user and re-prompt the offending field. Capture stdout and write it verbatim to `source/skills/<name>/SKILL.md` via the Write tool.
|
|
70
|
+
|
|
71
|
+
## Step 4 - Tell the user the follow-up
|
|
72
|
+
|
|
73
|
+
The skill stops here by contract. Print the next two commands for the user to run after they add the manifest record:
|
|
74
|
+
|
|
75
|
+
```
|
|
76
|
+
1. Add a record for "<name>" to scripts/lib/manifest/skills.json
|
|
77
|
+
(description, argument_hint, tools, user_invocable; put composes_with in extra_frontmatter).
|
|
78
|
+
2. npm run generate:skill-frontmatter && npm run build:skills
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Note that `npm run generate:skill-frontmatter:check` and the skills-coverage test stay red until the manifest record exists; that is expected and is the maintainer's step.
|
|
82
|
+
|
|
83
|
+
## Do Not
|
|
84
|
+
|
|
85
|
+
- Do not edit `scripts/lib/manifest/skills.json`, `package.json`, or any reference doc.
|
|
86
|
+
- Do not run `build:skills` or `generate:skill-frontmatter` for the user; print the commands.
|
|
87
|
+
- Do not write the SKILL.md with shell redirection; use the Write tool so the content is exact.
|
|
88
|
+
- Do not invent a description; require the v3 three-sentence form from the user.
|
|
89
|
+
|
|
90
|
+
## NEW-SKILL COMPLETE
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: plan
|
|
3
|
-
description: "Stage 3 of 5 orchestrator that reads DESIGN-CONTEXT.md, runs optional research (phase-researcher / pattern-mapper / assumptions-analyzer / synthesizer), spawns design-planner + design-plan-checker, and writes DESIGN-PLAN.md. Use when DESIGN-CONTEXT.md is locked and you need a wave-ordered execution plan."
|
|
3
|
+
description: "Stage 3 of 5 orchestrator that reads DESIGN-CONTEXT.md, runs optional research (phase-researcher / pattern-mapper / assumptions-analyzer / synthesizer), spawns design-planner + design-plan-checker, and writes DESIGN-PLAN.md. Use when DESIGN-CONTEXT.md is locked and you need a wave-ordered execution plan. Activates for requests involving breaking design work into steps, sequencing implementation, or planning a build."
|
|
4
4
|
argument-hint: "[--auto] [--parallel]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: Read, Write, Bash, Glob, Task, AskUserQuestion, ToolSearch, mcp__gdd_state__get, mcp__gdd_state__transition_stage, mcp__gdd_state__add_decision, mcp__gdd_state__add_must_have, mcp__gdd_state__update_progress, mcp__gdd_state__set_status, mcp__gdd_state__add_blocker, mcp__gdd_state__checkpoint, mcp__gdd_state__probe_connections
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-progress
|
|
3
|
-
description: "Shows current pipeline position and routes to next action. --forensic runs 6-check integrity audit."
|
|
3
|
+
description: "Shows current pipeline position and routes to next action. --forensic runs 6-check integrity audit. Activates for requests involving showing current project state, routing to the next action, or a status check."
|
|
4
4
|
argument-hint: "[--forensic]"
|
|
5
5
|
tools: Read, Bash, Grep, Glob, mcp__gdd_state__get, mcp__gdd_status, mcp__gdd_phase_current
|
|
6
6
|
---
|
|
@@ -78,6 +78,14 @@ Seeds ready: 0
|
|
|
78
78
|
━━━━━━━━━━━━━━━━━━━━━━
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
+
## Step 3.5 - Composition-graph readiness
|
|
82
|
+
|
|
83
|
+
After the pipeline state (and forensic audit if run), surface a one-line composition-graph hint from `scripts/lib/manifest/skills.json`. Count skill records declaring `composes_with` or `next_skills`, then probe for structural problems (cycles in the directed graph, or edges pointing at a skill name that has no record). Print one line:
|
|
84
|
+
|
|
85
|
+
- `Composition graph: <edges> edges, <skills-with-edges> skills wired | cycles: <n> | dangling: <n>`
|
|
86
|
+
|
|
87
|
+
Run `scripts/validate-composition-graph.cjs` for the authoritative cycle and dangling-edge counts when that validator is present; until then report `0` and note the graph is not yet wired. This is a readiness hint, not a gate.
|
|
88
|
+
|
|
81
89
|
## Step 4 - Update notice (safe-window surface)
|
|
82
90
|
|
|
83
91
|
After printing the pipeline state, emit the plugin-update banner if one is present. This file is written by `hooks/update-check.sh` subject to the state-machine guard (mid-pipeline stages suppress it) and per-version dismissal.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-quick
|
|
3
|
-
description: "Run the pipeline with optional agents skipped for speed. Skips: phase-researcher, design-assumptions-analyzer, design-integration-checker. Keeps: planner, executor, verifier, auditor."
|
|
3
|
+
description: "Run the pipeline with optional agents skipped for speed. Skips: phase-researcher, design-assumptions-analyzer, design-integration-checker. Keeps: planner, executor, verifier, auditor. Activates for requests involving a lightweight design pass, a fast iteration, or a quick low-ceremony change."
|
|
4
4
|
argument-hint: "[--skip <agent-name>] [stage]"
|
|
5
5
|
tools: Read, Task
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: scan
|
|
3
|
-
description: "Pre-pipeline initializer that maps an existing repo's design system (colors, typography, spacing, components, tokens), runs the anti-pattern audit, scores the 7 weighted categories, and writes DESIGN.md + .design/DESIGN-DEBT.md. Use when starting work in any new or existing repo before /gdd:discover."
|
|
3
|
+
description: "Pre-pipeline initializer that maps an existing repo's design system (colors, typography, spacing, components, tokens), runs the anti-pattern audit, scores the 7 weighted categories, and writes DESIGN.md + .design/DESIGN-DEBT.md. Use when starting work in any new or existing repo before /gdd:discover. Activates for requests involving a fast read-only anti-pattern sweep, a quick design lint, or spotting slop without a full audit."
|
|
4
4
|
argument-hint: "[--quick] [--full]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gdd-ship
|
|
3
|
-
description: "Post-verify PR flow - creates a clean PR branch, invokes code review check, and prepares the PR for merge."
|
|
3
|
+
description: "Post-verify PR flow - creates a clean PR branch, invokes code review check, and prepares the PR for merge. Activates for requests involving finishing a cycle, packaging design output, or moving work to a pull request."
|
|
4
4
|
argument-hint: "[--title <PR title>] [--draft]"
|
|
5
5
|
tools: Read, Write, Bash, AskUserQuestion, Task
|
|
6
6
|
disable-model-invocation: true
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verify
|
|
3
|
-
description: "Stage 5 of 5 orchestrator that spawns design-auditor, design-verifier, and design-integration-checker in sequence, interprets pass/gap result, and drives the gap-response loop (inline fix, save-and-exit, or accept-as-is). Use when implementation is complete and ready for final pre-ship verification."
|
|
3
|
+
description: "Stage 5 of 5 orchestrator that spawns design-auditor, design-verifier, and design-integration-checker in sequence, interprets pass/gap result, and drives the gap-response loop (inline fix, save-and-exit, or accept-as-is). Use when implementation is complete and ready for final pre-ship verification. Activates for requests involving checking finished UI against the design system, running a pre-ship review, or final verification."
|
|
4
4
|
argument-hint: "[--auto] [--post-handoff]"
|
|
5
5
|
user-invocable: true
|
|
6
6
|
tools: mcp__gdd_state__get, mcp__gdd_state__transition_stage, mcp__gdd_state__add_must_have, mcp__gdd_state__add_blocker, mcp__gdd_state__resolve_blocker, mcp__gdd_state__update_progress, mcp__gdd_state__set_status, mcp__gdd_state__checkpoint, mcp__gdd_state__probe_connections
|
|
@@ -49,7 +49,7 @@ Run preview / storybook / chromatic probes at stage entry, then issue ONE batche
|
|
|
49
49
|
|
|
50
50
|
Initialize the fix-loop iteration counter to 0. Each full checker is preceded by a cheap Haiku gate that may return `{spawn: false}` to short-circuit (lazy-gate pattern from Plan 10.1-04 / D-21); skipped agents append `lazy_skipped: true` to `.design/telemetry/costs.jsonl`.
|
|
51
51
|
|
|
52
|
-
**1a. design-auditor** (retrospective
|
|
52
|
+
**1a. design-auditor** (retrospective 7-pillar audit) -> `.design/DESIGN-AUDIT.md`. Wait for `## AUDIT COMPLETE`, then `mcp__gdd_state__update_progress` `task_progress: "1/3"`.
|
|
53
53
|
|
|
54
54
|
**1b-gate -> 1b. design-verifier** (5-phase verification, reads auditor output) -> `.design/DESIGN-VERIFICATION.md`. Wait for `## VERIFICATION COMPLETE`, then `task_progress: "2/3"`.
|
|
55
55
|
|