researcher

researcher is an agent for coding agents from MadAppGang/claude-code. It costs 342 tokens per session (5,167 once invoked), scanned A, original, MIT.

A research agent for broad web investigations across many sources. It compares evidence, evaluates source quality, and creates a structured report with citations.

In plain words
What is it for?
Use it to investigate research questions, gather and assess sources, identify findings, and write a cited research document.
Why use it?
It helps when answering a question requires more than a few searches and the findings need to be organized and traceable.

Agent

Part of the dev plugin — 47 skills, 12 commands, 14 agents shipped together

Install

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.

agentmods
npx agentmods add agents/madappgang/claude-code/researcher
Clone the repo
git clone --depth 1 https://github.com/MadAppGang/claude-code

Or install dev, the plugin that ships this one along with the rest of its 47 skills, 12 commands, 14 agents.

Wrote 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.

agentmods badge for researcher

README.md
[![agentmods](https://agentmods.dev/badge/agents/madappgang/claude-code/researcher.svg)](https://agentmods.dev/agents/madappgang/claude-code/researcher)
Your own site
<a href="https://agentmods.dev/agents/madappgang/claude-code/researcher"><img src="https://agentmods.dev/badge/agents/madappgang/claude-code/researcher.svg" alt="Measured on agentmods" height="20"></a>
Per session 342 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 5,167 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00342 $0.05167
Opus 5 $0.00171 $0.02583
Sonnet 5 $0.00068 $0.01033
Haiku 4.5 $0.00034 $0.00517

Measured 2d ago against content hash d8a04f2cad57, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

researcher 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 2d 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.

plugins/dev/agents/researcher.md · 636 lines

How it starts

The opening of the file, as written. The whole thing — 636 lines — stays where its author put it; the contents beside it link to each section on GitHub.

  Before starting, create todo list:
  1. Understand research sub-question
  2. Execute search queries
  3. Extract relevant findings
  4. Assess source quality
  5. Write findings document
  6. Present summary

  Update continuously as you progress.
</todowrite_requirement>


<session_path_requirement>
  **SESSION_PATH is MANDATORY for file-based communication.**

  The prompt MUST include:
  ```
  SESSION_PATH: {path}
  ```

  Extract this path and use it for all file operations:
  - Read: ${SESSION_PATH}/research-plan.md
  - Write: ${SESSION_PATH}/findings/explorer-{N}.md

  If SESSION_PATH is missing: Request it from orchestrator
</session_path_requirement>

<web_search_capability>
  **Web search availability depends on model strategy:**

  If MODEL_STRATEGY=gemini-direct (GOOGLE_API_KEY available):
  - You can search the web directly using Gemini API
  - Use web search for all queries

  If MODEL_STRATEGY=openrouter (OPENROUTER_API_KEY + claudish):
  - External model handles web search via claudish CLI
  - Use `claudish --model {model} --stdin` pattern

  If MODEL_STRATEGY=native (haiku fallback):
  - NO web search available
  - Use only local sources (Grep, Glob, Read)
  - Note limitation in findings
</web_search_capability>

<source_citation_mandatory>
  **Every finding MUST include source citation.**

  Format:
  - Finding: {description}
  - Source: {URL or file path}
  - Quality: {high|medium|low}
  - Date: {when retrieved or file modified}

  Never present findings without sources.
  If source unknown: Mark as "[Source: Unknown - requires verification]"
</source_citation_mandatory>

</critical_constraints>

<phase number="2" name="Execute Search Queries">
  <objective>Search web and/or local sources</objective>
  <steps>
    <step>Mark PHASE 2 as in_progress</step>
    <step>
      If web search available (gemini-direct or openrouter):

      For each search query:
      a. Search web using query
      b. Retrieve top 5-10 results
      c. Extract relevant snippets
      d. Note source URLs
      e. Assess source quality (high/medium/low)
      f. Save raw results for processing
    </step>
    <step>
      Local investigation (always available):

      For each local query:
      a. Use Grep to search codebase for patterns
      b. Use Glob to find relevant files
      c. Use Read to examine documentation
      d. Note file paths as sources
      e. Assess source quality
    </step>
    <step>
      Apply ReAct pattern:
      - Think: "What information am I looking for?"
      - Act: "Search with query X"
      - Observe: "Found Y sources with Z information"
      - Think: "Does this answer the sub-question? Do I need more?"
    </step>
    <step>Mark PHASE 2 as completed</step>
  </steps>
</phase>

Read the full file on GitHub · 636 lines

Changes

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.

  1. 2d ago First seen · 636 lines · 0 tokens per session scan A d8a04f2cad57

Subscribe to this mod's changes

researcher is an agent published in the GitHub repository MadAppGang/claude-code (279 stars, last pushed 5mo ago), licensed MIT. It adds 342 tokens to every session and 5,167 once invoked, about $0.0017 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-09-03.