Open source · MIT

    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.

    bash
    npx --yes @robotactions/mcp init

    Any 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.

    bash
    npx skills add https://robotactions.com

    You 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:

    bash
    # 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-testing

    Or pull the same skills straight from the source repository:

    bash
    npx skills add krishtoautomate/robotactions

    Claude Code — as a plugin

    Prefer a plugin? Add the marketplace, then install it. Same skills, and it registers the MCP server too.

    text
    /plugin marketplace add krishtoautomate/robotactions
    /plugin install robotactions@robotactions

    The 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.

    bash
    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-started

    Connect 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_release

    Mobile app testing

    mobile-app-testing

    Drive 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_install

    Web app testing

    web-app-testing

    Test 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_navigate

    Device state setup

    device-state-setup

    Put 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_data

    Network mocking & capture

    network-mocking

    Intercept 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_add

    Framework integration

    framework-integration

    Use 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_quit

    Flow record & replay

    flow-record-replay

    Turn 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_run

    Found 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

    👋 Hi! Need help? Chat with us!

    Chat with us

    Online

    Before we start

    Share your details so we can follow up with you.