Agency OS Skill Library

Check a build against its definition of done

Runs the written definition of done for a build, audits the quality receipts that build left behind, and refuses to call it complete until every check passes.

Quality First result: seconds on a build that already has a config, longer only when you are converting an existing golden test into one eval-runner
Back to all skills

What it does

An eval is your definition of done, written down and executable. This skill runs one and returns a plain verdict: pass, fail, or regression, with the exact criterion that failed and the reason that criterion exists. Builds 5 (Content) and 6 (Ads) now ship with a definition of done already written. Each quality grader that runs during those builds saves its verdict as a receipt file, and the build cannot be marked complete until those receipts and the required output files clear every check. Completion is earned rather than asserted. The checks are deterministic: file checks, JSON field checks, and house-rule checks such as no em-dashes and no leaked placeholders. Zero model calls, so effectively no added token cost and no flakiness.

Say this to start

This skill has no button. You start it by saying what you want. Any of these will do it:

> run the evals on this build
> is this ready to ship
> did my change break anything
> regression check
> baseline this
> turn this golden test into an eval

When to reach for it

When NOT to use it

If you actually wantUse this instead
a one-off qualitative read on whether a deliverable is any goodcritique
the copy fixed once a check has flagged itlegendary-copywriters
the content rebuilt after a failed content buildcontent-system-architect
the ad campaign rebuilt after a failed ads buildmeta-lead-system
testing the graders themselves rather than the work they gradedthe claim, hook and niche eval harnesses that ship with the plugin
tidying brand memory that has drifteddream

Before you start

What you needWhy
A finished build, or the file you want checkedthe runner grades a real artifact on disk, so there has to be something to read before it can say anythingRequired
A config that says what done means for that artifactBuilds 5 and 6 write theirs for you at completion. Everything else needs one, and a config with no checks in it is refused rather than passedRequired
The grader receipts from the build, saved in its gates folderthe Build 5 and 6 checks read those receipt files, so a build whose graders never ran has nothing to audit and failsRequired
A saved baseline from an earlier green runwithout one the run tells you pass or fail today, but cannot tell you that today is quietly worse than last monthOptional
An existing golden test or gate rule written in proseonly needed if you want it converted into a config that runs on every change instead of sitting in a documentOptional

How it runs

  1. Find the definition of doneIt locates the config for what you are checking. For a content or ads build that file was copied into the build folder when the build finished, so there is nothing for you to write or point at. For anything else you say which config to run.
  2. Refuse a broken config before trusting its resultA config with a scenario that contains no checks is refused outright. A score of 100 from an eval that tested nothing is worse than no eval, because it manufactures confidence you then act on.
  3. Read the artifact and the receiptsIt reads the build output and the receipt files the graders saved while the build ran. A receipt records what the claim, hook, and copy graders found at the time, so a verdict that used to vanish when the session ended is now a file any later run can re-check.
  4. Run the deterministic checksEvery check is mechanical: does this file exist, is this receipt valid JSON, does its fail count read zero, does this output contain an em-dash or a leaked placeholder. No model is involved, so the checks cost nothing to run and return the same answer every time.
  5. Apply the tripwiresSome checks are marked required. House rules such as no em-dashes and no leaked placeholders are required by default. A failed required check fails the whole run on its own, so a house-rule breach can never be outvoted by a pile of checks that passed.
  6. Compare against the baselineIf a baseline was saved from an earlier green run, this run is compared against it. A lower score, or any single check flipping from pass to fail, is reported as a regression and fails the run even when the total still clears the bar. Meeting the bar while sliding backwards is how quality erodes without anyone noticing.
  7. Return one verdict and the reasonYou get pass, fail, or regression, and for anything that failed, the check that failed and the sentence explaining why that check exists. That sentence is written to be the thing you read when it breaks, so the output tells you what to fix rather than showing you a rule number.
  8. Block the completion, or let it throughOn a Build 5 or Build 6 run, a failure stops the build being written down as complete. You fix the flagged item and run it again. Nothing is rewritten for you: the runner grades, and fixing is the job of whichever skill produced the artifact.

What you get

Honest limits

Read this before you rely on it

Where people go wrong

The mistakeDo this instead
Treating a refusal as the tool being brokenRead the failure. A refusal is the product working: it is the build telling you which specific item is not finished, before a client finds it instead.
Trying to learn the config format before running anythingJust run it. The builds that need a config already carry theirs. Your job is to read the failure message and fix the one thing it names.
Marking a build complete because the files existLet the run decide. A file existing is not the same as a file clearing the bar, and the whole point of the receipts is that the second question now has an answer.
Re-saving the baseline to clear a regressionFix the output. Only move the baseline after a change you meant to make, and be clear with yourself that you are moving the bar.
Expecting it to replace a critiqueRun both. An eval is repeatable and mechanical, a critique is a single judgement pass by something that can reason. They catch different failures.
Worth knowing

The reason this matters more than it sounds: before receipts, a grader ran during a build, said everything was clean, and that verdict disappeared the moment the session ended. There was no way to check later whether it had ever really run. Now the verdict is a file, and the build checks those files before it is allowed to call itself finished. That is the difference between a build that claims it is done and a build that can show you.