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 skills add emanuelcasco/pi-mono-extensions --skill web-searchgit clone --depth 1 https://github.com/emanuelcasco/pi-mono-extensionsWrote 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/emanuelcasco/pi-mono-extensions/web-search)<a href="https://agentmods.dev/skills/emanuelcasco/pi-mono-extensions/web-search"><img src="https://agentmods.dev/badge/skills/emanuelcasco/pi-mono-extensions/web-search/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/emanuelcasco/pi-mono-extensions/web-search"><img src="https://agentmods.dev/badge/skills/emanuelcasco/pi-mono-extensions/web-search.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00037 | $0.00482 |
| Opus 5 | $0.00018 | $0.00241 |
| Sonnet 5 | $0.00007 | $0.00096 |
| Haiku 4.5 | $0.00004 | $0.00048 |
Grade A, and why
web-search 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 10d 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.
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.
What it actually says
Web Search
Search the web and read page content using DuckDuckGo and Mozilla Readability extraction.
Prerequisites
No external system tools are required. Search and page fetching use the Node.js runtime built into pi.
Tools
web_search
Search the web using DuckDuckGo. Returns titles, URLs, and content snippets.
When to use:
- The user asks to find information online
- Looking up documentation not available locally
- Verifying facts or looking up recent data
Parameters:
query(string, required): Search querymaxResults(number, optional, default 5, max 10): How many results to returnmaxResponseChars(number, optional): Truncate output to this many characters
Guidelines:
- Always follow up with
web_readif the user needs full page content - DuckDuckGo is used — no API key required
- Rate limits apply; avoid rapid repeated queries
web_read
Fetch a web page and extract readable content.
When to use:
- You need the full content of a specific page
- Following up on a
web_searchresult - Reading documentation or articles
Parameters:
url(string, required): Page URL (must behttp:orhttps:)maxChars(number, optional, default 8000, max 50000): How many characters of content to returnmaxResponseChars(number, optional): Truncate output to this many characters
Guidelines:
- Works best on article/blog pages
- JavaScript-heavy SPAs may return limited content (no JS execution)
- Private/internal URLs (
localhost,127.0.0.1,169.254.x.x, etc.) are blocked for security
Limitations
- No JavaScript rendering: Pages that require JS to load content will return incomplete results.
- HTML only: PDFs or other binary formats are not supported.
- DuckDuckGo rate limiting: Aggressive querying may be throttled.
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.
- 10d ago First seen · 65 lines · 37 tokens per session scan A 68ad863e3628
web-search is a skill published in the GitHub repository emanuelcasco/pi-mono-extensions (100 stars, last pushed 14d ago), licensed MIT. It adds 37 tokens to every session and 482 once invoked, about $0.0002 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-30.
Other skills, from other repositories
codebase-memory
Use the codebase knowledge graph for structural code queries. Triggers on: explore the codebase, understand the architecture, what functions exist, show me the structure, who calls this function, what does X call, trace the call chain, find callers of, show dependencies, impact analysis, dead code, unused functions…
using-pi-subagents
Operate pi-subagents jobs safely, including direct-work decisions, least-privilege tool selection, thinking-level selection, delegation, bidirectional messaging, parallel starts, timeout selection, waiting, cancellation, result handling, verification, and writer isolation.
configuring-pi-starship
Configure @narumitw/pi-starship and answer questions about its pi-starship.toml settings. Use when the user asks to create, edit, repair, migrate, or understand pi-starship.toml, or asks which pi-starship module, variable, option, style, palette, preset, or runtime behavior to use. Do not use for generic TOML, shell…
herdr
Control Herdr, a terminal multiplexer for coding agents. Use only when the user explicitly mentions Herdr or asks to use Herdr to inspect or control panes, tabs, workspaces, commands, or another agent. Do not use merely because a task could benefit from a background terminal, delegation, or parallel work. Requires…
pi-costs
Analyze pi session costs. Use when the user asks about spending, costs, token usage, or session statistics.
plannotator-compound
Analyze a user's Plannotator plan archive to extract denial patterns, feedback taxonomy, evolution over time, and actionable prompt improvements — then produce a polished HTML dashboard report. Falls back to Claude Code ExitPlanMode denial reasons when Plannotator data is unavailable.