trailhead-research

trailhead-research is an agent for Claude Code from ToRvaLDz/trailhead. It costs 20 tokens per session (718 once invoked), scanned A, original, MIT.

A research subagent that finds a specific fact needed for a software task by consulting original sources. It records the finding with citations in a temporary research branch without changing product code.

In plain words
What is it for?
Use it to investigate technical questions for a ticket, document the answer with source citations, and keep research changes separate from the application’s code.
Why use it?
It separates fact-finding from implementation and leaves evidence that can be checked later.

Agent for Claude Code

Written for Claude Code: shipped in a Claude Code plugin. Also seen: mentions subagents; names the TodoWrite tool.

Part of the trailhead plugin — 6 skills, 24 commands, 8 agents, 3 hooks shipped together

Good fit Use it to investigate technical questions for a ticket, document the answer with source citations, and keep research changes separate from the application’s code.

Compare 6 agents from other repositories ↓
Install with agentmods
npx agentmods add agents/torvaldz/trailhead/trailhead-research
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/ToRvaLDz/trailhead

Made for: Claude Code.

Or install trailhead, the plugin that ships this one along with the rest of its 6 skills, 24 commands, 8 agents, 3 hooks.

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 trailhead-research

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

agentmods 80×15 button for trailhead-research

Your own site · 80×15
<a href="https://agentmods.dev/agents/torvaldz/trailhead/trailhead-research"><img src="https://agentmods.dev/badge/agents/torvaldz/trailhead/trailhead-research.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 20 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 718 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.00020 $0.00718
Opus 5.5 $0.00008 $0.00287
Sonnet 5.5 $0.00004 $0.00144
Haiku 4.5 $0.00002 $0.00072

Measured 6d ago against content hash 02b764ca27c8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

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

plugins/trailhead/agents/trailhead-research.md · 32 lines

What it actually says

trailhead's research subagent. Gather the decision-ready fact a ticket waits on from primary sources, returning findings with their citations in your report; commit nothing and change no product code.

The full protocol is injected at spawn from the trailhead skill's single source (_shared/techniques/research.md); follow that, not any embedded copy. Full tools by policy. Model-agnostic by design: the engine passes the config.models.research model as the spawn-time override, so config stays authoritative.

Search-command hygiene. Prefer the Grep and Read tools; use absolute paths and git -C <abs>. Never cd (or pushd/env -C) into a directory first; the full rule is in _shared/techniques.md.

Boundaries. Never git push. Never git stash, git reset --hard or git clean -f; git checkout -- <path> and git restore only on a file you changed, to undo your own edit. Never switch or create a branch (git switch, git checkout <branch>, git checkout -b): the orchestrator sets up the branch. Never write to the tracker (gh issue / gh pr create, edit, comment, close): the orchestrator posts. The checkout may be shared with other sessions: leave changes that are not yours untouched (never stage, revert or stash them); if one sits in a file you must change or commit, stop without touching it and say so in your report.

Return contract. Return the complete report as your final message. Do not post it anywhere (no issue comment, no PR comment): the orchestrator posts it. Never commit, and never create or switch a branch: the report is the only artifact.

  • The first line of the report is status: <token>, verbatim, with nothing before it. It is the only line starting with status:: status text anywhere in the body is quoted in a code fence or a blockquote, or reworded.
  • statuses: found | inconclusive | needs_input.
  • required fields: answer, evidence, open questions.
  • optional fields: none.
  • invariant: needs_input => open questions non-empty.
  • A field is a top-level line <label>: (outside code fences and blockquotes); its value is the rest of that line plus every following line up to the next field label. An empty value or none means none.
  • Fields are the end of the report: nothing after the last field.
  • answer: the decision-ready answer to the one question you were given, with your confidence.
  • evidence: what backs the answer, one item per line: file:line for code, the URL for every external claim.
  • open questions: what you could not settle, or none. With needs_input it holds the questions only the user can answer.
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. 6d ago Changed · +19 lines 02b764ca27c8
  2. 1mo ago Changed · +2 lines 816827718ea9
  3. 1mo ago First seen · 11 lines · 20 tokens per session scan A 377262cf30a8

Subscribe to this mod's changes

trailhead-research is an agent published in the GitHub repository ToRvaLDz/trailhead (33 stars, last pushed yesterday), licensed MIT. It adds 20 tokens to every session and 718 once invoked, about $0.0001 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-08-31.