Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add liarjsdev/liarjs-skills --skill playwright-stealth-verifygit clone --depth 1 https://github.com/liarjsdev/liarjs-skillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/liarjsdev/liarjs-skills/playwright-stealth-verify)<a href="https://agentmods.dev/skills/liarjsdev/liarjs-skills/playwright-stealth-verify"><img src="https://agentmods.dev/badge/skills/liarjsdev/liarjs-skills/playwright-stealth-verify.svg" alt="Measured on agentmods" height="20"></a>- Socket pass
- Snyk pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00110 | $0.01199 |
| Opus 5 | $0.00055 | $0.00600 |
| Sonnet 5 | $0.00022 | $0.00240 |
| Haiku 4.5 | $0.00011 | $0.00120 |
Grade A, and why
playwright-stealth-verify scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 103 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Verify an automation harness against itself
A test browser that quietly looks wrong is a test suite that quietly gets challenged. liarjs
answers one question about a harness: does its JavaScript story agree with itself and with what the
network layer saw? It measures; it does not modify the browser and ships no evasions or profiles.
Node 22 or newer. Zero runtime dependencies, so it adds nothing to an existing Playwright or Puppeteer install.
Against a Page you already have
checkPage works with any object exposing evaluate(expression: string). Playwright and Puppeteer
Page objects both qualify, so the harness under test is the harness being measured, with its real
launch flags, real plugins and real proxy in place.
import { checkPage } from 'liarjs';
const result = await checkPage(page);
expect(result.score).toBeGreaterThanOrEqual(85);
// Or assert on specific ids rather than a single number:
const critical = result.checks.filter((c) => c.status === 'bad');
expect(critical, JSON.stringify(critical, null, 2)).toHaveLength(0);
ScanResult is { score, label, checks[], client, server, meta }: client is the raw fingerprint,
server the raw edge view, meta.schema the payload version.
Install as a dev dependency so the version is pinned in the lockfile:
npm install --save-dev liarjs
Against a browser started outside the test process
npx [email protected] --cdp http://127.0.0.1:9222
Use this when the browser is already running and is itself the subject of the question, for example a Chromium build with local patches:
./chrome --remote-debugging-port=9222 &
npx [email protected] --cdp http://127.0.0.1:9222
Attaching drives a session the user owns. Confirm the endpoint with the user first, and prefer the
default (npx [email protected], which launches its own throwaway profile in a temp directory and deletes
it afterwards) whenever the question is about a launch configuration rather than about one specific
running browser.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 103 lines · 110 tokens per session scan A 775bfd3e9509
playwright-stealth-verify is a skill published in the GitHub repository liarjsdev/liarjs-skills (2 stars, last pushed 1mo ago), licensed MIT. It adds 110 tokens to every session and 1,199 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
camofox-browser
Anti-detection browser automation for AI agents. Use when the user needs stealth web browsing, undetectable scraping, fingerprint spoofing, proxy rotation, or privacy-focused browser automation. Triggers include "stealth scrape", "anti-detection", "bypass fingerprinting", "camofox", "camoufox", "undetectable browser"…
camofox-cli
CamoFox CLI — 50 commands for anti-detection browser automation from the terminal. Use when the user needs CLI reference for camofox commands, terminal-based browser control, or a quick lookup of command syntax. Triggers include "camofox command", "CLI reference", "terminal browser", or any request for camofox…
skill
Anti-detection browser automation MCP skill for OpenClaw agents with 47 tools for navigation, interaction, observation, extraction, downloads, profiles, sessions, and stealth web search.
Reddit automation with CamoFox CLI — login, browse, post, comment, reply with anti-detection. Use when the user needs to automate Reddit interactions, post to subreddits, comment on threads, or browse Reddit programmatically. Triggers include "reddit", "post to reddit", "reddit comment", "reddit automation", or any…
web-crawl
Get data from websites with the least necessary complexity. Use for quick lookups, visible-page extraction, search results, tables, pagination, detail-page traversal, downloadable files (Excel/CSV/PDF/ZIP), embedded page state, internal JSON/XHR APIs, bulk collection, reusable crawler generation, and delivery in any…
obscura
Operate and validate Obscura for JavaScript page loading, stealth browsing, anti-fingerprinting, tracker blocking, screenshots and visual comparison, CDP automation with Puppeteer or Playwright, screencasting, PDF export, MCP browser interaction, and web extraction. Use when running Obscura against deterministic…