← ClaudeAtlas

cmp-previewlisted

THE default UI feedback loop while building or editing ANY Compose Multiplatform screen — in a stamped app, use it DURING development, not only when asked: it renders the app's REAL screens headlessly in seconds (no device, no emulator, no manual Gradle) and tells you exactly what each edit changed, so you catch your own mistakes as you build. Use this whenever you are about to write or change CMP/KMP UI code, need quick build/visual feedback, want to verify a UI change landed, or the user asks "preview my app", "show me my screens", "open the preview gallery", "Android Studio previews without the IDE", "see my UI without running the app", "live preview my compose screens", or "storybook for compose". Starts the cmp-inspector MCP's resident preview service: it renders every screen in the app's inspector/PreviewRegistry.kt headlessly (real DI, theme, data), serves a self-updating gallery at a local URL (pixels + wireframe + a11y per screen), and watches composeApp/src so every save re-renders automatically. Th
kvdm-co-pilot/create-cmp · ★ 0 · Code & Development · score 72
Install: claude install-skill kvdm-co-pilot/create-cmp
# cmp-preview — live previews of real screens, zero commands Your job: give the human a **live gallery URL** of their app's real screens and keep it current while they (or you) edit code — and use the structural side of the same render to verify changes. Nobody runs Gradle by hand; the MCP service owns the loop. ## Before anything: confirm the capability (fail loud) The cmp-inspector MCP tools are a capability, not a given. Before your first call, confirm they resolve (ToolSearch for "cmp-inspector"). If no tools match, **STOP — do not fall back to manual Gradle, screenshots, or raw adb silently.** Diagnose in order and REPORT to the human: 1. **Plugin enabled?** Check `enabledPlugins` in `~/.claude/settings.json` (or the project's `.claude/settings.json`). 2. **Session older than the plugin's enablement?** MCP servers attach at session START — a session born without the plugin never gains its tools, and no amount of in-session retrying will surface them. The fix is restarting the session. 3. **Plugin copy stale or server broken?** Run cmp-doctor's inspector-MCP check group. Only after reporting may the documented degraded path (`./gradlew :composeApp:renderScreens` + `node qa/preview-gallery.mjs`) be used — and the report must name what is lost: on-save re-render, changed-screen attribution, and the `preview_diff` change proof. ## The one-call flow 1. **`preview { projectDir }`** (cmp-inspector MCP) — starts (or reuses) the resident service. It: - rende