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 agentmods add skills/tyox-all/weave_protocol/browsernpx skills add Tyox-all/Weave_Protocol --skill browsergit clone --depth 1 https://github.com/Tyox-all/Weave_ProtocolWhat 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 | $0.00144 | $0.01449 |
| Opus 5 | $0.00072 | $0.00724 |
| Sonnet 5 | $0.00029 | $0.00290 |
| Haiku 4.5 | $0.00014 | $0.00145 |
Grade A, and why
weave-browser 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.
How it starts
The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Browser-agent security (Weave Protocol)
The @weave_protocol/browser package enforces WARD.md policies inside browser-based AI agents and detects indirect prompt injection (IPI) in page content. It's the fifth WARD enforcement surface (after MCP, Claude Code, Antigravity, and MSAF).
When to use
- User is building a browser agent with Playwright, Puppeteer, Stagehand, browser-use, or similar
- User's agent fetches and reasons about web content (scraping, research, automation)
- User wants to detect indirect prompt injection (IPI) in pages before ingestion
- User wants navigation gating (which URLs the agent may visit)
- User wants download gating (block executables, scripts, etc.)
- User wants to elevate scrutiny on agent actions taken after ingesting untrusted content
Primary API
import { WardBrowserGuard } from '@weave_protocol/browser';
const guard = new WardBrowserGuard({
// wardPath: './WARD.md' // explicit; otherwise auto-resolves
// ipiSensitivity: 'strict' | 'standard' | 'lenient' // default: 'standard'
// failMode: 'open' | 'closed' // default: 'open'
});
// Four enforcement methods:
await guard.checkNavigation(url, sessionId); // gate URL fetch
await guard.scanForInjection(html, { url, sessionId, isHtml: true });
await guard.checkDownload({ url, filename, mimeType });
await guard.checkAction(capability, sessionId); // gate tool calls post-ingestion
// One-line Playwright integration:
guard.wrapPlaywrightPage(page, sessionId);
What it detects
33 IPI patterns across these categories:
- Trigger phrases (9): "ignore previous", role hijack, chat-template tokens
- Action directives (4, critical): send email/payment/exec to X
- Payment specifications (1, critical): recipient + amount in proximity (Atlan autonomous-fraud pattern)
- Hidden CSS content (6): display:none, visibility:hidden, white-on-white (Brave/Comet pattern), off-screen
- HTML injection (5): comments, noscript, aria-hidden, meta tags, alt text
- Encoding obfuscation (3): base64, Unicode zero-width, data:text/html
- Tool-call mimicry (2): JSON or XML resembling LLM tool calls
- DoS / suppression (2): false copyright claims, "do not summarize"
- SVG + script (1): XSS+IPI combination
What ships with it
12 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.
- .gitignore 36 B
- package-lock.json 42 KB
- package.json 1.4 KB
- README.md 14 KB
- src/cli.ts 14 KB runs code
- src/guard.ts 17 KB runs code
- src/index.ts 933 B runs code
- src/ipi.ts 21 KB runs code
- src/policy.ts 5.0 KB runs code
- src/provenance.ts 2.5 KB runs code
- src/types.ts 7.8 KB runs code
- tsconfig.json 487 B
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.
- yesterday First seen · 104 lines · 144 tokens per session scan A 5ea05567b642
weave-browser is a skill published in the GitHub repository Tyox-all/Weave_Protocol (0 stars, last pushed 9d ago), licensed Apache-2.0. It adds 144 tokens to every session and 1,449 once invoked, about $0.0007 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
playwright-pom-discovery
Use when building or extending a Page Object Model (POM) for the Opik E2E suite (under testsendtoend/e2e/pom/) and you need to choose stable selectors against the live UI. Walks through seeding required state, exploring the running page with the Playwright MCP (accessibility snapshot + data-testid enumeration)…
defuddle
Plan and, with explicit network consent, use an optional external Defuddle cleaner to extract article-like HTTPS pages as Markdown. Use for defuddle, clean this URL, strip page clutter, readable Markdown from a web page, or preparing a web source for later wiki ingestion.
browser-automation
Playwright-based browser automation patterns for autonomous web interaction.
amazon
Shop on Amazon and Amazon Fresh through your browser.
rtc-balance
Check RustChain wallet balance, epoch info, and network status via the public RPC.
macos-use
GUI control for macOS apps via mediar-ai's mcp-server-macos-use. Click, type, scroll, key-press, open apps — driven by accessibility tree, works in non-interactive Claude Code mode. Use this for any Sutando task that needs to drive another macOS application (Safari, Zoom, Mail, Finder, etc.).