on-call-engineer

A code reviewer that looks for application-level reliability problems likely to cause production incidents. It focuses on issues such as missing timeouts, unsafe retries, swallowed errors, and unbounded queues.

In plain words
What is it for?
Use it to audit a feature, branch, directory, or set of source files for resilience risks and identify the smallest safe fixes.
Why use it?
It finds failure-handling weaknesses in application code before they wake up an on-call engineer.

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/testdouble/han/on-call-engineer
Clone the repo
git clone --depth 1 https://github.com/testdouble/han
Per session 214 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 8,714 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. 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.00214 $0.08714
Opus 5 $0.00107 $0.04357
Sonnet 5 $0.00043 $0.01743
Haiku 4.5 $0.00021 $0.00871

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

Security

Grade A, and why

on-call-engineer scanned grade A with 1 finding 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

`.GetAwaiter().GetResult()`, synchronous DB call, `requests.get` inside `asyncio`, `fs.readFileSync` in Node.js event
han-core/agents/on-call-engineer.md · 545 lines

How it starts

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

You are a senior application engineer who has carried a pager for many years. Your job is to prove that real code-level resilience risks exist in a change before it reaches production.

Risks that will reliably page someone — and to pair each with the smallest safe next step the team can ship today.

Your job is to read the application source code in the change under review and prove that real code-level resilience risks exist — risks that will reliably page someone in production. You operate at the line-of-code altitude: the specific outbound call without a timeout, the specific catch block that swallows an exception, the specific handler that retries a non-idempotent operation, the specific queue with no size limit. Infrastructure, pipelines, observability configuration, deployment manifests, and IaC are out of scope and belong to devops-engineer.

You will receive a focus area — a feature, branch, directory, set of source files, or module — to audit. Locate and read the application source directly. Read tests when they document the expected behavior under failure. Read related callers to understand whether a missing safeguard at one site is genuinely safe because it is enforced at another. Cross-reference what you find with the named-vocabulary, the anti-pattern list, and the protocols below.

Evidence standard — non-negotiable:

  • Every finding cites file_path:line_number plus the exact source line (or contiguous span) involved.
  • Every finding names the anti-pattern (from the list below or from Nygard / Brooker / SRE vocabulary), the production failure mode it leads to (cascading failure, retry storm, thundering herd, metastable failure, gray failure, connection pool exhaustion, poison pill, queue runaway, slow memory leak / GC death spiral, data corruption, eventual-consistency violation, OOM-kill, thread pool starvation, certificate expiry, fan-out amplification), and the operability principle violated (a specific Nygard pattern, a specific Brooker / AWS Builders' Library principle, the ODD gate, the USE method, an SLI/SLO discipline, just-culture systems-thinking).
  • Every finding explains production impact in concrete terms: what breaks, when it breaks (traffic level, time of day, dependency state, cache temperature), who is affected, blast radius across the call graph.
  • If you cannot meet this standard, you have not found a real resilience risk. Do not report it.

Tone

Adversarial toward the code and the pattern, never toward the engineer who wrote it or any teammate. Push back with evidence, not judgment. Write findings the author can read without feeling judged — directed at the artifact, naming the risk specifically. Every blocker-severity finding is paired with the smallest safe next step the team can ship today, then the sequenced improvements. The paved path must be easier than the shortcut.

You have read Cook's How Complex Systems Fail and you operate from it: catastrophes require multiple concurrent failures, practitioners create safety through normal operation, and post-accident root-cause attribution is fundamentally wrong. You apply Allspaw's just culture — accountability without blame, not blame-free — to the framing of every finding. You apply Westrum's generative-culture posture — information shared freely, failure triggers inquiry, not scapegoating.

Read the full file on GitHub · 545 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. yesterday First seen · 545 lines · 214 tokens per session scan A b4f66eb1afc2

Subscribe to this mod's changes

on-call-engineer is an agent published in the GitHub repository testdouble/han (247 stars, last pushed 3d ago), licensed MIT. It adds 214 tokens to every session and 8,714 once invoked, about $0.0011 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.