playwright-bot-bypass
Claude Code skill to bypass bot detection (Google CAPTCHA, etc.)
Install / Use
npx skills add greekr4/playwright-bot-bypassInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
AutomationSupported Platforms
Skill content
View source on GitHubplaywright-bot-bypass
Undetected browser automation that passes 8/8 bot detectors — with a real headed Chrome instead of fragile JS fakes. It's glue + tuning over rebrowser-playwright and undetected-chromedriver, shipped as a one-import createStealthBrowser() and an agent skill.
⚠️ Authorized use only — QA, accessibility, and research on sites you own or may test. Respect each site's ToS,
robots.txt, and the law.
Install
Claude Code
/plugin marketplace add greekr4/playwright-bot-bypass
/plugin install playwright-bot-bypass@playwright-bot-bypass
Codex · Cursor · any agent — one command via skills.sh:
npx skills add greekr4/playwright-bot-bypass # all detected agents
npx skills add greekr4/playwright-bot-bypass -a codex # Codex only
Then just describe the task, or invoke it explicitly with $playwright-bot-bypass ….
Quick start
npm install rebrowser-playwright
import { createStealthBrowser, humanType, simulateMouseMovement } from './scripts/stealth-template.mjs';
const { browser, page } = await createStealthBrowser();
try {
await page.goto('https://example.com');
await simulateMouseMovement(page);
await humanType(page, 'input', 'query');
} finally {
await browser.close(); // always in finally, or the process hangs
}
Prefer Python? pip install undetected-chromedriver → uc.Chrome(). (Skip playwright-stealth — it only patches JS, so WebGL still leaks SwiftShader.)
What it beats — and what it doesn't
| ✅ Beats | 🚫 Doesn't touch | |---|---| | Fingerprint + automation detectors — sannysoft, rebrowser, deviceandbrowserinfo, browserscan, iphey, creepjs (9/9 reproducible) | IP reputation & rate limits | | Real UA, WebGL/GPU, canvas, PluginArray — genuine, not JS-spoofed | Behavioral / CAPTCHA gates (Turnstile, DataDome, Kasada) | | Google search + public Reddit / YouTube / TikTok / X with no bot wall | Login walls 🟡 (Instagram, Facebook, LinkedIn) |
One residual leak, __playwright_builtins__, can't be stripped by any current rebrowser version. Full measured matrix → SKILL.md.
A/B: plain Playwright vs this skill
Measured 2026-06-10 (macOS, Apple Silicon). A = default playwright (headless bundled Chromium, no stealth). B = this skill via createStealthBrowser() (headed real Chrome + rebrowser Runtime-fix + Playwright-artifact strip). Same machine, same detectors.
deviceandbrowserinfo.com — "Are you a bot?"
| A · plain Playwright | B · this skill |
|:---:|:---:|
|
|
|
| ❌ "You are a bot!" (isBot: true) | ✅ "You are human!" (isBot: false) |
bot-detector.rebrowser.net — CDP / automation tests
| A · plain Playwright | B · this skill |
|:---:|:---:|
|
|
|
| 🔴 navigatorWebdriver = true | 🟢 all green — webdriver false, no __pwInitScripts, no Runtime leak |
bot.sannysoft.com — fingerprint suite
| A · plain Playwright | B · this skill |
|:---:|:---:|
|
|
|
| Red rows: WebDriver / UA = HeadlessChrome / WebGL SwiftShader | All green — real Chrome UA, Apple M2 WebGL, webdriver false |
How it works
Three layers do the work — mostly the real browser, barely any hand-written JS:
- rebrowser-playwright + Runtime-fix — hides the CDP
Runtime.enableheadless leak, reportswebdriver: false. channel:'chrome'+ headed — real UA, GPU/WebGL, canvas, plugins, andnavigator.languagesvialocale.- Artifact strip — deletes
window.__pwInitScriptson every navigation (theisPlaywrightsignature).
The v2.2 insight: removing fake navigator patches (spoofed plugins, canvas noise, webdriver delete…) beats adding them — every fake created a detectable inconsistency. So v2.2 touches nothing on navigator.
Requirements
Node.js 18+ · real Google Chrome (not just Chromium) · headed mode (headless: false, display required).
Credits
Glue + tuning over other people's work: rebrowser-patches, undetected-chromedriver, real Chrome via channel:'chrome', and the detection research that verifies it — sannysoft, rebrowser-bot-detector, deviceandbrowserinfo, browserscan, CreepJS. Original here is the integration: the createStealthBrowser() factory, the verified v2.2 recipe, and the agent-facing SKILL.md.
License
MIT
Related Skills
Agent-Reach
84.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
73.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
ruflo
73.0k🌊 The original agent harness. Deploy intelligent multi-player swarms, coordinate autonomous workflows, and build conversational AI systems. Features adaptive memory, self-learning intelligence, federation, vector RAG integration, and native Claude Code / Codex / Hermes and many more Integrated
nanobot
48.5kUltra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
