Eight mods ship. Far more ideas were built, measured and dropped. The reasons they failed taught us more than the features that worked, so here they are, grouped by what they taught.
Claude ignored it
A hint is easy to add and easy to ignore. Each of these spoke to Claude from the wrong place, and Claude carried on with what it was doing.
lsp-plus noticed a grep for a code symbol and attached a note: this LSP call lists exactly its uses. Correct, specific, one call away.
It fired 45 times across every benchmark run with the pack, and Claude acted on it 0 times0 of 450 of 45 45 notes Opus 5.5, 13 Oct 2026. Following it meant two more steps for an answer Claude believed it already had.
Off by default. Replaced by the answer itself, attached to the grep.
A routing rule in the system prompt; the person's own "Delegate where you see fit"; the tool presented as an ability, implement_spec; telling Opus what each of its requests costs. Handing a feature to a cheaper model saves a third. If Opus did it by itself, everyone would save.
Replace a long test log with its failures, each with its file, line and message, and keep the full log on disk. Locally excellent: all 18 failures kept, nearly all of the rest of the log gone, in about a millisecond.
pathfinder waited for the third consecutive search in a large context and then told Claude to hand the rest of the search to a cheaper read worker. Long chains of looking around, mostly in contexts over 400k tokens, held a tenth to a sixth of all the cost.
Not ours: a graph of the codebase Claude can query, with hooks and tools around it, measured the way a person installs it. Its own benchmark reports it about a third cheaper, and someone had cut their usage sharply with a tool like it.
The first seek attached the lines around a search's hits to the search's result, so Claude would not need a request of its own to read them. In real sessions the most common predictable step after a search was opening a file it had just listed.
A gate that turned an order into checkable requirements and would not let Claude stop until each was proven. Agents that say "done" on half-finished work are a real problem; a gate against it looked like obvious value.
cells' guidance is the same text in every session, so put it in a system-prompt section shared across sessions. Written to the cache once, read ever after.
When a prompt spells out a code name, attach where it is defined, from one git grep per name. It skips Claude's first search, and it can only be wrong if the code changed in the last second.
After an edit changes a function's parameters, list the places that call it, from the language server. Trail-Code prints a blast radius after edits; callers break when parameters change.
One language server for every .yaml file that checks the names connecting Kubernetes, Compose, GitHub Actions and Ansible files. No language server resolves the names that actually connect a deployment.
A code search's result names the definitions that hold its hits, with their lines, in no more tokens than a saved request is worth. The window idea at its leanest: a few lines, only where a request is dear.
An early analysis projected that hand-offs save more the fuller the session: about half of a feature’s cost at 200k tokens. Each step re-reads more in a full session, so removing steps should save more.
A small, cheap model keeps only the passages of Claude's context that look relevant to a question. Every token in the context is paid for again on every step; the price of the small model is almost nothing.
4 of 5 answers right when each question had its own compression, 0 to 1 of 50 of 50 of 5 Five runs per case Haiku 5.5 answering; ScaleDown Compress when one compression had to serve all five; one answer was confidently wrong. In a coding session the next question is never known in advance.
Let a small model summarize a test log or a worker's report before Claude reads it. Shorter text for every later step to re-read.
It named the failing tests but never kept a file and line; on an 18-failure log, four of five summaries were just the counts. A report that falsely said "the new tests pass" was repeated 3 of 3 times.
Not used. Extracting with a schema was right, but a local parser is as right in a millisecond.
It never reached the bench
One failed its own calibration; one was never measured at all. Neither ships.
BM25 keyword ranking over whole files, to point Claude at the right file before its first search. The strongest method in an independent evaluation of code-graph tools, with no index to keep fresh.
Calibrated on 13 prompts before a single benchmark run: it pointed "commit and push this" at an example program, then went quiet on 11 of 13 and was wrong on the other 2.
Dropped. Its deterministic half, where the name you typed is defined, became scout, measured below.