Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/congwa/mobile-agent/mobile-automationnpx skills add congwa/mobile-agent --skill mobile-automationgit clone --depth 1 https://github.com/congwa/mobile-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/congwa/mobile-agent/mobile-automation)<a href="https://agentmods.dev/skills/congwa/mobile-agent/mobile-automation"><img src="https://agentmods.dev/badge/skills/congwa/mobile-agent/mobile-automation.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.03922 |
| Opus 5 | $0.00000 | $0.01961 |
| Sonnet 5 | $0.00000 | $0.00784 |
| Haiku 4.5 | $0.00000 | $0.00392 |
Grade A, and why
mobile-automation scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 461 lines — stays where its author put it; the contents beside it link to each section on GitHub.
mobile-automation
Mobile MCP + 飞书 MCP 双协作自动化测试专家。
核心能力:
- 飞书多维表格用例管理(读取、执行、回写结果)
- Mobile MCP 移动端自动化(Android/iOS)
- 智能重试与降级策略
- 每10条用例自动分批,打开新会话继续
- Token 优化策略(减少 80% 的截图消耗)
触发关键词:手机自动化、移动端测试、App 测试、mobile_mcp、点击手机、操作手机、执行飞书用例、批量执行、多维表格
🔗 双MCP协作架构
┌─────────────────────────────────────────────────────────────┐
│ AI(Windsurf) │
│ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ 飞书 MCP │ │ Mobile MCP │ │
│ │ │ │ │ │
│ │ • 读取用例 │ │ • 启动App │ │
│ │ • 写入结果 │ │ • 点击元素 │ │
│ │ • 更新状态 │ │ • 输入文本 │ │
│ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ 飞书多维表格 │ │ 手机设备 │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────────────────────────┘
🎯 核心原则
1. Token 优化(最重要)
永远优先使用 list_elements,而不是截图!
| 方式 | Token 消耗 | 使用场景 |
|---|---|---|
list_elements |
~500 | ✅ 确认页面状态、查找元素 |
take_screenshot |
~2000 | ❌ 只在需要视觉分析时使用 |
❌ 错误流程:截图 → 分析 → 点击 → 截图确认
✅ 正确流程:list_elements → 点击 → list_elements 确认
2. 工具选择优先级
点击元素时,按以下优先级选择工具:
1️⃣ click_by_text(最稳定,跨设备兼容)
↓ 找不到文本?
2️⃣ click_by_id(需要 resource-id)
↓ 没有 id?
3️⃣ click_by_percent(百分比坐标,跨分辨率)
↓ 复杂场景?
4️⃣ click_at_coords(兜底,需要截图获取坐标)
3. 验证策略
使用 verify 参数减少额外调用:
# ❌ 低效(3次调用)
list_elements()
click_by_text("登录")
list_elements() # 确认
# ✅ 高效(2次调用)
list_elements()
click_by_text("登录", verify="首页") # 自动验证"首页"出现
📱 常见场景
场景 1:启动 App 并处理弹窗
# 标准流程
1. launch_app("com.example.app")
2. wait(2) # 等待启动
3. close_popup() # 自动检测并关闭弹窗(无需先截图)
4. list_elements() # 确认主页面
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 461 lines · 0 tokens per session scan A 76a291b72a4b
mobile-automation is a skill published in the GitHub repository congwa/mobile-agent (44 stars, last pushed 6mo ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 3,922 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
android-ui-journey-testing
XML-specified Android UI journey testing, interactive step execution, assertion verification, and JSON outcome reporting.
run-integration-tests
Build, pack, and run .NET MAUI integration tests locally. Validates templates, samples, and end-to-end scenarios using the local workload.
agent-device-evidence
Records iOS/Android native MP4 evidence for test/repro flows extracted from an Expensify GitHub PR or issue. Use when the user asks to "record the flow for PR.
solopi-ai
通过 SoloPi 的机器可读 CLI 编译和执行 AI 验证计划,管理签名端侧 ExecuTorch 决策模型、持久设备池、无人值守任务、安卓设备、应用、动作、配置、用例步骤与交互录制、回放及性能历史、动态 Agent、批量与重复执行、性能监控、压力测试和证据。适用于需求/AC 到 Result Judge 三态结论、cloud/on-device 决策切换、模型发布门禁,以及 generation 租约的多设备 CI 执行。.
dogfood
Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to dogfood, QA, exploratory test, find issues, bug hunt, or test this app on mobile.
eas-simulator
EAS service (paid). Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud. Read before running any eas simulator: commands - it has the current syntax for this experimental API. Use whenever the user needs a simulator they can't run locally - 'run my app on a cloud simulator', 'use eas…