fast-browser CLAUDE.md

Repository instructions for developing and releasing the Fast Browser plugin, which provides browser automation for coding agents.

In plain words
What is it for?
They help maintain setup commands, skills, macros, routing rules, runtime locks, and releases for the Fast Browser project.
Why use it?
They clarify whether a change belongs in this plugin or in the separate browser-driving code, and explain how runtime versions are pinned.

Instructions file

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 instructions/m4ttstack/fast-browser/claude-md
Clone the repo
git clone --depth 1 https://github.com/m4ttstack/fast-browser
Per session 1,446 This file is loaded in full into every session.
When invoked 1,446 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
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 $0.01446 $0.01446
Opus 5 $0.00723 $0.00723
Sonnet 5 $0.00289 $0.00289
Haiku 4.5 $0.00145 $0.00145

Measured yesterday against content hash ef16b7a5838c, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

fast-browser CLAUDE.md 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 yesterday.

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.

CLAUDE.md · 131 lines

How it starts

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

Fast Browser plugin

This repo is the plugin: skills, agents, macros, the installer, and the runtime-lock.json that pins which runtime and Chrome extension get installed.

It does not contain the code that drives the browser. That lives in a fork of Playwright and ships as prebuilt artifacts. Most "Fast Browser is behaving wrong" bugs cannot be fixed here.

Where a change belongs

Symptom Repo
relay drops, CDP, tab groups, extension behavior, MCP tools the fork (see below)
setup, doctor, uninstall, migrate, config, annotate, gif here, lib/
skills, agents, macros, routing rules here
which runtime version is installed here, runtime-lock.json

The fork is m4ttheweric/playwright, normally cloned as a sibling of this repo. Browser-driving code is mostly packages/extension/src/ and packages/playwright/src/mcp/.

Fork branch: use fast-browser-runtime

All Fast Browser work, including the packaging and release tooling, is on the fast-browser-runtime branch. The fork usually keeps a worktree for it under .worktrees/fast-browser-runtime, parked on the commit the current lock names.

main and multi-connection-extension are behind that branch and have none of the release tooling. Landing a fix there produces a runtime that cannot be built or released. Some files are byte-identical across the branches, so a clean git diff proves nothing. Check git log HEAD..fast-browser-runtime before picking a branch.

Verify with runtime-lock.json's sourceCommit, which is the exact commit the installed artifacts were built from.

Releasing a new runtime

GitHub Actions is disabled on the fork on purpose: it is a Playwright fork, so enabling it runs the entire upstream Playwright CI suite. Do not turn it on, and do not "fix" publish_fast_browser.yml expecting it to run. Artifacts are built locally.

From the fork worktree, with the fix committed:

node utils/build/build.js
npm run test-extension                       # real Chrome, ~40s
node utils/fast_browser/build_artifacts.mjs --version <v> --out-dir fast-browser-dist
gh release create fast-browser-v<v> --repo m4ttheweric/playwright \
  --target fast-browser-runtime --title "Fast Browser <v>" --notes-file <notes>
gh release upload fast-browser-v<v> fast-browser-dist/* --repo m4ttheweric/playwright

Read the full file on GitHub · 131 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. yesterday First seen · 131 lines · 1,446 tokens per session scan A ef16b7a5838c

Subscribe to this mod's changes

fast-browser CLAUDE.md is an instructions file published in the GitHub repository m4ttstack/fast-browser (0 stars, last pushed 7d ago), licensed MIT. It adds 1,446 tokens to every session, about $0.0072 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.