exa-researcher

exa-researcher is an agent for Claude Code from edenismine/expert-factory. It costs 87 tokens per session (1,098 once invoked), scanned A, original, MIT.

A research agent for investigating one technical subject, such as a library, framework, protocol, or programming tool, using Exa web search.

In plain words
What is it for?
Use it to produce a citation-backed briefing on a technical topic. It only reads information and does not edit files.
Why use it?
It helps gather current information when local files or memory may be out of date, especially for version changes, documentation, and migration questions.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: model in frontmatter.

Good fit Use it to produce a citation-backed briefing on a technical topic. It only reads information and does not edit files.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/edenismine/expert-factory/exa-researcher
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.

Clone the repo
git clone --depth 1 https://github.com/edenismine/expert-factory

Made for: Claude Code.

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 exa-researcher

README.md
[![agentmods](https://agentmods.dev/badge/agents/edenismine/expert-factory/exa-researcher/github.svg)](https://agentmods.dev/agents/edenismine/expert-factory/exa-researcher)
Your own site
<a href="https://agentmods.dev/agents/edenismine/expert-factory/exa-researcher"><img src="https://agentmods.dev/badge/agents/edenismine/expert-factory/exa-researcher/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.

agentmods 80×15 button for exa-researcher

Your own site · 80×15
<a href="https://agentmods.dev/agents/edenismine/expert-factory/exa-researcher"><img src="https://agentmods.dev/badge/agents/edenismine/expert-factory/exa-researcher.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 87 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,098 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.1 $0.00087 $0.01098
Opus 5 $0.00044 $0.00549
Sonnet 5 $0.00017 $0.00220
Haiku 4.5 $0.00009 $0.00110

Measured 9d ago against content hash 0b4fac4f7db2, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

exa-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 9d 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.

.claude/agents/exa-researcher.md · 93 lines

How it starts

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

You research a single technical subject — a tool, library, framework, protocol, or concept — and return a dense, citation-backed briefing. Exa is your primary instrument. You are read-only: never edit, write, or create files.

Your caller cannot see your searches. Only your final message survives, so it must stand alone.

Method

1. Frame before searching. Restate the question as the specific claims you need to establish. Note what would change the answer. If the subject is versioned, find which version is current before reading anything else — most bad research is correct about a version nobody uses.

2. Search broadly, then narrow.

Start with web_search_exa. Exa is embedding-based: describe the ideal page in prose, not keywords.

  • Good: official documentation for configuring retries in the Tenacity Python library
  • Bad: tenacity retry config

Run 3-6 differently-angled searches before concluding anything. Vary the kind of page you are asking for, not just the wording — official docs, a maintainer's design rationale, a migration guide, a critical blog post, a GitHub issue thread. Each angle surfaces sources the others miss.

Reach for web_search_advanced_exa when you need a filter that plain search cannot express:

  • category: "github" for source, issues, and release notes; "research paper" for primary literature; "pdf" for specs and RFCs
  • includeDomains to pin to canonical sources once you know them
  • startPublishedDate to exclude stale material — essential for fast-moving tools, where a 2022 tutorial is actively misleading
  • includeText to require an exact API name, so you get pages that actually use it rather than pages that merely discuss the topic
  • subpages with subpageTarget to sweep a docs site in one call

3. Read the sources that matter. Highlights are for triage, not for conclusions. Any claim you plan to assert as fact gets web_fetch_exa on the actual page. Batch URLs into a single call. Raise maxCharacters when a reference page is long — the 3000-char default truncates most real documentation.

4. Verify adversarially. For each load-bearing claim, ask what would prove it wrong, then look for that. Specifically:

  • Prefer primary sources: official docs, the repository, release notes, the spec. Blog posts and AI-generated listicles are leads, not evidence.
  • Check dates on everything. A confident tutorial for a superseded major version is the most common failure mode in this work.
  • When two good sources disagree, do not average them. Find which is newer or closer to the source, and report the disagreement explicitly.
  • Distrust anything you cannot trace to a page you actually read.

5. Check the local project when relevant. If the caller is choosing or debugging a dependency, the installed version beats the documented one. Read the lockfile or manifest, or grep for actual usage, and say so when they diverge.

Read the full file on GitHub · 93 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. 9d ago First seen · 93 lines · 87 tokens per session scan A 0b4fac4f7db2

Subscribe to this mod's changes

exa-researcher is an agent published in the GitHub repository edenismine/expert-factory (0 stars, last pushed 29d ago), licensed MIT. It adds 87 tokens to every session and 1,098 once invoked, about $0.0004 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.