重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
chrome-devtools by secondsky/claude-skills
npx skills add https://github.com/secondsky/claude-skills --skill chrome-devtools通过可执行的 Puppeteer 脚本实现浏览器自动化。所有脚本都输出 JSON,便于解析。
重要提示:运行脚本前务必检查 pwd。
在 Linux/WSL 上,Chrome 需要系统库。请先安装它们:
pwd # 应显示当前工作目录
cd .claude/skills/chrome-devtools/scripts
./install-deps.sh # 自动检测操作系统并安装所需库
支持系统:Ubuntu、Debian、Fedora、RHEL、CentOS、Arch、Manjaro
macOS/Windows:跳过此步骤(依赖项已与 Chrome 捆绑)
# 推荐:使用 bun(更快)
bun install # 安装 puppeteer、debug、yargs
# 备选:使用 npm
npm install
ImageMagick 支持自动截图压缩,以保持文件大小在 5MB 以下:
macOS:
brew install imagemagick
Ubuntu/Debian/WSL:
sudo apt-get install imagemagick
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
验证安装:
magick -version # 或:convert -version
如果没有安装 ImageMagick,大于 5MB 的截图将不会被压缩(可能无法在 Gemini/Claude 中加载)。
bun navigate.js --url https://example.com
# 输出:{"success": true, "url": "https://example.com", "title": "Example Domain"}
所有脚本都位于 .claude/skills/chrome-devtools/scripts/
重要提示:运行脚本前务必检查 pwd。
./scripts/README.mdnavigate.js - 导航到 URLscreenshot.js - 捕获截图(整个页面或元素)click.js - 点击元素fill.js - 填写表单字段evaluate.js - 在页面上下文中执行 JavaScriptsnapshot.js - 提取带有元数据的交互元素console.js - 监控控制台消息/错误network.js - 跟踪 HTTP 请求/响应performance.js - 测量核心网页指标 + 记录跟踪信息pwd # 应显示当前工作目录
cd .claude/skills/chrome-devtools/scripts
bun screenshot.js --url https://example.com --output ./docs/screenshots/page.png
重要提示:始终将截图保存到 ./docs/screenshots 目录。
如果截图超过 5MB,将自动压缩以确保与 Gemini API 和 Claude Code(有 5MB 限制)的兼容性。内部使用 ImageMagick:
# 默认:如果 >5MB 则自动压缩
bun screenshot.js --url https://example.com --output page.png
# 自定义大小阈值(例如 3MB)
bun screenshot.js --url https://example.com --output page.png --max-size 3
# 禁用压缩
bun screenshot.js --url https://example.com --output page.png --no-compress
压缩行为:
输出包含压缩信息:
{
"success": true,
"output": "/path/to/page.png",
"compressed": true,
"originalSize": 8388608,
"size": 3145728,
"compressionRatio": "62.50%",
"url": "https://example.com"
}
# 使用 --close false 保持浏览器打开
bun navigate.js --url https://example.com/login --close false
bun fill.js --selector "#email" --value "user@example.com" --close false
bun fill.js --selector "#password" --value "secret" --close false
bun click.js --selector "button[type=submit]"
# 使用 jq 提取特定字段
bun performance.js --url https://example.com | jq '.vitals.LCP'
# 保存到文件
bun network.js --url https://example.com --output /tmp/requests.json
在执行任何脚本之前:
pwd 检查当前工作目录.claude/skills/chrome-devtools/scripts/ 目录中cd 到正确位置示例:
pwd # 应显示:.../chrome-devtools/scripts
# 如果错误:
cd .claude/skills/chrome-devtools/scripts
在截图/捕获操作之后:
ls -lh <输出路径> 验证文件已创建示例:
bun screenshot.js --url https://example.com --output ./docs/screenshots/page.png
ls -lh ./docs/screenshots/page.png # 验证文件存在
# 然后使用 Read 工具进行视觉检查
5. 将工作目录重启到项目根目录。
如果脚本失败:
示例:
# CSS 选择器失败
bun click.js --url https://example.com --selector ".btn-submit"
# 错误:等待选择器 ".btn-submit" 失败
# 发现正确的选择器
bun snapshot.js --url https://example.com | jq '.elements[] | select(.tagName=="BUTTON")'
# 尝试 XPath
bun click.js --url https://example.com --selector "//button[contains(text(),'Submit')]"
所有脚本都支持:
--headless false - 显示浏览器窗口(默认:true)--close false - 脚本执行后保持浏览器打开--timeout 30000 - 超时时间(毫秒)(默认:30000)--help - 显示脚本特定的帮助信息浏览器无法启动(Linux):
./install-deps.sh # 安装缺失的系统库
截图文件过大:
--max-size 设置自定义阈值找不到元素:
snapshot.js 来发现选择器找不到脚本:
bun /path/to/scripts/navigate.js每周安装次数
70
代码仓库
GitHub 星标数
90
首次出现
Jan 25, 2026
安全审计
安装于
claude-code60
gemini-cli56
codex56
opencode55
github-copilot52
cursor52
Browser automation via executable Puppeteer scripts. All scripts output JSON for easy parsing.
CRITICAL : Always check pwd before running scripts.
On Linux/WSL, Chrome requires system libraries. Install them first:
pwd # Should show current working directory
cd .claude/skills/chrome-devtools/scripts
./install-deps.sh # Auto-detects OS and installs required libs
Supports: Ubuntu, Debian, Fedora, RHEL, CentOS, Arch, Manjaro
macOS/Windows : Skip this step (dependencies bundled with Chrome)
# Preferred: Using bun (faster)
bun install # Installs puppeteer, debug, yargs
# Alternative: Using npm
npm install
ImageMagick enables automatic screenshot compression to keep files under 5MB:
macOS:
brew install imagemagick
Ubuntu/Debian/WSL:
sudo apt-get install imagemagick
Verify:
magick -version # or: convert -version
Without ImageMagick, screenshots >5MB will not be compressed (may fail to load in Gemini/Claude).
bun navigate.js --url https://example.com
# Output: {"success": true, "url": "https://example.com", "title": "Example Domain"}
All scripts are in .claude/skills/chrome-devtools/scripts/
CRITICAL : Always check pwd before running scripts.
./scripts/README.mdnavigate.js - Navigate to URLsscreenshot.js - Capture screenshots (full page or element)click.js - Click elementsfill.js - Fill form fieldsevaluate.js - Execute JavaScript in page contextsnapshot.js - Extract interactive elements with metadataconsole.js - Monitor console messages/errorsnetwork.js - Track HTTP requests/responsesperformance.js - Measure Core Web Vitals + record tracespwd # Should show current working directory
cd .claude/skills/chrome-devtools/scripts
bun screenshot.js --url https://example.com --output ./docs/screenshots/page.png
Important : Always save screenshots to ./docs/screenshots directory.
Screenshots are automatically compressed if they exceed 5MB to ensure compatibility with Gemini API and Claude Code (which have 5MB limits). This uses ImageMagick internally:
# Default: auto-compress if >5MB
bun screenshot.js --url https://example.com --output page.png
# Custom size threshold (e.g., 3MB)
bun screenshot.js --url https://example.com --output page.png --max-size 3
# Disable compression
bun screenshot.js --url https://example.com --output page.png --no-compress
Compression behavior:
Output includes compression info:
{
"success": true,
"output": "/path/to/page.png",
"compressed": true,
"originalSize": 8388608,
"size": 3145728,
"compressionRatio": "62.50%",
"url": "https://example.com"
}
# Keep browser open with --close false
bun navigate.js --url https://example.com/login --close false
bun fill.js --selector "#email" --value "user@example.com" --close false
bun fill.js --selector "#password" --value "secret" --close false
bun click.js --selector "button[type=submit]"
# Extract specific fields with jq
bun performance.js --url https://example.com | jq '.vitals.LCP'
# Save to file
bun network.js --url https://example.com --output /tmp/requests.json
BEFORE executing any script:
pwd.claude/skills/chrome-devtools/scripts/ directorycd to correct locationExample:
pwd # Should show: .../chrome-devtools/scripts
# If wrong:
cd .claude/skills/chrome-devtools/scripts
AFTER screenshot/capture operations:
ls -lh <output-path>Example:
bun screenshot.js --url https://example.com --output ./docs/screenshots/page.png
ls -lh ./docs/screenshots/page.png # Verify file exists
# Then use Read tool to visually inspect
5. Restart working directory to the project root.
If script fails:
Example:
# CSS selector fails
bun click.js --url https://example.com --selector ".btn-submit"
# Error: waiting for selector ".btn-submit" failed
# Discover correct selector
bun snapshot.js --url https://example.com | jq '.elements[] | select(.tagName=="BUTTON")'
# Try XPath
bun click.js --url https://example.com --selector "//button[contains(text(),'Submit')]"
All scripts support:
--headless false - Show browser window (default: true)--close false - Keep browser open after script--timeout 30000 - Timeout in milliseconds (default: 30000)--help - Show script-specific helpBrowser fails to launch (Linux) :
./install-deps.sh # Install missing system libraries
Large screenshots :
--max-size to set custom thresholdElement not found :
snapshot.js first to discover selectorsScript not found :
bun /path/to/scripts/navigate.jsWeekly Installs
70
Repository
GitHub Stars
90
First Seen
Jan 25, 2026
Security Audits
Gen Agent Trust HubFailSocketPassSnykFail
Installed on
claude-code60
gemini-cli56
codex56
opencode55
github-copilot52
cursor52
GitHub Actions 官方文档查询助手 - 精准解答 CI/CD 工作流问题
47,200 周安装
Godot 4 性能优化指南:多线程、对象池、渲染批处理与物理查询优化
72 周安装
Salesforce B2C Business Manager 扩展开发指南:自定义管理界面菜单、表单与对话框
71 周安装
yfinance MCP 服务器 - 获取 Yahoo Finance 实时和历史金融数据 | 股票价格、期权、财报、新闻
75 周安装
Docker专家技能:NestJS/Next.js容器化、Docker Compose配置与微服务编排最佳实践
74 周安装
Python数据分析技能 - 掌握Pandas、NumPy数据操作与Jupyter工作流
73 周安装
市场调研技能:全面指南与框架,助您分析竞争对手、识别市场机会
76 周安装