
Render @Preview composables to PNG from the command line and editor integrations, enabling AI agents to inspect UI; emit structured data (accessibility, layout, tokens), fast daemon and CI-friendly plugin.
Let your coding agent see the Compose UI it just changed. Start at https://preview.coo.ee/start/ (designing a new screen instead? https://ui.coo.ee/start).
Claude Code:
/plugin marketplace add yschimke/compose-agent-plugins
/plugin install compose-preview@compose-agent-plugins
Codex:
codex plugin marketplace add yschimke/compose-agent-pluginsthen enable compose-preview from /plugins.
Antigravity:
curl -fsSL https://raw.githubusercontent.com/yschimke/compose-agent-plugins/main/scripts/antigravity-install.py | python3 -Any other agent (Gemini CLI, OpenCode, Cursor, Copilot, …), or no plugin system:
curl -fsSL https://raw.githubusercontent.com/yschimke/skills/main/scripts/install.sh | bashThen ask your agent to render one of your previews. Other hosts and install options.
install.sh one-liner above installs compose-preview; then
compose-preview render (every @Preview to PNG) or compose-preview browse. No build edits:
it injects itself into projects that already apply com.android.application /
com.android.library / org.jetbrains.compose.None of this is required to get value from the tool.
apply action posts before/after renders on pull requests; the
optional compose-preview-review
and compose-preview-ci
skills review UI PRs and set that CI up.compose-preview launch app.apk, no emulator.Rendered baselines (PNGs and animation GIFs, regenerated on every push to
main) are browsable inline on the
compose-preview/main
branch — samples:android, samples:wear, samples:cmp, and
samples:remotecompose. Source under samples/. The XR renderer and its spatial
sample live in compose-preview-xr. The
integration matrix also renders the
plugin against real-world external Compose projects on every push.
Real-world PRs opened by AI coding agents that used compose-preview to
verify their changes.
yschimke/meshcore-mobile#36 — renders Play Store listing screenshots (phone + 7"/10" tablet) directly from Play Store — … @Preview composables, replacing hand-crafted PNGs.Have one to add? Open a PR or an issue.
composePreview { } config to your build without pinning the rendering runtime.docs/ tree.Let your coding agent see the Compose UI it just changed. Start at https://preview.coo.ee/start/ (designing a new screen instead? https://ui.coo.ee/start).
Claude Code:
/plugin marketplace add yschimke/compose-agent-plugins
/plugin install compose-preview@compose-agent-plugins
Codex:
codex plugin marketplace add yschimke/compose-agent-pluginsthen enable compose-preview from /plugins.
Antigravity:
curl -fsSL https://raw.githubusercontent.com/yschimke/compose-agent-plugins/main/scripts/antigravity-install.py | python3 -Any other agent (Gemini CLI, OpenCode, Cursor, Copilot, …), or no plugin system:
curl -fsSL https://raw.githubusercontent.com/yschimke/skills/main/scripts/install.sh | bashThen ask your agent to render one of your previews. Other hosts and install options.
install.sh one-liner above installs compose-preview; then
compose-preview render (every @Preview to PNG) or compose-preview browse. No build edits:
it injects itself into projects that already apply com.android.application /
com.android.library / org.jetbrains.compose.None of this is required to get value from the tool.
apply action posts before/after renders on pull requests; the
optional compose-preview-review
and compose-preview-ci
skills review UI PRs and set that CI up.compose-preview launch app.apk, no emulator.Rendered baselines (PNGs and animation GIFs, regenerated on every push to
main) are browsable inline on the
compose-preview/main
branch — samples:android, samples:wear, samples:cmp, and
samples:remotecompose. Source under samples/. The XR renderer and its spatial
sample live in compose-preview-xr. The
integration matrix also renders the
plugin against real-world external Compose projects on every push.
Real-world PRs opened by AI coding agents that used compose-preview to
verify their changes.
yschimke/meshcore-mobile#36 — renders Play Store listing screenshots (phone + 7"/10" tablet) directly from Play Store — … @Preview composables, replacing hand-crafted PNGs.Have one to add? Open a PR or an issue.
composePreview { } config to your build without pinning the rendering runtime.docs/ tree.