Compose preview review
Review pull requests that change Compose UI by rendering @Preview composables on base and head and diffing them. Use when reviewing a UI PR locally or from a CI agent session (@claude mention), authoring an agent-opened PR that touches UI, or triaging flaky or unstable previews (time/random/animation). Pairs with the compose-preview skill; for wiring the CI that posts those diffs, see the compose-preview-ci skill.From its SKILL.md
npx -y skills add yschimke/skills --skill compose-preview-reviewAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.5 KB, as published. Nobody here has run it
Compose Preview — Review
Workflows for reviewing pull requests that touch Compose UI and authoring agent-opened PRs that include preview screenshots.
Setting the CI up is a separate job with a separate skill —
compose-preview-ci owns baselines
branches, the apply action, and the fork-safe two-stage split. This skill
is about reading what that CI produces (and rendering by hand when it isn't
there).
This skill assumes the compose-preview skill is installed — it owns
the renderer, CLI, and Gradle plugin. Check first with
compose-preview --version; if it's missing, ask the user to run the
bootstrap installer (which covers every skill in the bundle):
curl -fsSL https://raw.githubusercontent.com/yschimke/skills/main/scripts/install.sh \
| bash
Source
This skill is maintained at
github.com/yschimke/skills under
skills/compose-preview-review/. To check for updates, compare the
installed copy against main (e.g. git ls-remote https://github.com/yschimke/skills HEAD). The CLI, renderer, and
GitHub Actions referenced below ship from
github.com/yschimke/compose-ai-tools.
When to use this skill
Pick the workflow that matches the task:
| Task | Read |
|---|---|
| Review a PR locally that touches UI | references/agent-pr.md § Reviewing a PR |
Review or author from a CI agent session (@claude mention / claude.yml on an Actions runner) | references/ci-agent-sessions.md |
| Author an agent-opened PR that touches UI | references/agent-pr.md § Authoring an Agent PR |
| Triage a flaky or unstable preview (time, randomness, animation, network images) | references/stability.md |
Wire compose-preview/main baselines + PR-comment CI for a project (or migrate from the legacy four-action setup) | compose-preview-ci skill |
| Render previews on base and head and diff them | references/agent-pr.md § Render base and head locally |
Quick reference: review a UI PR locally
-
Check what preview CI the project already has, first. Scan
.github/workflows/forcompose-preview.yml(theapplyaction), legacy preview actions, and design-parity/design-artifacts pipelines — see references/ci-agent-sessions.md § Discover the repo's preview CI. If a sticky<!-- preview-diff -->comment is already on the PR, read it and cite it instead of re-rendering. See references/agent-pr.md § Optional: integrate with apply CI in comment mode. -
Render base and head. Use a worktree so the working copy stays put:
BASE=$(gh pr view <N> --json baseRefName -q .baseRefName) git worktree add ../_pr_base "origin/$BASE" (cd ../_pr_base && compose-preview show --json) > base.json compose-preview show --json > head.json git worktree remove ../_pr_base -
Diff by
id+sha256. Bucket into changed / new / removed. -
Read the PNGs for changed and new entries — that's the visual context the human reviewer will lack.
-
Post a text-only review comment summarising deltas. Image upload only with explicit consent — see references/agent-pr.md § Uploading images.
Reference docs
| Path | When to read |
|---|---|
| references/agent-pr.md | Full PR review + agent PR authoring guidance: comment structure, image hosting choices, things to flag, integration with the unified apply CI action when present. |
| references/ci-agent-sessions.md | Running this skill inside a mention-triggered CI agent session (claude.yml): Gradle-only rendering, commit-SHA-pinned image embedding, discovering and reusing the repo's existing preview-diff CI. |
| references/stability.md | Flaky / unstable previews: detection (render twice, CI symptoms), common causes (clock, randomness, animations, network images, locale), fixes, and how to review a suspect diff. |
| references/agent-audits.md | Agent audit recipes and data-product documentation clusters: accessibility, localisation, Wear clipping, resources, theme, traces, and failure triage. |
| references/mcp-review.md | Driving a PR review through the MCP server (two-workspace base+head flow, push notifications, edit-on-top iteration). |
Related
- compose-preview skill — running the
renderer itself: CLI, Gradle plugin,
@Previewdesign patterns, capture modes (animations, scrolling), accessibility checks.
What ships with it: 8 files
84.7 KB alongside SKILL.md, 2 of them executable
references/
- agent-audits.md22.4 KB
- agent-pr.md11.3 KB
- ci-agent-sessions.md4.7 KB
- ci-previews.md10.6 KB
- mcp-review.md6.6 KB
- stability.md3.4 KB
scripts/
- run-agent-audit-samples.pyruns23.0 KB
- test_run_agent_audit_samples.pyruns2.6 KB
Gives 0 of the 12 instructions most context ai engineering skills give
Counted across 1,328 of the 2,349 authors here whose files we hold, read 2026-09-06
- Dispatch a fresh subagent for each taskin 76 of 1328, across 59 files
- Perform spec compliance review before code quality reviewin 44 of 1328, across 34 files
- Dispatch a final code reviewer after all tasksin 38 of 1328, across 26 files
- Answer subagent questions before allowing implementationin 36 of 1328, across 26 files
- Use the least powerful model capable of the taskin 33 of 1328, across 26 files
- Create a TodoWrite list for all tasksin 32 of 1328, across 22 files
- Perform a task review after each implementationin 31 of 1328, across 24 files
- Extract all tasks and context from the planin 29 of 1328, across 20 files
- Provide full task text to subagentsin 28 of 1328, across 20 files
- Use git worktrees for isolated workspacesin 25 of 1328, across 20 files
- Specify the model explicitly when dispatching a subagentin 23 of 1328, across 18 files
- Execute all tasks from the plan without stoppingin 21 of 1328, across 16 files
Said here and by no other author read
- Check for existing preview CI before rendering
- Cite existing preview diff comments if present
- Render base and head previews using worktrees
- Diff previews by id and sha256
- Bucket previews into changed new and removed
- Read PNGs for changed and new entries
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.