open-browser
Browser automation via Playwright MCP (official Microsoft headless browser)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Browser automation via Playwright MCP (official Microsoft headless browser)
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Image generation and manipulation via MCP
PDF parsing and extraction via MCP
Autonomous tool discovery, evaluation, and integration for agent self-enhancement
Route OpenOS tasks to the correct product skill.
Enrich CRM contacts with LinkedIn and décideur data.
CRM read + staged follow-up via orchestrator approval.
| name | open-browser |
| description | Browser automation via Playwright MCP (official Microsoft headless browser) |
| version | 1.0.0 |
| metadata | {"tags":["browser","automation","scraping","web","playwright","mcp"],"category":"automation","related_skills":["computer-use","open-code"]} |
Automate web interactions using Playwright, the official Microsoft headless browser with native MCP server support. Playwright provides robust browser automation with multi-browser support (Chromium, Firefox, WebKit).
computer-use skill)open-code skill)docker-compose.mesh.yml includes playwright-mcp)http://playwright-mcp:3100 (container) or http://localhost:3100 (host)browser_automation capabilityOpenOrchestrator (plan with browser step)
→ OpenAgents (browser-automation profile)
→ MCP call to playwright-mcp-server
→ Playwright container (headless browser)
→ Results → OpenRec (audit) → OpenBrain (observation)
browser_navigate(url: string, waitUntil?: "load" | "domcontentloaded" | "networkidle")
Navigate to URL and wait for specified state.
browser_click(selector: string)
Click element matching CSS selector.
browser_fill(selector: string, value: string)
Fill input field with value (triggers change events).
browser_type(selector: string, text: string)
Type text into input field character by character.
browser_press_key(key: string, selector?: string)
Press keyboard key (optionally targeting specific element).
browser_select_option(selector: string, value: string)
Select dropdown option by value or text.
browser_snapshot()
Returns: { url, title, text } - current page location, title, and text content.
browser_evaluate(script: string)
Execute JavaScript in page context, returns result.
browser_wait_for(selector: string, timeout?: number)
Wait for element to appear (timeout in seconds).
browser_screenshot(options?: { fullPage?: boolean, path?: string })
Capture screenshot of current page.
browser_generate_pdf(options?: { path?: string })
Generate PDF from current page (Chromium only).
browser_network_requests()
Returns all network requests made by the page.
browser_console_messages()
Returns console logs from the page.
browser_close()
Close current session and reset environment.
1. browser_navigate(url="https://example.com", waitUntil="networkidle0")
2. browser_snapshot() # verify page loaded
3. browser_evaluate(script="document.querySelectorAll('.item').length") # count items
4. browser_evaluate(script="Array.from(document.querySelectorAll('.item')).map(e => e.textContent)") # extract data
5. browser_close()
1. browser_navigate(url="https://example.com/form")
2. browser_fill(selector="#name", value="John Doe")
3. browser_fill(selector="#email", value="john@example.com")
4. browser_select_option(selector="#country", value="US")
5. browser_click(selector="#submit")
6. browser_wait_for(selector=".success", timeout=5)
7. browser_snapshot() # verify success
8. browser_close()
Obscura automatically applies:
No additional configuration needed for basic anti-detection.
| Scenario | Action |
|---|---|
| Need to interact with web page | Use browser_* tools |
| Need desktop GUI automation | Use computer-use skill |
| Need to execute code in sandbox | Use open-code skill |
| Need simple HTTP request | Use REST API directly |
| Page requires JavaScript | Obscura handles automatically (V8 engine) |
| Anti-detection required | Obscura applies automatically |
browser_evaluate for simple DOM queries - use browser_snapshot + parsebrowser_close() - sessions persist until closedbrowser_wait_for before interactingwaitUntil parameter - networkidle0 ensures all resources loadeddocker ps | grep obscura)curl http://localhost:3100/health)browser_navigate successfullybrowser_automation capability in agent profile// OpenOrchestrator plan step
{
"goal": "Scrape product data from example.com",
"required_skills": ["open-browser"],
"approval_required": false
}
// OpenAgents dispatch
POST /v1/runs
{
"profile": "browser-automation",
"goal_id": "...",
"parameters": {
"url": "https://example.com/products",
"selector": ".product-item"
}
}
// OpenRec audit
{
"type": "browser.automation.completed",
"payload": {
"url": "https://example.com/products",
"items_scraped": 42,
"duration_ms": 3500
}
}
computer-use - Desktop GUI automation (non-web)open-code - Code execution in sandboxed worktreesopen-mcp-scaffold - Add new MCP tools to mesh