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/lexmount/moli/moli-webfetchnpx skills add lexmount/moli --skill moli-webfetchgit clone --depth 1 https://github.com/lexmount/moliWrote 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/lexmount/moli/moli-webfetch)<a href="https://agentmods.dev/skills/lexmount/moli/moli-webfetch"><img src="https://agentmods.dev/badge/skills/lexmount/moli/moli-webfetch.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.00090 | $0.01348 |
| Opus 5 | $0.00045 | $0.00674 |
| Sonnet 5 | $0.00018 | $0.00270 |
| Haiku 4.5 | $0.00009 | $0.00135 |
Grade A, and why
moli-webfetch 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 --proto '=https' --tlsv1.2 -fsSL \ How it starts
The opening of the file, as written. The whole thing — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fetch Websites with Moli
Use Moli's one-shot fetch command to read or capture websites. Moli executes
JavaScript and maintains the live DOM by default. Keep ordinary text retrieval
structure-first; enable layout only when the result needs pixels or pagination.
Workflow
-
Resolve
molifromPATH. If it is unavailable, install the latest prebuilt release for the current platform:Linux or macOS:
curl --proto '=https' --tlsv1.2 -fsSL \ https://github.com/lexmount/moli/releases/latest/download/moli-installer.sh | shOn Windows, use PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://github.com/lexmount/moli/releases/latest/download/moli-installer.ps1 | iex"Resolve the installed binary again and run
moli --version. The default location is~/.local/bin/molion Linux/macOS and%LOCALAPPDATA%\Moli\bin\moli.exeon Windows when it is not yet onPATH. -
Fetch the seed URL as Markdown with the default completion strategy:
moli fetch --dump markdown --wait-until done "https://example.com" -
Check the exit status and verify that stdout contains the requested page content. Keep stderr available for diagnostics; do not mix log output into the extracted content.
-
For dynamically rendered pages, choose the completion signal that matches the site:
- Use
--wait-until networkidlewhen relevant data loading finishes after network activity becomes quiet. - Use
--wait-until domstablewhen content is ready after DOM mutations settle. Avoidnetworkidleon long-polling or streaming pages, and avoiddomstablewhen the page continuously mutates timers, counters, or animations.
moli fetch --dump markdown --wait-until networkidle "https://example.com/app" moli fetch --dump markdown --wait-until domstable "https://example.com/feed" - Use
-
If important client-rendered content is still absent, select a page-specific readiness signal. Prefer a stable content selector over a fixed delay:
What ships with it
2 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.
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 · 125 lines · 90 tokens per session scan A b68d93673030
moli-webfetch is a skill published in the GitHub repository lexmount/moli (1,673 stars, last pushed today), licensed Apache-2.0. It adds 90 tokens to every session and 1,348 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
webcmd-browser
Use when a live browser task requires Playwright interaction, authenticated handoff, visible UI verification, or ad-hoc page inspection.
Agent Browser Automation
Fast Rust-based headless browser automation CLI with Node.js fallback for AI agents, featuring navigation, clicking, typing, snapshots, and structured commands optimized for agent workflows.
release-process
End-to-end release runbook for playwright-rust — version bump, supply-chain refresh, per-crate CHANGELOGs, tag-prefix routing for the three workspace crates, the safer push-then-tag workflow that waits for CI before publishing, and the post-release follow-ups.
playwright-rs-usage
Procedural reference for using playwright-rs in Rust browser-automation code — object model (Browser/Context/Page/Locator), the locator!() macro, builder pattern for options, auto-wait semantics, adding the crate and installing its browsers, and how to capture / inspect traces for failure diagnosis. Use when writing…
servo-fetch
Fetch and render web pages using the Servo browser engine — a single binary with JS execution, CSS layout, screenshots, and content extraction. Use when a URL returns empty or incomplete content with plain HTTP fetch, when you need a screenshot without GPU, or when you need to run JavaScript in a page context. No…
doctest-conventions
Conventions for authoring rustdoc doctests in playwright-rust — the norun annotation, module-level placement, hidden scaffolding lines, and how doctests are exercised in CI vs pre-commit.