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 Syysean/web-ai-skills --skill claude-workergit clone --depth 1 https://github.com/Syysean/web-ai-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/syysean/web-ai-skills/claude-worker)<a href="https://agentmods.dev/skills/syysean/web-ai-skills/claude-worker"><img src="https://agentmods.dev/badge/skills/syysean/web-ai-skills/claude-worker/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/syysean/web-ai-skills/claude-worker"><img src="https://agentmods.dev/badge/skills/syysean/web-ai-skills/claude-worker.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.00075 | $0.01319 |
| Opus 5 | $0.00037 | $0.00660 |
| Sonnet 5 | $0.00015 | $0.00264 |
| Haiku 4.5 | $0.00007 | $0.00132 |
Grade A, and why
claude-worker 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 11d 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 — 214 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Claude Worker
Send a prompt to Claude.ai via browser and return the response.
Environment
- URL: https://claude.ai
- Browser: Chrome on localhost:9222 (managed by local-browser-tools)
- Login: Required — session persisted in ~/.cache/browser-tools profile
- Tools:
browser-start.js,browser-nav.js,browser-eval.js,browser-screenshot.js
Input
prompt: string # The text to send to Claude
task_type: string # qa | summary | translation | rewrite | extraction | comparison | brainstorming | analysis
Output
Always output this JSON block first:
{
"site": "claude",
"task_type": "<task_type>",
"status": "success | partial | error",
"answer": "<extracted response text>",
"retry_count": 0,
"elapsed_ms": 0,
"error_reason": null
}
Then follow with a short human-readable summary (2–3 sentences max).
Workflow
Step 1 — Start browser
node ~/.pi/agent/skills/local-browser-tools/browser-start.js
Expected: ✓ Chrome already running on :9222 or ✓ Chrome started on :9222
If fails: return error status, stop.
Step 2 — Navigate to Claude
node ~/.pi/agent/skills/local-browser-tools/browser-nav.js https://claude.ai
Take a screenshot and verify:
- Input box is visible
- Page title contains "Claude"
- Not showing a login wall
If login page appears with no input box: return error_reason: "login_required", stop.
Step 3 — Locate input box
Claude uses a div[contenteditable] with role="textbox" and aria-label="Write your prompt to Claude".
Check:
!!document.querySelector('[aria-label="Write your prompt to Claude"]')
Fallback selectors in order:
[aria-label="Write your prompt to Claude"][contenteditable="true"][role="textbox"]div[contenteditable]
If no selector works after 3 attempts: trigger retry.
Step 4 — Insert prompt
Claude uses a contenteditable div. Use execCommand to insert text — do NOT set textContent directly as it bypasses the editor state:
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.
- 11d ago First seen · 214 lines · 75 tokens per session scan A de298e08f2e1
claude-worker is a skill published in the GitHub repository Syysean/web-ai-skills (5 stars, last pushed 3mo ago), licensed MIT. It adds 75 tokens to every session and 1,319 once invoked, about $0.0004 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
qa/e2e-playwright
A method for writing Playwright end-to-end tests, which automate a browser to verify complete user journeys. It covers setup, reusable page objects, login reuse, API mocking, visual checks, multiple browsers and screen sizes, CI, and debugging.
surf
Control Chrome browser via CLI for testing, automation, and debugging. Use when the user needs browser automation, screenshots, form filling, page inspection, network/CPU emulation, DevTools streaming, or AI queries via ChatGPT/Gemini/Perplexity/Grok/AI Studio.
chrome-automation
A skill for automating an already open Google Chrome browser through its browser control connection.
playwright-cli
Use this whenever the user asks to browse, navigate, click, fill a form, scrape, take a screenshot, or otherwise interact with a web page. SLICC drives the browser through the playwright-cli shell command (also aliased as playwright and puppeteer). Read this BEFORE running any browser automation: every tab-operating…
playwright-cli-e2e
Use this when you need to test or QA the playwright-cli browser-automation command, re-run the browser-automation test session, check playwright-cli for regressions, or verify that browser automation still works after a change. Covers a repeatable 12-group e2e session: a pcli-e2e runner that automates the…
handoff
Use this when you receive a Navigate Event lick — emitted whenever the user opens a tab whose main-frame response advertises a SLICC handoff via an RFC 8288 Link header. Covers both verbs: handoff: renders a human approval card and acts on accept (never auto-accept, never fetch before approval); upskill: installs via…