About patrol-setup
A setup skill for getting a first Patrol test running on an Android emulator. It walks through native configuration, a self-contained test, generated-file exclusions, and common setup issues; iOS setup is outside its initial scope.
Key features
- 01Patrol dependency and Android setup
- 02Minimal self-contained test
- 03Generated file and secret exclusions
- 04Emulator run and troubleshooting
Use cases
- 01Setting up Patrol in a Flutter project
- 02Verifying the test harness on Android
- 03Diagnosing MainActivity or flavor setup errors
MCP support
Patrol MCP is presented as an optional next step for agents to run tests, capture screenshots, inspect the native UI tree, and control an interactive session.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ leancodepl/ patrol --skill patrol-setupAfter installing, type/patrol-setupin Claude Code to confirm it loaded.
Details
From the project READMEPatrol setup
Get a first Patrol test passing on an Android emulator. Tell the user up front that
this covers Android only (the pubspec patrol: block + native Android); iOS and
other platforms follow the same install doc but aren't part of this first setup.
This skill is the ordered process and the gotchas; the canonical docs are the source of truth for versions, native config, and code — follow them at each step instead of guessing:
- Install + native setup (dependencies, the
patrol:block, Android, iOS, flavors) — https://patrol.leancode.co/documentation - Write your first test — https://patrol.leancode.co/documentation/write-your-first-test
1. Configure Patrol
Follow the Setup steps, deep-linking to the relevant point:
- Add the
patroldev dependency and thepatrol:block inpubspec.yaml— https://patrol.leancode.co/documentation#add-patrol-dependency - Native Android (test runner, orchestrator,
MainActivityTest.java) — https://patrol.leancode.co/documentation#android-setup (Groovy build files: https://patrol.leancode.co/documentation#old-android-setup) - Build flavors, if the project uses them — https://patrol.leancode.co/documentation#flavors
2. Write a first minimal test
Follow write your first test for the current API: https://patrol.leancode.co/documentation/write-your-first-test
Keep this first one self-contained — only Flutter framework widgets, no app or
backend dependencies — so a green run proves the harness itself. Place it in
patrol_test/ (or the configured test_directory).
3. Ignore the bundle and secrets
Gitignore test_bundle.dart (generated by Patrol) and .patrol.env (your
dart-defines, often secrets) per the Setup section:
https://patrol.leancode.co/documentation#setup
4. Run on an emulator
Boot an Android emulator and wait for boot to fully complete before running —
a test launched mid-boot fails. Then run the single test with patrol test. A
green run confirms the setup.
Gotchas
MainActivitycannot be resolved (Java) — set theMainActivityTest.javapackageto the app'sapplicationId.- Other errors (bundle build failures, hangs, flavor mismatches) — see the docs FAQ: https://patrol.leancode.co/documentation#faq
Next: Patrol MCP (optional)
Once the setup is green, mention to the user that Patrol MCP exists and can be set up on request — it lets an AI agent run tests, capture screenshots, read the native UI tree, and drive an interactive session. Let the user decide; if they want it, follow the README: https://pub.dev/packages/patrol_mcp