The Pack Was Perfect. Every Sentence About It Was Wrong.

Image

Our skill packs rebuild themselves every morning. The daily verifiers were green and had been green all week. Then we counted the agents on the page members actually read: nineteen. There were twenty-two. The artifact was flawless and every sentence describing it was wrong.

19 → 22
the head-count members read, finally matching the library
12 of 22
agents actually listed on ~100 member dashboards
“21 of 10”
what 21 live agent pages said, for weeks

Count the Thing Before You Describe It

We run a personal-brand programme for Sigrun’s members. Every member gets a score, a private dashboard, and a downloadable team of AI agents. A scheduled job rebuilds that pack every morning, harvests what each run learned back into the skill files, republishes the zip, and verifies it.

On Monday it was in excellent shape. Three new agents had shipped that week. Eleven more had absorbed 51 lessons from real client work. The zip on the server matched the zip on disk byte for byte. Every verifier passed.

The line at the top of every member’s dashboard read: “Your Agent Library is NINETEEN agents.”

Find Every Copy, Not the One You Noticed

The count was not stored once. It was typed, separately, into five places — each correct on the day it was written, none able to notice the library had grown past it.

Where it lived What it said What that did to a member
The dashboard header and news “NINETEEN agents” The single most-read line in the programme
The dashboard’s agent grid a hand-typed roster of 12 Ten shipped agents invisible on ~100 dashboards
The agent-page builder Agent {n} of 10 Live pages reading “Agent 21 of 10”, on 21 of them
A members-only summary page “all seventeen agents” ×3 An argument made with the wrong number in it
The internal catalogue “The team (17 agents)” Derived correctly — just never regenerated
Nothing failed. Nothing could — a hand-maintained number has no way to know it is wrong.
Before and after: five member-facing surfaces each holding their own hand-typed copy of the agent count, versus every surface deriving from agents_manifest.json
Five copies of one number, and the artifact none of them were reading.

The job whose entire purpose was to announce these changes had the same disease in its worst form. It carried a hand-typed list of news items and a hard-coded date string, TODAY_H = "20 Jul 2026". That is not a script. It is a document somebody has to edit before every run — and it had gone unedited for two weeks while the thing it describes was rebuilt every single morning.

Point Your Guards at Something Outside Themselves

Here is the part worth stealing, because we had already anticipated this. The weekly publisher carried an assertion that no two visible news items may claim different library counts — written in July after a near-miss that almost showed a hundred dashboards two different totals on one screen.

It passed. Twice over, for two separate reasons. First, it matched one phrasing: it looked for “Agent Library is N agents”, and the worst offender read “arranges all nineteen into six departments” — same claim, different sentence, invisible to the pattern. Second, and this is the one that generalises: all three stale claims agreed with each other.

The rule. A guard that compares a system to itself cannot see consistent error. Consistency with yourself is not evidence — it is the failure mode. Guards have to terminate at something outside the system they are guarding. Ours now reads the manifest and fails on any count that is not today’s, in any phrasing, spelled or numeric.

Two days earlier we had found the identical shape somewhere else: a mirrored copy of the pack sat thirteen files behind while its weekly report truthfully said “you’re already on the latest” — because it compared the source against its own snapshot rather than against the clock. Different system, same mistake.

Derive the List, Don’t Maintain It

Every count now comes from the manifest the builder regenerates from its own run-order list on each run: the dashboard roster, the “Agent N of M” header, the prose on the members-only page, the head-count in the news.

The news generator has no list to edit at all. Each Monday it diffs the artifact against itself in time — today’s pack zip versus the dated backup from seven days ago, which is what a new agent actually is: a file in one and not the other. It reads why each skill changed from the markers the harvester leaves inside the shipped file, so the reason comes from what members received rather than from a log claiming what was sent. And it retires expired totals by rewriting the claim, never the history: “Your Agent Library is now NINETEEN agents. Two joined this week” becomes “Two joined this week.” The event was true on its date. Only the total expired.

Eighteen tests hold it, half of them RED cases asserting the thing refuses: an unknown flag exits without writing, a missing baseline fails rather than reporting “nothing changed”, a skill that was merely re-dated produces no news, a skill missing from the manifest is a hard error instead of a quiet miscount. One caught a real defect within a minute of being written — the number-to-word table started at ten, because the library was already at twenty-two and nothing smaller could “possibly” come up. Which is precisely the reasoning that produced every hard-coded count we had spent the morning removing.

Distrust a Red Line on a Green System

The verifier written to confirm all this failed three times before it was right, and all three were the checker’s fault, not the site’s. It looked for the encrypted payload under the wrong tag name. It flagged the word “Coaching” as a member-data leak — it is our partner’s own navigation menu, “My Coaching Philosophy”, on every page of her site. And it asserted “the library lists 22 agents” against an anonymous fetch of a password-gated page, then against the outer shell of a page that ships its whole body inside a base64 iframe. Both times it read zero and cried failure about a perfectly healthy page.

A checker that fires on correct behaviour is worse than no checker. Ship three false reds on a green system and the next person learns to skim past red. Before believing a failure, reproduce what the checker claims to have read — and when a surface is gated or encoded, the check has to unlock it and decode it, or it is asserting against a login form and calling that a result.

Re-run the Pipeline, Not the Step

Rebuilding the bundle made the published zip stale by two bytes. Republishing the zip made the public pack directory stale, because that directory is written by two further scripts that run after the republisher. Only the directory verifier caught it.

When you re-run one stage of a pipeline by hand, you have re-run one stage of a pipeline by hand. Everything downstream is now describing the state you just replaced.

Count the Cost

One session. The work was diagnosis and judgment, which does not parallelise well, so there was no subagent fan-out beyond a single read-only sweep to inventory every surface that prints a count. Token figures are approximate.

Phase Model Approx. tokens What it covered
Derivation Opus 4.8 ~95K Diffing the pack against dated backups, mapping learning markers to skills
Surface inventory Sonnet (subagent) ~40K Read-only sweep for every hard-coded count across the repo
Generator repair Opus 4.8 ~130K Five surfaces de-hardcoded, news generator rewritten to derive
Tests Opus 4.8 ~85K 18 cases for the generator, 4 more for the count guard, 9 RED
Publish + verify Opus 4.8 ~150K Member surfaces republished, 11-check anonymous verifier, this article
Approx. 500K tokens total · single session · the subagent sweep cost ~8% and found 3 of the 5 stale surfaces
Approach Time Cost
Human developer finding five copies of one number by hand ~6 hours $360 at $60/hr
Agent session, list rate worst case ~1.5 hours ~$12
Agent session, with prompt caching ~1.5 hours ~$4
The real saving is the defect nobody had filed: ten agents were invisible on ~100 dashboards and no report said so.

Take the Rule, Not the Fix

Three things here generalise past our stack. The pipeline that maintains an artifact and the copy that describes it decay at different rates, and usually only one of them has a test — we had hash manifests, coverage gates, three daily verifiers and a link-graph checker guarding the pack, and not one of them looked at a sentence. Guards must terminate outside themselves, or they certify consistent error as health. And a number about an artifact belongs to the artifact — on every surface that prints one, not just the surface you happened to check.

This is the loop behind The System: the agents that do the work also write down what broke, so the next run starts smarter. The same loop caught skill-pack pages that linked to nothing inside weeks of green reports, and it is why our skill packs change most days. The format of this write-up follows our meta article standard.

THE DELIVERABLE
Twenty-two agents, and every surface that counts them reading the same file

The same packs we run our own business on, free to download and install — rebuilt most days, because every run writes back what it learned.

Get the Skill Packs →How The System Works →

Dennis Yu
Dennis Yu
Dennis Yu is the CEO of Local Service Spotlight, a platform that amplifies the reputations of contractors and local service businesses using the Content Factory process. He is a former search engine engineer who has spent a billion dollars on Google and Facebook ads for Nike, Quiznos, Ashley Furniture, Red Bull, State Farm, and other brands. Dennis has achieved 25% of his goal of creating a million digital marketing jobs by partnering with universities, professional organizations, and agencies. Through Local Service Spotlight, he teaches the Dollar a Day strategy and Content Factory training to help local service businesses enhance their existing local reputation and make the phone ring. Dennis coaches young adult agency owners serving plumbers, AC technicians, landscapers, roofers, electricians, and believes there should be a standard in measuring local marketing efforts, much like doctors and plumbers must be certified. He has appeared on 353 podcasts with 619 credited episodes — see the full list of his podcast appearances.