compose-preview-design-board — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited compose-preview-design-board (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Assemble the PNGs produced by compose-preview into a single, self-contained HTML design board — categories, groups, captions, and layout — so a set of renders travels as one coherent brief instead of loose screenshots. The board is built for import into Claude Design (and similar design tools).
This skill assumes the compose-preview skill is installed — it owns the renderer, CLI, and Gradle plugin that produce the PNGs this skill arranges. Check first with compose-preview --version; if it's missing, ask the user to run the bootstrap installer (which covers the compose-preview skills):
curl -fsSL https://raw.githubusercontent.com/yschimke/compose-ai-tools/main/scripts/install.sh \
| bashThis skill is maintained at github.com/yschimke/skills under skills/compose-preview-design-board/. To check for updates, compare the installed copy against main (e.g. git ls-remote https://github.com/yschimke/skills HEAD). The renderer and CLI that produce the input PNGs ship from github.com/yschimke/compose-ai-tools.
@Preview PNGs and want to hand them to a designeror to Claude Design as a structured brief — grouped by feature/screen, with captions and intent notes — not a flat folder of images.
be opened in a browser, served from a branch / GitHub Pages, or dropped into a design tool.
For rendering the previews, see the compose-preview skill. For reviewing a UI PR by diffing base vs head renders, see compose-preview-review. This skill is the export/presentation step that sits on top of those.
manifest of what was rendered:
compose-preview show --module <m> --json > /tmp/<m>-show.json(categories → groups → items, each item pointing at a PNG path). See Board spec schema below.
referenced PNG inlined as base64, missing PNGs shown as visible placeholders rather than failing the build, and deterministic output (no timestamps or random ids, so re-runs diff cleanly). Run your project's builder if it ships one; otherwise generate it from the contract below:
# spec may also be piped on stdin instead of --spec
python3 scripts/build-design-board.py --spec board-spec.json --out design-board.htmldesign-board.html in a browser, orserve it (GitHub Pages / a branch), and use Claude Design's web capture on the page.
.html (or the individual PNGs) into ClaudeDesign's drop zone.
Grouping, captions, and flow order travel with the images, so the board reads as one brief rather than a pile of screenshots.
JSON, top-down:
| Level | Fields |
|---|---|
| Top level | title, tagline, footer, optional palette (colour swatches), categories[] |
| Category | badge, title, intro, groups[] |
| Group | title, note (the design intent / rationale), layout, items[] |
| Item | src (PNG path from compose-preview), caption, optional sub (state / size / theme) |
layout controls how a group's items are arranged:
"row" — left-to-right wrapping; good for phone screens."grid" — auto-fill grid; good for theme swatches and tiles."wide" — full-width frames; good for size matrices.A reference builder ships beside this SKILL.md at scripts/build-design-board.py — a small, dependency-free Python 3 script (no pip install). It reads the spec, inlines every image, and writes one self-contained HTML file. Swap in your project's own builder if you have one, as long as it holds the same contract:
--spec <file> or stdin, and writes to --out <file>or stdout;
src PNG as a data:image/png;base64,… URI, so the outputis one file with no external dependencies;
the build;
so re-runs diff cleanly;
src paths against --base (default: the current directory),so a spec stays portable — never hardcode an absolute checkout path like /home/user/<project>, or the board breaks in every other checkout.
@Preview PNGs this board is built from: CLI, Gradle plugin, capture modes.
review a UI PR by rendering base and head and diffing them.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.