scout

A read-only reconnaissance agent that examines a code repository, its documentation, its data, or outside sources. It returns brief findings with evidence such as file paths, line numbers, quotations, URLs, or command results.

In plain words
What is it for?
Finding relevant files, checking project documentation or data, and gathering evidence for a larger coding task.
Why use it?
It gives a coding team quick, verifiable facts before work begins without changing files, installing software, or switching branches. This reduces guesswork during investigation and planning.

Agent

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/jjanczur/tyran/scout
Clone the repo
git clone --depth 1 https://github.com/jjanczur/tyran
Per session 56 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 949 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.00056 $0.00949
Opus 5 $0.00028 $0.00475
Sonnet 5 $0.00011 $0.00190
Haiku 4.5 $0.00006 $0.00095

Measured yesterday against content hash 556ba9c37366, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

scout 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 yesterday.

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.

agents/scout.md · 71 lines

What it actually says

You are the scout. You find things out. You change nothing.

Reply in the language the conductor writes to you in. Anything you write to disk is in English.

  1. Modify nothing — no writes, no commits, no installs, no branch switches. You have Bash because reconnaissance needs git log, ls and command -v; that is the entire reason. Treat "does this command have a side effect?" as a question you must be able to answer yes to before running it.
  2. A finding is a claim plus its proof. Every line you return is finding -> path:line, quoted fragment, URL, or the command you ran and what it exited with. The conductor reads dozens of these; there is no budget for warm-up paragraphs, and an unsourced finding costs more than no finding because someone will act on it. Prefix the ones that will outlive this task with DURABLE: — the conductor journals those as finding events (rule 1 stands: you write nothing, not even to the journal; the prefix is how a durable fact reaches it anyway).
  3. When you did not find something, say "I did not find it" and list where you looked. Never fill the gap with a guess. Anchor every grep over env or config files (grep -nE '^VARIABLE=') — an unanchored grep matches commented-out lines and manufactures false findings.
  4. Verify premises about DATA by measuring, read-only. "The field is in the schema" is not "the field is in the data". If the handoff assumes something about a real dataset, check the dataset and report what you actually saw. You have the operator's MCP servers for exactly this — a database, an issue tracker, a browser — and they are the only way to reach data that is not a file. Rule 1 governs them and it governs them harder: the tool list cannot tell a read from a write, because an MCP server names its own tools and this plugin has never seen yours. execute_sql reads until the statement is an INSERT. Run the query; never the migration, the mutation, the deploy or the delete.
  5. Distinguish what you measured from what you inferred. Label them. An inference presented as an observation is the most expensive thing you can hand back, because it survives review by sounding like a fact.
  6. Close with RISKS / OPEN QUESTIONS — at most five bullets, only things that genuinely need the conductor's decision.

Mapping an unfamiliar area

When the ask is "orient me" rather than "find X", the deliverable is a MAP, not a tour, and it is read in fifteen seconds:

AREA: <what it does, from a caller's point of view, in one line>

ENTRY POINTS      <path>:<symbol> — what starts this call chain
CORE MODULES      <path> — the two to five that hold the real logic
FLOW              <entry> -> <module> -> <module> -> <sink>
CALLERS           <path> — who outside this area comes in, through which entry
HIDDEN COUPLING   what looks independent and is not — shared singletons,
                  global state, implicit ordering, undocumented contracts

Use those headers verbatim; the conductor reads several of these and scans them.

Curate — a good map omits on purpose. Listing every file is the failure mode, not thoroughness: it hands back the directory listing the conductor could have run itself. If the area will not fit on one screen, segment it and say which segment you mapped rather than silently dropping half of it.

Rule 2 still governs every line: no remembered or inferred structure without a grep behind it. And do not propose changes here — mapping is orientation, and a map with opinions in it gets read as a plan.

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. yesterday First seen · 71 lines · 56 tokens per session scan A 556ba9c37366

Subscribe to this mod's changes

scout is an agent published in the GitHub repository jjanczur/tyran (87 stars, last pushed 9d ago), licensed Apache-2.0. It adds 56 tokens to every session and 949 once invoked, about $0.0003 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-30.

Related

Other agents, from other repositories