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/aksika/abtars/web-fetchnpx skills add aksika/abtars --skill web-fetchgit clone --depth 1 https://github.com/aksika/abtarsWrote 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/aksika/abtars/web-fetch)<a href="https://agentmods.dev/skills/aksika/abtars/web-fetch"><img src="https://agentmods.dev/badge/skills/aksika/abtars/web-fetch.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.1 | $0.00017 | $0.00736 |
| Opus 5 | $0.00009 | $0.00368 |
| Sonnet 5 | $0.00003 | $0.00147 |
| Haiku 4.5 | $0.00002 | $0.00074 |
Grade A, and why
web-fetch 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 6d 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.
description: Fetch web content — 4-level escalation chain from curl to full browser How it starts
The opening of the file, as written. The whole thing — 99 lines — stays where its author put it; the contents beside it link to each section on GitHub.
web-fetch
Four levels of web content retrieval. Use the lightest level that works. Escalate up only when the current level fails.
Level 1 — curl (fastest, no rendering)
curl -sL "URL" --max-time 10 | head -200
Use when: open site, simple HTML, just need raw text.
Level 2 — Jina Reader (CF bypass, clean markdown)
curl -sL "https://r.jina.ai/URL" \
-H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36" \
--max-time 15
Use when:
- Direct curl returns CF challenge page or HTML soup
- Want clean markdown output instead of raw HTML
- Site has basic Cloudflare protection
Limitations: no JS execution, rate-limited (don't loop >5 URLs rapidly), some aggressive CF still blocks it.
Level 3 — lightpanda (JS rendering, fast)
lightpanda fetch --dump markdown --strip-mode full --wait-ms 5000 "URL"
Use when:
- Levels 1-2 returned empty/broken content
- Page requires JavaScript to render (SPA, React, dynamic content)
- Still a single page, no interaction needed
10x faster than Chrome. Handles most JS-rendered pages. No login/interaction.
Level 4 — CloakBrowser (full browser, interaction)
Escalate to a managed Browsie session. Create a B-type kanban card with a detailed goal and report the card ID. Do NOT invoke a browser CLI from Main.
Goal checklist
Include in the goal:
- Objective and expected outcome
- Starting URL(s) and any prior fetch results
- Required interactions (login, forms, clicks, navigation)
- Expected artifacts (screenshots, extracted text, page info)
- Success criteria and stopping condition
Direct API
kanban_manage action=create type=B title="<short title>" goal="<detailed goal>"
ACP
abtars kanban create --type B --title "short title" --goal "$(cat <<'GOAL'
detailed goal text
GOAL
)"
Or pass a goal file:
abtars kanban create --type B --title "short title" --goal-file /tmp/goal.txt
Acknowledgement
When the card is queued, say: "Browsie task #<id> queued — result will appear here when complete." Do NOT proceed with inline browser commands.
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.
- 6d ago First seen · 99 lines · 17 tokens per session scan A 100ced183286
web-fetch is a skill published in the GitHub repository aksika/abtars (9 stars, last pushed yesterday), licensed Apache-2.0. It adds 17 tokens to every session and 736 once invoked, about $0.0001 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-31.
Other skills, from other repositories
Web Read
Keeps direct URL reading and text extraction available when a specific page matters more than search results.
tlamatini-daily-chat-test
Run the daily automated Tlamatini chat regression — drive a visible Chrome via Playwright, log into agentpage.html, ask up to 1000 curated safe questions one-by-one (Multi-Turn ON, ACPX/Ask-Execs/Exec-Report/Internet OFF), wait for and qualify each answer (heuristic + LLM judge on failures), then write a dated report…
url-gen
Generate clean, human-facing URLs for fetch tools when external evidence is needed.
project-daily-chat-test-skill
The tlamatini-daily-chat-test Claude Code skill — Playwright/real-Chrome harness that asks 1000 curated questions to the Tlamatini chat daily and qualifies the answers.
web-access
Use this skill whenever the user needs to access information from the internet — searching for current information, fetching public web pages, browsing login-gated sites (微博/小红书/B站/飞书/Twitter), comparing products, researching topics, gathering documentation, or summarizing news. This skill orchestrates four…
Web Search
Keeps lightweight public-web discovery available for prompts, scheduled jobs, and follow-up research.