Browser Testing with Chrome DevTools
addyosmani/agent-skills
Connects an agent to a real Chrome instance through the Chrome DevTools MCP server, so it can inspect the DOM, read console errors and profile performance directly.
面向第三方 AI Agent 的 CDP 直连模式执行指南:通过 Chrome DevTools Protocol 独立沙箱操作浏览器,自动注入 page-agent-tool 及领域工具。
$ npx skills add opentiny/webmcp-sdk --skill webmcp-cli-cdp -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install opentiny/webmcp-sdk webmcp-cli-cdp --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/opentiny/webmcp-sdk.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/webmcp-cli-skill/cdp .claude/skills/webmcp-cli-cdp && 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 "webmcp-cli-cdp" agent skill from https://github.com/opentiny/webmcp-sdk/tree/dev/packages/webmcp-cli-skill/cdp into .claude/skills/webmcp-cli-cdp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webmcp-cli-cdp", 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/opentiny/webmcp-sdk/tree/dev/packages/webmcp-cli-skill/cdpType 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 opentiny/webmcp-sdk --skill webmcp-cli-cdp -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install opentiny/webmcp-sdk webmcp-cli-cdp --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opentiny/webmcp-sdk.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/webmcp-cli-skill/cdp .agents/skills/webmcp-cli-cdp && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "webmcp-cli-cdp" agent skill from https://github.com/opentiny/webmcp-sdk/tree/dev/packages/webmcp-cli-skill/cdp into .agents/skills/webmcp-cli-cdp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webmcp-cli-cdp", 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 opentiny/webmcp-sdk --skill webmcp-cli-cdp -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install opentiny/webmcp-sdk webmcp-cli-cdp --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opentiny/webmcp-sdk.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/webmcp-cli-skill/cdp .cursor/skills/webmcp-cli-cdp && 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 "webmcp-cli-cdp" agent skill from https://github.com/opentiny/webmcp-sdk/tree/dev/packages/webmcp-cli-skill/cdp into .cursor/skills/webmcp-cli-cdp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webmcp-cli-cdp", 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/opentiny/webmcp-sdk.git --path packages/webmcp-cli-skill/cdp--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 opentiny/webmcp-sdk --skill webmcp-cli-cdp -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install opentiny/webmcp-sdk webmcp-cli-cdp --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opentiny/webmcp-sdk.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/webmcp-cli-skill/cdp .gemini/skills/webmcp-cli-cdp && 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 "webmcp-cli-cdp" agent skill from https://github.com/opentiny/webmcp-sdk/tree/dev/packages/webmcp-cli-skill/cdp into .gemini/skills/webmcp-cli-cdp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webmcp-cli-cdp", 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 opentiny/webmcp-sdk webmcp-cli-cdpInstalls 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 opentiny/webmcp-sdk --skill webmcp-cli-cdp -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/opentiny/webmcp-sdk.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/webmcp-cli-skill/cdp .github/skills/webmcp-cli-cdp && 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 "webmcp-cli-cdp" agent skill from https://github.com/opentiny/webmcp-sdk/tree/dev/packages/webmcp-cli-skill/cdp into .github/skills/webmcp-cli-cdp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webmcp-cli-cdp", 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 opentiny/webmcp-sdk --skill webmcp-cli-cdp -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install opentiny/webmcp-sdk webmcp-cli-cdp --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/opentiny/webmcp-sdk.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/webmcp-cli-skill/cdp .opencode/skills/webmcp-cli-cdp && 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 "webmcp-cli-cdp" agent skill from https://github.com/opentiny/webmcp-sdk/tree/dev/packages/webmcp-cli-skill/cdp into .opencode/skills/webmcp-cli-cdp/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "webmcp-cli-cdp", 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.
webmcp-cli-cdp面向第三方 AI Agent 的 CDP 直连模式执行指南:通过 Chrome DevTools Protocol 独立沙箱操作浏览器,自动注入 page-agent-tool 及领域工具。
Webmcp CLI Cdp is an agent skill from opentiny/webmcp-sdk. 面向第三方 AI Agent 的 CDP 直连模式执行指南:通过 Chrome DevTools Protocol 独立沙箱操作浏览器,自动注入 page-agent-tool 及领域工具。
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files (for example `domains/excalidraw.md`, `domains/publish-article-in-csdn.md` and `domains/publish-article-in-juejin.md`).
It sits in Testing & QA, covering Browser testing. It works with Chrome DevTools. The repository describes itself as: OpenTiny NEXT-SDKs is a front-end AI and browser automation toolkit. It implements WebMCP + WebSkills to build AI-native apps, and leverages webmcp-cli to enable LLM agents to…. The licence is MIT.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 47a2b03. 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:
npmFrom 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:
baidu.comexcalidraw.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Webmcp CLI Cdp loads about 1.5k tokens when it runs. Until then it costs about 28 tokens; SKILL.md has 223 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 found no risky patterns in SKILL.md.
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 opentiny/webmcp-sdk at commit 47a2b03, republished under its MIT licence (© opentiny). 223 words, ~1,465 tokens.
.claude/skills/webmcp-cli-cdp/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.本 Skill 指导 AI Agent 如何通过 @opentiny/webmcp-cli 的 CDP 模式(Chrome DevTools Protocol 直连)操控浏览器。
~/.webmcp_chrome_profile),无需预先开启用户浏览器。webmcp-polyfill 与内置的 page-agent-tool。webmcp-cli <command>(默认即 CDP 模式,无需额外参数);clipboard)。当 shell 终端提示找不到工具时执行:
npm install -g @opentiny/webmcp-cliwebmcp-cli tabswebmcp-cli tabs open https://excalidraw.com # 打开新网页,返回目标 tabid (UUID)
webmcp-cli tabs switch <tabid> # 切换到指定标签页
webmcp-cli tabs close <tabid> # 关闭指定标签页
webmcp-cli tabs back # 当前标签页后退
webmcp-cli tabs back <tabid> # 指定标签页后退
webmcp-cli tabs forward # 当前标签页前进
webmcp-cli tabs forward <tabid> # 指定标签页前进webmcp-cli state返回当前活跃页签的导航元数据(URL、标题、所有打开页签、当前已注入的 webmcpTools 清单)。
webmcp-cli state
webmcp-cli state -t <tabid> # 指定某个标签页(UUID 字符串)输出示例:
{
"url": "https://www.baidu.com/",
"title": "百度一下,你就知道",
"webmcpTools": [{ "name": "page-agent-tool" }, { "name": "baidu_search" }],
"tabs": [
{ "tabid": "2EA73ED323E46E5E108D4E46DA4E4AA7", "title": "百度一下,你就知道", "url": "https://www.baidu.com/" }
]
}注意:
state不返回页面的可交互元素(DOM 树)。获取元素必须使用page-agent-tool的browserState或searchTree。
webmcp-cli clipboard(CDP 专属)webmcp-cli clipboard # 读取当前系统剪贴板文本
webmcp-cli clipboard "需要写入剪贴板的内容" # 写入文本到系统剪贴板webmcp-cli run根据不同终端严格遵守引号规范,避免 参数不是有效的 JSON 错误:
'{"action": "click", "index": 0}'"{\"action\": \"click\", \"index\": 0}"'{\"action\": \"click\", \"index\": 0}'page-agent-tool每个页面均会自动注入该工具。支持动作(action):
browserState、searchTree、click、fill、select、scroll、executeJavascript、hover。
操作返回格式(responseMode):
diff(默认):仅返回操作后页面的增量差异,极度节省 Token。full:返回当前视口完整的 ARIA YAML 无障碍树。both:同时返回全量树与增量差异。执行 click、fill、select、scroll 等操作后,工具会自动返回最新页面 diff,通常无需再次手动调用 browserState。
searchTree 优先原则(节省 80%+ Token)决策流程:
已知要找的元素类型或文字(如“搜索”、“登录”、“button”)?
↓ 是
→ 先用 searchTree 搜索
↓ 找到了?
是 → 直接使用命中的 #N 索引操作(click / fill 等)
否 → 再用 browserState(full) 获取全量树兜底
↓ 否(初次进入未知页面或探索全局结构)
→ 用 browserState(full) 抓取完整树用法示例:
# 按角色或文字精准搜索
webmcp-cli run page-agent-tool '{"action": "searchTree", "query": "登录"}'
webmcp-cli run page-agent-tool '{"action": "searchTree", "query": "button", "contextLines": 2}'
webmcp-cli run page-agent-tool '{"action": "searchTree", "query": "#42"}'输出命中行会带 >>> 标记,并给出目标元素的 #N 索引编号。
browserState# 首次进入页面获取完整树
webmcp-cli run page-agent-tool '{"action": "browserState", "responseMode": "full"}'
# 对指定标签页获取
webmcp-cli run page-agent-tool '{"action": "browserState"}' -t 2EA73ED323E46E5E108D4E46DA4E4AA7无障碍树格式:
- role #N [token1] [token2] "accessible name"
role:ARIA 语义(button / link / textbox / radio 等);#N:唯一操作索引,仅带 #N 的元素才能交互,将其数值传入 index;[token]:状态标记([checked]、[disabled]、[cursor=pointer] 等);"accessible name":元素可访问名。⚠️ 每次交互操作后,
#N会重新分配,严禁复用历史旧索引。
# 点击
webmcp-cli run page-agent-tool '{"action": "click", "index": 16}'
# 填写输入框
webmcp-cli run page-agent-tool '{"action": "fill", "index": 15, "text": "OpenTiny"}'
# 下拉选择
webmcp-cli run page-agent-tool '{"action": "select", "index": 7, "value": "option_value"}'
# 页面滚动(0.5 = 半页,1.0 = 一页)
webmcp-cli run page-agent-tool '{"action": "scroll", "direction": "down", "amount": 500}'
# 执行 JavaScript
webmcp-cli run page-agent-tool '{"action": "executeJavascript", "script": "return document.title"}'#N 的元素交互,绝对不要臆测不存在或已过期的索引。domains/)当导航到特定站点时,页面会自动注册专用工具(可通过 state 确认),进入相关页面请查阅对应指引:
| 目标域名 | 注册工具 | 业务指引文档 |
|---|---|---|
excalidraw.com | excalidraw_execute_command | domains/excalidraw.md |
juejin.cn | create_article, publish_current_draft | domains/publish-article-in-juejin.md |
editor.csdn.net | create_article, publish_current_draft | domains/publish-article-in-csdn.md |
my.oschina.net | create_article, publish_current_draft | domains/publish-article-in-oschina.md |
segmentfault.com | create_article, segmentfault_publish_article | domains/publish-article-in-segmentfault.md |
xiaohongshu.com | xhs_search_notes, xhs_publish_note | 查看工具 Schema 直接调用 |
调用示例:
# Excalidraw 画布操作
webmcp-cli run excalidraw_execute_command '{"eventName": "getSceneElements"}'
# 掘金发布文章(支持 @base64file 文件引用)
webmcp-cli run create_article '{"title": "技术文章", "content": "@base64file:./post.md"}'# 启动 MCP Server(stdio 传输,暴露原子工具)
webmcp-cli mcp© opentiny, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files in packages/webmcp-cli-skill/cdp of opentiny/webmcp-sdk.
Open the folder on GitHubat commit 47a2b03
Webmcp CLI Cdp 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 |
|---|---|---|---|---|---|---|
| Webmcp CLI Cdp this skillopentiny/webmcp-sdk | 121 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Browser Testing with Chrome DevToolsaddyosmani/agent-skills | 103k | 4 repos | ~3.5k | Automated safety check: Warn | MIT | |
| Browsingobra/superpowers-chrome | 356 | 1 repos | ~8k | Automated safety check: Pass | MIT | |
| Chrome Devtools Axilayer5io/sistent | 138 | 2 repos | ~989 | Automated safety check: Pass | Apache-2.0 | |
| Idleon Live CdpMrJoiny/Idleon-Injector | 112 | — | ~1.2k | Automated safety check: Pass | None | |
| Web Browsermitsuhiko/agent-stuff | 3.2k | — | ~1.5k | Automated safety check: Warn | Apache-2.0 |
addyosmani/agent-skills
Connects an agent to a real Chrome instance through the Chrome DevTools MCP server, so it can inspect the DOM, read console errors and profile performance directly.
obra/superpowers-chrome
A skill your agent uses when you need direct browser control - teaches Chrome DevTools Protocol for controlling existing browser sessions, multi-tab management, form automation, and content…
layer5io/sistent
Control a Chrome browser session through the chrome-devtools-axi CLI - navigate, snapshot, click, fill forms, run JavaScript, inspect console and network, take screenshots, audit performance.
MrJoiny/Idleon-Injector
Inspect and interact with a running Legends of Idleon session through the Chrome DevTools Protocol on port 32123.
mitsuhiko/agent-stuff
Automate and interact with web pages through Chrome or Chromium using the Chrome DevTools Protocol (CDP): navigate, click, fill forms, inspect content, take screenshots, and debug console or network…
MatrixAges/polywise
Interacts with local browser via Chrome DevTools Protocol (only triggered after user explicitly requests to inspect, debug, or interact with pages open in Chrome)
opentiny/webmcp-sdk
@opentiny/next-sdk 的 page-agent-tool / a11y / registerPageAgentTool 相关开发。
opentiny/webmcp-sdk
面向第三方 AI Agent 的 WXT 扩展桥接模式执行指南:通过 Tiny Robot 扩展 WebSocket 桥接操控用户真实浏览器,复用登录态/Cookie,支持双向本地 Bash 协同与高层自主 Agent 委托。
opentiny/webmcp-sdk
擅长绘制各种图表、流程图、架构图等,能够提供专业的设计建议和方案
opentiny/webmcp-sdk
擅长通过工具调用帮助用户生成月报。
Works with
Categories
面向第三方 AI Agent 的 CDP 直连模式执行指南:通过 Chrome DevTools Protocol 独立沙箱操作浏览器,自动注入 page-agent-tool 及领域工具。. Webmcp CLI Cdp is an agent skill from opentiny/webmcp-sdk.
Webmcp CLI Cdp fits situations like: tasks that involve Browser testing.
Run `npx skills add opentiny/webmcp-sdk --skill webmcp-cli-cdp -a claude-code`. Or copy the skill folder (packages/webmcp-cli-skill/cdp in opentiny/webmcp-sdk) into .claude/skills/webmcp-cli-cdp in your project. Claude Code loads it when a task matches its description.
Run `npx skills add opentiny/webmcp-sdk --skill webmcp-cli-cdp -a codex`. Or copy the skill folder (packages/webmcp-cli-skill/cdp in opentiny/webmcp-sdk) into .agents/skills/webmcp-cli-cdp 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 opentiny/webmcp-sdk --skill webmcp-cli-cdp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/webmcp-cli-cdp, .gemini/skills/webmcp-cli-cdp, .github/skills/webmcp-cli-cdp and .opencode/skills/webmcp-cli-cdp in your project.
Going by SKILL.md and its folder, Webmcp CLI Cdp needs the command-line tools its instructions call (npm). Our summary lists: Node.js.
SKILL.md names 2 domains. In commands or code: baidu.com and excalidraw.com; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Webmcp CLI Cdp is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 5.9k 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 Webmcp CLI Cdp: Browser Testing with Chrome DevTools (addyosmani/agent-skills, 103k stars), Browsing (obra/superpowers-chrome, 356 stars), Chrome Devtools Axi (layer5io/sistent, 138 stars) and Idleon Live Cdp (MrJoiny/Idleon-Injector, 112 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
opentiny (a GitHub organization) maintains it in opentiny/webmcp-sdk, which has 121 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on September 21, 2026.
Source: opentiny/webmcp-sdk on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.