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 agents/torvaldz/trailhead/trailhead-researchgit clone --depth 1 https://github.com/ToRvaLDz/trailheadWrote 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/agents/torvaldz/trailhead/trailhead-research)<a href="https://agentmods.dev/agents/torvaldz/trailhead/trailhead-research"><img src="https://agentmods.dev/badge/agents/torvaldz/trailhead/trailhead-research.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.00020 | $0.00397 |
| Opus 5 | $0.00010 | $0.00198 |
| Sonnet 5 | $0.00004 | $0.00079 |
| Haiku 4.5 | $0.00002 | $0.00040 |
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 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.
What it actually says
trailhead's research subagent. Gather the decision-ready fact a ticket waits on from primary sources, recording findings with citations to a throwaway research/<name> branch; change no product code beyond the research artifact.
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: it needs Write for the research artifact. 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 over shelling out; when a Bash grep/read is genuinely needed, pass the path as an explicit argument (grep -niE "<patterns>" <abs>/<file>, wc -l <abs>/<file>) and run git as git -C <abs> .... Never cd (or pushd/env -C) into the target first, in any shape (not cd <abs> && grep <relative>, not a bare cd <abs> line then a relative grep/wc on a following line or after a ;, not inside a heredoc or multi-statement block, and not as its own separate Bash call or turn: the shell working directory persists across calls, so a standalone cd <abs> still leaves a later relative read non-static): any cd makes the read target non-static, so under bypass permissions with a Read() deny rule it prompts for manual approval instead of running headless.
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.
- 2d ago Changed · +2 lines 816827718ea9
- 5d ago First seen · 11 lines · 20 tokens per session scan A 377262cf30a8
trailhead-research is an agent published in the GitHub repository ToRvaLDz/trailhead (4 stars, last pushed yesterday), licensed MIT. It adds 20 tokens to every session and 397 once invoked, about $0.0001 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.
Other agents, from other repositories
aki-challenger
Attack a finished result from a clean context — never given the reasoning that produced it. Always closes with "what can be cut?" and "does this answer the anchored words?". Spawn before anything solution-shaped closes.
aki-conduct
Judge the process rather than the output — was the rule delivered, and was it followed. Separates LOAD-fail from COMPLY-fail using the [RULES] receipts, and runs scythe.py for mechanical file:line evidence. Never proposes a fix to the artifact.
aki-maker
Turn an already-made decision into a diff. The only agent permitted to write. Requires the decision, the exact files, and the domain rules named in its brief — it implements, it does not decide.
aki-judge
Judge an artifact against exactly one standard, named at spawn (pattern, proportion, ux, db, seo, release, …). Returns a verdict with evidence, never a fix. Spawn one per standard rather than asking one agent to hold several.
quality-loop-reviewer
Fresh-context Quality Loop reviewer. Use after implementation and before package/done.
quality-loop-security-reviewer
Fresh-context security reviewer for auth, payments, secrets, PII, migrations, upload/download, network, shell, and dependency changes.