Quality Engineering Appium MCP
HoangNguyen0403/agent-skills-standard
Drives iOS/Android mobile devices via Appium MCP. An agent skill from HoangNguyen0403/agent-skills-standard.
Use the AppClaw CLI to run YAML flows, start the interactive TUI shell, explore apps, record/replay sessions, configure devices, and troubleshoot.
$ npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install appclawhq/AppClaw use-appclaw-cli --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/appclawhq/AppClaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/use-appclaw-cli .claude/skills/use-appclaw-cli && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "use-appclaw-cli" agent skill from https://github.com/appclawhq/AppClaw/tree/main/.agents/skills/use-appclaw-cli into .claude/skills/use-appclaw-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "use-appclaw-cli", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/appclawhq/AppClaw/tree/main/.agents/skills/use-appclaw-cliType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install appclawhq/AppClaw use-appclaw-cli --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appclawhq/AppClaw.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/use-appclaw-cli .agents/skills/use-appclaw-cli && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "use-appclaw-cli" agent skill from https://github.com/appclawhq/AppClaw/tree/main/.agents/skills/use-appclaw-cli into .agents/skills/use-appclaw-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "use-appclaw-cli", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install appclawhq/AppClaw use-appclaw-cli --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appclawhq/AppClaw.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/use-appclaw-cli .cursor/skills/use-appclaw-cli && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "use-appclaw-cli" agent skill from https://github.com/appclawhq/AppClaw/tree/main/.agents/skills/use-appclaw-cli into .cursor/skills/use-appclaw-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "use-appclaw-cli", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/appclawhq/AppClaw.git --path .agents/skills/use-appclaw-cli--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install appclawhq/AppClaw use-appclaw-cli --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appclawhq/AppClaw.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/use-appclaw-cli .gemini/skills/use-appclaw-cli && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "use-appclaw-cli" agent skill from https://github.com/appclawhq/AppClaw/tree/main/.agents/skills/use-appclaw-cli into .gemini/skills/use-appclaw-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "use-appclaw-cli", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install appclawhq/AppClaw use-appclaw-cliInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/appclawhq/AppClaw.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/use-appclaw-cli .github/skills/use-appclaw-cli && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "use-appclaw-cli" agent skill from https://github.com/appclawhq/AppClaw/tree/main/.agents/skills/use-appclaw-cli into .github/skills/use-appclaw-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "use-appclaw-cli", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install appclawhq/AppClaw use-appclaw-cli --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/appclawhq/AppClaw.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/use-appclaw-cli .opencode/skills/use-appclaw-cli && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "use-appclaw-cli" agent skill from https://github.com/appclawhq/AppClaw/tree/main/.agents/skills/use-appclaw-cli into .opencode/skills/use-appclaw-cli/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "use-appclaw-cli", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
use-appclaw-cliUse the AppClaw CLI to run YAML flows, start the interactive TUI shell, explore apps, record/replay sessions, configure devices, and troubleshoot.
Use Appclaw CLI is an agent skill from appclawhq/AppClaw. Use the AppClaw CLI to run YAML flows, start the interactive TUI shell, explore apps, record/replay sessions, configure devices, and troubleshoot. Trigger for any request involving appclaw commands, device setup, .env configuration, running flows, vision setup, or debugging execution failures.
Its SKILL.md is about 4.6k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Mobile, covering Mobile testing and debugging. It works with iOS, Android and Model Context Protocol. The repository describes itself as: AI-powered mobile automation agent — describe what you want in plain English, AppClaw reads the screen, reasons, and acts. LLM-agnostic, open-source, zero telemetry. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 9bbc6f1. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmadbxcrunnpxgitFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
github.comgenerativelanguage.googleapis.comAlso links to:
ollama.aiFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
LLM_API_KEYGEMINI_API_KEYSTARK_VISION_API_KEYAI_VISION_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Use Appclaw CLI loads about 4.6k tokens when it runs. Until then it costs about 78 tokens; SKILL.md has 1,459 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
nvolving appclaw commands, device setup, .env configuration, running flows, vision- Inspect `.env` for the user's active configuration.**Requires:** `LLM_API_KEY` in `.env` (except Ollama). If it is missing the shell## Configuration (`.env`)All configuration via `.env` in the working directory. Copy `.env.example` to get started:cp .env.example .env- Reading `.env`, `.appclaw/env/`, flow YAML filesPI key required" | Set `LLM_API_KEY` in `.env`Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from appclawhq/AppClaw at commit 9bbc6f1, republished under its Apache-2.0 licence (© appclawhq). 1,459 words, ~4,640 tokens.
.claude/skills/use-appclaw-cli/SKILL.md (or your agent's skills folder).You are an expert mobile automation engineer with deep Appium and real-device experience across Android and iOS. Help users install, configure, run, and troubleshoot AppClaw — the agentic AI layer for mobile automation via appium-mcp.
AppClaw requires:
# Global install
npm install -g appclaw
# Or run from a local clone
git clone https://github.com/AppiumTestDistribution/appclaw.git
cd appclaw && npm installappclaw --help
appclaw --versionFrom a local clone, use npm start instead of appclaw:
npm start -- --help
npm start "Open Settings"
npm start -- --flow examples/flows/google-search.yamlappclaw --help for current flag reference..env for the user's active configuration..appclaw/env/ for variable/secret bindings before giving flow advice.adb devices (Android) or xcrun simctl list devices (iOS) before troubleshooting device issues.# Resident shell — device picker, then a prompt you can run goal after goal in
appclaw
# One goal, then exit — holds the finished screen until a key is pressed
appclaw "Open Settings and turn on WiFi"
appclaw "Send hello on WhatsApp to Mom"
# With platform/device flags
appclaw --platform ios --device-type simulator "Open Safari"
appclaw --platform ios --device "iPhone 17 Pro" "Open Settings"
appclaw --udid 00008120-XXXX "Launch YouTube"
# Unattended (CI, scripts): plain console output, exits on its own
APPCLAW_TUI=off appclaw "Open Settings"Both forms open Terminal Studio in goal mode (see below) — a plain line at its
prompt is a goal. The exit code is unchanged: 0 when every sub-goal completed, 1
otherwise. --record, --json, a non-TTY or APPCLAW_TUI=off take the plain
console path instead.
Add --export [path] to write the finished run out as a replayable
@appclaw/runner spec (--export-dir or EXPORT_DIR decides where a bare
filename lands; default tests). Inside the shell the same thing is /export.
Requires: LLM_API_KEY in .env (except Ollama). If it is missing the shell
says so on a setup screen and offers to write it, rather than exiting.
appclaw --flow path/to/flow.yaml
appclaw --flow examples/flows/youtube-search-appium3.yaml
appclaw --flow tests/flows/youtube-phased.yaml --env devFlags:
--env <name> — select environment file (.appclaw/env/<name>.yaml) for variable/secret resolutionNo LLM key needed unless the flow has steps that fall back to LLM parsing (unrecognized natural language).
--tui, alias --playground)appclaw --tui
appclaw --tui --platform ios --device-type simulator
appclaw --tui --device "iPhone 17 Pro"One shell, two modes, decided by what a plain (non-slash) line means:
--tui) — a plain line is one deterministic instruction, run live on the device and appended to a recording. /list, /yaml, /edit and /export work on that recording.appclaw) — a plain line is a goal, run through the full planner. Nothing is recorded; /export writes the run the agent just did./mode goal|record switches without dropping the device session, and /goal <text> works in either. The command palette is listed permanently in record mode; in goal mode it stays hidden until the line starts with /.
--playground is an alias for --tui — the old playground REPL was removed. (--json --playground is different: a headless NDJSON bridge used by the VS Code / Cursor extension, not something to run by hand.)
Full-screen Ink shell: platform/device picker, slash-command palette, settings, run history. Device mirroring draws the screen inside the terminal — Kitty graphics on Ghostty/kitty/WezTerm, 24-bit ANSI half-blocks everywhere else — via adb screencap on Android and xcrun simctl io … screenshot on an iOS simulator, inside a drawn device body. Frame rate is device-bound: ~5fps on a fast Android device, ~3fps on a simulator, and as low as ~1fps on a software-rendered emulator. Start it with ^r or /stream, freeze it with ^p, tear it down with ^x; --stream starts it as soon as the session opens, which is the only way to see it during appclaw "a goal". Requires an interactive terminal; incompatible with --json.
appclaw --explore "YouTube app with search and playback" --num-flows 5
appclaw --explore prd.txt --no-crawl --num-flows 3
appclaw --explore "Settings app" --output-dir my-flows --max-screens 15 --max-depth 4| Flag | Default | Purpose |
|---|---|---|
--num-flows <N> | 5 | Number of flows to generate |
--no-crawl | false | Skip device crawling (PRD-only analysis) |
--output-dir <dir> | generated-flows | Where to write generated YAML files |
--max-screens <N> | 10 | Max screens to crawl |
--max-depth <N> | 3 | Max navigation depth during crawl |
# Record a goal execution (actions saved to logs/)
appclaw --record "Open Settings"
# Replay a recording (adaptive — reads screen, not coordinates)
appclaw --replay logs/recording-xyz.jsonappclaw --report
appclaw --report --report-port 8080Starts an Express server serving HTML reports from .appclaw/runs/. Default port: 4173.
appclaw --plan "Copy the weather and send it on Slack"Breaks complex multi-app goals into sub-goals, then executes each.
--platform, --device-type, --udid, --device)PLATFORM, DEVICE_TYPE, DEVICE_UDID, DEVICE_NAME)# Default — auto-detects connected device
appclaw "Open Settings"
# Specific emulator
appclaw --udid emulator-5554 "Open Settings"Android requires ANDROID_HOME or ANDROID_SDK_ROOT set (defaults to $HOME/Library/Android/sdk on macOS).
appclaw --platform ios --device-type simulator "Open Settings"
appclaw --platform ios --device-type simulator --device "iPhone 17 Pro" "Open Settings"~/.cache/appium-mcp/wda/), and installs WDA automatically.appclaw --platform ios --device-type real --udid 00008120-XXXX "Open Settings".env)All configuration via .env in the working directory. Copy .env.example to get started:
cp .env.example .env| Variable | Default | Options |
|---|---|---|
LLM_PROVIDER | anthropic | anthropic, openai, gemini, groq, ollama |
LLM_API_KEY | — | Your provider's API key (not needed for Ollama) |
LLM_MODEL | auto | Override model ID (see defaults below) |
Default models per provider:
| Provider | Default Model |
|---|---|
anthropic | claude-sonnet-4-20250514 |
openai | gpt-4o |
gemini | gemini-2.0-flash |
groq | llama-3.3-70b-versatile |
ollama | llama3.2 |
Two strategies for finding elements on screen:
| Setup | AGENT_MODE | Best For |
|---|---|---|
| DOM mode | dom | Standard apps with good accessibility labels. Uses XML page source. Works with any LLM. |
| Vision mode | vision | Custom views, canvas-rendered UI, games. Screenshot-first with AI vision. |
LLM_PROVIDER=gemini
LLM_API_KEY=your-key
AGENT_MODE=domLLM_PROVIDER=gemini
LLM_API_KEY=your-gemini-key
AGENT_MODE=vision
VISION_LOCATE_PROVIDER=stark
GEMINI_API_KEY=your-gemini-keyStark uses df-vision + Gemini in-process. Same API key works for both LLM and vision.
LLM_PROVIDER=gemini
LLM_API_KEY=your-key
AGENT_MODE=vision
VISION_LOCATE_PROVIDER=appium_mcp
AI_VISION_ENABLED=true
AI_VISION_API_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai
AI_VISION_API_KEY=your-key
AI_VISION_MODEL=gemini-2.0-flash
AI_VISION_COORD_TYPE=absoluteEven in DOM mode, vision can kick in when DOM matching fails:
AGENT_MODE=dom
VISION_MODE=fallback # always | fallback | never| Variable | Default | Purpose |
|---|---|---|
MAX_STEPS | 30 | Max steps per goal before stopping |
STEP_DELAY | 500 | Milliseconds between steps |
MAX_ELEMENTS | 40 | Max interactive elements per screen capture |
MAX_HISTORY_STEPS | 10 | Previous steps kept in LLM context |
LLM_THINKING | on | Extended thinking/reasoning (on or off) |
LLM_THINKING_BUDGET | 128 | Token budget for thinking |
LLM_SCREENSHOT_MAX_EDGE_PX | 0 | Downscale screenshots for LLM (try 384 or 768 to reduce cost) |
SHOW_TOKEN_USAGE | false | Print token usage and cost per step |
| Variable | Default | Purpose |
|---|---|---|
MCP_TRANSPORT | stdio | stdio (auto-launches appium-mcp) or sse (connect to running server) |
MCP_HOST | localhost | SSE transport: hostname |
MCP_PORT | 8080 | SSE transport: port |
stdio (default) — AppClaw spawns npx appium-mcp@latest as a subprocess. No manual server setup.
SSE — Connect to an already-running appium-mcp server. Useful for shared environments or debugging.
EPISODIC_MEMORY=on # off by defaultRecords successful trajectories to ~/.appclaw/trajectories.json and reuses them for similar goals in future runs.
Safe without approval:
appclaw --help, appclaw --versionappclaw --flow (YAML execution — predictable, no LLM)appclaw --report (read-only report server).env, .appclaw/env/, flow YAML filesAsk before executing:
appclaw "goal" (agent mode — uses LLM credits, takes actions on device)appclaw --explore (LLM credits + device crawling)appclaw --record (agent mode + saves recording)appclaw / appclaw --tui (interactive device session; goals typed inside it use LLM credits — --playground is an alias for --tui)Why: agent and explorer modes consume LLM API credits and take real actions on the connected device.
| Problem | Diagnosis | Fix |
|---|---|---|
| "No devices found" | adb devices / xcrun simctl list devices | Connect device, boot emulator/simulator |
| Android not detected | Check ANDROID_HOME | export ANDROID_HOME=$HOME/Library/Android/sdk |
| iOS simulator WDA failure | WDA cache issue | Delete ~/.cache/appium-mcp/wda/ and retry |
| iOS real device WDA | Signing required | Follow appium-xcuitest-driver real device setup guide |
| Wrong device selected | Multiple devices connected | Use --udid or --device to specify |
| Problem | Fix |
|---|---|
| "Failed to connect to MCP" | Check that npx appium-mcp@latest runs standalone |
| SSE connection refused | Verify MCP_HOST and MCP_PORT match running server |
| Tool call timeout | Check device USB/network, restart appium-mcp |
| Problem | Fix |
|---|---|
| Stark vision fails | Verify GEMINI_API_KEY or STARK_VISION_API_KEY is set and valid |
| appium-mcp vision fails | Check all AI_VISION_* vars are set; verify the API URL is reachable |
| Vision returns wrong coordinates | Try AI_VISION_COORD_TYPE=absolute for Gemini |
| Element not found (DOM or vision) | Enable vision fallback: VISION_MODE=fallback |
| Problem | Fix |
|---|---|
| "Undefined secret" | Export the shell variable: export VAR_NAME=value |
| "Undefined variable" | Add the key to .appclaw/env/<name>.yaml under variables: |
launchApp fails | Set appId in the YAML header |
| Tap misses element | Use more specific label text; enable vision fallback |
| Natural language step not recognized | Use structured syntax instead (e.g., tap: "Login") |
| Problem | Fix |
|---|---|
| "API key required" | Set LLM_API_KEY in .env |
| Model not found | Check LLM_MODEL matches provider's model ID |
| High cost | Use cheaper models (gemini-2.0-flash, gpt-4o-mini), reduce LLM_THINKING_BUDGET, set LLM_SCREENSHOT_MAX_EDGE_PX=384 |
| Stuck in loop | Stuck detection kicks in after 3 repeated screens. Increase MAX_STEPS or simplify the goal |
appclaw --flow examples/flows/settings-wifi-on.yamlappclaw --flow tests/flows/youtube-phased.yaml --env devappclaw --platform ios --device-type simulator --tui
# In the TUI: type commands, test them, /export to YAMLappclaw --explore "E-commerce app with cart and checkout" --num-flows 10 --output-dir flows/appclaw --report
# Open http://localhost:4173 in browserLLM_PROVIDER=gemini
LLM_API_KEY=your-key
LLM_MODEL=gemini-2.0-flash
AGENT_MODE=vision
VISION_LOCATE_PROVIDER=stark
GEMINI_API_KEY=your-key
LLM_SCREENSHOT_MAX_EDGE_PX=512Gemini Flash is the cheapest vision-capable model ($0.10/M input tokens). One key covers both LLM and Stark vision.
LLM_PROVIDER=ollama
LLM_MODEL=llama3.2
AGENT_MODE=domNo API key needed. Requires Ollama running locally. DOM mode recommended since local models lack vision capability.
AppClaw has a VSCode extension that communicates via JSON mode:
appclaw --json "Open Settings"The --json flag enables structured JSON event output and silences the rich terminal UI. This is used by the VSCode extension bridge — users don't need to use this flag directly.
generate-appclaw-flow skill.review-changes skill.© appclawhq, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/use-appclaw-cli of appclawhq/AppClaw.
Open the folder on GitHubat commit 9bbc6f1
Use Appclaw CLI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Use Appclaw CLI this skillappclawhq/AppClaw | 116 | — | ~4.6k | Automated safety check: Notes | Apache-2.0 | |
| Quality Engineering Appium MCPHoangNguyen0403/agent-skills-standard | 570 | — | ~1.1k | Automated safety check: Pass | MIT | |
| BrowserStack Live Testinghandsontable/handsontable | 22k | — | ~950 | Automated safety check: Pass | Custom licence | |
| Mobile App Debuggingsecondsky/claude-skills | 227 | — | ~513 | Automated safety check: Pass | MIT | |
| Mobilerun Docs Referencedroidrun/mobilerun | 9.6k | — | ~943 | Automated safety check: Pass | MIT | |
| Appiumblokadaorg/blokada | 3.3k | — | ~3.5k | Automated safety check: Pass | MPL-2.0 |
HoangNguyen0403/agent-skills-standard
Drives iOS/Android mobile devices via Appium MCP. An agent skill from HoangNguyen0403/agent-skills-standard.
handsontable/handsontable
Opens a live BrowserStack session on a real Android, iOS or desktop browser for a local or public URL, tunneling localhost through Cloudflare when needed.
secondsky/claude-skills
Mobile app debugging for iOS, Android, cross-platform frameworks.
droidrun/mobilerun
Answers questions about Mobilerun, the LLM-agent framework for automating Android and iOS devices, by pointing the agent to the right page of its v5 documentation.
blokadaorg/blokada
A skill your agent uses for dynamic inspection and navigation of the Blokada app through the repo-local Appium machine session.
rounak/PhoneAgent
Control a connected iPhone, iOS simulator, Android emulator, or Android device from macOS through PhoneAgent's JSON-RPC bridge.
appclawhq/AppClaw
Generate YAML flow files for AppClaw mobile automation. An agent skill from appclawhq/AppClaw.
appclawhq/AppClaw
Review code changes in the AppClaw repo for correctness, CLI/VSCode extension consistency, and YAML flow parsing regressions.
appclawhq/AppClaw
Use the appclaw-agent CLI to directly open, inspect, and interact with a mobile app via terminal commands — without writing a YAML flow.
Works with
Categories
Use the AppClaw CLI to run YAML flows, start the interactive TUI shell, explore apps, record/replay sessions, configure devices, and troubleshoot. Use Appclaw CLI is an agent skill from appclawhq/AppClaw. Use the AppClaw CLI to run YAML flows, start the interactive TUI shell, explore apps, record/replay sessions, configure devices, and troubleshoot.
Use Appclaw CLI fits situations like: any request involving appclaw commands; .env configuration; debugging execution failures.
Run `npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a claude-code`. Or copy the skill folder (.agents/skills/use-appclaw-cli in appclawhq/AppClaw) into .claude/skills/use-appclaw-cli in your project. Claude Code loads it when a task matches its description.
Run `npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a codex`. Or copy the skill folder (.agents/skills/use-appclaw-cli in appclawhq/AppClaw) into .agents/skills/use-appclaw-cli in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add appclawhq/AppClaw --skill use-appclaw-cli -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/use-appclaw-cli, .gemini/skills/use-appclaw-cli, .github/skills/use-appclaw-cli and .opencode/skills/use-appclaw-cli in your project.
Going by SKILL.md and its folder, Use Appclaw CLI needs the command-line tools its instructions call (npm, adb, xcrun, npx and git) and credentials named LLM_API_KEY, GEMINI_API_KEY, STARK_VISION_API_KEY and AI_VISION_API_KEY. Our summary lists: Node.js; A credential in LLM_API_KEY; A credential in GEMINI_API_KEY.
SKILL.md names 3 domains. In commands or code: github.com and generativelanguage.googleapis.com; the agent is likely to contact these when it follows the instructions. As links in the text: ollama.ai. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Use Appclaw CLI is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.6k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Use Appclaw CLI: Quality Engineering Appium MCP (HoangNguyen0403/agent-skills-standard, 570 stars), BrowserStack Live Testing (handsontable/handsontable, 22k stars), Mobile App Debugging (secondsky/claude-skills, 227 stars) and Mobilerun Docs Reference (droidrun/mobilerun, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
appclawhq (a GitHub organization) maintains it in appclawhq/AppClaw, which has 116 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on September 3, 2026.
Source: appclawhq/AppClaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.