Install
openclaw skills install @gadielkalleb/talariaPlaywright stealth evasion wrapper (playwright-extra + puppeteer-extra-plugin-stealth). Reduces basic bot detection and WAF-triggered challenges — not a CAPTCHA solver. Use when automating browsers, scraping, bot detection, playwright stealth, WAF evasion, or when Playwright is flagged as a bot.
openclaw skills install @gadielkalleb/talariaSelf-contained skill: instructions + code in $SKILL_DIR. Do not use vanilla chromium from playwright on sites with WAF or anti-bot.
Does:
playwright-extra + puppeteer-extra-plugin-stealthnavigator.webdriver, HeadlessChrome UA, empty plugins)launchStealthBrowser() (API) and scripts/cli.js (visit / screenshot / HTML / JSON).envDoes not:
Only automate websites the user authorized access to.
Before any command, resolve the directory that contains this SKILL.md and use it as $SKILL_DIR below.
Common locations:
skills/talaria/)~/.hermes/skills/talaria~/.cursor/skills/talaria~/.codex/skills/talariaskills/talaria/ inside this repoDo not copy scripts into the user's project. Run and import from $SKILL_DIR.
$SKILL_DIR)cd "$SKILL_DIR" && npm run setup
Downloads npm deps and Chromium (can be large). If Chromium is missing later: cd "$SKILL_DIR" && npx playwright install chromium
Optional proxy: copy $SKILL_DIR/env.example to $SKILL_DIR/.env, then export the vars into the process env (PROXY_SERVER, PROXY_USERNAME, PROXY_PASSWORD, HEADLESS). Or pass --proxy / proxy: in the API.
playwright directly to browse the webPrefer the skill API. CLI only for visit / screenshot / HTML with no extra logic.
Treat scripts as a black box: run them. Read the source only if you need to extend it.
node "$SKILL_DIR/scripts/cli.js" --url https://example.com --screenshot out.png --html out.html --json
Flags: --url (required), --screenshot, --html, --wait-selector, --timeout, --headed, --proxy, --json.
Errors go to stderr. With --json, stdout is { url, title, screenshot, html }.
Write the script to /tmp/talaria-*.js, never into the skill directory. Import the wrapper from the skill:
import { launchStealthBrowser } from '$SKILL_DIR/scripts/index.js'
const { browser, context, page } = await launchStealthBrowser({
headless: true,
// proxy: process.env.PROXY_SERVER,
})
await page.goto(url, { waitUntil: 'domcontentloaded' })
// automation...
await browser.close()
Replace $SKILL_DIR with the real absolute path. Run: node /tmp/talaria-….js
Options: headless, slowMo, proxy (string or { server, username, password }), userAgent, viewport, locale, args.
$SKILL_DIRcd "$SKILL_DIR" && npm run setup if node_modules is missinglaunchStealthBrowser from $SKILL_DIR/scripts/index.js — never import { chromium } from 'playwright' for the target browserHub installs (ClawHub / Hermes) do not ship test/. Smoke-check with the CLI:
node "$SKILL_DIR/scripts/cli.js" --url https://example.com --json
Expect JSON with url and title. From a full git clone that includes test/, maintainers can also run cd "$SKILL_DIR" && npm test (stealth signals, sannysoft, CLI e2e).
Stealth approach based on How to Bypass CAPTCHAs With Playwright by Antonello Zanini (Bright Data). Not affiliated with Bright Data.