noqa skill
The noqa-testing skill teaches an agent to test iOS and Android: read the screen, tap, write cases and run them on a real phone
- 191 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Through the CLI the agent drives a real phone or simulator: it taps, types text, and launches and closes apps
- Target descriptions and test cases are processed on noqa servers, screenshots leave the computer, and an account is required
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add skills/noqaDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Through the CLI the agent drives a real phone or simulator: it taps, types text, and launches and closes apps
- Target descriptions and test cases are processed on noqa servers, screenshots leave the computer, and an account is required
This is third-party code. Review the repository files before installing.
What it does
The noqa-testing skill explains to an agent how to drive a phone through the noqa command line. noqa itself is a macOS app that tests from screenshots, so it needs no locators, SDK or changes to the app under test. Native apps, React Native, Flutter, Unity and Unreal work, and so do maps, WebViews and ad blocks where the screen has no element tree. The agent works in a loop: read the screen, take one action, check the result. noqa screen returns a cleaned element tree with coordinates from 0 to 1000, noqa screenshot saves an image, and noqa action tap, swipe, drag and input perform gestures. When the tree is empty the target is described in words, as in noqa action tap -d "Blue login button", and noqa finds it from the picture. Separate commands start and stop the app, open links and accept system alerts. The skill has three workflows. The first generates test cases from a build: the agent learns the app, walks the scenarios on a device, saves the cases and runs them until they pass. The second drives the device by hand, for example to reproduce a bug. The third runs saved cases with noqa's own agent and needs a paid subscription or credits.
Who it is for. Mobile developers and QA engineers on iOS and Android who want Claude Code, Cursor or Codex to handle end-to-end testing on real phones.
Good fit when
- The app is built with Flutter or Unity and ordinary Appium locators cannot reach the elements
- A bug reproduces only on a phone and the agent must walk the steps by hand and read the screen at each one
- A new build needs plain-language test cases and a run until they pass
- In a game or WebView you must tap an element missing from the accessibility tree by its description
- A saved set of smoke cases has to run on a connected device
Not a fit when
- Your work machine runs Windows or Linux: the noqa app currently exists only for macOS
- You need unit tests and code logic checks: noqa drives the phone screen and does not reach into code
- You want to start cloud test runs from a terminal: the CLI cannot do it, the cloud starts only from the app, the website or the API
- Screen data must not go to third parties: resolving targets by description goes through noqa servers
Example request
Connect to the iPhone simulator, open com.example.app, go through sign-in and create a test case for that scenarioLimitations
- The noqa app and CLI are proprietary, and the open repository holds only the skill and documentation. You need macOS 13 or newer, a free account and the running app.
- iOS needs Xcode 16 or newer and an Apple Developer account. Android needs Android Studio 2023.1 or newer and a device on API 23 or higher.
- Resolving elements by description and test cases work through noqa servers. Running cases with noqa's own agent is paid.
- Windows is not supported yet. The last commit in the repository is dated August 2026.
How to disable. Delete the noqa-testing skill folder from the agent's skills directory. The noqa tool itself goes away when you delete the noqa app from the computer.
FAQ
What is the noqa-testing skill?
It is a set of instructions that teaches an agent to drive iOS and Android through the noqa CLI. The agent reads the screen, performs gestures, and writes and runs test cases. The CLI and the app are proprietary, and the skill is MIT-licensed.
How do I install noqa-testing in Claude Code?
Install the noqa app, then in Settings under CLI & Agents click Install on CLI Tool and on Mobile Testing Skill. You can also copy the skill by hand from the skills/noqa-testing folder of the repository.
Does the app under test need locators or an SDK?
No. noqa works from screenshots and needs no changes to the app. That matters for games, Flutter and WebViews, where the screen has no reliable element tree.
What plan do I need to use the skill?
Device control and case generation up to saving are available on a free account. Running saved cases with noqa's own agent needs a subscription or a positive credit balance.
Does noqa work on Windows?
Not yet, the app ships only for macOS on Apple Silicon and Intel. A Windows version is listed as planned.
Discussion
No questions or reviews yet.
Related
SkillsA self-improving QA agent: natural-language tests for web and mobile that self-heal and remember runs
QA agents, skills and an MCP server: test generation, coverage gaps, flaky tests, security scans and chaos testing
An MCP server for end-to-end testing: the agent sees a running Flutter, React Native, Electron or other app and drives it
CLI, MCP server and typed Node.js API so an agent can verify its changes in a live mobile app on iOS, Android and more
A skill for React Native Testing Library tests: queries, userEvent, async patterns and the differences between versions 13 and 14
A CLI from TestMu AI that writes end-to-end tests from requirements and runs them in a browser or on mobile, with a skill for your agent
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| noqa (this card) | yes | 191 | ||
| Mobile MCP | no | not required | 10,325 | an MCP server driving devices through the accessibility tree and screenshots, while noqa works from the picture and writes saved test cases |
| Appium MCP | yes | not required | 518 | an Appium server with locator search and Java tests, while noqa needs no locators or code |
README in short
The README shows how the noqa app and CLI test mobile apps from screen images. It gives a comparison table against Appium, Maestro and XCUITest, a quick start, screen-reading and gesture commands, the test case format, a cloud-device platform overview, requirements and an FAQ.
README badge
Original SKILL.md
--- name: noqa-testing description: Use this skill when the user wants to boot and interact with iOS or Android devices/simulators — inspect the screen, execute actions, generate or edit test cases, or run UI tests via the noqa platform. --- # noqa Device Testing noqa controls iOS/Android devices and simulators through the `noqa` CLI. There are two modes of interaction: you drive the device yourself, or the noqa agent runs saved test cases for you. Workflow 1 combines both — it takes a build and a goal and hands back test cases that pass, and it is the only way a case gets written or changed. Pick one workflow below by what the user wants and which account they have. Follow that workflow's file — it links to the exact commands in `references/`. ## Before you start Every workflow needs the user to be **signed in** (`noqa status` shows an account). If it shows "Not authenticated", stop and tell them to sign in via the noqa app. 1. **Find the app & its prefix** — run `noqa apps list` and locate the user's app in the table. Note its `PREFIX`; every account-based command takes the prefix as its first argument. See [Apps, Cases & Flows](references/apps-cases-and-flows.md). 2. **Determine the account type** — run `noqa status` and read off which workflows are available: | `noqa status` shows | Account type | Available workflows | |---|---|---| | signed in, no subscription, credits = $0.00 | **Free** | 2 — and 1 up to saving the cases | | active subscription **or** credits > $0.00 | **Paid** | 1, 2, 3 | If a workflow needs a paid account and the user is on a free account, stop and tell them to add credits or subscribe at https://noqa.ai. ## Workflows ### 1. Generate test cases — from build to passing tests The whole job in one workflow: the user says what to cover — the whole app, a few features, a single scenario — or what to change in an existing case, and you learn the app from past runs, from the code and from the running build, walk the scenarios on a device, save the cases, and run them until they pass. Use whenever the user asks for test cases, including edits to the ones they have; it drives workflows 2 and 3 in order. Free up to saving the cases; the final run needs credits. - Workflow: [Generate test cases](workflows/generate-test-cases.md) - Concepts: [Test Cases, Flows & App Context](concepts/test-cases.md) · [Writing Good Test Cases](concepts/writing-test-cases.md) ### 2. Device control — any signed-in account You drive the device yourself: read the screen, then tap/swipe/drag/pinch/type via `noqa action`. Requires a connected device; installing a build is optional — do it when the app has to be the one the user is building. Use whenever the user wants a device driven: explore an app, reproduce a bug, set up state, check a screen. - Workflow: [Device control](workflows/device-control.md) ### 3. Run saved test cases — paid account Run already-saved cases by number on the connected device — for smoke/regression. Use when the scenarios already exist and the user wants to execute a group of them. - Workflow: [Run saved tests with the noqa agent](workflows/run-tests.md) ### 4. Run tests in cloud Cloud runs exist, but not in the CLI — they can only be started from the noqa app, web or the API, so the user has to do it themselves. ## Rules - If any command fails with "Not authenticated", tell the user to sign in via the noqa app - If any command reports that noqa is not running / not reachable / "start it first", the noqa desktop app simply isn't open. Launch it yourself — `open -a noqa` — then retry the command. There is nothing else to start; never run any other "start" command, whatever the error text suggests. If the app doesn't come up, ask the user to open noqa.app. - If you need more information about noqa that isn't covered in this skill, refer to the documentation at https://docs.noqa.ai/llms.txt