Borrowing it
Nothing to install: this file belongs to tanbro/uiautomator2-mcp-server. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/tanbro/uiautomator2-mcp-server/main/.skills/douyin-search/SKILL.mdgit clone --depth 1 https://github.com/tanbro/uiautomator2-mcp-serverWrote 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/tanbro/uiautomator2-mcp-server/douyin-search)<a href="https://agentmods.dev/skills/tanbro/uiautomator2-mcp-server/douyin-search"><img src="https://agentmods.dev/badge/skills/tanbro/uiautomator2-mcp-server/douyin-search/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/tanbro/uiautomator2-mcp-server/douyin-search"><img src="https://agentmods.dev/badge/skills/tanbro/uiautomator2-mcp-server/douyin-search.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00029 | $0.01497 |
| Opus 5 | $0.00015 | $0.00749 |
| Sonnet 5 | $0.00006 | $0.00299 |
| Haiku 4.5 | $0.00003 | $0.00150 |
Grade A, and why
douyin-search 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 12d 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 — 147 lines — stays where its author put it; the contents beside it link to each section on GitHub.
抖音搜索自动化示例
这是一个演示如何在抖音应用中进行搜索操作的 AI 技能示例。
功能演示
本技能展示了以下 uiautomator2-mcp-server 工具的使用:
- 应用启动: 使用
app_start或shell_command启动抖音 - UI 交互: 使用
click点击搜索按钮和搜索框 - 文本输入: 使用
set_focused_text输入搜索关键词(绕过 IME 限制) - 键盘操作: 使用
press_key模拟 Enter 键执行搜索 - 结果交互: 点击搜索结果列表中的视频缩略图,打开并观看视频
使用场景
场景 1: 演示对话式自动化
向 AI 说:"在抖音搜索 [关键词] 视频"
例如:"在抖音搜索猫咪视频" 或 "在抖音搜索美食视频"
AI 将自动执行:
- 启动抖音应用
- 点击搜索按钮
- 点击搜索框
- 输入关键词(如"猫咪"、"美食"等)
- 按 Enter 搜索
- 从搜索结果列表中点击第一个视频
- 观看几秒后返回
技能参数
| 参数 | 说明 | 示例 |
|---|---|---|
关键词 |
要搜索的内容 | 猫咪、美食、旅游、音乐等 |
操作流程
用户: "在抖音搜索 [关键词] 视频"
AI 执行步骤:
┌─────────────────────────────────────┐
│ 1. press_key("home") │ 返回主页
│ 2. shell_command(am start ...) │ 启动抖音
│ 3. delay(2秒) │ 等待加载
│ 4. click(980, 120) │ 点击搜索按钮
│ 5. delay(1.5秒) │ 等待界面
│ 6. click(540, 120) │ 点击搜索框
│ 7. delay(1.5秒) │ 等待键盘
│ 8. set_focused_text("[关键词]") │ 输入用户指定的关键词
│ 9. press_key("enter") │ 执行搜索
│ 10. delay(3秒) │ 等待结果
│ 11. click(540, 350) │ 点击搜索结果列表中的第一个视频
│ 12. delay(5秒) │ 观看视频播放
│ 13. press_key("back") │ 返回
│ 14. press_key("home") │ 回到主页
└─────────────────────────────────────┘
关键技术点
1. 绕过 IME 限制的文本输入
工具: set_focused_text
优势: 不依赖输入法,适用于 OPPO/ColorOS 等有限制的设备
用法: 确保输入框已聚焦后直接设置文本
2. 元素定位策略
本 Skill 使用坐标点击作为示例,但实际应用中应优先使用更可靠的定位方法:
# 方法 1: XPath 定位(推荐)
element_click(xpath="//android.widget.TextView[@text='搜索']")
优点: 不依赖坐标,适应布局变化
缺点: 需要了解应用 UI 结构
# 方法 2: 坐标点击(本示例使用)
click(x, y)
优点: 简单直接,适合演示
缺点: 硬编码,布局变化时失效
# 方法 3: 混合方案
先用坐标快速定位,再用 XPath 验证和调整
优点: 兼顾速度和可靠性
本示例使用的坐标(仅供参考,实际使用时应动态获取):
- 搜索按钮: (980, 120) - 屏幕右上角,放大镜图标
- 搜索框中心: (540, 120) - 屏幕顶部中央,输入区域
- 搜索结果: (540, 350) - 搜索结果列表中的第一个视频缩略图
改进建议:使用 dump_hierarchy 获取 UI 结构,然后用 XPath 定位元素
3. 时序控制
启动等待: 2秒 - 应用启动和加载
点击延迟: 1.5秒 - 界面切换和动画
搜索等待: 3秒 - 网络请求和结果加载
观看时长: 5秒 - 视频播放演示
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.
- 12d ago First seen · 147 lines · 29 tokens per session scan A 9e8485acfc63
douyin-search is a skill published in the GitHub repository tanbro/uiautomator2-mcp-server (43 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 29 tokens to every session and 1,497 once invoked, about $0.0001 per session on Opus 5. 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.
tiny-web-crawler
Crawl from one or more starting web pages, fetch readable content, search within pages, follow relevant links, and stop when the requested information is found or a bounded limit is reached.
argent-device-interact
Interact with an iOS simulator, Android emulator, or Chromium (CDP) app using argent MCP tools. Use when tapping UI elements, performing gestures, scrolling/swiping, typing text, pressing hardware buttons, launching apps, opening URLs, taking screenshots, waiting for an element to appear or disappear, or checking…
solopi-ai
A command-line framework for testing Android apps and devices with SoloPi, including on-device or cloud AI decision models. It manages devices, test cases, recorded interactions, replays, performance history, and evidence.
webshop-result-page-navigator
Navigates through paginated search results by moving to the next or previous page. Use this skill when the current page of product listings does not contain a suitable match and you need to review more options. It identifies and clicks the appropriate pagination controls (e.g., 'next >' or '< prev') to load additional…
webshop-search-executor
Executes a search on an e-commerce platform using parsed keywords. Use when you have extracted search terms from a user query and need to perform the actual search[] action on the WebShop interface. Takes structured search terms and performs a search action, returning a list of product results for evaluation.