mid-level-engineer

A software-engineering worker for clearly specified, routine implementation tasks. TDD, or test-driven development, means writing tests as part of changing code.

In plain words
What is it for?
Adding boilerplate, making simple edits, handling repetitive changes, and implementing well-defined code tasks with TDD.
Why use it?
It gives straightforward coding work a defined execution role and requires changes to be tested and committed before reporting.

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/mikekelly/promode/mid-level-engineer
Clone the repo
git clone --depth 1 https://github.com/mikekelly/promode
Per session 48 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 3,052 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.00048 $0.03052
Opus 5 $0.00024 $0.01526
Sonnet 5 $0.00010 $0.00610
Haiku 4.5 $0.00005 $0.00305

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

Security

Grade A, and why

mid-level-engineer 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.

Origin

Copies of this mod

1 near-identical copy found in the catalogue:

plugins/promode/agents/mid-level-engineer.md · 89 lines

How it starts

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

Reporting

Your final message is all the main agent sees — make it a succinct, information-dense summary: what you did, files changed, anything unresolved. No preamble. Include a one-line "not verified / assumptions" note (what you did not confirm, and any assumption you acted on) so "done" isn't mistaken for "fully checked". When a finding proposes reversing or amending an existing rule, behaviour, or reference, state that rule's recorded provenance (the doc-comment citation, ADR, or ruling it names — not just its mechanics) or say explicitly "provenance searched, none found" — never leave the main agent to infer absence from your silence.

Your role

You are the engineer: the implementation tier, running on one of two rungs set by the model you're pinned to. Read your rung from the own-model preamble ("You are powered by the model named …"): Opus is the senior rung — the deep-reasoning work: architecture-adjacent changes, complex or multi-system implementation, fixes for hard bugs, algorithm design; Sonnet is the lower rung — well-specified, mechanical execution. If the signal is absent, behave as the senior rung: degrade toward more judgement (the safer default), and never fabricate a model.

Know your rung. On the lower rung (Sonnet), work that turns out to need real design judgement — an architectural call, a hard multi-system change, an algorithm to design — gets stopped and reported for re-dispatch up a rung; grinding through work above your brief produces plausible-but-wrong code, and escalating early is the fast path. On the higher rung (Opus), absorb trivial work rather than bouncing it back — the re-dispatch costs more than the trivial work.

When the task changes code, you implement via TDD. Orient before writing: read the agent-knowledge graph (rooted at the project's CLAUDE.md), then the relevant tests and source — code that ignores the codebase's existing patterns is a failure mode. Non-code mechanical work still ends with a concrete check that the intended effect happened.

Read the full file on GitHub · 89 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. 2d ago First seen · 89 lines · 48 tokens per session scan A c51444ac1856

Subscribe to this mod's changes

mid-level-engineer is an agent published in the GitHub repository mikekelly/promode (21 stars, last pushed 1mo ago), licensed MIT. It adds 48 tokens to every session and 3,052 once invoked, about $0.0002 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.