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 reliefeai/browser-relay --skill browser-relaygit clone --depth 1 https://github.com/reliefeai/browser-relayWrote 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/reliefeai/browser-relay/browser-relay)<a href="https://agentmods.dev/skills/reliefeai/browser-relay/browser-relay"><img src="https://agentmods.dev/badge/skills/reliefeai/browser-relay/browser-relay/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/reliefeai/browser-relay/browser-relay"><img src="https://agentmods.dev/badge/skills/reliefeai/browser-relay/browser-relay.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
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 Agent Snooping · line 327 Skill accesses MCP server configuration files (mcp.json). MCP configs contain server URLs, authentication tokens, and tool definitions — reading them allows the skill to discover and potentially abuse other tool integrations.Fix: Remove all code or instructions that read MCP configuration files (mcp.json). MCP server details should be managed by the agent runtime, not read by individual skills.
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.00052 | $0.01789 |
| Opus 5.5 | $0.00021 | $0.00716 |
| Sonnet 5.5 | $0.00010 | $0.00358 |
| Haiku 4.5 | $0.00005 | $0.00179 |
Grade A, and why
browser-relay 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 1mo 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 — 157 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Browser Relay
Use the user's existing browser and login state. Select an actual tab ID by URL and title; a foreground change must not redirect your work.
browser-relay tabs
browser-relay read --tab <id> --session <task-name>
Use a distinct session name for each independent task. Managed operations claim the tab for that session. Another owner must release or hand it off before you operate it; never stop someone else's session merely to gain access. These leases coordinate trusted clients, not access control against local software.
Choose the observation that answers the question
- Reading:
readfocuses on main content and preserves semantic groups, complete text and full URLs.read --ref <ref>reads an observed subtree. - Operating:
observeincludes the whole page, controls, states and refs. Use it to find navigation, dialogs or controls outside the main content. - Seeing: use screenshots for canvas, layout, missing accessible text or a
semantic action with an unexpected outcome. In the runtime,
tab.observe({mode:'both'})returns a snapshot and screenshot together. With CLI useobserve --mode both --output /tmp/page.png --tab <id> --session <name>.
Follow nextCursor (read --cursor <cursor>) when an observation is truncated.
A cursor continues the same captured text; it is not a new live observation.
After navigation it expires. If the page exceeds the cache limit, read a smaller
subtree. Do not report a partial result as the complete page or article.
Runtime output has a separate budget: if runtimeOutput.nextCursor is returned,
run its readWith expression in the same session to recover the clipped output.
Then follow any browser nextCursor it contains; a new diff cannot recover it.
A site's “Show more” is separate from output pagination: expand the site control
when the task needs the full article. Group parents, quoted material and replies
remain distinct; do not count recommendations as comments or duplicate cards.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 1mo ago Changed · +5 lines 54960cbeb8ea
- 1mo ago Changed · -209 lines · -34 tokens per session 595c5c1937ce
- 1mo ago First seen · 361 lines · 86 tokens per session scan A 5e2b8ac45251
browser-relay is a skill published in the GitHub repository reliefeai/browser-relay (136 stars, last pushed 1mo ago), licensed MIT. It adds 52 tokens to every session and 1,789 once invoked, about $0.0002 per session on Opus 5.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-30.
Other skills, from other repositories
web-cap
Use when you need to operate or inspect a real browser tab through local-first browser automation, including clicking, typing, reading page state, extracting data, navigating pages, or running reusable scripts against live browser sessions.
webclaw3
A browser-automation and web-data-collection skill that uses an existing Chrome session, including logged-in sites, to browse pages and gather information.
opencli-autofix
Automatically fix broken OpenCLI adapters when commands fail. Load this skill when an opencli command fails — it guides you through collecting a trace artifact, patching the adapter, retrying, and filing an upstream GitHub issue after a verified fix. Works with any AI agent.
opencli-adapter-author
Build or improve an OpenCLI JS adapter using observed site behavior, existing adapters and browser API evidence. For ad-hoc browser interaction, see opencli-browser.
opencli-browser
Drive Chrome with OpenCLI to inspect pages, interact with logged-in sites, capture API evidence, and manage native tabs, groups and windows. For reusable adapters, see opencli-adapter-author.
webcmd-browser
Use when a live browser task requires Playwright interaction, authenticated handoff, visible UI verification, or ad-hoc page inspection.