From 7a4f6861124df074e73b4ccb1c1a5e9349141c46 Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 28 Jul 2026 19:31:07 +0000 Subject: [PATCH] feat: wire claude-illustrate-skill into the team Closes Proposal 6, which absorbed Proposal 4's backend wiring. The skill ships at github.com/code-katz/claude-illustrate-skill and carries the mechanics that were deliberately kept out of this repo: the render-and-inspect pipeline, the contact-sheet technique, per-backend setup for Recraft, Hugging Face, Canva, and Figma, the provenance format, and the IP and trademark reference. Its central finding is that logos and icons need no image backend at all. Vector marks are authored as SVG, rendered across the size ladder, inspected, and refined, with no account or API key. That answers most of the original "Kai cannot create quality images" problem without a vendor. Adds the seventh Works Well With row, a git clone install line, and one line in Iris pointing at the skill. Iris is told to say when it is relying on it and to work without it if absent, so the persona never claims a capability the install has not provided. The clone install is an explicit divergence from the curl convention the other six companions use: this skill is multi-file, and curl would silently install SKILL.md without the backend guides it references. Tests 128/128. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01QTC8r2xtQrke5zzXYLmhfM --- DEVLOG.md | 38 ++++++++++++++++++++++++++++++++++++++ README.md | 12 ++++++++++-- agents/iris.md | 1 + commands/iris.md | 1 + profiles/iris.md | 1 + 5 files changed, 51 insertions(+), 2 deletions(-) diff --git a/DEVLOG.md b/DEVLOG.md index 74e04ee..68773ed 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -5,6 +5,44 @@ Auto-maintained via Claude devlog skill. Entries are reverse-chronological. --- +## [2026-07-28] claude-illustrate-skill shipped: Iris gets a pipeline, logos get made without a vendor + +**Category:** `milestone` +**Tags:** `skills`, `iris`, `image-generation`, `svg`, `companion-tools`, `dogfooding` + +**Risk Level:** `low` +**Breaking Change:** `no` + +### Summary + +Proposal 6 shipped as [claude-illustrate-skill](https://github.com/code-katz/claude-illustrate-skill), the seventh companion tool, carrying the backend mechanics that were deliberately kept out of claude-team-cli. Its central finding: logos and icons need no image backend at all. Iris now references it, and the README lists it. + +### Detail + +**Why a skill and not the persona repo:** a vendor MCP matrix inside claude-team-cli would be documentation the project does not control, drifting on someone else's release schedule, and it would break the convention that every companion capability lives in its own repo while "Works Well With" stays one line and a link. Backend mechanics also serve Reiner, Ernie, Toni, and Kai, not only Iris. + +**The load-bearing design decision:** vector marks are authored directly as SVG, rendered across the size ladder, inspected, and refined. No account, no API key, no vendor, no cost. This is the default track, not a fallback, and it answers most of what people mean by "design a logo." A generation backend is only needed for raster illustration, which is a far narrower gap than the original problem statement assumed. + +**Structure:** follows Anthropic's `theme-factory` pattern, a thin orchestrating `SKILL.md` plus one data file per backend, so vendor detail stays isolated in a single file. Four backends documented with verified endpoints: Recraft (the only true-SVG generator; its npm package is deprecated in favour of the remote server), Hugging Face (free tier, weakest text rendering), Canva (brand kits are Enterprise-only, the most likely wrong inference about it), and Figma (a vector editor, not a generator). `reference/manifest.md` defines the provenance format that dropped Proposal 3 never got, and `reference/ip-and-licensing.md` covers copyright, trademark, and indemnification. + +**Dogfooding caught three real bugs.** The render pipeline was tested rather than assumed, and every failure produced plausible-looking wrong output rather than an error: screenshotting a bare `.svg` with `--window-size` crops instead of scaling, so a "16px render" is the top-left corner of a 512px image; `` inside a `file://` contact sheet races the screenshot and fails silently, producing a blank sheet that reads as a design failure; and `--virtual-time-budget` is required or capture fires before layout settles. A fourth finding shaped the technique: individual small PNGs are unreadable when viewed alone, so the contact sheet is the primary inspection artifact rather than a nicety. Chromium is also frequently absent from `PATH` while present under the Playwright directory. + +**Wiring (claude-team-cli):** seventh "Works Well With" row, a `git clone` install line (the skill is multi-file, so the single-file curl convention the other six use would silently install only `SKILL.md`), and one line in Iris pointing at it with instructions to work without it if absent. + +### Decisions Made + +- **Clone rather than curl for this one skill:** the other six are single-file and install with `curl -o .../SKILL.md`. This one has `backends/` and `reference/` siblings that `SKILL.md` reads on demand, so curl would install a skill missing most of its content. Documented as an explicit divergence rather than silently breaking the convention. +- **Original content, prior art credited:** all three third-party sources are MIT and could have been copied with attribution. Writing from scratch and crediting the ideas was cleaner and avoided inheriting workflows built around GUI tools that cannot be driven from Claude Code. +- **The skill degrades rather than requiring itself:** Iris is told to say when it is relying on the skill and to work without it if absent, so the persona never claims a capability the install has not provided. That is the same rule the Kai fix established. + +### Related + +- [claude-illustrate-skill](https://github.com/code-katz/claude-illustrate-skill) (MIT) +- [2026-07-28] Design lane split entry: created Iris and folded Proposal 4 into Proposal 6, which this closes +- `docs/proposals/image-generation.md`: the original six-proposal option space + +--- + ## [2026-07-28] Design lane split: honest image backends, a visual QA loop, and Iris as persona #17 **Category:** `milestone` diff --git a/README.md b/README.md index b6d988e..6880e5f 100644 --- a/README.md +++ b/README.md @@ -448,11 +448,12 @@ The team works best with these companion tools installed alongside it. Each one | [claude-todo-skill](https://github.com/code-katz/claude-todo-skill) | Lightweight task scratchpad for capturing action items from any specialist session | `/todo` | | [claude-publish-agent](https://github.com/code-katz/claude-publish-agent) | Publish markdown to blogging platforms; Toni helps with positioning, then you publish it | `/publish` | | [claude-conductor](https://github.com/code-katz/claude-conductor) | Track and coordinate parallel Claude Code sessions; see who's doing what, who's blocked, and merge order | `/conductor` | +| [claude-illustrate-skill](https://github.com/code-katz/claude-illustrate-skill) | Brand assets with a render-and-inspect loop; Iris brings the taste, this brings the mechanics. Logos and icons need no image backend | `/illustrate` | -All are invocable as slash commands once installed. They also auto-trigger on natural language: "log this", "update the roadmap", "we shipped X", "archive this plan", "add a todo", "show sessions". +All are invocable as slash commands once installed. They also auto-trigger on natural language: "log this", "update the roadmap", "we shipped X", "archive this plan", "add a todo", "show sessions", "design a logo". ```bash -# Install all six companion tools +# Install the six single-file companion skills mkdir -p ~/.claude/skills/{devlog,roadmap,plans,todo,publish,conductor} curl -o ~/.claude/skills/devlog/SKILL.md \ https://raw.githubusercontent.com/code-katz/claude-devlog-skill/main/SKILL.md @@ -468,6 +469,13 @@ curl -o ~/.claude/skills/conductor/SKILL.md \ https://raw.githubusercontent.com/code-katz/claude-conductor/main/skills/conductor/SKILL.md ``` +`claude-illustrate-skill` is cloned rather than curled, because its backend guides and reference docs live in sibling files that `SKILL.md` reads on demand: + +```bash +git clone https://github.com/code-katz/claude-illustrate-skill.git \ + ~/.claude/skills/illustrate +``` + --- ## Coordinator: Proactive Team Check-Ins diff --git a/agents/iris.md b/agents/iris.md index 93f31e3..23524e3 100644 --- a/agents/iris.md +++ b/agents/iris.md @@ -28,6 +28,7 @@ You stay in your lane. You do not design screens, flows, or information architec - Illustration: character and style consistency across a series, line weight discipline, palette restraint, thumbnail readability - Asset classes: knowing which work needs true SVG paths, which tolerates raster, and which is a layout problem rather than a generation problem - Instrument choice: hand-authored SVG as the primary path for vector marks (no backend required, real editable paths, inspectable), a connected generation backend for raster illustration, and markup for composed layouts +- The illustrate skill (`claude-illustrate-skill`) when it is installed: it carries the render-and-inspect mechanics, the contact-sheet technique, per-backend setup, the provenance format, and the IP and trademark reference. You bring the taste and the standards; it brings the pipeline. Say when you are relying on it, and work without it if it is absent. - Brand systems: palette construction, semantic color naming, illustration style statements, explicit negative constraints - Asset provenance: recording model, prompt, date, license, and commercial-use status for every generated file - Marketing graphics: hero images, social cards, README headers, badge and sticker formats, and their platform size requirements diff --git a/commands/iris.md b/commands/iris.md index 3734800..be64d3b 100644 --- a/commands/iris.md +++ b/commands/iris.md @@ -31,6 +31,7 @@ You stay in your lane. You do not design screens, flows, or information architec - Illustration: character and style consistency across a series, line weight discipline, palette restraint, thumbnail readability - Asset classes: knowing which work needs true SVG paths, which tolerates raster, and which is a layout problem rather than a generation problem - Instrument choice: hand-authored SVG as the primary path for vector marks (no backend required, real editable paths, inspectable), a connected generation backend for raster illustration, and markup for composed layouts +- The illustrate skill (`claude-illustrate-skill`) when it is installed: it carries the render-and-inspect mechanics, the contact-sheet technique, per-backend setup, the provenance format, and the IP and trademark reference. You bring the taste and the standards; it brings the pipeline. Say when you are relying on it, and work without it if it is absent. - Brand systems: palette construction, semantic color naming, illustration style statements, explicit negative constraints - Asset provenance: recording model, prompt, date, license, and commercial-use status for every generated file - Marketing graphics: hero images, social cards, README headers, badge and sticker formats, and their platform size requirements diff --git a/profiles/iris.md b/profiles/iris.md index 363459e..1c65c90 100644 --- a/profiles/iris.md +++ b/profiles/iris.md @@ -20,6 +20,7 @@ You stay in your lane. You do not design screens, flows, or information architec - Illustration: character and style consistency across a series, line weight discipline, palette restraint, thumbnail readability - Asset classes: knowing which work needs true SVG paths, which tolerates raster, and which is a layout problem rather than a generation problem - Instrument choice: hand-authored SVG as the primary path for vector marks (no backend required, real editable paths, inspectable), a connected generation backend for raster illustration, and markup for composed layouts +- The illustrate skill (`claude-illustrate-skill`) when it is installed: it carries the render-and-inspect mechanics, the contact-sheet technique, per-backend setup, the provenance format, and the IP and trademark reference. You bring the taste and the standards; it brings the pipeline. Say when you are relying on it, and work without it if it is absent. - Brand systems: palette construction, semantic color naming, illustration style statements, explicit negative constraints - Asset provenance: recording model, prompt, date, license, and commercial-use status for every generated file - Marketing graphics: hero images, social cards, README headers, badge and sticker formats, and their platform size requirements