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 softspark/ai-toolkit --skill deep-researchgit clone --depth 1 https://github.com/softspark/ai-toolkitWrote 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/softspark/ai-toolkit/deep-research)<a href="https://agentmods.dev/skills/softspark/ai-toolkit/deep-research"><img src="https://agentmods.dev/badge/skills/softspark/ai-toolkit/deep-research/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/softspark/ai-toolkit/deep-research"><img src="https://agentmods.dev/badge/skills/softspark/ai-toolkit/deep-research.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.00069 | $0.02207 |
| Opus 5.5 | $0.00028 | $0.00883 |
| Sonnet 5.5 | $0.00014 | $0.00441 |
| Haiku 4.5 | $0.00007 | $0.00221 |
Grade A, and why
deep-research 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 1mo 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 — 98 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deep Research
This is the web / multi-source counterpart to research-mastery. That skill is KB-first: it answers from the project's own knowledge base and only reaches outward when the KB comes up empty. This one governs what happens once you are already out on the open web pulling from many independent sources and have to weave them into one trustworthy answer. It is a method, not a fetcher — it does not retrieve anything by itself. You supply the search and fetch tools (built-in WebSearch / WebFetch, or the runtime deep-research command); this skill tells you how to spend them and how hard to doubt what comes back.
Retrieve-vs-Answer Gate
Run this gate before you spend a single search:
- Is the answer already in the KB or your own context? Then this is not a deep-research job — hand it to
research-mastery(which checks RAG-MCP first) or just answer. - Is it one stable fact with a single obvious authority (a constant, a published spec value, a definition that does not move)? One targeted lookup, confirm, done. Do not open a research campaign.
- Does it need several independent sources reconciled, or is it contested, recent, or moving? That is the case this skill exists for. Continue.
Skipping this gate is the most common failure: people fan out ten searches on a question that one source already settled, or worse, answer a contested question from memory because it "felt known."
Scale Effort to Complexity
Match the search budget to the question. Burning twenty searches on a lookup wastes turns; doing two searches on a contested synthesis ships a half-checked claim.
| Question shape | Plan first? | Rough search budget |
|---|---|---|
| Single stable fact, clear authority | no | 1, maybe a second to confirm |
| Compare a few known options / current state of one topic | light | a handful, broaden then narrow |
| Contested, multi-faceted, or "what is the latest on…" | yes — write the plan | many, with follow-ups as conflicts surface |
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.
- 1mo ago First seen · 98 lines · 69 tokens per session scan A 737ca6cb6c63
deep-research is a skill published in the GitHub repository softspark/ai-toolkit (180 stars, last pushed yesterday), licensed Apache-2.0. It adds 69 tokens to every session and 2,207 once invoked, about $0.0003 per session on Opus 5.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-09-03.
Other skills, from other repositories
cline-fix-volatile-msg
Ladder-aware Cline Anthropic caching — verify the rolling read/write ladder on the wire, then add the tools breakpoint and tune TTL. Updated for the 2026-08 AI-SDK monorepo.
continue-gemini-explicit
Continue's Gemini provider doesn't use the cachedContents API at all. Add explicit caching for sessions over the minimum token threshold.
roo-fix-volatile-msg
Ladder-aware Roo Code Anthropic caching — verify the rolling read/write ladder on the wire, then close the real gaps (Vertex 4-block budget, MiniMax path).
aider-1h-ttl
Aider uses 5min TTL by default and works around long pauses with keepalive pings. Wire up the 1h TTL beta instead.
cline-openai-cache-key
Cline OpenAI native provider sends no promptcachekey. Add a stable per-task key so cachedtokens stops being zero.
continue-enable-defaults
Continue's prompt caching is opt-in via config and off by default. Flip the default to systemAndTools.