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/mrobinson2/azureagentforge/web-readnpx skills add mrobinson2/AzureAgentForge --skill web-readgit clone --depth 1 https://github.com/mrobinson2/AzureAgentForgeWrote 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/mrobinson2/azureagentforge/web-read)<a href="https://agentmods.dev/skills/mrobinson2/azureagentforge/web-read"><img src="https://agentmods.dev/badge/skills/mrobinson2/azureagentforge/web-read.svg" alt="Measured on agentmods" height="20"></a>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 | $0.00109 | $0.00630 |
| Opus 5 | $0.00055 | $0.00315 |
| Sonnet 5 | $0.00022 | $0.00126 |
| Haiku 4.5 | $0.00011 | $0.00063 |
Grade A, and why
web-read scanned grade A 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 4d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
`curl` a URL to read it. The `web-read` CLI is on `$PATH`. What it actually says
Read a web page as clean Markdown with web-read
web-read is a CLI on $PATH that fetches a URL through Jina Reader
and returns clean, readable Markdown — the page's actual content with the
HTML tags, scripts, and navigation chrome stripped server-side.
Prefer
web-readover rawcurlwhen your goal is to read a page. Rawcurlreturns the HTML source (tags and all), which buries the content and wastes context. Usecurlonly for API calls or whenweb-readcan't reach a page.
Usage
# Clean Markdown to stdout — capture it so you can grep/quote it later:
web-read "https://example.com/article" > /tmp/page.md
head -c 5000 /tmp/page.md
# Structured JSON ({title, url, content, ...}) instead of Markdown:
web-read --json "https://example.com/article"
Only http:// and https:// URLs are accepted. Quote the URL.
Behavior and exit codes
| Exit | Meaning |
|---|---|
0 |
Success — page content is on stdout. |
2 |
Usage / validation error (no URL, bad scheme, unknown flag). Fix the call. |
3 |
Fetch failed — non-2xx from Jina or a timeout. A clear error is printed to stderr. Treat as a failed fetch: try another URL or stop; do not fabricate content. |
All errors go to stderr, so web-read "$url" > /tmp/page.md leaves /tmp/page.md
holding clean content (or empty on failure) — never an error string mixed into the text.
Environment
| Variable | Purpose |
|---|---|
JINA_API_KEY |
Optional. Sent as a Bearer token for a higher rate limit. Anonymous (no key) still works. |
WEB_READ_TIMEOUT |
Optional. Per-request timeout in seconds (default 20). |
Privacy note
The target URL transits r.jina.ai, a third-party reader service. That is fine
for public research. Do not point web-read at private, internal, or
regulated content — fetch those with curl directly instead.
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.
- 4d ago First seen · 58 lines · 109 tokens per session scan A 28f0f615a879
web-read is a skill published in the GitHub repository mrobinson2/AzureAgentForge (21 stars, last pushed 13d ago), licensed MIT. It adds 109 tokens to every session and 630 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
pretext
Build creative browser demos with DOM-free text layout.
x402
Set up Browser Use Cloud payments with x402 — pay per request from a crypto wallet (USDC on Base mainnet), no signup or API key. Two setups it works out up front — "just use it" (set up a wallet so you or Claude Code can run cloud browser tasks paid from the wallet — Claude writes and runs throwaway scripts, nothing…
browser-use
Direct browser control via CDP for web interaction: automation, scraping, testing, screenshots, and site/app work.
plan-canvas
Open plans and HTML artifacts in a local browser canvas where the human annotates elements, chats, and approves or requests changes without leaving the page. Use when presenting a plan for review, or when feedback like "move this, change that" is easier pointed at than typed.
playwright
Use when the task requires capturing or automating a real browser from the terminal.
cloud
Documentation reference for using Browser Use Cloud — the hosted API and SDK for browser automation. Use this skill whenever the user needs help with the Cloud REST API (v2, v3, or v4), browser-use-sdk (Python or TypeScript), X-Browser-Use-API-Key authentication, cloud sessions, browser profiles, profile sync, CDP…