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 hec-ovi/websearch-skill --skill web-search-torgit clone --depth 1 https://github.com/hec-ovi/websearch-skillWrote 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/hec-ovi/websearch-skill/web-search-tor)<a href="https://agentmods.dev/skills/hec-ovi/websearch-skill/web-search-tor"><img src="https://agentmods.dev/badge/skills/hec-ovi/websearch-skill/web-search-tor/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/hec-ovi/websearch-skill/web-search-tor"><img src="https://agentmods.dev/badge/skills/hec-ovi/websearch-skill/web-search-tor.svg" alt="Reviewed on agentmods" width="80" 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.00137 | $0.01605 |
| Opus 5 | $0.00068 | $0.00803 |
| Sonnet 5 | $0.00027 | $0.00321 |
| Haiku 4.5 | $0.00014 | $0.00161 |
Grade A, and why
web-search-tor 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.
How it starts
The opening of the file, as written. The whole thing — 129 lines — stays where its author put it; the contents beside it link to each section on GitHub.
web-search-tor
Everything in the web-search skill, over Tor. Read that skill first for the commands;
this one covers the layer, what changes when it is on, and what does not work without it.
Turn it on
websearch tor up # start Tor, verify the exit, turn the layer on
websearch tor status # is it listening, and is the traffic really Tor
websearch tor down # stop it and turn the layer off
up is a one-call bring-up: it uses a Tor that is already listening, else tor on PATH,
else it downloads the official Tor Expert Bundle into the state directory and checks it
against the sha256 published beside it. Then it starts Tor detached, waits for the
bootstrap, and asks check.torproject.org whether the traffic really leaves through Tor.
Give it a timeout_s of 300 on the first run.
The layer is written to your settings file, so it stays on for later commands until
websearch tor down. websearch tor status is the check to run before trusting a
session: a port that answers is not the same thing as a port that is Tor, and the
is_tor field is the one that says which.
What changes while it is on
- Every request the tool makes goes through Tor: search, fetch, arxiv, github.
.onionaddresses work. With the layer off they are refused before anything resolves, because looking up an onion name locally leaks it and fails anyway.--onionsearches the onion indexes instead of the clearnet engines.- An egress proxy you already had configured is not dropped. It becomes Tor's upstream, so the path is you, then the proxy, then Tor. Your ISP sees the proxy rather than a Tor entry guard.
Search the onion network
websearch web-search "<query>" --onion [--max-results 8]
websearch search "<query>" --onion [--max-results 20] [--freshness week]
--onion replaces the engine set rather than extending it: no clearnet engine indexes
onion services, and no onion index crawls the clearnet, so a mixed fanout would be two
half-empty result lists fused over disjoint corpora. Results are ordinary results with
.onion URLs and handles, so web-fetch and web-open take them unchanged.
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 · 129 lines · 137 tokens per session scan A 0e7040fea9cd
web-search-tor is a skill published in the GitHub repository hec-ovi/websearch-skill (7 stars, last pushed 28d ago), licensed MIT. It adds 137 tokens to every session and 1,605 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
ddgs
Use when an agent needs to search the web, find images/news/videos/books, or extract content from a URL. Covers the ddgs Python library, CLI, and MCP server integration.
web-search-plus
Unified search skill with Intelligent Auto-Routing. Uses multi-signal analysis to automatically select between Serper (Google), Tavily (Research), Exa (Neural), Perplexity (AI Answers), You.com (RAG/Real-time), and SearXNG (Privacy/Self-hosted) with confidence scoring.
searxng-settings-editor
Inspect and edit the EMBEDDED SearXNG instance's settings.yml (the private, loopback-only, zero-config search fallback the searxng-mcp server can own end to end when no external SEARXNGURL is configured). Use when the agent or operator wants to change what the embedded instance does — enable/ disable formats, flip…
searxng-web-search
Privacy-respecting web metasearch via the searxng-mcp MCP server. Use when the agent needs current, open-web results for a query and must NOT leak the query to a single tracking engine — SearXNG aggregates many engines (Google, Bing, DuckDuckGo, Wikipedia, …) behind one JSON tool. Use for general lookups…
searxng-kg-ingestion
Persist SearXNG search results into the epistemic-graph knowledge graph via the searxng-mcp MCP server. Use when the agent must turn a web search into durable, semantically-searchable KG memory — each result becomes a :Document (plus :SearchQuery and :SearchEngine typed nodes with :resultOf / :fromEngine links) so…
searxng-news-research
Time-sensitive news and topic monitoring via the searxng-mcp MCP server. Use when the agent must gather what multiple news/social engines are currently reporting on a topic — breaking events, product/security announcements, or ongoing coverage — by scoping websearch to the news/socialmedia categories and paging for…