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 instructions/djarvur/cc-websearch/claude-mdgit clone --depth 1 https://github.com/Djarvur/cc-websearchWrote 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/instructions/djarvur/cc-websearch/claude-md)<a href="https://agentmods.dev/instructions/djarvur/cc-websearch/claude-md"><img src="https://agentmods.dev/badge/instructions/djarvur/cc-websearch/claude-md.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.02401 | $0.02401 |
| Opus 5 | $0.01201 | $0.01201 |
| Sonnet 5 | $0.00480 | $0.00480 |
| Haiku 4.5 | $0.00240 | $0.00240 |
Grade A, and why
cc-websearch CLAUDE.md 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 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.
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 — 180 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Project
cc-websearch — a Claude Code plugin providing two skills, websearch and webfetch, that
replace the built-in WebSearch and WebFetch tools. Each skill invokes a bundled Node CLI script that
reads JSON on stdin and writes results to stdout, producing output identical to the built-in tools.
Core value: exact drop-in replacement — same interface, same output format, no API keys.
Constraints
- Runtime: TypeScript compiled to CommonJS bundles; Node
^22.22.2 || ^24.15.0 || >=26.0.0(seeenginesinpackage.json). CI runs on Node 24. - Distribution: standard Claude Code plugin. Bundles are committed to git, so the plugin works immediately after install with no build step.
- Output format: must match Claude Code's built-in WebSearch/WebFetch byte-for-byte.
- Search backend: DuckDuckGo Lite (
lite.duckduckgo.com) scraped with the globalfetchandcheerio. No API keys, no accounts. - No LLM in the pipeline: WebFetch extracts and converts page content; it never answers the
promptfield. - Config:
~/.config/websearch/config.json, overridden byWEBSEARCH_*environment variables.
Technology Stack
Versions below are the current pins; package.json is the source of truth.
| Package | Version | Purpose |
|---|---|---|
zod |
4.4.3 | Stdin/config schema validation (z.strictObject) |
cheerio |
^1.2.0 | Parsing DDG Lite search-result HTML |
@mozilla/readability |
^0.6.0 | Article extraction (Firefox Reader View engine) |
jsdom |
^30.0.1 | DOM implementation required by Readability |
turndown |
^7.2.4 | HTML → Markdown |
turndown-plugin-gfm |
^1.0.2 | GFM tables and strikethrough for Turndown |
typescript |
6.0.3 | Language / tsc --noEmit typechecking |
esbuild |
0.28.2 | Production bundling to .cjs |
tsx |
4.23.12 | Runs build.ts without a compile step |
vitest + @vitest/coverage-v8 |
4.1.x | Unit and e2e tests |
eslint + typescript-eslint |
10.x / 8.x | Linting (recommended + strict) |
prettier + eslint-config-prettier |
3.x / 10.x | Formatting |
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 · 180 lines · 2,401 tokens per session scan A dd259ef34308
cc-websearch CLAUDE.md is an instructions file published in the GitHub repository Djarvur/cc-websearch (21 stars, last pushed 5d ago), licensed MIT. It adds 2,401 tokens to every session, about $0.0120 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 instructions, from other repositories
apple-browsers pixels.instructions.md
Instructions for duckduckgo/apple-browsers, a project described as: DuckDuckGo iOS & macOS browsers.
pivot-web-search CLAUDE.md
Instructions for Tannnnhauser/pivot-web-search, covering pivot web search, plugin installation context, tool usage, three tools and deepseek harness integration contract.
chrome-cdp-ex CLAUDE.md
Claude Code instructions for EndeavorYen/chrome-cdp-ex, covering claude.md — chrome-cdp-ex, problem-solving principles, project overview, architecture and coding conventions.
youtube-watchlater-mcp CLAUDE.md
Claude Code instructions for tulaman/youtube-watchlater-mcp, covering claude.md, what this is, runtime & dependencies, running the server and mcp tool: getwatchlater.
claude-code-youtube-extract CLAUDE.md
Claude Code instructions for muckybuzzwoo/claude-code-youtube-extract, covering claude.md — yt-extract plugin, what this plugin is, components, architectural conventions and script cli (internal, skill-facing).
rx-browser-bridge-mcp CLAUDE.md
Claude Code instructions for arikw/rx-browser-bridge-mcp, covering claude.md — rx-browser-bridge, what this is, three components, wire protocol and environment.