agentleFS
afaraha8403afaraha8403/balakit/.agents/skills/cloakbrowser-fallback/SKILL.md

cloakbrowser-fallback

Skill1 starsChanged 9 days agoMITView on GitHub

Stealth browser fallback using CloakBrowser (custom-compiled Chromium with C++ source-level fingerprint patches). Use when the built-in browser tool or Chrome DevTools fails due to bot detection, Cloudflare/Turnstile walls, reCAPTCHA, 403/429/"access denied"/"are you human" interstitials, or empty/ blocked responses. Also use when the user asks for "cloakbrowser", "stealth browser", or to bypass a block.

The file

We split this skill into the rules it gives an agent

6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Prefer Python by default. Use JS when the target codebase/repo is JS/TS or the user asks for it.

    line 43
  2. Distinctive:

    Use as a fallback only — try the built-in browser tool or Chrome DevTools MCP first.

    line 47
  3. Very specific:

    Headless failover pattern: start headless. If a Turnstile managed challenge appears, re-run with --headed — it clears with one click after …

    line 52
  4. Distinctive:

    Run the helper — it prints final URL, title, and page text, and saves a screenshot.

    line 59
  5. Distinctive:

    Don't use this to defeat paywalls/auth or violate a site's terms — it's for reaching content blocked by overzealous bot detection during …

    line 121
  6. Very specific:

    If a run fails with "binary not found", run python -m cloakbrowser install first.

    line 132

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

CloakBrowser Fallback

Leading words: stealth browser, fallback, humanize, bot detection, Turnstile, headless failover, real Chromium binary.

Stealth Chromium for navigating sites that block ordinary automation. Drop-in Playwright API, but the browser is a custom-compiled Chromium binary, so detectors score it as a real human browser.

Already installed on this machine. Both languages share the same stealth binary at ~/.cloakbrowser/:

  • Python (global): pip package cloakbrowser.
  • JS (self-contained in this skill's scripts/): npm cloakbrowser + playwright-core.

Prefer Python by default. Use JS when the target codebase/repo is JS/TS or the user asks for it.

When to reach for this

Use as a fallback only — try the built-in browser tool or Chrome DevTools MCP first. Escalate to CloakBrowser when any of the triggers in the frontmatter when_to_use fire (403/429, Cloudflare/Turnstile/reCAPTCHA walls, empty/blocked response, explicit user ask).

Headless failover pattern: start headless. If a Turnstile managed challenge appears, re-run with --headed — it clears with one click after the page settles. If an image CAPTCHA appears, stop and report to the user — CloakBrowser does not solve image CAPTCHAs.

Quick start (one-shot fetch)

Run the helper — it prints final URL, title, and page text, and saves a screenshot.

Python:

python scripts/cloak_fetch.py "https://protected-site.com"

JS (run from this skill's scripts/ dir so node_modules resolves):

node scripts/cloak_fetch.mjs "https://protected-site.com"

Both accept the same flags:

  • --headed — show the window. Needed for Turnstile managed challenges (resolves with a single click).
  • --screenshot path.png — where to save the screenshot (default: cloak_shot.png).
  • --html path.html — also dump raw HTML.
  • --wait 5000 — extra ms to wait after load for JS challenges to clear.

Inline usage (when you need custom interaction)

Python (sync API):

from cloakbrowser import launch

browser = launch(headless=True, humanize=True)  # humanize=True → human-like mouse/keyboard
page = browser.new_page()
page.goto("https://protected-site.com", wait_until="domcontentloaded")
page.wait_for_timeout(4000)                       # let JS challenges clear
print(page.title())
page.screenshot(path="cloak_shot.png", full_page=True)
html = page.content()
browser.close()

JS (async API):

import { launch } from "cloakbrowser";

const browser = await launch({ headless: true, humanize: true });
const page = await browser.newPage();
await page.goto("https://protected-site.com", { waitUntil: "domcontentloaded" });
await page.waitForTimeout(4000);
console.log(await page.title());
await page.screenshot({ path: "cloak_shot.png", fullPage: true });
const html = await page.content();
await browser.close();

Everything else is standard Playwright (click, fill, locator, etc.) — same API you already know.

Decision notes

  • Turnstile non-interactive → works headless, auto-resolves.
  • Turnstile managed → use --headed; it clears with one click after the page settles (the headless-failover pattern from above).
  • CloakBrowser does not solve image CAPTCHAs and has no built-in proxy rotation. If a site demands an image CAPTCHA, report that to the user rather than looping.
  • Don't use this to defeat paywalls/auth or violate a site's terms — it's for reaching content blocked by overzealous bot detection during legitimate work.

Verifying / maintaining the binary

python -m cloakbrowser info     # version, path, platform
python -m cloakbrowser install  # download binary if missing (~535 MB, one-time)
python -m cloakbrowser update   # pull a newer stealth Chromium

If a run fails with "binary not found", run python -m cloakbrowser install first.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.