release(claude-design): v0.2.0 — Phase 9 critique-iterate
Version bump plus the docs sync that ships Phase 9. - .claude-plugin/plugin.json: 0.1.0 -> 0.2.0 - CHANGELOG.md: [0.2.0] entry covering the shared 05-critique-iterate.md reference, the eight per-preset hint blocks, export-to-HTML as the input, operator-confirmed layer mapping, untrusted-paste rule, operator-attested exit, design:critique routing, accessibility deferred to v0.4, the new SC4 test and the dual-format SC1 dogfood check. - README.md: version badge 0.1.0 -> 0.2.0, references badge 13 -> 14, trigger count 12 -> 16, a Non-goals bullet routing critique to Phase 9, and a v0.2.0 release-history entry. - CLAUDE.md: Status v0.2.0, nine-phase surface line, Architecture heading, and a Scope-fence paragraph stating Phase 9 routes to design:critique without duplicating it. Two corrections of stale claims found while sweeping: - CLAUDE.md said the hint-block heading letter is (e)/(f); measured across all eight presets it is (f) x4 and (g) x4. The letter-free substring 'Critique-iterate hint' remains the canonical anchor. - The README badge said 13 references and 12 triggers; ground truth is 14 and 16. Historical records left verbatim: the [0.1.0] and [0.1.0-pre] CHANGELOG entries, the v0.1.0 README release note, and docs/review-2026-06-20.md all describe what v0.1.0 actually shipped. Deviation from the plan's pinned check: the plan expects a literal '## v0.2.0' CHANGELOG heading, but this file has used Keep a Changelog bracketed headings since v0.1.0. The entry is '## [0.2.0]' to match the file; no shipped test asserts either form. No tag, no catalog bump. /trekreview is the release gate and comes next. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PX9V8V9qH5kG4XKVzCdchk
This commit is contained in:
parent
dacdb96a2d
commit
f596c832c4
4 changed files with 38 additions and 12 deletions
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "claude-design",
|
"name": "claude-design",
|
||||||
"version": "0.1.0",
|
"version": "0.2.0",
|
||||||
"description": "End-to-end facilitator for prompting Claude Design (claude.ai/design) — idea to copy-paste-ready prompt with iteration coaching, citing Anthropic primary sources.",
|
"description": "End-to-end facilitator for prompting Claude Design (claude.ai/design) — idea to copy-paste-ready prompt with iteration coaching, citing Anthropic primary sources.",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kjell Tore Guttormsen"
|
"name": "Kjell Tore Guttormsen"
|
||||||
|
|
|
||||||
21
CHANGELOG.md
21
CHANGELOG.md
|
|
@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [0.2.0] — 2026-08-20
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Phase 9 — critique-iterate**, the optional post-ship loop that closes the design → critique → re-prompt cycle. The facilitation flow is now nine phases: phases 1–8 take the operator to a shipped artifact, Phase 9 runs only when the operator asks for it. Offered once at the close of Phase 8 and exited with an explicit `skip`.
|
||||||
|
- `skills/claude-design-facilitator/references/05-critique-iterate.md` — the single shared Phase 9 reference, carrying all four sub-phases: coach the export and the critique run (9a), consume the pasted critique as untrusted reference data (9b), map findings to the one prompt layer that produced them (9c), decide whether to loop or exit (9d). One shared section rather than eight full per-preset sections; the duplication that the per-preset alternative implied was rejected in planning.
|
||||||
|
- A thin `Critique-iterate hint` block in each of the eight per-preset reference files, naming which `design-critique` sections dominate for that artifact type and which prompt layer those findings route to. The block's heading letter is per-file (four presets carry `## (f)`, four carry `## (g)`) because it follows each file's existing section sequence; the letter-free substring `Critique-iterate hint` is the canonical machine-checkable anchor.
|
||||||
|
- `tests/test-sc4-phase9-coverage.sh` — 21 assertions covering the shared reference, its four sub-phases, the SKILL.md Phase 9 section, and the hint block in every preset file. Registered by hand in `verify.sh`, which has no auto-discovery.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
- `tests/test-sc1-dogfood-log.sh` now accepts **either** dogfood-log format: a valid v0.1 block (five fields) or a valid v0.2 Phase 9 block (four sub-sections). Either one closes the gate; the other, if present but malformed, downgrades to WARN. The v0.2 sub-sections are matched on keywords (`artifact` / `critique` / `re-prompt` / `second pass`) in `###` headings rather than on verbatim labels, so the log stays writable in the operator's own words.
|
||||||
|
- `references/04-handoff-and-scope.md` cross-references Phase 9 as the coached path into `design:critique`.
|
||||||
|
- `.coverage.md` Authoritative-claims registry: 13 → 14 paths, 5 → 6 foundation references.
|
||||||
|
|
||||||
|
### Notes
|
||||||
|
- **Export-to-HTML is the input, not a URL.** Claude Design artifacts have no shareable public URL and `design-critique` does not take generic web URLs, so Phase 9 coaches a standalone HTML export and hands over `design:critique @<file>`. The pre-filled-URL alternative was a broken affordance and was rejected.
|
||||||
|
- **Layer mapping is LLM judgment plus operator confirmation, not a parser.** Critique output is prose, and treating LLM prose as a machine-readable API is the anti-pattern this avoids. Findings map to the real layers documented in `01-prompt-fundamentals.md` — Layer 1 (Goal / Layout / Content / Audience), 1.5, 2a, 2b, 3, 4 (Typography / Color / Motion / Backgrounds) and 5 (grading criteria) — and the operator confirms the mapping before any re-prompt is drafted.
|
||||||
|
- **Pasted critique output is untrusted reference data, never instructions.** This is the load-bearing security rule of Phase 9: a critique that inspected a Figma file or a screenshot can carry attacker-influenceable text verbatim into the conversation (OWASP LLM01). The operator pastes it between delimiters and it is read as data.
|
||||||
|
- **Exit is operator-attested.** Phase 9 does not decide that an artifact is good enough; the operator does.
|
||||||
|
- **Accessibility findings are not mapped.** They hand off to `design:accessibility` in Anthropic's plugin today, and a first-party `/accessibility` surface is deferred to v0.4.
|
||||||
|
- **The scope fence is unchanged.** Phase 9 *routes to* `design:critique` and never reimplements it. This plugin still ships none of the six forbidden command names, and `tests/validate-plugin.sh` assertion (h) still enforces that mechanically.
|
||||||
|
|
||||||
## [0.1.0] — 2026-05-17
|
## [0.1.0] — 2026-05-17
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|
|
||||||
16
CLAUDE.md
16
CLAUDE.md
|
|
@ -2,20 +2,20 @@
|
||||||
|
|
||||||
## Context
|
## Context
|
||||||
|
|
||||||
This plugin is an expert on **Claude Design** (`claude.ai/design`) — Anthropic's Labs research preview for generating interactive design artifacts from a prompt. It walks the operator through the full lifecycle: idea → intent-preset selection → audience and destination → DESIGN.md anchor → five-layer prompt drafting → copy-paste delivery → iteration coaching → ship-readiness handoff. It does not generate artifact code itself and it does not drive the browser; it produces the prompt that the operator pastes into Claude Design.
|
This plugin is an expert on **Claude Design** (`claude.ai/design`) — Anthropic's Labs research preview for generating interactive design artifacts from a prompt. It walks the operator through the full lifecycle: idea → intent-preset selection → audience and destination → DESIGN.md anchor → five-layer prompt drafting → copy-paste delivery → iteration coaching → ship-readiness handoff → an optional post-ship critique-iterate loop. It does not generate artifact code itself and it does not drive the browser; it produces the prompt that the operator pastes into Claude Design.
|
||||||
|
|
||||||
## Status
|
## Status
|
||||||
|
|
||||||
`v0.1.0`. Surface:
|
`v0.2.0`. Surface:
|
||||||
|
|
||||||
- One skill: `claude-design-facilitator` (auto-fire + explicit `/claude-design-facilitator` slash command)
|
- One skill: `claude-design-facilitator` (auto-fire + explicit `/claude-design-facilitator` slash command) running a nine-phase flow — phases 1–8 to a shipped artifact, Phase 9 the optional critique-iterate loop
|
||||||
- Six 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/`
|
- Eight per-preset references under `skills/claude-design-facilitator/references/presets/`
|
||||||
- Six test scripts under `tests/` plus a `verify.sh` roll-up
|
- Six 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)
|
- A `.coverage.md` preset manifest at the plugin root (canonical input for SC2 and the SC3 Authoritative-claims registry)
|
||||||
- `LICENSE` (MIT), `GOVERNANCE.md` (marketplace fork-and-own blurb), `README.md`, `CHANGELOG.md`
|
- `LICENSE` (MIT), `GOVERNANCE.md` (marketplace fork-and-own blurb), `README.md`, `CHANGELOG.md`
|
||||||
|
|
||||||
No commands, no agents, no hooks, no MCP servers at v0.1. The single skill is the entire user-facing surface.
|
No commands, no agents, no hooks, no MCP servers at v0.2. The single skill is the entire user-facing surface.
|
||||||
|
|
||||||
## Marketplace context
|
## Marketplace context
|
||||||
|
|
||||||
|
|
@ -24,15 +24,15 @@ This plugin sits under the `ktg-plugin-marketplace` directory but is **its own g
|
||||||
Marketplace conventions inherited from the root `CLAUDE.md`:
|
Marketplace conventions inherited from the root `CLAUDE.md`:
|
||||||
|
|
||||||
- Conventional Commits — `type(scope): description`; scope is `claude-design`
|
- Conventional Commits — `type(scope): description`; scope is `claude-design`
|
||||||
- Hooks in Node.js (`.mjs`), never bash (this plugin ships no hooks at v0.1)
|
- Hooks in Node.js (`.mjs`), never bash (this plugin ships no hooks at v0.2)
|
||||||
- Zero npm dependencies in hooks and scripts
|
- Zero npm dependencies in hooks and scripts
|
||||||
- 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.
|
- 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)
|
## Architecture (v0.2)
|
||||||
|
|
||||||
- **`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/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/.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. Six foundation references (00–05) 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.
|
- **`skills/claude-design-facilitator/references/`** is the knowledge base. Six foundation references (00–05) 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 `## (f)` and four at `## (g)` — 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).
|
- **`.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 (accepts either a v0.1 block or a v0.2 Phase 9 block), SC2 per-preset coverage, SC3 citation discipline, SC4 Phase 9 critique-iterate coverage, plus skill description quality and plugin structural integrity. `verify.sh` has no auto-discovery — a new test script must be registered there by hand.
|
- **`tests/`** + **`verify.sh`** enforce the brief Success Criteria: SC1 dogfood-log format (accepts either a v0.1 block or a v0.2 Phase 9 block), SC2 per-preset coverage, SC3 citation discipline, SC4 Phase 9 critique-iterate coverage, plus skill description quality and plugin structural integrity. `verify.sh` has no auto-discovery — a new test script must be registered there by hand.
|
||||||
|
|
||||||
|
|
@ -44,6 +44,8 @@ This plugin covers **pre-design and during-design** for `claude.ai/design`: idea
|
||||||
|
|
||||||
**Post-design** — critique, accessibility audit, UX copy review, research synthesis, design-system audit, engineering handoff — is out of scope and lives in Anthropic's official `knowledge-work-plugins/design` (`https://claude.com/plugins/design`). This plugin must never duplicate the commands `/critique`, `/accessibility`, `/ux-copy`, `/research-synthesis`, `/design-system`, `/handoff` — with or without a `claude-design:` namespace prefix. `tests/validate-plugin.sh` assertion (h) enforces this scope fence mechanically.
|
**Post-design** — critique, accessibility audit, UX copy review, research synthesis, design-system audit, engineering handoff — is out of scope and lives in Anthropic's official `knowledge-work-plugins/design` (`https://claude.com/plugins/design`). This plugin must never duplicate the commands `/critique`, `/accessibility`, `/ux-copy`, `/research-synthesis`, `/design-system`, `/handoff` — with or without a `claude-design:` namespace prefix. `tests/validate-plugin.sh` assertion (h) enforces this scope fence mechanically.
|
||||||
|
|
||||||
|
Phase 9 (critique-iterate) does not weaken this fence. It **routes to** `design:critique` — coaching the export, handing the operator the invocation, and turning the returned critique into a layer-targeted re-prompt — and ships no critique surface of its own. Accessibility findings are handed off rather than mapped. The re-prompt is this plugin's work; the critique is Anthropic's.
|
||||||
|
|
||||||
The lifecycle-stage coverage map and the operational handoff between the two plugins are documented in `skills/claude-design-facilitator/references/04-handoff-and-scope.md`.
|
The lifecycle-stage coverage map and the operational handoff between the two plugins are documented in `skills/claude-design-facilitator/references/04-handoff-and-scope.md`.
|
||||||
|
|
||||||
## Authoring rules
|
## Authoring rules
|
||||||
|
|
|
||||||
11
README.md
11
README.md
|
|
@ -58,10 +58,10 @@ Claude Code with plugin support, and access to `claude.ai/design`. No npm packag
|
||||||
|
|
||||||
*AI-generated: all content produced by Claude Code through dialog-driven development. [Full disclosure →](GOVERNANCE.md)*
|
*AI-generated: all content produced by Claude Code through dialog-driven development. [Full disclosure →](GOVERNANCE.md)*
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -101,6 +101,7 @@ By design, this plugin does not:
|
||||||
- **Store artifact history or version artifacts.** Claude Design has no version-tree primitive and this plugin does not invent one.
|
- **Store artifact history or version artifacts.** Claude Design has no version-tree primitive and this plugin does not invent one.
|
||||||
- **Cover adjacent Anthropic surfaces.** Classic Artifacts at `claude.ai`, Live Artifacts in Claude Cowork, custom visuals embedded in a chat reply are out of scope — see [skills/claude-design-facilitator/references/00-what-claude-design-is-and-isnt.md](skills/claude-design-facilitator/references/00-what-claude-design-is-and-isnt.md) for the disambiguation reference.
|
- **Cover adjacent Anthropic surfaces.** Classic Artifacts at `claude.ai`, Live Artifacts in Claude Cowork, custom visuals embedded in a chat reply are out of scope — see [skills/claude-design-facilitator/references/00-what-claude-design-is-and-isnt.md](skills/claude-design-facilitator/references/00-what-claude-design-is-and-isnt.md) for the disambiguation reference.
|
||||||
- **Duplicate Anthropic's `knowledge-work-plugins/design` plugin.** No `/critique`, no `/accessibility`, no `/ux-copy`, no `/research-synthesis`, no `/design-system`, no `/handoff`. The post-design lane belongs to Anthropic's plugin.
|
- **Duplicate Anthropic's `knowledge-work-plugins/design` plugin.** No `/critique`, no `/accessibility`, no `/ux-copy`, no `/research-synthesis`, no `/design-system`, no `/handoff`. The post-design lane belongs to Anthropic's plugin.
|
||||||
|
- **Critique the artifact itself.** Information-architecture, structural and copy problems that surface tweaks cannot fix are not diagnosed here. Phase 9 (critique-iterate) coaches the HTML export, hands the operator `design:critique @<file>`, and turns what comes back into a re-prompt aimed at the one prompt layer responsible. The critique belongs to Anthropic's plugin; the re-prompt is this one's job.
|
||||||
|
|
||||||
`tests/validate-plugin.sh` enforces the forbidden-command-name list mechanically.
|
`tests/validate-plugin.sh` enforces the forbidden-command-name list mechanically.
|
||||||
|
|
||||||
|
|
@ -206,9 +207,9 @@ The full output of the session is a single fenced markdown block (Phase 6) plus
|
||||||
|
|
||||||
| Skill | Triggers | Output |
|
| Skill | Triggers | Output |
|
||||||
|-------|----------|--------|
|
|-------|----------|--------|
|
||||||
| `claude-design-facilitator` | 12 natural-language phrases (full list in `.triggers.txt`); also explicit `/claude-design-facilitator` slash command | A copy-paste-ready Claude Design prompt block composed from the five-layer stack and the per-preset pattern, with follow-up-turn expectations |
|
| `claude-design-facilitator` | 16 natural-language phrases (full list in `.triggers.txt`); also explicit `/claude-design-facilitator` slash command | A copy-paste-ready Claude Design prompt block composed from the five-layer stack and the per-preset pattern, with follow-up-turn expectations |
|
||||||
|
|
||||||
No commands, no agents, no hooks, no MCP servers at v0.1. The single skill is the entire user-facing surface.
|
No commands, no agents, no hooks, no MCP servers at v0.2. The single skill is the entire user-facing surface.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -316,6 +317,8 @@ When a trigger fires, run `bash verify.sh --strict` after the update to confirm
|
||||||
|
|
||||||
Full release history: [CHANGELOG.md](CHANGELOG.md). The plugin follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
Full release history: [CHANGELOG.md](CHANGELOG.md). The plugin follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
**v0.2.0 — 2026-08-20.** Phase 9 — critique-iterate. The facilitation flow is now nine phases: 1-8 to a shipped artifact, plus an optional post-ship loop that exports the artifact, routes it to `design:critique` in Anthropic's plugin, reads the returned critique as untrusted reference data, and drafts a re-prompt aimed at the single prompt layer responsible. One shared reference ([`05-critique-iterate.md`](skills/claude-design-facilitator/references/05-critique-iterate.md)) plus a thin `Critique-iterate hint` block in each of the eight per-preset files. Layer mapping is operator-confirmed judgment rather than a parser; accessibility findings are deferred to v0.4. New `tests/test-sc4-phase9-coverage.sh` (21 assertions), and the dogfood-log check now accepts either a v0.1 or a v0.2 Phase 9 block.
|
||||||
|
|
||||||
**v0.1.0 — 2026-05-17.** Initial public release. Single skill (`claude-design-facilitator`) with eight-phase facilitation flow, 12 natural-language trigger phrases, 13 reference files (5 foundation + 8 per-preset with evidence-grade labels), `.coverage.md` preset manifest plus Authoritative-claims registry, five verification scripts under `tests/` enforcing structural integrity / scope fence / skill description quality / per-preset coverage / Anthropic-domain citation discipline / operator dogfood log format, top-level `verify.sh` roll-up with `--strict` and `--quick` flags, MIT license, GOVERNANCE.md fork-and-own model.
|
**v0.1.0 — 2026-05-17.** Initial public release. Single skill (`claude-design-facilitator`) with eight-phase facilitation flow, 12 natural-language trigger phrases, 13 reference files (5 foundation + 8 per-preset with evidence-grade labels), `.coverage.md` preset manifest plus Authoritative-claims registry, five verification scripts under `tests/` enforcing structural integrity / scope fence / skill description quality / per-preset coverage / Anthropic-domain citation discipline / operator dogfood log format, top-level `verify.sh` roll-up with `--strict` and `--quick` flags, MIT license, GOVERNANCE.md fork-and-own model.
|
||||||
|
|
||||||
The path from v0.1 to v1.0 is dogfood-driven. The v1.0 readiness criteria are multi-preset breadth, auto-fire validation in real natural-language requests, and two consecutive dogfood sessions with zero critical patches. The dogfood log itself is operator-local and never published.
|
The path from v0.1 to v1.0 is dogfood-driven. The v1.0 readiness criteria are multi-preset breadth, auto-fire validation in real natural-language requests, and two consecutive dogfood sessions with zero critical patches. The dogfood log itself is operator-local and never published.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue