SKILL.md
Go-Rod Browser Automation Master
Detailed Guide
Read [the detailed guide](references/detailed-guide.md) before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.
When to Use This Skill
- Use when the user asks to scrape, automate, or test a website using Go.
- Use when the user needs a headless browser for dynamic/SPA content (React, Vue, Angular).
- Use when the user mentions stealth, anti-bot, avoiding detection, Cloudflare, or bot detection bypass.
- Use when the user wants to work with the Chrome DevTools Protocol (CDP) directly from Go.
- Use when the user needs to intercept or hijack network requests in a browser context.
- Use when the user asks about concurrent browser scraping or page pooling in Go.
- Use when the user is migrating from chromedp or Playwright Go and wants a simpler API.
Safety & Risk
Risk Level: 🔵 Safe
- Read-Only by Default: Default behavior is navigating and reading page content (scraping/testing).
- Isolated Contexts: Browser contexts are sandboxed; cookies and storage do not persist unless explicitly saved.
- Resource Cleanup: Designed around Go's
deferpattern — browsers and pages close automatically. - No External Mutations: Does not modify external state unless the script explicitly submits forms or POSTs data.
Examples
See the examples/ directory for complete, runnable Go files:
examples/basic_scrape.go— Minimal scraping exampleexamples/stealth_page.go— Anti-detection with go-rod/stealthexamples/request_hijacking.go— Intercepting and modifying network requestsexamples/concurrent_pages.go— Page pool for concurrent scraping
Limitations
- CAPTCHAs: Rod does not include CAPTCHA solving. External services (2captcha, etc.) must be integrated separately.
- Extreme Anti-Bot: While
go-rod/stealthhandles common detection (WebDriver, plugin fingerprints, WebGL), extremely strict systems (some Cloudflare configurations, Akamai Bot Manager) may still detect automation. Additional measures (residential proxies, human-like behavioral patterns) may be needed. - DRM Content: Cannot interact with DRM-protected media (e.g., Widevine).
- Resource Usage: Each browser instance consumes significant RAM (~100-300MB+). Use
PagePooland limit concurrency on memory-constrained systems. - Extensions in Headless: Chrome extensions do not work in headless mode. Use
Headless(false)with XVFB for server environments. - Platform: Requires a Chromium-compatible browser. Does not support Firefox or Safari.