Your agent writes AI-looking code

Your agent writes code that screams it was AI-made: gradient text, near-identical card components, emoji headings, wrapper helpers used exactly once, cheerful comments narrating the obvious. These are learned defaults, not your taste. The fix is a short list of banned tells your agent checks against, and a detector that flags them before the code lands.

Why the output looks AI-made

A model produces the most probable output, and the most probable output is the average of everything it was trained on. Average is exactly what generic looks like: the median button, the median card, the median hero section, rendered with total confidence. Nobody chose the gradient text on purpose; it is just where the distribution piles up when there is no strong signal pulling toward your taste.

The tells cluster because they are all the same failure. The eleven near-identical card components, the helper that wraps a native input for no reason, the config knob nobody will ever turn, are over-building expressed as design: more structure reading as more effort. The gradient text and the emoji headings are the visual version of the same reach for impressive. It is the Prototyper's confidence applied to surface polish, which is why it looks produced rather than considered.

None of this shows up in a bug tracker, because none of it is a bug. The code runs. It just carries the fingerprints of the average, and averaging is precisely what a language model does best, so left alone it will keep reaching for the same tells.

Read: The five archetypes of AI engineering

The same section header, AI-default versus considered.
AI-looking
<h2 className="bg-gradient-to-r from-purple-500
  to-pink-500 bg-clip-text text-transparent
  text-5xl font-bold">
  ✨ Our Amazing Features ✨
</h2>
// gradient text + emoji + generic copy:
// three tells in three lines
Considered
<h2 className="section-title">
  What it does
</h2>
/* .section-title: one solid ink color,
   real type scale, no emoji, copy that
   says the actual thing. */

The manual fix (free, and complete)

The fix is a short, explicit ban list plus a self-check the agent runs before it hands you code. Paste this into CLAUDE.md or AGENTS.md. It is the full rule set; the only thing the paid product adds is running the check automatically.

AGENTS.md
## Do not look AI-made

- No gradient text, no emoji in headings or UI, no glassmorphism, no z-index
  hacks like 9999. Use one solid color and a real type scale.
- No near-identical components. If two things are the same, make one and reuse it.
- No wrapper helper used in exactly one place, and no config option nothing sets.
- Write comments that explain why, not comments that narrate what the next line
  obviously does.
- Before showing me UI or code, scan your own output for the tells above and fix
  any you find. Tell me what you caught.
  1. Ban the visual tells. Forbid gradient text, emoji headings, glassmorphism, and z-index hacks; require one solid color and a real type scale.
  2. Ban the structural tells. No near-identical components, no single-use wrapper helpers, no config knobs nothing sets.
  3. Fix the comments. Require comments that explain why, not ones that narrate what the next line already shows.
  4. Add a self-scan. Have the agent scan its own output for the tells and report what it caught before handing it over.

You do not have to catch these by eye. The kit's detector runs the same rules on every change as the agent works, and shows each tell with its fix.

The durable fix (the kit)

A ban list catches the tells you remember to look for; the detector catches the rest. The kit runs a real anti-slop detector on every change: 37 numbered tells, from gradient text and side-stripe borders to bounce easing and disable-zoom, checked in your editor as the agent works, not after you notice something looks off.

This is the stop looking AI-made half of the wedge. The detector runs in Claude Code as part of the engine; the ban-list rules travel to Codex, Cursor, and Antigravity through AGENTS.md so the behavior is cross-tool. One install, one-time price, and the average stops leaking into your output.

The real numbers

In our first clean-room suite, five scripted tasks with the same model in both arms, the kit-configured agent had slop tells at or below the vanilla agent on every single task, including one task where it took the count from five tells down to zero. Same model, same prompt; the difference is the detector catching the average before it ships.

The honest note here is smaller than on the other pages, because catching slop is cheap. The detector adds negligible time. The general overhead caveat still applies to the rest of the engine: the hook context that comes with the full kit runs about 25 percent pricier on average, most of which is the ask-first and prove-it machinery, not the slop scan.

A sample of the tells the detector catches, and the fix for each.
gradient-text
Use one solid ink color and a real type scale.
side-stripe-border
Emphasis via a soft filled background, not a colored left bar.
bounce-easing
Ease-out curves, not springy overshoot on everything.
zindex-9999
A sane stacking context, not a nuclear z-index.
near-identical-cards
One component, reused. If they differ, name the difference.
emoji-in-headings
Say the actual thing in words; drop the sparkles.

Common questions

How do I make AI code not look AI-made?

Give the agent a short ban list, no gradient text, no emoji headings, no near-identical components, no single-use wrappers, and have it self-scan its output before handing it over. Then verify with a slop detector that flags the tells with their fixes. The kit runs all 37 tells continuously so nothing slips through by eye.

Why does AI-generated UI all look the same?

Because a model outputs the most probable design, which is the average of its training data, and the average is what generic looks like. Gradient text, emoji headings, and cookie-cutter cards are where the distribution piles up when nothing pulls toward your taste. A ban list and a detector supply that missing signal.

What counts as AI slop in code?

Visual tells like gradient text, glassmorphism, and z-index hacks; structural tells like near-identical components, wrappers used once, and config options nothing sets; and narration comments that restate the obvious. The kit tracks 37 numbered tells and checks them on every change as the agent works.

Is this only about front-end code?

No. The visual tells are the most obvious, but the same average-of-everything instinct produces backend slop too: needless abstraction layers, one-use utilities, and comments that narrate rather than explain. The detector focuses on the catchable patterns; the ban-list rule covers the judgment calls.

Make your agent ask before it builds

One kit. Ask-first behavior, lean output, no AI slop. Works with Claude Code, Codex, and Antigravity.

Get the kit · $29

One-time. Less than one hour of cleaning up AI slop.