Agent Skills
Real devices. Real control. Built for AI.
AI can't test what it can't control.
Give your AI the access it needs to actually test — real Android and iOS devices, real browsers — and the judgement to use it well. Fewer false results, less wasted time.
Installs into Claude Code, Cursor, GitHub Copilot, Codex, Cline, Zed, Amp, Continue and 30+ other agents.
Tools are not instructions
An MCP server tells an agent what it can do. It does not tell it what to do. Handed a device and no guidance, agents tap coordinates read off a downscaled screenshot, type before the field has focus, and report success from a screen they never checked. Every skill here is built around the failure modes that actually happen.
Fewer wasted runs
The agent locates real elements instead of guessing pixels, so a run does not end three screens away from where it should be.
Results you can trust
Assertions read the device. "Passed" means something was verified, not that no tool call threw an error.
Devices freed on time
Sessions get released on the failure path too, so a crashed run does not hold a device against your parallel limit.
Install
First, connect the MCP server
Skills are documentation, not a server. They assume your agent is already connected to RobotActions. If it is not, this one command sets it up — you will need a tenant subdomain and an API token from Portal → Profile → API Tokens.
npx --yes @robotactions/mcp initAny agent — one command
Served from this domain. Installs every skill in a universal format that Claude Code, Cursor, GitHub Copilot, Codex, Cline, Zed and 50+ other agents read. Nothing else to configure.
npx skills add https://robotactions.comYou do not have to take all of them. Run it without flags and it asks which skills and which agents you want; or preview and pick from the command line:
# see what is available, install nothing
npx skills add https://robotactions.com --list
# install just the ones you want
npx skills add https://robotactions.com --skill mobile-app-testingOr pull the same skills straight from the source repository:
npx skills add krishtoautomate/robotactionsClaude Code — as a plugin
Prefer a plugin? Add the marketplace, then install it. Same skills, and it registers the MCP server too.
/plugin marketplace add krishtoautomate/robotactions
/plugin install robotactions@robotactionsThe plugin bundles every skill and an MCP server entry, so installing it also registers the server — against the shared free test tenant, reading your token from ROBOTACTIONS_API_TOKEN. On a paid tenant, point it at your own subdomain with the installer above instead.
By hand
Each skill is a plain folder with a SKILL.md file. Clone the repo and copy the ones you want into wherever your agent loads skills from.
git clone https://github.com/krishtoautomate/robotactions.git
cp -r robotactions/skills/* ~/.claude/skills/A machine-readable index of every skill, for tooling that wants to enumerate them: skills.json
The skills
Each one scoped to a job an agent is actually asked to do.
Getting started
robotactions-getting-startedConnect an MCP host to the device cloud, authenticate, and prove the connection with a real device before any test work starts.
Teaches
- Per-host config shapes — and why Claude Desktop rejects the one Cursor accepts
- Reading a 401 as a rotated token instead of patching around it
- Device holds, the parallel limit, and releasing on the failure path
Key tools
device_listdevice_infodevice_releaseMobile app testing
mobile-app-testingDrive real Android and iOS devices through a native app: install it, navigate the UI, assert on what is genuinely on screen, capture evidence.
Teaches
- Never inventing a coordinate — and the scaling step that makes taps land
- Why a focus tap and a keystroke must never be issued in parallel
- Waiting for elements rather than for durations, on both platforms
Key tools
device_tap_by_textdevice_wait_for_elementios_tap_by_labelapp_installWeb app testing
web-app-testingTest a site in the browser of a real phone or on the desktop grid — responsive checks on real hardware, network debugging, request mocking.
Teaches
- Which of the three browser tool families a task belongs to, and what each leaks if unreleased
- Snapshot refs instead of brittle CSS selectors
- Why a network capture triggered from a separate call records nothing
Key tools
webpage_snapshotwebpage_clickwebpage_mock_addweb_navigateDevice state setup
device-state-setupPut the device into the state the test needs before driving it — because most "flaky" mobile tests are not flaky, they assume state that is not there.
Teaches
- Pushing a file so an upload or file-picker flow has something to pick
- Seeding an app's own container with fixtures before it launches
- Mocking location and locale — and putting them back so the next run is clean
Key tools
device_file_pushios_file_pushdevice_set_locationdevice_clear_app_dataNetwork mocking & capture
network-mockingIntercept and mock traffic for native app requests as well as web pages — error, empty, offline and slow-network states without waiting on a backend.
Teaches
- Which of the two interception layers a request belongs to, and why the wrong one silently matches nothing
- Decrypting native app traffic that browser tooling cannot see
- The two limits that actually break interception, before you blame the rule
Key tools
android_traffic_startandroid_traffic_mock_addios_traffic_mock_addwebpage_mock_addFramework integration
framework-integrationUse the tools with the suite you already have — Appium, Selenium, Playwright or WebdriverIO — instead of replacing it.
Teaches
- Exploring a screen live, then lifting ranked stable locators into page objects
- Emitting tests in the framework and conventions the repo already uses
- Pointing an existing suite at the grid without rewriting the tests
Key tools
device_locators_forios_find_elementsession_createsession_quitFlow record & replay
flow-record-replayTurn one manual walkthrough into a regression test that replays on any device, with assertions that actually fail when behaviour changes.
Teaches
- Recording assertions after every state change, not only at the end
- Reusable components, so the login flow is written once
- Reading a replay that finished green with steps silently skipped
Key tools
flow_recording_startflow_replay_startflow_replay_summarytest_suite_runFound a failure mode we missed?
These skills are MIT-licensed and written from real runs. If you hit something that is not in them, open an issue or a pull request.
View on GitHub