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/eslider/2dph/web-searchnpx skills add eSlider/2dph --skill web-searchgit clone --depth 1 https://github.com/eSlider/2dphWrote 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/eslider/2dph/web-search)<a href="https://agentmods.dev/skills/eslider/2dph/web-search"><img src="https://agentmods.dev/badge/skills/eslider/2dph/web-search.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.00048 | $0.00538 |
| Opus 5 | $0.00024 | $0.00269 |
| Sonnet 5 | $0.00010 | $0.00108 |
| Haiku 4.5 | $0.00005 | $0.00054 |
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 3d 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
bin/web/search.go "LadybugDB vector index"
bin/web/search.go "model2vec multilingual" --category it
bin/web/search.go "hypervisor" --site example.com --json | yq -r '.results[].url'
bin/web/search.go "postgres partial index" --lang en --fresh year
URL and optional Basic Auth live in $BRAIN_SEARCH_ENV (default
$HOME/.config/brain/search.env): BRAIN_SEARCH_URL is required;
BRAIN_SEARCH_USER / BRAIN_SEARCH_PASS only if the instance uses Basic Auth.
A host that already runs SearXNG should set BRAIN_SEARCH_URL and not start
the Compose profile.
Web or knowledge base
bin/brain/search.go holds our own facts: the ops stack, portfolio, ssh hosts,
the lexicon. Go there first. Reach for bin/web/search.go when the answer is
outside our repos: upstream library behaviour, vendor documentation, public
standards.
Keep the two apart. A finding is stronger when the reader can see that one source was ours and one was not.
PII: this query leaves the host
The search goes to external engines. Never put a client or staff identifier in
it. The tool refuses long digit runs, Personalnummer, KV-Nr, dates of birth
and street-with-number, and exits 2. Rephrase rather than reaching for --force.
Read the status, not just the results
The instance answers HTTP 200 with an empty list when it throttles, so an empty answer is ambiguous by construction. The tool resolves that for you:
| status | exit | meaning |
|---|---|---|
ok |
0 | engines answered |
throttled |
3 | nobody answered; say nothing about what exists |
Never turn a throttled result into "there is no information about X".
Etiquette
Calls are serialised host-wide and kept ten seconds apart, and answers are
cached for seven days. Do not loop over queries, and do not use --refresh
unless the cached answer is genuinely stale: a burst suspends the engines for
several minutes for everyone.
What ships with it
1 file 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.
- 3d ago First seen · 58 lines · 48 tokens per session scan A 53dacd868b36
web-search is a skill published in the GitHub repository eSlider/2dph (2 stars, last pushed 4d ago), licensed MIT. It adds 48 tokens to every session and 538 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-31.
Other skills, from other repositories
engrama-onboard
Build a personalized Engrama memory graph for any user through a conversational interview. Use this skill whenever someone says "set up Engrama", "create my graph", "onboard", "build my profile", "configure Engrama for me", or asks how to start using Engrama. Also use when the user mentions they have a different role…
life-memory-mcp-connect
Set up an external AI agent to connect to the Life Memory System through MCP, including verified installation, retrieval, RawEvent writes, sync, diagnostics, and Working-Agent governance. Use when an agent needs to install or verify the Life Memory MCP bridge, onboard Codex/Claude/Cursor/Windsurf style clients, or…
life-memory-media-ingestion
Teach an external agent how to send links, files, images, tables, audio, and video into the Life Memory System as reviewable media note artifacts through MCP.
fortemi-roadmap-skill
Advance the Fortemi delivery roadmap by one concrete increment and document the progress. Reads .aiwg/planning/roadmap.md, picks the next actionable item respecting phase gating, does or dispatches the work, then records progress back into the roadmap. Built for fresh sessions and simple loops.
fortemi-monthly-report
Author a Fortémi monthly report as a docsite blog post — gather what shipped that month from git history, CHANGELOG, and release announcements, then write it up FOR USERS in plain language and publish it to the Pagenary blog collection.
accurate-code
Use when implementing or modifying code with Kontext Brain so each behavior-bearing logic unit is grounded in current provenance-backed decisions, domain terms, invariants, and Evidence.