docs(claude-design): sync README and CLAUDE.md with Phase 9, fix two stale claims

Docs pass for Wave 2. README now documents nine phases rather than eight,
carries a Phase 9 row in the phase table and a Phase 9 paragraph in the
slides walkthrough, lists 05-critique-iterate.md among the foundation
references (6, not 5; 14 reference files, not 13), and uses the namespaced
design:critique / design:accessibility / design:handoff tokens the live
plugin actually exposes.

Two stale claims corrected, both measured 2026-08-18:

- Assertion (i) was described as a recursive grep that excludes the local
  files by name. Since 3696b8e it is a per-file grep over a git-derived
  shipped set (git check-ignore), so no name list exists to maintain.
- Marketplace context claimed this plugin has no separate git repository and
  no separate remote. git rev-parse --show-toplevel resolves to the plugin
  directory, origin is open/claude-design.git, and the sibling catalog/ is a
  separate repository. The docs-triple rule is narrowed accordingly: the
  catalog README is updated in the catalog repository at release time, never
  from here.

Also fixes a mis-numbered layer list in the README walkthrough, which named
start-simple as Layer 2 and the AI-slop avoid-list as Layer 4. The real
numbering in 01-prompt-fundamentals.md is Layer 1, 1.5, 2a, 2b, 3, 4, 5.

No version bump, no tag, no CHANGELOG entry — Step 9 owns those.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NaybqQwqirrNmikJsUrbDg
This commit is contained in:
Kjell Tore Guttormsen 2026-08-18 21:06:30 +02:00
commit 7d604309ae
2 changed files with 19 additions and 15 deletions

View file

@ -9,7 +9,7 @@ This plugin is an expert on **Claude Design** (`claude.ai/design`) — Anthropic
`v0.1.0`. Surface:
- One skill: `claude-design-facilitator` (auto-fire + explicit `/claude-design-facilitator` slash command)
- Five foundation references under `skills/claude-design-facilitator/references/`
- Six foundation references under `skills/claude-design-facilitator/references/`
- Eight per-preset references under `skills/claude-design-facilitator/references/presets/`
- Five test scripts under `tests/` plus a `verify.sh` roll-up
- A `.coverage.md` preset manifest at the plugin root (canonical input for SC2 and the SC3 Authoritative-claims registry)
@ -19,20 +19,20 @@ No commands, no agents, no hooks, no MCP servers at v0.1. The single skill is th
## Marketplace context
This plugin lives inside `ktg-plugin-marketplace`. No separate git repository, no separate Forgejo remote. All commits go to the marketplace repository at `https://git.fromaitochitta.com/open/ktg-plugin-marketplace`.
This plugin sits under the `ktg-plugin-marketplace` directory but is **its own git repository** with its own Forgejo remote at `ssh://git@git.fromaitochitta.com/open/claude-design.git` (measured 2026-08-18: `git rev-parse --show-toplevel` resolves to the plugin directory). The marketplace is a polyrepo — the sibling `catalog/` directory is a separate repository that pins each plugin to a release tag. All commits for this plugin go to this repository's `origin/main`, never to a marketplace-wide repository.
Marketplace conventions inherited from the root `CLAUDE.md`:
- Conventional Commits — `type(scope): description`; scope is `claude-design`
- Hooks in Node.js (`.mjs`), never bash (this plugin ships no hooks at v0.1)
- Zero npm dependencies in hooks and scripts
- Docs-triple updated in the same commit on every feature change: plugin `README.md` + plugin `CLAUDE.md` + root `README.md`
- Docs updated in the same commit on every feature change: plugin `README.md` + plugin `CLAUDE.md`. The catalog `README.md` is the third leg of the marketplace docs-triple, but it lives in the separate `catalog/` repository and is updated there at release time — see Workflow below.
## Architecture (v0.1)
- **`skills/claude-design-facilitator/SKILL.md`** is the auto-fire entry point AND the explicit `/claude-design-facilitator` invocation surface. The skill body documents the eight-phase facilitation flow.
- **`skills/claude-design-facilitator/SKILL.md`** is the auto-fire entry point AND the explicit `/claude-design-facilitator` invocation surface. The skill body documents the nine-phase facilitation flow. Phase 9 (critique-iterate) is optional and opt-out; the other eight run in order.
- **`skills/claude-design-facilitator/.triggers.txt`** lists the natural-language phrases the skill auto-fires on. `tests/test-skill-triggers.sh` validates every phrase appears in the SKILL.md description.
- **`skills/claude-design-facilitator/references/`** is the knowledge base. Five foundation references (0004) plus eight per-preset references under `references/presets/`. Every authoritative claim cites an Anthropic primary source inline.
- **`skills/claude-design-facilitator/references/`** is the knowledge base. Six foundation references (0005) plus eight per-preset references under `references/presets/`. Each per-preset file also carries a thin `Critique-iterate hint` block naming which `design-critique` sections dominate for that artifact type and which real prompt layer in `01-prompt-fundamentals.md` those findings route to; the shared Phase 9 mechanics live once in `05-critique-iterate.md`. The heading letter of that block is per-file, not uniform — four presets end at `## (e)` and four at `## (f)` — so the canonical machine-checkable anchor is the letter-free substring `Critique-iterate hint`, never the letter. Every authoritative claim cites an Anthropic primary source inline.
- **`.coverage.md`** at the plugin root is the SC2 manifest (preset enumeration with evidence-grade labels) and the SC3 Authoritative-claims registry (bullet list of files that must carry Anthropic-domain citations).
- **`tests/`** + **`verify.sh`** enforce the brief Success Criteria: SC1 dogfood-log format, SC2 per-preset coverage, SC3 citation discipline, plus skill description quality and plugin structural integrity.
@ -51,7 +51,7 @@ The lifecycle-stage coverage map and the operational handoff between the two plu
Every contribution to this plugin must respect these rules:
- **Language: English everywhere.** Plugin file content — `README.md`, `CLAUDE.md` (this file), `CHANGELOG.md`, `SKILL.md`, all `references/*.md`, all `tests/*.sh` output messages, every code comment — is English. This is the operator override of the marketplace's default Norwegian-dialogue policy; documented in the v0.1 brief. The `tests/validate-plugin.sh` assertion (j) emits a WARN on Norwegian diacritics in shipped content; review case-by-case (citation slugs occasionally legitimately carry diacritics, but the default is zero hits).
- **No operator-private context in shipped content.** No personal-name or organization-affiliation tokens, no copy-paste from local session-state and handoff files. `tests/validate-plugin.sh` assertion (i) enforces this with a recursive grep on the specific patterns it bans; the grep excludes the local files themselves.
- **No operator-private context in shipped content.** No personal-name or organization-affiliation tokens, no copy-paste from local session-state and handoff files. `tests/validate-plugin.sh` assertion (i) enforces this with a per-file grep over a git-derived shipped set: a file counts as shipped unless `git check-ignore` says it is ignored. Gitignored files are by definition not shipped, whatever they are named, so no name list has to be maintained.
- **Evidence-grade label discipline.** Every per-preset reference file carries an inline `Evidence grade:` label on line 4. The three grades are `Anthropic-documented + community-validated`, `Community-only`, and `Experimental`. `.coverage.md` is the canonical registry. SC2 and SC3 read from `.coverage.md` directly — keep it in sync.
- **URL canonicalisation.** All `support.claude.com` references use the form `https://support.claude.com/en/articles/<numeric-id>-<slug>`. Numeric IDs are stable across slug rewrites; slug-only URLs are not. `https://anthropic.com/news/...` and `https://claude.com/blog/...` follow whatever slug Anthropic publishes.
- **No NIH of Anthropic surfaces.** The plugin recommends Anthropic's `knowledge-work-plugins/design` as the downstream tool; it does not duplicate that plugin's functionality.
@ -68,7 +68,7 @@ The Voyage pipeline produces v0.1 and every subsequent feature change:
Voyage policy: Opus across all sub-agents and orchestrator phases (per `feedback_voyage_opus_always`).
For incremental content updates that do not warrant a full Voyage iteration (e.g., refreshing a single per-preset reference when Anthropic publishes new guidance), the docs-triple rule still applies: plugin `README.md` + plugin `CLAUDE.md` (this file) + root `README.md` updated in the same commit as the content change.
For incremental content updates that do not warrant a full Voyage iteration (e.g., refreshing a single per-preset reference when Anthropic publishes new guidance), the docs rule still applies: plugin `README.md` + plugin `CLAUDE.md` (this file) updated in the same commit as the content change. The third leg of the marketplace docs-triple — the catalog `README.md` — lives in the separate `catalog/` repository and is updated there at release time, when the catalog `ref` is bumped to the new tag. It is never edited from this repository.
## Communication patterns

View file

@ -2,7 +2,7 @@
End-to-end facilitator for prompting Claude Design (claude.ai/design) — idea to copy-paste-ready prompt with iteration coaching, citing Anthropic primary sources.
A Claude Code plugin that ships one skill (`claude-design-facilitator`) plus a reference tree for prompting Anthropic's `claude.ai/design` workspace. The skill auto-fires on natural-language triggers, walks the operator through an eight-phase facilitation flow, and produces a prompt grounded in Anthropic's verbatim Goal / Layout / Content / Audience framework and the published per-preset prompt patterns. For anyone who keeps getting the convergent default aesthetic back from Claude Design. Output is the prompt — the artifact gets built in Claude Design.
A Claude Code plugin that ships one skill (`claude-design-facilitator`) plus a reference tree for prompting Anthropic's `claude.ai/design` workspace. The skill auto-fires on natural-language triggers, walks the operator through a nine-phase facilitation flow, and produces a prompt grounded in Anthropic's verbatim Goal / Layout / Content / Audience framework and the published per-preset prompt patterns. For anyone who keeps getting the convergent default aesthetic back from Claude Design. Output is the prompt — the artifact gets built in Claude Design.
## Table of Contents
@ -72,7 +72,7 @@ Claude Design has a strong gravitational pull toward convergent middle-ground ou
The fix is in the prompt itself, not in the artifact. Anthropic publishes a five-layer prompt scaffold across three primary sources — the Goal / Layout / Content / Audience framework in the [Claude Design launch post](https://anthropic.com/news/claude-design-anthropic-labs) and [Get started article](https://support.claude.com/en/articles/14604416-get-started-with-claude-design), the DESIGN.md anchor in the [design system article](https://support.claude.com/en/articles/14604397-set-up-your-design-system-in-claude-design), and the AI-slop avoid-list plus cultural-reference anchoring in the [aesthetics cookbook](https://platform.claude.com/cookbook/coding-prompting-for-frontend-aesthetics). Assembling a prompt that actually uses all five layers, with the right per-preset pattern, in the right order, takes deliberate scaffolding most operators do not do unprompted.
This plugin does the scaffolding interactively. The `claude-design-facilitator` skill walks the operator through eight phases, surfaces the questions that produce a workable Goal / Layout / Content / Audience answer, anchors on DESIGN.md if one exists or extracts one if not, composes the five layers in the right order, and outputs a copy-paste prompt the operator pastes into `claude.ai/design`. The artifact gets built in Claude Design; this plugin produces the prompt.
This plugin does the scaffolding interactively. The `claude-design-facilitator` skill walks the operator through nine phases, surfaces the questions that produce a workable Goal / Layout / Content / Audience answer, anchors on DESIGN.md if one exists or extracts one if not, composes the five layers in the right order, and outputs a copy-paste prompt the operator pastes into `claude.ai/design`. The artifact gets built in Claude Design; this plugin produces the prompt.
The output is honest about what it is. Every authoritative claim cites an Anthropic primary source inline. Community patterns are labelled and attributed. The `frontier-design` preset is flagged Experimental rather than dressed up as canonical. The plugin recommends Anthropic's official [`knowledge-work-plugins/design`](https://claude.com/plugins/design) for everything that happens after the artifact is generated — there is zero command overlap by design.
@ -108,7 +108,7 @@ By design, this plugin does not:
## What you can do with it
The skill `claude-design-facilitator` walks the operator through eight phases. The phases are scoping + grounding (14), drafting + delivery (56), and iteration + ship-readiness (78).
The skill `claude-design-facilitator` walks the operator through nine phases. The phases are scoping + grounding (14), drafting + delivery (56), iteration + ship-readiness (78), and an optional critique-iterate loop (9) that runs only when the operator asks for it.
| Phase | What happens |
|-------|--------------|
@ -120,6 +120,7 @@ The skill `claude-design-facilitator` walks the operator through eight phases. T
| **6. Deliver** | Output a single copy-paste-ready fenced markdown code block. Add a one-line caption and three to five expected follow-up turns. |
| **7. Iteration coaching** | Read [references/03](skills/claude-design-facilitator/references/03-iteration-and-session.md). Coach which surface to use next — Tweak panel (zero-token, surgical), inline comments (component-scoped), or chat (full regen). Session-break heuristics + recovery prompt library when iteration gets stuck. |
| **8. Ship-readiness** | Run the export validation checklist. If shipping to engineering, confirm the Design → Code handoff bundle is complete. Recommend installing `knowledge-work-plugins/design` for downstream critique / accessibility / handoff. |
| **9. Critique-iterate** *(optional)* | Read [references/05](skills/claude-design-facilitator/references/05-critique-iterate.md). Coach the export and the `design:critique` run (9a), consume the pasted critique as untrusted reference data (9b), synthesize a re-prompt aimed at the one prompt layer that produced the problem (9c), then loop or exit (9d). Opt out at any point by saying `skip`. This phase routes to Anthropic's plugin; it never reimplements it. |
The skill auto-fires on natural-language triggers like *"I want to build a dashboard in Claude Design"*, *"help me prompt claude.ai/design"*, *"iterate on my Claude Design artifact"*. The full trigger list is in [skills/claude-design-facilitator/.triggers.txt](skills/claude-design-facilitator/.triggers.txt) and `tests/test-skill-triggers.sh` validates each phrase appears in the skill description.
@ -133,7 +134,7 @@ A realistic session against the `slides` preset — Q1 results deck for an inter
**Operator:** *"I want to build a Q1 results slide deck for the engineering team in Claude Design."*
The skill auto-fires (the phrase matches `.triggers.txt`). It walks the eight phases:
The skill auto-fires (the phrase matches `.triggers.txt`). It walks the phases:
**Phase 1 — Disambiguate the surface.** The skill confirms `claude.ai/design` is the intended surface, not classic Artifacts or Live Artifacts. The operator confirms.
@ -143,7 +144,7 @@ The skill auto-fires (the phrase matches `.triggers.txt`). It walks the eight ph
**Phase 4 — Anchor on DESIGN.md.** The operator has no DESIGN.md yet. The skill points at the brand-to-DESIGN.md extractor prompt in [`references/02-design-md.md`](skills/claude-design-facilitator/references/02-design-md.md): paste a brand-guidelines URL or PDF into Claude.ai, get back a DESIGN.md filling the nine canonical sections (typography, colour, spacing, layout primitives, motion, voice, imagery, density, accessibility). The operator runs the extractor against the company's brand site, gets a DESIGN.md, drops it into the Claude Design project assets.
**Phase 5 — Draft the prompt.** The skill composes the five layers from [`references/01-prompt-fundamentals.md`](skills/claude-design-facilitator/references/01-prompt-fundamentals.md): Goal / Layout / Content / Audience (Layer 1) → start-simple-layer-complexity (Layer 2) → concrete-alternative-spec (Layer 3) → AI-slop negative constraints (Layer 4) → per-preset pattern from `presets/slides.md` (Layer 5). The skill produces a single copy-paste fenced block. The operator inspects it, optionally edits the Goal sentence, then proceeds.
**Phase 5 — Draft the prompt.** The skill composes the five layers from [`references/01-prompt-fundamentals.md`](skills/claude-design-facilitator/references/01-prompt-fundamentals.md): Goal / Layout / Content / Audience (Layer 1) → start-simple-layer-complexity (Layer 1.5) → concrete-alternative-spec house style (Layer 2a) → AI-slop negative constraints (Layer 3), composed with the per-preset pattern from `presets/slides.md`. The skill produces a single copy-paste fenced block. The operator inspects it, optionally edits the Goal sentence, then proceeds.
**Phase 6 — Deliver.** The skill outputs the prompt block. The structure of a realistic delivery for this scenario looks like:
@ -193,7 +194,9 @@ That block is what gets pasted into `claude.ai/design`. The skill also surfaces
**Phase 7 — Iteration coaching.** Once Claude Design produces the first version, the skill points the operator at the Tweak → Comment → Chat cascade in [`references/03-iteration-and-session.md`](skills/claude-design-facilitator/references/03-iteration-and-session.md): Tweak panel for surgical zero-token edits (spacing, font size, colour), inline comments for component-scoped changes (rewrite slide 5), full chat regeneration as a last resort. Plus the session-break heuristic (after 4 substantive screens, start a fresh session with a verbal save-pattern carrying state forward) and the recovery prompt library when iteration gets stuck.
**Phase 8 — Ship-readiness.** Before the all-hands, the skill runs the export validation checklist for the chosen destination (HTML preview → keep in Claude Design; PPTX → check fonts and master, charts may flatten). If the deck is being handed off to engineering for any reason, it recommends installing [`knowledge-work-plugins/design`](https://claude.com/plugins/design) for `/critique`, `/accessibility`, and `/handoff` — the post-design lane.
**Phase 8 — Ship-readiness.** Before the all-hands, the skill runs the export validation checklist for the chosen destination (HTML preview → keep in Claude Design; PPTX → check fonts and master, charts may flatten). If the deck is being handed off to engineering for any reason, it recommends installing [`knowledge-work-plugins/design`](https://claude.com/plugins/design) for `design:critique`, `design:accessibility`, and `design:handoff` — the post-design lane.
**Phase 9 — Critique-iterate (optional).** If the deck comes back with problems that surface tweaks cannot fix — a slide that does not earn its place, hierarchy that fights the narrative — the skill offers the critique-iterate loop from [`references/05-critique-iterate.md`](skills/claude-design-facilitator/references/05-critique-iterate.md). It coaches the export, hands over `design:critique @<file>`, reads the pasted critique by judgment rather than by parser, and drafts a re-prompt aimed at the single prompt layer responsible — for `slides`, deck-wide drift usually means the house-style spec (Layer 2a) was too loose, not that any one slide was laid out wrong. The operator confirms the mapping before anything is handed back. Saying `skip` at any point ends the phase.
The full output of the session is a single fenced markdown block (Phase 6) plus a short follow-up-turns list and an iteration-coaching pointer. That is the entire user-facing deliverable.
@ -211,15 +214,16 @@ No commands, no agents, no hooks, no MCP servers at v0.1. The single skill is th
## Reference content map
The plugin ships 13 reference files in `skills/claude-design-facilitator/references/`:
The plugin ships 14 reference files in `skills/claude-design-facilitator/references/`:
**Foundation references (5):**
**Foundation references (6):**
- [`00-what-claude-design-is-and-isnt.md`](skills/claude-design-facilitator/references/00-what-claude-design-is-and-isnt.md) — Surface disambiguation against Artifacts, Live Artifacts, custom chat visuals, and Anthropic's `knowledge-work-plugins/design`.
- [`01-prompt-fundamentals.md`](skills/claude-design-facilitator/references/01-prompt-fundamentals.md) — The five-layer prompt stack: GLCA framework + start-simple-layer-complexity + concrete-alternative-spec + propose-options + AI-slop negative constraints + four design dimensions + four grading criteria. Anchored on four Anthropic primary sources.
- [`02-design-md.md`](skills/claude-design-facilitator/references/02-design-md.md) — DESIGN.md 9-section canonical structure + brand-to-DESIGN.md extractor prompt + failure modes.
- [`03-iteration-and-session.md`](skills/claude-design-facilitator/references/03-iteration-and-session.md) — Tweak / Comment / Chat cascade, session economics, 4-screen inflection, recovery prompt library (break-default-aesthetic, fix-the-system, edit-previous-message, 3-failed-comment escalation, model downshift, verbal save-pattern).
- [`04-handoff-and-scope.md`](skills/claude-design-facilitator/references/04-handoff-and-scope.md) — Design → Code one-way handoff, bundle contents, lifecycle-stage coverage map vs Anthropic's `knowledge-work-plugins/design`, downstream tool recommendation.
- [`05-critique-iterate.md`](skills/claude-design-facilitator/references/05-critique-iterate.md) — Phase 9 shared mechanics: operator-as-bridge handoff rationale, the `design:critique` preconditions, the untrusted-input rule for pasted critique output, and the judgment-based mapping from critique findings to prompt layers. Each per-preset file carries its own thin `Critique-iterate hint` block on top of this.
**Per-preset references (8):**