一键导入
browser-automation
Connect to Chrome via CDP proxy to automate web interactions — posting, scraping, form filling. Uses puppeteer-core (no bundled Chromium).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Connect to Chrome via CDP proxy to automate web interactions — posting, scraping, form filling. Uses puppeteer-core (no bundled Chromium).
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Short description — what this does and when to use it.
Orchestrate a multi-round implementation + review cycle. Use when coordinating a feature that requires implementation (FE/BE), design review (UIUX), security review, and QA verification. Ensures QA findings get routed back for fixes until clean.
Review recent edits and update all documentation including architecture docs, API specs, and edit history. Creates missing docs for new implementations.
Review code for best practices, modularity, scalability, abstraction, test coverage, redundancy, hardcoded values, type safety, performance, naming, API design, async patterns, config/env sync, template consistency, and documentation alignment. Generates detailed report with issues and recommendations.
Review recent edits and update all documentation including architecture docs, API specs, and edit history. Creates missing docs for new implementations.
| id | browser-automation |
| name | browser-automation |
| description | Connect to Chrome via CDP proxy to automate web interactions — posting, scraping, form filling. Uses puppeteer-core (no bundled Chromium). |
| tags | ["browser","puppeteer","cdp"] |
Connect to the host Chrome browser via the CDP proxy to automate web interactions.
const puppeteer = require('puppeteer-core');
const http = require('http');
// Get WebSocket URL from CDP proxy and rewrite for Docker networking
const data = await new Promise((res, rej) => {
http.get('http://host.docker.internal:9223/json/version', r => {
let d = ''; r.on('data', c => d += c); r.on('end', () => res(JSON.parse(d)));
}).on('error', rej);
});
const wsUrl = data.webSocketDebuggerUrl.replace('localhost:9222', 'host.docker.internal:9223');
const browser = await puppeteer.connect({browserWSEndpoint: wsUrl, defaultViewport: null});
Important: Always use browserWSEndpoint with URL rewrite, NOT browserURL. The CDP proxy runs on port 9223 and rewrites the Host header for Chrome compatibility.
http://host.docker.internal:9223/jsonawait page.goto(url, {waitUntil: 'networkidle2'})browser.disconnect() — never browser.close() (that kills the shared Chrome)The Chrome profile has active sessions for: