DEV Community

Gary Corriston
Gary Corriston

Posted on

How I Built an AI Review Skill That Refuses to Ship Bad Work

How I Built an AI Review Skill That Refuses to Ship Bad Work

The fastest way to create AI slop is not to use a bad model. It is to accept a polished first draft as proof that the work is finished.

That failure shows up everywhere: a landing page uses an almost-correct brand color, a campaign invents a persuasive metric, or a Premium design is really a generic template with nicer spacing. An AI reviewer then compounds the problem with a confident “looks good.”

I built revüe to put a reproducible gate between the draft and the decision to ship.

revüe is an MIT-licensed Agent Skill for Claude Code, Codex, and Cowork. It combines a review workflow with local validators, schemas, examples, and 108 automated eval cases. The central design choice is simple:

Let the model handle judgment. Make deterministic rules executable.

The verdict is a contract

A revüe run ends with one of four verdicts: ship, ship with changes, caution, or block.

In strict validation, ship is not accepted when required proof is missing or an audit fails. The model cannot simply write a reassuring paragraph and call the work ready. Its decision has to agree with the recorded evidence and audit state.

Every non-ship verdict also needs an owner-tagged path to ship. This prevents review systems from producing an impressive list of concerns without closing the work.

Turn the brand system into a lock

For design and marketing production, revüe uses a design-system lock. It can define approved colors, font families, claims, banned patterns, and structural rules.

The output validator inspects the actual HTML deliverable against that lock. Asking a model to remember the approved palette is useful, but it is not the same as checking the artifact it actually wrote.

Why the audit needed adversaries

The first version caught obvious violations. The red-team fixtures taught it to catch less obvious ones.

The current suite includes near-miss colors expressed through HSL or modern RGB syntax, off-palette colors behind CSS variables, colors embedded in base64 SVGs, banned copy split with entities or zero-width characters, unapproved metrics, forged audit objects, hidden heroes, and placeholders hidden while guessed values are shown instead.

Each discovered bypass becomes a permanent regression test. CI runs all 108 cases on every push and pull request.

Clean is not the same as Premium

One of the most useful failures was not a brand violation. It was a clean template declared as Premium.

The page used approved colors and passed structural checks. It still lacked the craft expected of a flagship experience. That led to three explicit tiers:

  • Standard: clean, on-brand, and lock-audited.
  • Premium: everything in Standard plus an additional editorial craft profile.
  • Custom: a human-directed bar with explicit signoff.

Premium work is checked for machine-observable parts of that profile, including a full-bleed hero, display/body typography contrast, a repeating signature motif, and a persistent action treatment. These checks do not replace a designer. They prevent the system from equating compliance with craft.

Keep the trust boundary small

The validators use only Python’s standard library. They need no network connection, API key, or credential store. They read local artifacts and write local results.

That was deliberate. A review gate is easier to trust when its dependencies and data boundary are small. It also makes the suite easy to run in CI or inside the self-contained installer.

Package one workflow across agent runtimes

The root SKILL.md contains the portable workflow. Supporting material lives in references, schemas and templates live in assets, and deterministic checks live in scripts.

Claude Code users install the repository as a plugin marketplace. Codex users can install the skill manually or with the self-contained installer. The same instruction layer also works in Cowork.

What comes next

No validator catches every future evasion. The useful roadmap comes from concrete failures:

  1. Collect bypass reports as minimal fixtures.
  2. Add a failing eval before changing the validator.
  3. Make the smallest deterministic fix.
  4. Keep judgment-heavy checks visible as judgment, not fake certainty.
  5. Publish adoption numbers only when a public counter supports them.

That last point matters because this project is also consulting proof for Corriston Consulting. The repository should demonstrate the operating principle we sell: AI speed is valuable only when the quality bar is explicit, testable, and honest about its limits.

Try it and try to break it

The code, examples, and eval suite are open under MIT:

https://github.com/gcorrist66/revue-proof-workflow-skill

If revüe helps, star the repository. If it lets bad work pass, open an issue with the smallest artifact that reproduces the bypass.

If your team needs a proof-first workflow around its brand system, approval rules, and client handoffs, that is the consulting work Corriston Consulting is built to do.

Top comments (0)