Launch offer: up to 30% off annual plans
Waitpid

Documentation

Agent Skills

Last updated:Jul 22, 2026

The cloud-phone-automation Agent Skill gives your assistant a tested routine for operating real apps, so it works reliably instead of guessing.

Why a Skill

MCP gives an assistant the tools; the Skill tells it how to use them well. Without it, assistants guess coordinates from screenshots and reuse outdated references. The Skill sets out the routine:

  1. Listdevice_list to see your fleet, pick a device
  2. Usedevice_use to pin it to the session
  3. Inspectui_inspect for the semantic tree; read element ids, text, resource-ids
  4. Act by elementui_tap / ui_type with semantic selectors; coordinates only as a last resort
  5. Wait & self-healui_wait after actions; on snapshot expiry, re-inspect instead of reusing old ids

Key rules the Skill enforces

  • Semantic first: element ids are stable within a snapshot; coordinates drift with resolution and layout.
  • Snapshot freshness: when the UI changes, old element ids are invalid — re-inspect, then act.
  • Capability awareness: check status capability flags; if textInput is missing (degraded tier), Unicode typing is unreliable — switch devices or tell the user.
  • Async for long jobs: installs and file transfers return task ids — poll, don't block.
  • One inspect, many actions: reuse a snapshot for several actions on a stable screen; re-inspect when it changes.

Install

Claude Code — drop the Skill into your skills directory:

mkdir -p ~/.claude/skills/cloud-phone-automation
curl -fsSL https://www.waitpid.ai/skills/cloud-phone-automation/SKILL.md \
  -o ~/.claude/skills/cloud-phone-automation/SKILL.md

Then connect the MCP server (remote endpoint or wp_cli mcp). The Skill activates whenever you ask Claude to operate a cloud phone.

Other agents — paste the SKILL.md content into your agent's system prompt or rules file; the workflow is plain Markdown and transfers as-is.

Example session

You: open the settings app on device 42 and turn on airplane mode

Agent:
  device_use { device: "42" }
  app_launch { package: "com.android.settings" }
  ui_inspect                      → finds "Network & internet"
  ui_tap { text: "Network & internet" }
  ui_wait { text: "Airplane mode" }
  ui_tap { text: "Airplane mode" } ✓

The agent narrates each tool call, and every action is audited server-side under your token.