browse

browse is a skill for Claude Code, Codex from lmanchu/iris-system. It costs 94 tokens per session (2,153 once invoked), scanned C, a copy of gstack, MIT.

A browser automation skill for Claude Code that controls a persistent headless Chromium browser. It can open pages, inspect content and code, interact with forms, take screenshots, and capture browser diagnostics.

In plain words
What is it for?
Use it to browse URLs, click and fill page elements, run JavaScript, inspect CSS and the page structure, take screenshots, and review console or network logs.
Why use it?
It lets an agent inspect and test websites through an actual browser rather than relying only on source files or text requests.

Skill for Claude CodeCodex

Install

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.

agentmods
npx agentmods add skills/lmanchu/iris-system/browse
Any agent
npx skills add lmanchu/iris-system --skill browse
Clone the repo
git clone --depth 1 https://github.com/lmanchu/iris-system

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 browse

README.md
[![agentmods](https://agentmods.dev/badge/skills/lmanchu/iris-system/browse.svg)](https://agentmods.dev/skills/lmanchu/iris-system/browse)
Your own site
<a href="https://agentmods.dev/skills/lmanchu/iris-system/browse"><img src="https://agentmods.dev/badge/skills/lmanchu/iris-system/browse.svg" alt="Measured on agentmods" height="20"></a>
Per session 94 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,153 The whole file, excluding the scripts and references it only reads on demand.
Security scan C 2 findings. Scan, not verified.
Origin 95% copy Near-identical to another mod 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 $0.00094 $0.02153
Opus 5 $0.00047 $0.01077
Sonnet 5 $0.00019 $0.00431
Haiku 4.5 $0.00009 $0.00215

Measured 4d ago against content hash 9c2ec9a6b0c0, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade C, and why

browse scanned grade C with 2 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 4d ago.

The scan reads SKILL.md. This mod also ships 11 executable files (src/browser-manager.ts, src/buffers.ts, src/cli.ts, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

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.

Downloads and executes remote codehighSupply chain

curl | sh runs whatever the server returns today, which is not necessarily what it returned when this was reviewed.

3. If `bun` is not installed, tell the user to install it: `curl -fsSL https://bun.sh/install | bash`

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

3. If `bun` is not installed, tell the user to install it: `curl -fsSL https://bun.sh/install | bash`
Origin

This is a copy

95% identical to gstack — 2 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.claude/skills/gstack/browse/SKILL.md · 255 lines

How it starts

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

gstack: Persistent Browser for Claude Code

Persistent headless Chromium daemon. First call auto-starts the server (~3s). Every subsequent call: ~100-200ms. Auto-shuts down after 30 min idle.

SETUP (run this check BEFORE any browse command)

Before using any browse command, find the skill and check if the binary exists:

# Check project-level first, then user-level
if test -x .claude/skills/gstack/browse/dist/browse; then
  echo "READY_PROJECT"
elif test -x ~/.claude/skills/gstack/browse/dist/browse; then
  echo "READY_USER"
else
  echo "NEEDS_SETUP"
fi

Set B to whichever path is READY and use it for all commands. Prefer project-level if both exist.

If NEEDS_SETUP:

  1. Tell the user: "gstack browse needs a one-time build (~10 seconds). OK to proceed?" Then STOP and wait for their response.
  2. If they approve, determine the skill directory (project-level .claude/skills/gstack or user-level ~/.claude/skills/gstack) and run:
cd <SKILL_DIR> && ./setup
  1. If bun is not installed, tell the user to install it: curl -fsSL https://bun.sh/install | bash
  2. Verify the .gitignore in the skill directory contains browse/dist/ and node_modules/. If either line is missing, add it.

Once setup is done, it never needs to run again (the compiled binary persists).

IMPORTANT

  • Use the compiled binary via Bash: .claude/skills/gstack/browse/dist/browse (project) or ~/.claude/skills/gstack/browse/dist/browse (user).
  • NEVER use mcp__claude-in-chrome__* tools. They are slow and unreliable.
  • The browser persists between calls — cookies, tabs, and state carry over.
  • The server auto-starts on first command. No setup needed.

Quick Reference

B=~/.claude/skills/gstack/browse/dist/browse

# Navigate to a page
$B goto https://example.com

# Read cleaned page text
$B text

# Take a screenshot (then Read the image)
$B screenshot /tmp/page.png

# Snapshot: accessibility tree with refs
$B snapshot -i

# Click by ref (after snapshot)
$B click @e3

# Fill by ref
$B fill @e4 "[email protected]"

# Run JavaScript
$B js "document.title"

# Get all links
$B links

# Click by CSS selector
$B click "button.submit"

# Fill a form by CSS selector
$B fill "#email" "[email protected]"
$B fill "#password" "abc123"
$B click "button[type=submit]"

# Get HTML of an element
$B html "main"

# Get computed CSS
$B css "body" "font-family"

# Get element attributes
$B attrs "nav"

# Wait for element to appear
$B wait ".loaded"

# Accessibility tree
$B accessibility

# Set viewport
$B viewport 375x812

# Set cookies / headers
$B cookie "session=abc123"
$B header "Authorization:Bearer token123"

Read the full file on GitHub · 255 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. 4d ago First seen · 255 lines · 94 tokens per session scan C 9c2ec9a6b0c0

Subscribe to this mod's changes

browse is a skill published in the GitHub repository lmanchu/iris-system (5 stars, last pushed 2mo ago), licensed MIT. It adds 94 tokens to every session and 2,153 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it C with 2 findings (downloads and executes remote code, makes network calls). It is 95% identical to gstack, differing in 2 lines, and is treated as a copy.

Related

Other skills, from other repositories

web-inspect

Browser-based investigation using playwright-cli — open pages, inspect elements, check console errors, capture screenshots. Headed mode by default.

zahardev/aicontext · 30 tokens

add-tavily-tool

Add Tavily Search and Extract as keyless remote MCP tools for selected NanoClaw agent groups. Use when installing Tavily web search or URL extraction without an API key.

nanocoai/nanoclaw · 41 tokens

agent-browser

Browse the web for any task — research topics, read articles, interact with web apps, fill forms, take screenshots, extract data, and test web pages. Use whenever a browser would be useful, not just when the user explicitly asks.

nanocoai/nanoclaw · 51 tokens

computer-use

Drive native desktop apps through DeepChat's built-in Computer Use tools. Use when the user asks to operate, inspect, automate, or perform a GUI task in a real desktop application.

ThinkInAIXYZ/deepchat · 40 tokens

ha-browser

Hope Agent browser automation — the standard status → tabs → snapshot → act loop, stale-ref recovery rules, and what to do when login / 2FA / captcha / camera-prompt / dialog blocks progress. Load this skill whenever you reach for the browser tool. Trigger on: user asks the agent to open / control / click / scrape /…

shiwenwen/hope-agent · 140 tokens

dashboard-builder

Build self-contained interactive HTML dashboards with charts, filters, and tables. Generates a single browser-openable file — no server or dependencies required.

winstonkoh87/Athena-Public · 31 tokens