Field notes

Your agent re-derives your repo on every run.

It is good at deciding what to do. It is wasteful at repeating how. One repo, one Skill, three runs — here is what changed.

commands52vs23output tokens4,745vs1,958logs on a repeat run9.5 KBvs974 B

Aug 30, 2026 · 3 min read · Experiment 001

The repo already knows how to check itself. The agent has no compact way to ask.

The same four lines, forever

“Run the tests, check coverage, audit dependencies, check migration status.” Watch what each side actually does with that.

Baseline agent52 commands
$ pytest -q$ pytest --cov=app --cov-report=term$ pip-audit$ alembic current$ alembic heads# + 4 more calls
collected 142 items ...........................
............................................
plugins: cov-5.0.0, anyio-4.4.0
Name Stmts Miss Cover Missing
app/api.py 312 41 87% 88-93, 210
Found 1 known vulnerability in 1 package
INFO [alembic.runtime.migration] Context impl
… ~21.5 KB of log to read
21.5 KB
Agent-native surface23 commands
$ make checktests      PASS  142/142coverage  87%  (min 80)audit     1 high (urllib3)migrations PENDING 1
8.4 KB

Same work, same wording. The agent spends its thinking on the one high finding instead of on remembering flags.

Round 1, measured

Bash calls107 −30%
Commands generated5223 −56%
Tool output to read21.5 KB8.4 KB −61%
Agent output tokens4,7451,958 −59%

Top bar: baseline. Bottom bar: with the command surface.

The gap widens as the task repeats

Run the same check twice a day for a month. The saving is not a one-off discount — it compounds.

After 1 runbaseline  vs  agent-native
Tool output the agent must read
22 KBvs8 KB−61%
Commands generated
52vs23−56%
54 KB
109 KB
163 KB
217 KB
baseline · 22 KB
agent-native · 8 KB
run 1run 40
runs

Cumulative tool output the agent has to read. Run 1 uses measured round-1 figures; later runs use the rounds 2–3 average, where the surface is already familiar. A projection, not a benchmark.

What you actually run

One markdown Skill file. You point it at a repo; it does the design work, you keep the diff.

01It reads the procedures your repo already encodesTest runner, coverage thresholds, audit tooling, migration state — the things an agent currently rediscovers every run.
02It designs one command per intentSemantic entry points instead of multi-step recipes, each returning a few lines a model can act on rather than pages of logs.
03It writes the surface and the note that points to itA checked-in target plus a short pointer the agent reads first, so the next run starts from the interface.
Let the agent decide what. Let the repo own how.

Run it on your repo

One portable Skill file. No framework, no runtime, no need to adopt Make. Then tell us what you measured — including if it did nothing.