Composables

Roborazzi

Community

takahirom

Use when working with Roborazzi screenshot tests on Android/JVM — setting up the Roborazzi Gradle plugin, running record/compare/verify tasks, writing tests with captureRoboImage or RoborazziRule, Compose Preview screenshot testing (ComposablePreviewScanner), Compose Multiplatform (iOS/desktop) screenshots, AI-powered image assertions, roborazzi.* Gradle properties, or troubleshooting Roborazzi/Robolectric screenshot test failures.

Overview

Repository
takahirom/roborazzi
Publisher
takahirom
Stars
1.1K
Forks
67
Bundled files
13
License
Apache-2.0
Updated
Nov 13, 2026

Installation

tmp=$(mktemp -d)
git clone --depth 1 https://github.com/takahirom/roborazzi.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/skills/roborazzi" ~/.claude/skills/roborazzi
rm -rf "$tmp"

Instructions

Roborazzi

Roborazzi is a screenshot testing library for Android that runs on the JVM using Robolectric Native Graphics, so screenshot tests run as JVM unit tests without a device or emulator. It works with plain Android views, Jetpack Compose (including Compose Previews), and Compose Multiplatform.

The typical workflow: record baseline images with ./gradlew recordRoborazziDebug, then compare or verify against them with compareRoborazziDebug / verifyRoborazziDebug (task names vary by variant; see the build setup reference).

Reference index

Read the reference that matches the task at hand:

File Read when
references/top.md You need an overview of what Roborazzi is and why to use it over device tests or Paparazzi.
references/try_it_out.md You want a minimal quick start or a sample project to try Roborazzi.
references/build_setup.md Setting up the Gradle plugin and dependencies, or running/understanding the record/compare/verify Gradle tasks and their outputs.
references/how_to_use.md Writing tests: captureRoboImage for views/Compose/Espresso, RoborazziRule and its options, output paths and file naming, RoborazziOptions (thresholds, image comparators, dump mode), accessibility legend.
references/gif_and_video.md Capturing GIFs and videos of test interactions: captureRoboGif, recordRoboVideo / recordScreenRoboVideo, RoboVideoOptions, GIF vs APNG output.
references/ui_tree_dump.md UI tree dump: the machine-readable .uitree.json semantics sidecar and annotated Set-of-Mark image for tools & AI agents (roborazzi.dumpUiTree, uiTreeDumpOptions), including the verify-a-UI-fix-by-bounds workflow.
references/github_actions.md Setting up GitHub Actions CI for Roborazzi: workflows that store baseline screenshots, verify them, and compare snapshot results on pull requests.
references/preview_support.md Generating screenshot tests from @Preview composables with ComposablePreviewScanner, including setup and customization of preview tests.
references/compose_multiplatform.md Screenshot testing Compose Multiplatform targets (iOS, desktop/JVM), including feature support per platform.
references/ai_powered_image_assertion.md Asserting screenshot content with AI models (OpenAI, Gemini) via roborazzi-ai modules.
references/gradle_properties_options.md Configuring roborazzi.* Gradle properties: task behavior, output directory, file-name strategy, comparison report settings.
references/idea_plugin.md Using the Roborazzi IntelliJ IDEA / Android Studio plugin to view screenshots in the IDE.
references/faq.md Troubleshooting: common errors, CI setup questions, Robolectric configuration issues, and other frequently asked questions.

The files under references/ mirror the official Roborazzi documentation at the time this skill was published. The latest version is always available at the documentation site.

Bundled files

FAQ

What does Roborazzi do?

Use when working with Roborazzi screenshot tests on Android/JVM — setting up the Roborazzi Gradle plugin, running record/compare/verify tasks, writing tests with captureRoboImage or RoborazziRule, Compose Preview screenshot testing (ComposablePreviewScanner), Compose Multiplatform (iOS/desktop) screenshots, AI-powered image assertions, roborazzi.* Gradle properties, or troubleshooting Roborazzi/Robolectric screenshot test failures.

Who made Roborazzi?

takahirom (a community member) publishes it in the takahirom/roborazzi repository on GitHub.

Is Roborazzi free?

Yes. Roborazzi is open source, published by takahirom under the Apache-2.0 license.

What comes with Roborazzi?

Its instructions and 13 files the agent reads only when a task needs them, such as references, examples or scripts.

Which agents can use Roborazzi?

Any coding agent that reads SKILL.md files, including Claude Code, Codex, Cursor, GitHub Copilot and Gemini CLI. The agent loads the skill when a task matches its description.

What are agent skills?

An agent skill is a folder with a SKILL.md file: instructions that teach a coding agent how to do one kind of task, and optionally files it can read while it works. The agent keeps only the skill's name and description in mind and reads the rest when a task calls for it.

How are agent skills different from MCP servers?

An MCP server gives an agent new tools to call, code that runs somewhere and returns results. A skill gives it knowledge: how to approach a task with the tools it already has. Many agents use both.

How can my agent test my Android app?

Robomori lets coding agents create, start and control Android emulators and devices from one command, so they can install your app, take screenshots and check dark mode, font sizes and languages.

You're subscribed

The next lesson lands in on Wednesday.