chromux-work

chromux-work is a skill for Claude Code, Codex from modakbul-gongbang/chromux. It costs 47 tokens per session (5,861 once invoked), scanned B, original, MIT.

A workflow for using Chromux to carry out multi-page browser tasks. It covers choosing a browser profile, checking access and page structure, coordinating sessions, collecting evidence, and cleaning up afterward.

In plain words
What is it for?
Use it for website research, search or feed collection, logged-in site inspection, cross-page verification, and controlled crawling with several browser sessions.
Why use it?
It gives agents a repeatable way to handle research, logged-in website checks, and crawling while reducing errors caused by skipping access checks or opening too many browser tabs.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: mentions subagents.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node benchmarks/chromux-benchmark.mjs --smoke --out /tmp/chromux-benchmark.json.

Good fit Use it for website research, search or feed collection, logged-in site inspection, cross-page verification, and controlled crawling with several browser sessions.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/modakbul-gongbang/chromux
agentmods
npx agentmods add skills/modakbul-gongbang/chromux/chromux-work

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for chromux-work

README.md
[![agentmods](https://agentmods.dev/badge/skills/modakbul-gongbang/chromux/chromux-work/github.svg)](https://agentmods.dev/skills/modakbul-gongbang/chromux/chromux-work)
Your own site
<a href="https://agentmods.dev/skills/modakbul-gongbang/chromux/chromux-work"><img src="https://agentmods.dev/badge/skills/modakbul-gongbang/chromux/chromux-work/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.

agentmods 80×15 button for chromux-work

Your own site · 80×15
<a href="https://agentmods.dev/skills/modakbul-gongbang/chromux/chromux-work"><img src="https://agentmods.dev/badge/skills/modakbul-gongbang/chromux/chromux-work.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 47 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 5,861 The whole file, excluding the scripts and references it only reads on demand.
Security scan B 1 finding. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector warn 7 Sept 2026
SkillSpector: 1 finding, up to high

These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →

  • high Prompt Injection · line 208
    This pattern attempts to override system instructions or ignore safety constraints. Without LLM analysis, manual review is recommended.
    Fix: Remove or rewrite any text that instructs the agent to ignore prompts, override safety rules, or trust unverified content. Ensure skill content cannot be injected to alter agent behavior.
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00047 $0.05861
Opus 5 $0.00023 $0.02930
Sonnet 5 $0.00009 $0.01172
Haiku 4.5 $0.00005 $0.00586

Measured 11d ago against content hash 0296fc5983f9, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade B, and why

chromux-work scanned grade B with 1 finding 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.

Instruction-override phrasingmediumPrompt injection

Text telling the model to disregard its earlier instructions or safety rules is the shape of a prompt injection, whoever wrote it.

("ignore previous instructions", "run this command", "navigate to ... and

Downgraded: this mod is about security review, or the phrase is quoted, so it is likely naming the pattern rather than instructing it.

skills/chromux-work/SKILL.md · 503 lines

How it starts

The opening of the file, as written. The whole thing — 503 lines — stays where its author put it; the contents beside it link to each section on GitHub.

chromux-work

Use this workflow for browser tasks that need more than a single page check: research, feed/search collection, logged-in site inspection, cross-page verification, or parallel browser work. For command syntax, use the chromux skill and chromux help.

This workflow applies to macOS, Linux, and native Windows. On Windows, prefer PowerShell examples when installing or smoke-testing the CLI; browser work still uses the same chromux command surface.

Contract

  • Use chromux, not Playwright/Puppeteer, unless the user explicitly chooses a different tool.
  • Start from a real chromux profile. Prefer an existing logged-in profile for user-owned sites.
  • Same profile, different sessions: subagents share the selected profile and use unique session names. Concurrent cold starts are coordinated by chromux, but pre-launching the profile is still useful when you want faster first work.
  • Recon first. Do not fan out before checking login state, page shape, blockers, site hints, and whether the task is parallel-safe.
  • For crawling, use CHROMUX_MODE=crawl and a small worker-tab pool instead of one tab per URL. Default recommendation: 3 to 5 worker sessions per profile.
  • For plain URL batches, prefer chromux batch --file urls.txt --workers N --retries N --host-backoff-ms MS instead of asking subagents to hand-roll open/run loops.
  • Treat batch as a browser execution primitive, not a domain-specific extractor. Use it for URL load verification and simple page metadata; use checked-in per-site extractors when a task needs structured records.
  • For UI work, do not treat open or an action response as proof. Use snapshot, wait-for-text, wait-for-selector, run, or screenshot to prove the resulting state. After an in-page action, snapshot --diff is the cheapest proof: it prints only what changed since your previous snapshot (action responses include it as the next command).
  • Minimize round-trips: bundle a known multi-step sequence (navigate, click, fill, wait, read back) into a single chromux run call instead of issuing many separate click/fill/snapshot commands. Each separate command is a full agent round-trip; one run with page(...)/js(...) is far faster and is the main reason a single-call browser flow feels fast.
  • Use chromux run --receipt PATH for important QA or mutation-adjacent flows so the final report has redacted timing, state, and failure-kind evidence.
  • Observe with snapshot before reaching for screenshot. Use snapshot --interactive when you only need actionable elements (buttons, links, inputs) — it returns a much smaller payload. Reserve screenshot for visual verification a text snapshot cannot capture.
  • For canvas, range sliders, drag/drop, and other visual-only surfaces, read chromux skill visual. Use measured screenshot coordinates with hover/click/drag; never assume screenshot pixels equal CSS units.
  • Default cross-origin frame recon is origin-only geometry. Use open --oopif only when the task requires namespaced child refs or reliable child text actions, and refresh the snapshot after child navigation or detach.
  • For parent-controlled shutdown, use chromux pause <profile> to reject new browser work, then chromux resume <profile> before the next wave.
  • Keep work read-only unless the user explicitly asked to mutate state.
  • Close every session you open. Do not suppress chromux close output unless the user explicitly asked for silence. chromux closes tabs idle for 30 minutes and shuts down an auto-launched browser 15 minutes after its last session ends, but that is a backstop for crashes and interruptions, not a reason to leave tabs open — everything you leave behind keeps a renderer alive until the timer fires.
  • After close, review any knowledgeHint. Update ~/.chromux/skills/<host>/*.md when this run revealed durable public site behavior or stale/wrong notes.
  • Treat a learnNext field on any open or close response as a required checkpoint, not a suggestion. It appears only when the host has no durable knowledge yet or one of its files has gone stale, and it names the oldest file plus the exact chromux note / chromux script save commands. Do not end the task with an unaddressed learnNext: either save what this run proved, or state why nothing durable was learned. This is the write half of the learning loop — skipping it is why a host stays expensive on every future visit.
  • If a hint turned out to be wrong, edit that file and remove the wrong claim. note --add appends, so correcting with it leaves the wrong claim and its rebuttal side by side and the next agent believes whichever it reads first. Hint headers and learnNext both carry the real path; open it with your normal file tools. Writing a new note in a sibling file does not clear the stale one.
  • When a derived flow (selectors, waits, extraction) worked and is likely to be repeated, save it as a replay script: chromux script save <host>/<name> --file flow.js. Future runs on that host see it in the open response and replay it with chromux run <session> --script <host>/<name> instead of re-deriving the flow. If a replay fails, fix the script against a fresh snapshot and save it again. For structured extraction, pair the script with --schema so results that drift from the expected shape fail loudly.

Read the full file on GitHub · 503 lines

Changes

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.

  1. 11d ago First seen · 503 lines · 47 tokens per session scan B 0296fc5983f9

Subscribe to this mod's changes

chromux-work is a skill published in the GitHub repository modakbul-gongbang/chromux (40 stars, last pushed 17d ago), licensed MIT. It adds 47 tokens to every session and 5,861 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it B with 1 finding (instruction-override phrasing). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

debug-optimize-lcp

Guides debugging and optimizing Largest Contentful Paint (LCP) using Chrome DevTools MCP tools. Use this skill whenever the user asks about LCP performance, slow page loads, Core Web Vitals optimization, or wants to understand why their page's main content takes too long to appear. Also use when the user mentions…

ChromeDevTools/chrome-devtools-mcp · 99 tokens

opencli-sitemap-author

Use when creating or maintaining OpenCLI site sitemaps: agent-facing navigation, page-state, action, workflow, API-reference, pitfall, and fallback knowledge for a website. Use after browser exploration discovers durable site context, when a sitemap is stale, or when promoting local site knowledge into the repo.

jackwener/OpenCLI · 67 tokens

interactive-login

How to complete browser/interactive logins (aws / gh / glab / gcloud). The platform backgrounds the login poller so it survives the human's browser round-trip — and when that does NOT work.

yc-software/qm · 46 tokens

pinchtab-mcp

Use this skill when a task requires browser automation through PinchTab's MCP server connected to a remote browser instance. Covers navigation, element interaction, data extraction, form filling, multi-step flows, and session management via MCP tools.

pinchtab/pinchtab · 52 tokens

azure-messaging-webpubsub-java

Build real-time web applications with Azure Web PubSub SDK for Java. Use when implementing WebSocket-based messaging, live updates, chat applications, or server-to-client push notifications.

microsoft/skills · 43 tokens

google-safe-browsing

Prevent and fix Google Safe Browsing "Dangerous site" flags. Use when launching a public web app, buying/picking a domain, building a login or signup page, or when any site shows a red "Dangerous site" / "Deceptive site" warning in Chrome, Brave, Safari, Firefox, or Edge. Triggers on "dangerous site", "deceptive…

davidondrej/skills · 105 tokens