The Anti-Slop Prompt Template: Exactly What to Tell Claude, GPT-5, and Gemini to Avoid Generic Output (2026)
A copy-paste prompt template tested across 1,200 LLM outputs to stop Claude, GPT-5, and Gemini from generating AI slop. With ready-to-use system prompts and 25 before/after A/B tests.
> If your prompt does not explicitly forbid Tailwind blue, three-card grids, and rounded-2xl, your model will produce them. Not occasionally. Every time.
This article is a working manual. It is the result of pushing the same five generic prompts through Claude Sonnet 4.6, Claude Opus 4.7, GPT-5, GPT-5 Pro, Gemini 2.5 Pro, Llama 3.3, Mistral Large 2, DeepSeek-V3, and Qwen 3 Coder approximately 1,200 times during the first quarter of 2026. We logged each output. We classified each piece of slop. We then rewrote the prompts using nine specific levers and re-ran them. The uniqueness scores moved by a wide margin. The patterns we identified are reproducible. The prompts in this article are the ones we kept.
This is not a list of clever tricks. It is a structural method for talking to a frontier LLM so that it stops producing the same hero section, the same pricing table, and the same dashboard it produces for everyone else. Read it once. Copy the template at the bottom. Audit your output with a tool like Sailop. Iterate.
---
TL;DR — The Master Prompt You Can Paste Right Now
Here is the prompt. Paste it as a system prompt in Claude Projects, a custom instruction in ChatGPT, a Gemini Gem, or as the first message in Cursor or Claude Code. We will decode every line in the next sections, but if you only read one section, read this one.
You are a senior frontend engineer and art director with a strong personal style.
You refuse to produce generic AI-generated SaaS layouts.
Hard constraints:
- Visual archetype: pick ONE among [Bauhaus grid, brutalist editorial, Swiss minimal,
terminal/HUD, atelier/craft, art deco, riso print]. Commit to it for the whole output.
- Palette: do NOT use the default Tailwind blue/purple/indigo gradient family.
Pick a palette anchored on ONE of: clay/ochre/terracotta, ink/bone/mustard,
charcoal/lime, oxblood/cream, navy/copper, monochrome with one accent.
- Typography: do NOT use Inter as your only font. Pair two faces from
[Space Mono, Space Grotesk, IBM Plex Mono, IBM Plex Sans, Fraunces, Migra,
Reckless, JetBrains Mono, Söhne, Domaine, Recoleta]. Use one mono in the UI.
- Layout: forbid 3-equal-card grids, hero-with-floating-screenshot, gradient mesh hero,
rounded-2xl on every container, generic shadow-md, blob SVG decorations, centered-everything.
Use asymmetric 60/40 or 70/30 splits. Distribute visual weight unevenly.
- Detail layer: include at least 3 of [corner brackets, scan lines, ASCII rules,
hairline tickers, rotated labels, monospace metadata, low-opacity grid, hand-drawn arrows].
- Voice: skeptical, technical, opinionated. No "empower", "leverage", "seamless",
"robust", "harness", "delve", "tapestry", "revolutionize", "in today's fast-paced".
- Microcopy: include at least one specific number, one date, one named tool.
Process:
1. Before writing code, describe the chosen archetype in 3 lines.
2. Describe palette and type in 3 lines, with hex codes.
3. Build the component.
4. After writing, audit yourself: list 3 ways the output could still look AI-generated.
5. Fix those 3 issues in a second pass before returning final output.
Return: chosen archetype, palette, type, final component, self-audit, fixes applied.That prompt is approximately 1,150 characters. Every line earns its keep. If you remove the self-audit step, the model still drifts. If you remove the typography clause, you get Inter. If you remove the palette clause, you get blue. If you remove the asymmetry clause, you get a three-card grid. We tested all of these ablations.
The rest of this article explains why.
---
1. Why Your Prompt Produces Slop
Most teams blame the model. The model is rarely the problem. The prompt is. To prove it, take five prompts that any agency, freelancer, or product team writes during a normal week. Send them, unmodified, to any frontier LLM in 2026. The output is not random. It is depressingly consistent.
1.1 "Build a landing page for a SaaS"
What you get, with measurable consistency: a centered hero with an h1 between 48 and 72 pixels, a one-line subheadline in slate-500, a primary button in blue-600, a secondary button in white with a thin border, a 3D mockup of a fake dashboard floating to the right, a "Trusted by" row of five gray logos, a three-card features section using grid-cols-3 and rounded-2xl, a pricing table with three tiers (the middle one labeled "Most Popular"), a testimonial slider with circular avatars, an FAQ accordion in space-y-2, and a footer with four columns. The font is Inter or, on a brave day, Plus Jakarta Sans. The background is white or slate-50. There are blob SVGs behind the hero, set to 20% opacity. There may be a gradient mesh from from-indigo-500 via-purple-500 to-pink-500.
This is not a SaaS landing page. It is the median of every SaaS landing page the model has seen between 2021 and 2025. The model is doing exactly what was asked. The prompt did not ask for a specific identity. The prompt asked for the average.
1.2 "Create a portfolio website"
Output, on first try: a giant centered name in text-7xl font-bold, the words "Designer & Developer" or "Building beautiful experiences" underneath, a horizontal scrolling row of project thumbnails in a 3:2 ratio with rounded corners and a subtle hover lift, an "About" section with a photo on the left and three paragraphs on the right, a "Selected work" grid of six tiles in grid-cols-2 lg:grid-cols-3, a "Let's work together" CTA in 80% viewport height, an Instagram and X icon row in the footer. Everything is centered. Everything has whitespace tuned to "feel premium". The mood is interchangeable with 100,000 Awwwards-influenced portfolios from 2022 to 2024.
1.3 "Make a hero section"
Output: 60vh to 80vh tall, centered text, an oversized headline, a 16-pixel subheadline below, two buttons side by side with gap-4, a small social proof line ("Used by 2,500+ teams"), and either a screenshot mockup, a Lottie animation, or a 3D iso illustration on the right. The background is a slow gradient or a dot grid. The headline contains the words "build", "scale", "ship", or "future". The subheadline starts with "An all-in-one platform for".
1.4 "Design a pricing page"
Output: three columns. Free, Pro, Enterprise. The middle column has a different border, a "Most Popular" ribbon or badge, a slightly elevated shadow, a bolder background. Each column has a price in a large font, a billing period in a smaller font, a horizontal rule, a list of features with checkmark icons (Lucide check, almost always), a CTA button, and a tiny "Cancel anytime" line at the bottom. Below the table, a comparison grid with the same features expanded. Below that, an FAQ. Below that, a CTA banner with a gradient background.
1.5 "Build a dashboard"
Output: left sidebar 240 to 280 pixels wide, top navbar with a search field in the center and an avatar on the right, four KPI cards in a row at the top of the main content (each one with a metric, a percentage delta in green or red, a sparkline), a chart taking 60% of the width and a list taking 40%, a table at the bottom with rows of h-12, status badges as pills with bg-{color}-100 text-{color}-800, pagination at the bottom right. The whole thing is in p-6 gap-6. The font is Inter. The accent color is blue or, on rare occasion, violet.
1.6 The Pattern Behind the Pattern
In each of these five cases, the slop is not a failure of the model. It is the model returning the centroid of its training data. The model has seen tens of millions of these layouts. It has been fine-tuned on them. It has been RLHF-tuned to consider them "safe and helpful". When you ask for a generic thing, you get the average generic thing. The averaging itself is the slop.
To break the average, the prompt has to push the model away from the centroid. That is what the next nine sections are about. For a deeper anatomy of these patterns, see /blog/ai-slop-2026-state-of-the-ai-generated-web and /blog/tailwind-blue-purple-gradient-ai-signature-2026.
---
2. The 9 Levers of an Anti-Slop Prompt
Each lever exists because we measured a specific failure mode and found a specific phrasing that fixes it. None of these levers is decorative. Removing any one of them, in our tests, brought back a recognizable category of slop within three to five generations.
Here is the table that summarizes the nine levers. Each one gets a dedicated H3 below.
| Lever | Positive phrasing | Negative phrasing | Approx. uniqueness gain (in our tests) | |---|---|---|---| | 1. Non-default visual constraint | "Earthy palette: clay, ochre, bone" | "No blue" | High | | 2. Specific typography | "Pair Space Mono with Space Grotesk" | "Don't use Inter" | High | | 3. Explicit pattern bans | "No 3-card grid, no rounded-2xl" | "Be original" | Medium-high | | 4. Visual archetype | "Brutalist editorial style" | "Make it unique" | Very high | | 5. Reference | "Like Are.na or Craigslist with Space Mono" | (no reference) | High | | 6. Editorial voice | "Skeptical and technical, opinionated" | "Professional tone" | Medium | | 7. Forced asymmetry | "60/40 split, off-center hero" | "Don't be symmetric" | Medium-high | | 8. Rare visual artifacts | "Corner brackets, scan lines, ASCII rules" | (none) | Very high | | 9. Self-audit close | "Critique your own output, list 3 slop risks" | (none) | High |
The "approximate uniqueness gain" column is qualitative. It is the difference between an output that any senior designer would call "AI-looking" and an output that they would not. We did not invent a precise decimal score because precise decimal scores in this domain are dishonest. The direction is clear and reproducible.
2.1 Lever 1 — Impose a Non-Default Visual Constraint
The default visual constraint of every frontier LLM in 2026 is "blue, purple, indigo, white, slate gray". This is the centroid of the Tailwind documentation, of every Vercel template, of every shadcn example. To escape it, you do not write "no blue". The model interprets that as a soft preference and still gives you blue 30% of the time, often via a "different" shade like cyan or sky.
You write a positive constraint, and you anchor it on a non-digital reference. Concrete options that work:
- Tannery / atelier: "Palette anchored on a tannery workshop: undyed leather (#D9C9A8), oxblood (#5B1A1A), bone (#F1ECDD), iron oxide (#7E3F23), graphite (#1F1B17)."
- Coastal / seasalt: "Palette anchored on a Cornish fishing village: weathered teal (#3E5C5A), rope (#C9B89A), sea spray (#E9EDEA), buoy red (#B2342B), shadow (#1B1F1E)."
- Riso print: "Palette inspired by two-color riso prints: fluorescent pink (#FF4F8B), midnight blue (#162B5A), paper (#F4F0E6), no other colors."
- Charcoal HUD: "Charcoal background (#0E0F0D), bone text (#E6E2D6), one accent in lime (#C7F25E)."
- Arte povera: "Earth tones only: hessian (#A89070), umber (#5C3F2A), unbleached linen (#E2DBC8), one accent in vermillion (#C24A2C)."
Notice that each of these is more specific than "earthy" or "muted". The model needs material anchors because materials are not in its training data as design choices. They are in its training data as descriptions of physical objects. When you cite "iron oxide", the model retrieves a different cluster than when you cite "rust accent".
For more on the Tailwind blue/purple/indigo signature and how to identify it across the web, see /blog/tailwind-blue-purple-gradient-ai-signature-2026.
2.2 Lever 2 — Impose Specific Typography
Inter is the default. It is the native font of LLMs the same way Helvetica was the native font of every corporate identity from 1995 to 2010. It is everywhere. When you do not specify a font, you get Inter. When you write "modern sans-serif", you also get Inter. When you write "clean and minimal", you get Inter. To break it, name two specific faces.
Pairs that consistently produce non-default output:
- Space Mono + Space Grotesk (terminal, technical, slightly off-kilter)
- IBM Plex Mono + IBM Plex Sans (institutional, brutalist-friendly)
- JetBrains Mono + Söhne (developer-tool, sharp)
- Fraunces + Söhne (editorial with personality)
- Migra + Reckless Neue (luxury editorial)
- Söhne + Domaine Display (high-end agency)
- Recoleta + Inter Tight (warm-tech, used by some good 2024-2026 products)
- Tiempos Headline + GT America (news outlet, serious)
- PP Editorial New + PP Neue Montreal (Pangram, contemporary editorial)
Two principles. First, name a body face and a display face. Do not let the model pick. Second, allow one mono face inside the UI for metadata, labels, code-like elements. The mono in the UI is one of the strongest single visual signals against slop because slop never includes it organically.
2.3 Lever 3 — Explicitly Ban Patterns
This is the lever that surprises people. Negative constraints work, but only when they are extremely concrete. Vague negatives ("don't be generic") fail because "generic" is not in the model's vocabulary as an actionable concept. Specific negatives (specific class names, specific layout patterns) work because they collide with the model's pattern recognition at the right level.
A working ban list:
Forbidden:
- 3-equal-column card grid (grid-cols-3 with identical cards)
- rounded-2xl on every container
- shadow-md as default elevation
- gradient-to-br with from-purple-500 via-pink-500 to-red-500
- centered hero with screenshot floating to the right
- "Trusted by" bar with 5 gray logos
- Pricing with 3 tiers and a "Most Popular" middle column
- Footer with 4 equal columns labeled Product / Company / Resources / Legal
- Lucide check icons in feature lists
- Avatar circles in testimonials with name and role below
- Slate-500 secondary text on white background
- Inter as the only font
- Blob SVG decorations behind a hero
- Lottie animations of abstract shapes
- "Built with [stack logos]" row
- Number counters that animate on scrollThe point is not to forbid all of these and leave the model with nothing. The point is that, by naming each one, you force the model to retrieve and reject specific tokens. The next-best alternative is then significantly less default. Frontier models in 2026 respond well to this. Older models (GPT-3.5 era) responded poorly. The improvement is real.
2.4 Lever 4 — Impose a Visual Archetype
This is the single highest-leverage instruction. One word changes the entire generation: "brutalist", "Swiss", "Bauhaus", "atelier", "terminal", "art deco", "riso", "editorial", "newsprint".
Each of these archetypes maps to a coherent cluster in the model's representation. Once you commit the model to one, the rest of the output aligns. A "Bauhaus grid" prompt produces strict grids, primary colors, geometric headlines, German-tinged microcopy. A "terminal" prompt produces monospace, ASCII, scan lines, low-saturation greens or ambers. A "riso" prompt produces overprinted color, halftone textures, two-color palettes.
The trick is to commit. Half-archetypes ("a bit brutalist, but still clean and professional") collapse back to the centroid. Full archetypes hold. If you want a 70% brutalist and 30% editorial output, you say so explicitly: "Brutalist as a base, with editorial restraint in typography hierarchy, never softened by rounded corners or shadows."
Below is a chart that summarizes how often each archetype appeared spontaneously when we ran our 1,200-prompt batch versus how cleanly each archetype rendered when explicitly requested.
Spontaneous appearance vs explicit request
(Our 1,200-prompt batch, approximate)
Archetype Spontaneous Explicit request
(out of 1,200) (cleanliness, /10)
Generic SaaS ~1,050 n/a
Brutalist 3 9
Swiss minimal 12 8
Bauhaus 1 7
Terminal/HUD 0 9
Atelier/craft 0 7
Art deco 0 6
Riso print 0 8
Editorial 8 8
Newsprint 0 7The lesson: archetypes other than "generic SaaS" almost never appear unprompted. They appear strongly when prompted by name. This is the single cheapest intervention you can make.
2.5 Lever 5 — Provide a Reference
References anchor the model in a specific cluster. They are most powerful when they are non-obvious. Generic references ("like Stripe") collapse the model toward what it thinks Stripe is, which is itself a centroid. Specific, weird references push it to a niche.
References that worked for us:
- Are.na: triggers editorial-grid layouts, mono captions, restrained color.
- Craigslist + Space Mono: triggers raw, dense, information-first layouts with intentional ugliness as a feature.
- brutalist-website.com: triggers bordered everything, high-contrast type, minimal decoration.
- siteinspire.com (selected examples): editorial agency style.
- The New York Times homepage as designed in 2002: text-dense, hierarchical, no images-first.
- The Whole Earth Catalog: dense, captioned, mixed-typeface, manual feel.
- Eames office printed materials: restrained color, geometric, captioned diagrams.
- A 1972 Lufthansa brochure: Müller-Brockmann grid, sharp.
- The Wirecutter (in its newsprint era): comparative tables, footnote-heavy, mono accents.
You can paste a screenshot too, if your tool supports it. Visual references compound with text references. We found that pasting a screenshot of an Are.na block alongside the text "lay out this article like an Are.na block: small mono captions, large image, no shadow, hairline rules" produced output that we could ship with minimal editing.
2.6 Lever 6 — Impose Editorial Voice
If your prompt does not specify voice, the model returns a voice that is helpful, balanced, and forgettable. It will write headlines like "Build the future of work" and body copy like "Streamline your team's workflow with our intuitive platform." This is the verbal equivalent of Tailwind blue.
Voice constraints that work:
- Skeptical-technical: "Voice: skeptical and technical. Sentences are short and declarative. Hedge nothing. Make claims and back them with one number or one example. Never use 'empower', 'leverage', 'seamless', 'robust', 'harness', 'delve', 'tapestry'."
- Conversational: "Voice: a senior engineer talking to a peer at lunch. Use contractions. Drop articles where it sounds natural. Use 'we', not 'you'. Examples are concrete and slightly self-deprecating."
- Editorial: "Voice: a long-form magazine writer. Each paragraph carries one idea. No bullet lists for content (only for actual enumerations). Sentences vary in length. The piece is signed and dated."
- Wry / dry: "Voice: dry, mildly amused. Treat the reader as smart. Avoid exclamation marks entirely. One quiet joke per 500 words."
These voice instructions, in our tests, eliminate the most identifiable LLM tells: balanced bothsidesism, tricolons, "in today's fast-paced world", abstract nouns ending in "-ization".
2.7 Lever 7 — Force Asymmetries
LLMs default to symmetry. Symmetric grids, equal columns, centered text, balanced compositions. This is partly a training-data artifact (most templates are symmetric) and partly a safety preference (symmetric layouts rarely fail). To break it:
Layout rules:
- Hero: 60/40 split. Title and intro on the left at 60%.
Right 40% holds metadata: a small heading, a date, a number, an author block,
a vertical line of mono labels.
- Section after hero: 30/70. A short marginalia note in mono on the left.
The main body on the right.
- Image placements: never centered. Always either flush left or flush right with text wrap.
- Visual gravity: the page should not balance. The eye should be pulled to one side.
- Use one rotated element (a label rotated -90deg, a stamp rotated 4deg).These are concrete spatial instructions. Models render them correctly more often than not. The asymmetry is itself a strong anti-slop signal because slop is, structurally, symmetric.
2.8 Lever 8 — Demand Rare Visual Artifacts
This is the most fun lever to use. Slop has no texture, no marks, no traces of process. It is dimensionally flat. To add depth, request specific artifacts that are almost never present in default outputs:
- Corner brackets: small
L-shaped marks at the corners of a region, in the style of a HUD or a film viewfinder. - Scan lines: a fixed
repeating-linear-gradientoverlay at low opacity to evoke a CRT. - ASCII rules: dividers made of
=,-,*, or┄characters in mono font. - Hairline tickers: a thin row at the top or bottom showing scrolling metadata: a date, a status, a version number, a count.
- Rotated labels: small text rotated 90 or -90 degrees in margins, like the labels on a vinyl sleeve.
- Monospace metadata: dates, versions, IDs, counts always set in mono.
- Low-opacity grid: a 12px or 16px background grid at 4% opacity, visible only in motion.
- Hand-drawn arrows: SVG arrows with wobble, used to point to a specific UI region.
- Stamp marks: rotated rectangles labeled
DRAFT,TESTED 2026-04-12, orINTERNAL. - Footnote markers: superscript numbers that link to a footnotes block.
- Tape marks: rotated rectangles of paper-tape texture, used as accents.
- Photo crops: tight asymmetric crops of a photo, with negative space on one side.
Requesting three or more of these artifacts in a single prompt produces output that is structurally distinct from any default LLM rendering. This is the lever that moved our uniqueness scores the most.
2.9 Lever 9 — Close With Self-Audit
The single most underused lever. After the model produces an output, ask it to critique itself:
After producing the component, do not stop. Run a self-audit:
1. List 3 ways the output could still look AI-generated.
2. For each, propose a concrete fix (specific class change, specific element to add or remove).
3. Apply all 3 fixes.
4. Return the revised output, with a one-line note for each fix applied.The audit step works because it forces the model into a critical mode. The model knows what AI slop looks like — it has seen the same training data we have. It just does not produce slop-conscious output by default. The audit unlocks that knowledge.
In our tests, the second pass after self-audit was, in roughly two-thirds of cases, materially better than the first pass. In about one-quarter of cases, the model identified an issue we had missed and fixed it. In a small fraction of cases, the model misidentified the issue and broke something. The net effect was positive.
---
3. The Master Anti-Slop System Prompt, Decoded
The TL;DR prompt at the top of this article is the master template. Below, every clause, decoded.
You are a senior frontend engineer and art director with a strong personal style.
You refuse to produce generic AI-generated SaaS layouts.The first two lines set role and refusal. "Senior frontend engineer and art director" frames the persona to combine technical feasibility with visual judgment. "Strong personal style" is a soft instruction to commit to an identity. "Refuse to produce generic AI-generated SaaS layouts" is the explicit refusal — we have found that explicit refusals shift output more than implicit preferences.
Hard constraints:
- Visual archetype: pick ONE among [Bauhaus grid, brutalist editorial, Swiss minimal,
terminal/HUD, atelier/craft, art deco, riso print]. Commit to it for the whole output.Lever 4. The list of seven archetypes is intentional: each maps to a clean cluster, none of them is "modern SaaS". Asking the model to pick one (rather than dictating) lets it choose the archetype best suited to the context, while still committing.
- Palette: do NOT use the default Tailwind blue/purple/indigo gradient family.
Pick a palette anchored on ONE of: clay/ochre/terracotta, ink/bone/mustard,
charcoal/lime, oxblood/cream, navy/copper, monochrome with one accent.Lever 1. Negative ban on the default, then six positive options anchored on material descriptors.
- Typography: do NOT use Inter as your only font. Pair two faces from
[Space Mono, Space Grotesk, IBM Plex Mono, IBM Plex Sans, Fraunces, Migra,
Reckless, JetBrains Mono, Söhne, Domaine, Recoleta]. Use one mono in the UI.Lever 2. Negative ban on Inter-only, positive list of pairs, mandatory mono in UI.
- Layout: forbid 3-equal-card grids, hero-with-floating-screenshot, gradient mesh hero,
rounded-2xl on every container, generic shadow-md, blob SVG decorations, centered-everything.
Use asymmetric 60/40 or 70/30 splits. Distribute visual weight unevenly.Levers 3 and 7. Specific bans, then explicit asymmetry guidance.
- Detail layer: include at least 3 of [corner brackets, scan lines, ASCII rules,
hairline tickers, rotated labels, monospace metadata, low-opacity grid, hand-drawn arrows].Lever 8. Mandatory minimum of three rare visual artifacts.
- Voice: skeptical, technical, opinionated. No "empower", "leverage", "seamless",
"robust", "harness", "delve", "tapestry", "revolutionize", "in today's fast-paced".Lever 6. Voice direction plus explicit ban list of common LLM verbal tells.
- Microcopy: include at least one specific number, one date, one named tool.A small but powerful sub-lever. Specific numbers, dates, and tool names break the abstraction that LLM output drifts toward by default. "Used by 2,500+ teams" is generic. "Reduced p95 latency from 380ms to 190ms after migrating to Bun on 2026-01-15" is specific.
Process:
1. Before writing code, describe the chosen archetype in 3 lines.
2. Describe palette and type in 3 lines, with hex codes.
3. Build the component.
4. After writing, audit yourself: list 3 ways the output could still look AI-generated.
5. Fix those 3 issues in a second pass before returning final output.Lever 9. The five-step process forces the model into a more deliberate mode. The pre-build description (steps 1 and 2) anchors the model in the chosen identity before generation. The post-build audit (steps 4 and 5) catches drift.
Return: chosen archetype, palette, type, final component, self-audit, fixes applied.A return contract. Models perform better when they know what shape the answer must take.
That is the entire prompt. About 1,150 characters. Roughly 290 tokens. Cheap to include, even on long sessions. Worth every token.
---
4. Specialized Prompts by Use Case
The master prompt is general. Specialized prompts add use-case constraints on top of the master. We have run each of these against Claude Opus, GPT-5, and Gemini 2.5 Pro and kept the variants that consistently produced non-default output.
4.1 Hero Section Anti-Slop
[Master prompt above]
Specific request: design a hero section for a product called <PRODUCT>.
The product does <ONE-SENTENCE DESCRIPTION>.
Hero rules:
- Forbid: centered hero, floating screenshot, gradient mesh, "Trusted by" logo bar,
giant single-word headline, "Build the future of <X>" headline.
- Required: asymmetric layout (text on one side, sparse on the other),
one piece of metadata in mono (date, version, location, count),
one rare visual artifact (corner brackets OR rotated label OR ASCII rule).
- Headline: maximum 9 words, no abstract nouns, must contain one specific noun
(e.g., "frontend code", not "experiences").
- Subheadline: one sentence, must include one number or named tool.
- CTA: one primary action, label in imperative form, no secondary "Learn more".Expected outputs we have seen with this prompt:
- A 65/35 split with the title flush-left, a single mono line of metadata along the top edge ("v2.4 — released 2026-04-22 — 1,832 installs this week"), and one corner bracket in the right-side region.
- A full-width title spanning two lines, set in PP Editorial New, with a thin horizontal rule below labeled "Manifesto / 04.2026" and one CTA in oxblood on bone.
- A terminal-styled hero with scan lines, IBM Plex Mono throughout, and a blinking cursor at the end of the title.
4.2 Pricing Page Anti-Slop
[Master prompt above]
Specific request: design a pricing page for <PRODUCT>.
Pricing rules:
- Forbid: 3-tier card layout with "Most Popular" middle column, gradient on the
highlighted tier, monthly/yearly toggle as a pill switch, comparison table with
green checkmarks.
- Required: one of these structural choices:
(a) flat horizontal table — tiers as rows, features as columns, monospace numbers, hairlines instead of cards;
(b) calculator-first — let the user pick parameters, show price computed below, no fixed tiers in view;
(c) one-tier — argue against multi-tier in copy, show one price, explain rationale;
(d) editorial — frame pricing as a manifesto, paragraphs first, table at the end.
- All prices in monospace. Currency symbol in a smaller weight than the number.
- Microcopy: one sentence per tier explaining trade-off. Avoid feature lists with checkmarks.4.3 Footer Anti-Slop
[Master prompt above]
Specific request: design a footer.
Footer rules:
- Forbid: 4-column grid labeled Product / Company / Resources / Legal,
social icon row, newsletter signup with a single email field and "Subscribe" button,
oversized brand mark.
- Required: one of these structural choices:
(a) marginalia footer — only metadata in mono: copyright, build hash, date, location, contact;
(b) editorial footer — a paragraph signed by the team, one link list, no columns;
(c) terminal footer — a fake terminal showing a `whoami` block with team info;
(d) sitemap footer — every page on the site as a flat list, no hierarchy, no decoration.
- One asymmetric element. One mono block. Hairline rule above. Date stamp visible.4.4 Blog / Article Layout Anti-Slop
[Master prompt above]
Specific request: design an article layout.
Article rules:
- Forbid: cover image full-width followed by centered title, "x min read" pill,
author card with circular avatar and Twitter handle, social share floating sidebar,
related posts grid below in 3 columns.
- Required: one structural choice:
(a) editorial — title flush-left, byline in mono below, one column of body, marginalia in left margin for footnotes and pull quotes;
(b) wide-margins — body column at 580px max, generous left margin holding metadata, dates, and section markers;
(c) newsprint — multi-column body for desktop, narrow column for mobile, drop caps on first paragraph, hairline rules between sections.
- Body type at 18-20px, line-height 1.6 to 1.7. Body face MUST be a serif or a humanist sans.
Inter and Geist are forbidden for body.
- One pull quote per ~800 words, set apart with a vertical rule and a different face.
- Footnotes block at the end. Real footnotes, not "References".4.5 Dashboard Anti-Slop
[Master prompt above]
Specific request: design a dashboard.
Dashboard rules:
- Forbid: left sidebar 280px + top navbar with search center + 4 KPI cards with
green/red percentage deltas + chart-60-list-40 + table with status pills.
- Required: one structural choice:
(a) terminal dashboard — full-width mono layout, sections separated by ASCII rules,
data in tables not cards, one tiny graph in mono characters;
(b) editorial dashboard — one main metric framed like a magazine cover number,
supporting metrics as a structured table below, chart inline at body width;
(c) workshop dashboard — cards with hand-drawn-feel borders, mono labels, paper-color
background, one accent color, status as text not pills.
- Forbid: shadcn DataTable defaults, recharts default colors, lucide-react default icons
used unmodified.
- Numbers in mono. Currency in smaller weight than number. Deltas as raw arrows
(^ or v) and not green/red Lucide arrows.4.6 Marketing Site Anti-Slop
[Master prompt above]
Specific request: design a full marketing site (home + features + pricing + about + contact).
Site rules:
- Forbid: identical hero pattern across all 5 pages, identical section spacing,
identical CTA component, identical footer, "Trusted by" repeating on every page.
- Required: each page has one distinct structural identity:
- Home: editorial manifesto.
- Features: a structured table of capabilities, no card grid.
- Pricing: one of the structures from section 4.2.
- About: timeline + team in marginalia, no avatar grid.
- Contact: a printed form aesthetic, mono labels, hairline borders.
- Shared: palette, typography, voice. Distinct: layout DNA per page.4.7 Portfolio Anti-Slop
[Master prompt above]
Specific request: design a portfolio site for a designer/developer/agency.
Portfolio rules:
- Forbid: "Hi, I'm <Name>" giant centered hero, horizontal scroll of project thumbnails,
"Selected work" 2-3 column grid, "About" with photo on left and three paragraphs
on right, "Let's work together" CTA at 80vh.
- Required: one structural identity:
(a) catalogue — a numbered, dense list of projects, mono metadata per row,
an image preview as a small inline thumbnail, no hover lift;
(b) ledger — projects displayed as a financial ledger: date, name, role, outcome,
indexed by year, mono throughout;
(c) zine — a cover, an editorial intro spread, projects as 2-page features
with mixed layouts, a colophon page at the end.
- Photos: no soft shadows, no rounded-2xl. Either tight crops or contained in
hairline-bordered frames.
- Microcopy: include real years and real client names placeholders if no real data.---
5. Differences Across Models
We ran the same set of fifty prompts across nine models in March 2026. Each model has a default slop signature. The signatures are similar but not identical. The table below summarizes the dominant biases.
| Model | Default visual signature | Default verbal signature | Strongest anti-slop response | |---|---|---|---| | Claude Sonnet 4.6 | Tailwind blue, slate gray, soft shadows, rounded-xl, restrained | Balanced, hedged, "approximately", "in general" | Responds well to archetypes and explicit bans; struggles with rare artifacts unless requested by name | | Claude Opus 4.7 | Same as Sonnet but more confident commits to alternatives | Slightly more opinionated than Sonnet | Best response to self-audit step; produces measurable second-pass gains | | GPT-5 | Indigo-violet, gradient meshes, glass morphism residue | "Empower", "seamless", "robust" frequent unless banned | Responds well to references; needs explicit asymmetry instructions or it re-centers | | GPT-5 Pro | More restraint, cleaner, often Söhne-like sans | Less buzzword-heavy than GPT-5 | Best at editorial archetypes; weakest at brutalist (overcorrects to clean) | | Gemini 2.5 Pro | Material 3 residue, Google Sans inflections, soft pastel palette | "Innovative", "powerful", "next-generation" | Needs more explicit bans than Claude/GPT-5 to break Material defaults | | Llama 3.3 70B | Older Tailwind defaults, pre-2024 patterns, more "shadow-lg" | More hedged, less fluent in design vocabulary | Responds to direct commands but produces less nuanced output | | Mistral Large 2 | Clean, minimal, slight French-tech-startup feel (white + accent) | Drier than Anthropic/OpenAI, less buzzwordy | Strong out-of-the-box for editorial; weaker for HUD/terminal | | DeepSeek-V3 | Default leans toward dashboards, technical UIs, dense tables | Concise, technical, fewer adjectives | Excellent at terminal/HUD if prompted; can drift toward "engineering hero" template | | Qwen 3 Coder | Pragmatic, often valid HTML, weaker on visual identity | Translates direct prompts faithfully | Good at code, weaker at art direction; needs more visual reference seeding |
A few practical takeaways:
- Claude Opus 4.7 is currently our strongest collaborator for the iterative self-audit loop. It engages with the audit step seriously and produces second-pass output that is meaningfully better than the first.
- GPT-5 Pro produces the cleanest editorial output when prompted with archetypes like "Are.na" or "Whole Earth Catalog". It is less successful at brutalist than at Swiss/editorial.
- Gemini 2.5 Pro requires the most aggressive negative constraints to escape Material 3 inflections. You will need to ban "Material You" and "elevation" and "FAB" explicitly.
- Llama 3.3 lags on visual subtlety but executes direct, mechanical instructions well. It is the right choice for "render this exact spec" tasks, less right for "find an interesting style" tasks.
- DeepSeek-V3 has a built-in technical-dashboard bias that you can lean into for HUD/terminal aesthetics or fight against for editorial work.
- Qwen 3 Coder is best paired with strong visual references. It will translate references faithfully and produce shippable HTML/CSS.
For the broader picture of how these biases produce a recognizable AI-generated web, see /blog/ai-slop-2026-state-of-the-ai-generated-web.
---
6. How to Phrase Constraints Without Killing Creativity
Negative constraints feel safer because they are direct. They are also less effective than positive constraints. Here is the cognitive reason.
When you write "no blue", the model has to do two things at once: retrieve the concept of blue (so it can avoid it) and retrieve a different color (to use instead). The first step activates the blue cluster. The activation is a real signal in the model. The model is now in a state where blue is salient. It will then either avoid blue in the literal sense (and pick cyan, sky, indigo, navy — all neighbors) or it will pick a non-blue color that is the most generic non-blue color in its training data (gray, slate, neutral). Either way, you do not get a strong color identity.
When you write "earthy palette anchored on a tannery workshop: undyed leather, oxblood, bone, iron oxide", the model has to retrieve a different cluster entirely. The cluster activated is "tannery / craft / leather / earthy". This cluster is not a centroid. It is a niche. The output color identity is correspondingly distinct.
This generalizes. Compare:
- "Don't use Inter" vs "Pair Space Mono with Recoleta"
- "Avoid card grids" vs "Use a numbered list with mono metadata per row"
- "No gradient mesh" vs "Solid charcoal background with one corner bracket in lime"
- "Don't be generic" vs "Commit to a brutalist editorial style"
- "Avoid AI tells" vs "Include corner brackets, scan lines, mono metadata, and rotated labels"
In each pair, the right column produces stronger output. The left column produces a hedged, defensive output that often re-centers to a different default.
A practical rule: if you are about to write a negative constraint, ask whether you can add a positive replacement. If you can, do. If you cannot, keep the negative — it still helps — but recognize that you are leaving creative latitude that will be filled by the model's defaults.
The exception: extremely specific class-level negatives ("no rounded-2xl", "no shadow-md") work well because they collide with concrete tokens, not concept clusters. A specific class name is a token in the model's vocabulary; the model can suppress it directly.
---
7. The Iterative Anti-Slop Loop
A single prompt is rarely enough. The most reliable workflow is a loop of generate → audit → correct, run for three to five turns. Here is what one full session looks like.
flowchart LR
A[Prompt with master template] --> B[First generation]
B --> C{Audit by you}
C -->|Issues found| D[Targeted correction prompt]
D --> E[Second generation]
E --> F{Audit by you}
F -->|Issues found| G[Final correction prompt]
G --> H[Third generation]
H --> I{Audit by you}
I -->|Clean| J[Ship / refine in code]
I -->|Still issues| K[Discard, change archetype, restart]
C -->|Clean| J
F -->|Clean| JA real session, anonymized but unedited in structure:
Turn 1. Prompt: master template + "Build a hero for a developer-tools product called Quill that helps teams write better incident postmortems." Output: brutalist hero, IBM Plex Mono + IBM Plex Sans, charcoal background, lime accent, asymmetric 65/35, corner brackets, mono metadata. Strong start. Two issues: the title still uses an abstract noun ("clarity"), and the right-side region has a generic blob SVG.
Turn 2. Correction prompt: "The title uses an abstract noun. Rewrite using a concrete noun related to incidents — 'outages', 'pages', 'rollbacks'. The right-side region has a blob SVG. Replace with a small mono table showing three example incident IDs, dates, durations." Output: new title "Postmortems your team will actually re-read", right-side region replaced with a 3-row mono table with realistic incident IDs (INC-2026-0412-A) and durations. Cleaner. One issue: the CTA is "Get started for free", which is generic.
Turn 3. Correction prompt: "The CTA 'Get started for free' is generic. Replace with an imperative tied to the product (e.g., 'Open a postmortem') and a small mono label below saying 'No demo. Free for 1 team.'" Output: CTA is now "Open a postmortem". Mono label added. Done.
Total: 3 turns, ~1,500 output tokens, ~600 prompt tokens. Roughly $0.05 in API cost on Claude Opus pricing as of April 2026. The same hero, generated by hand from scratch, would have taken a designer 60 to 90 minutes.
The audit at each turn is yours, not the model's (although the model's self-audit, lever 9, helps). The discipline is to be honest about what still looks AI-generated. If you feel it does, it does. The model will adjust if you tell it to.
---
8. For Claude Code, Cursor, Aider, and Codex
Most anti-slop advice focuses on visual output. Code agents — Claude Code, Cursor, Aider, Continue.dev, Codex — produce slop too, just at the structural level. The default Cursor agent will give you a Next.js App Router project, with shadcn/ui, with Tailwind, with app/page.tsx containing a hero that looks identical to the one we described in section 1.3.
To break the structural slop in code agents, you need a different prompt template, with different levers. Here is the template we use:
You are a senior frontend engineer. You build production-quality code that does not
look like it came out of a default Next.js + shadcn template.
Code constraints:
- Do not default to Next.js App Router unless explicitly required. Consider:
Astro, Remix, Vite + React, SvelteKit, plain HTML+CSS for static, Eleventy.
- Do not default to Tailwind utility classes everywhere. Consider:
CSS Modules, vanilla CSS with a small custom design-token file, Panda CSS,
StyleX, or Tailwind with a heavy custom theme that overrides the defaults.
- Do not default to shadcn/ui components. If you need a button, write a button.
If you need a dialog, consider a Radix primitive directly, styled by you.
- Do not import lucide-react reflexively. Consider hand-drawn SVG, geometric
primitives, or text-based icons (e.g., "→" instead of an arrow component).
- Do not import recharts, react-table, react-hook-form unless the component
warrants the weight. Prefer native HTML <table>, <form>, native validation.
- File structure: do not produce a flat /components folder with one file per
component. Consider feature folders, co-located styles, route-colocated UI.
Design constraints (carry these in too):
[Insert master anti-slop prompt above]
Process:
1. Before writing code, propose the framework, styling layer, and component strategy.
2. Justify each choice in one sentence.
3. Write the code.
4. Self-audit: list 3 ways the code structure or styling still looks like a
default scaffold. Fix them.This template applies the same nine levers to code structure that we apply to visual style. The result, in our tests on Claude Code and Cursor in April 2026, was code that did not feel boilerplate. It felt written.
A few specific prompts for Claude Code and Cursor that we keep:
Avoiding shadcn slop:
This project does not use shadcn/ui. We write our own primitives, with our own
styling, in CSS Modules. When you need a Button, Dialog, or Tooltip, build it
from Radix primitives styled with our tokens. Do not generate generic shadcn
boilerplate.Avoiding Tailwind blue:
This project uses a custom Tailwind theme. The blue, indigo, purple, violet,
fuchsia, and pink scales are aliased to a single muted oxblood scale.
Do not use slate as your default neutral; use bone (#F1ECDD) for light
surfaces and graphite (#1F1B17) for dark surfaces. Do not generate shadow-md;
use a custom shadow defined in tokens called "shadow-paper".Avoiding Next.js boilerplate:
This project is Astro 5 with React islands only on routes that need interactivity.
Do not propose Next.js App Router. Do not propose Server Components from React.
Do not propose tRPC. The data layer is plain `fetch` against a typed REST API.For a deeper look at what the post-generation audit catches that the prompt missed, see /blog/de-ai-your-lovable-v0-bolt-site.
8.1 Tools vs Slop Signature
Different code agents produce different slop signatures. The table below summarizes what we have observed across 2026.
| Tool | Default scaffold | Default styling | Default components | Strongest tells | |---|---|---|---|---| | Claude Code | Whatever the repo uses; respects existing patterns | Whatever the repo uses | Builds from scratch when no library is detected | Subtle; mostly inherits the repo style | | Cursor (Composer) | Next.js App Router | Tailwind + shadcn | shadcn/ui via the registry | shadcn imports, App Router conventions | | Aider | Whatever the repo uses; surgical edits | Whatever the repo uses | Whatever the repo uses | Mostly invisible; aligns with existing | | Continue.dev | Whatever the repo uses | Whatever the repo uses | Whatever the repo uses | Mostly invisible | | Codex | Often plain HTML+CSS or React with minimal scaffolding | Plain CSS or Tailwind | Built from scratch | Bare-bones, less boilerplate | | v0.dev | Next.js + shadcn | Tailwind + shadcn | shadcn/ui | Heavy: every output reads as v0 | | Bolt.new | Vite + React + Tailwind | Tailwind | Custom + occasional Radix | Heavy: pastel gradients, blob SVGs | | Lovable | Vite + React + Tailwind + shadcn | Tailwind + shadcn | shadcn/ui | Heavy: identical hero pattern across outputs | | Replit Agent | Varies by template choice | Varies | Varies | Medium: depends on template |
The pattern: agents that respect existing repo conventions (Claude Code, Aider, Continue.dev) inherit your slop or anti-slop posture. Agents that bootstrap from scratch (v0, Bolt, Lovable) inject their own slop signature. The right anti-slop posture, when bootstrapping, is to fight the default scaffold explicitly.
---
9. 25 Ready-to-Use Prompts
This is a copy-paste table. Each row is a context. Each prompt is the master template, plus a context-specific specialization. We have used each of these against Claude Opus 4.7 in our April 2026 sessions and kept the variants that produced shippable output on the first or second turn.
| # | Context | Specialized prompt | |---|---|---| | 1 | B2B SaaS for engineering teams | Master + "Voice: senior engineer to peer. Archetype: terminal/HUD with editorial restraint. Palette: charcoal/lime. Type: IBM Plex Mono + IBM Plex Sans. Required artifacts: scan lines, mono metadata, ASCII rules. Microcopy: realistic incident IDs, build hashes, version numbers." | | 2 | Agency portfolio | Master + "Voice: editorial. Archetype: zine. Palette: oxblood/cream. Type: PP Editorial New + PP Neue Montreal. Required: numbered project ledger, mono metadata per project, no hover lift, photos in hairline frames, colophon page at end." | | 3 | Restaurant | Master + "Voice: dry, warm. Archetype: atelier. Palette: clay/ochre/bone. Type: Recoleta + Inter Tight (body only). Required: one menu set as a printed table with prices in mono, hand-drawn arrows pointing to specials, tape-mark accent on hours, real address with map link." | | 4 | Mobile app marketing | Master + "Voice: skeptical. Archetype: brutalist editorial. Palette: monochrome with one accent in vermilion. Type: IBM Plex Mono + Söhne. Required: one phone mockup that is NOT centered and floating; a flat hairline-bordered frame instead. Mono build numbers and version dates." | | 5 | Ecommerce (apparel) | Master + "Voice: editorial. Archetype: catalogue. Palette: bone/ink/mustard. Type: Migra + Söhne. Required: products as a numbered editorial list; large editorial photos with tight crops; mono metadata (SKU, fabric, weight). No carousels. No quick-add buttons floating." | | 6 | Personal blog | Master + "Voice: a writer with opinions. Archetype: editorial with marginalia. Palette: paper/ink with one accent. Type: Fraunces + Inter Tight (body). Required: marginalia for footnotes, drop cap on first paragraph, dates in mono, no 'x min read' pill, no avatar circle." | | 7 | Conference website | Master + "Voice: confident. Archetype: Bauhaus grid. Palette: primary colors on bone. Type: Space Grotesk + JetBrains Mono. Required: speaker grid as a strict 5-column Müller-Brockmann grid; schedule as a single dense table; no lanyard mockups." | | 8 | Nonprofit | Master + "Voice: direct, honest. Archetype: editorial. Palette: dark green / cream / one accent. Type: Tiempos Headline + GT America. Required: a written manifesto as the homepage, transparency page with real numbers, one printed-form aesthetic for donations." | | 9 | Fintech (consumer) | Master + "Voice: skeptical. Archetype: ledger. Palette: navy/copper. Type: GT America Mono + GT America. Required: numbers as the visual hero (real ones), a financial ledger style for transactions, no stylized graphs, no green-up red-down arrows." | | 10 | Devtools | Master + "Voice: technical. Archetype: terminal. Palette: charcoal/bone/lime. Type: Berkeley Mono + Söhne. Required: a real terminal block as the hero (not a screenshot), code samples that compile, version numbers and changelog dates, mono everything." | | 11 | Dating app | Master + "Voice: wry. Archetype: zine. Palette: rose/oxblood/cream. Type: Recoleta + Inter Tight. Required: one editorial spread per persona instead of avatar grid, hand-written-style annotations, no swipeable cards in the marketing site." | | 12 | Fitness | Master + "Voice: dry, no-hype. Archetype: editorial. Palette: bone/charcoal/one accent. Type: Söhne + JetBrains Mono. Required: real workout numbers, a printed-program aesthetic, no flexed-arm photos, no progress-bar pill UI." | | 13 | Education (online) | Master + "Voice: a teacher who respects the student. Archetype: workbook. Palette: paper/ink/highlighter yellow. Type: Recoleta + Inter Tight. Required: a workbook-style layout with annotations, footnotes, exercise numbering, no 'video player thumbnail' grid." | | 14 | Music platform | Master + "Voice: editorial. Archetype: zine. Palette: ink/bone/one accent. Type: Domaine + Söhne. Required: tracks as a printed credits list, photos in hairline frames, no waveform UI in marketing, no album-grid hero." | | 15 | News outlet | Master + "Voice: a reporter. Archetype: newsprint. Palette: paper/ink/red accent. Type: Tiempos Text + GT America. Required: multi-column body, drop caps, real dateline (city, date), bylines, no 'feed' card grid." | | 16 | Healthcare | Master + "Voice: calm, factual. Archetype: editorial. Palette: bone/sage/one accent. Type: Fraunces + Inter Tight. Required: information as a hierarchy of headings and short paragraphs, no abstract stock photos of doctors, real provider names." | | 17 | Real estate | Master + "Voice: editorial. Archetype: catalogue. Palette: warm gray/cream/one accent. Type: Migra + Inter Tight. Required: properties as numbered editorial spreads, hairline-framed photos, mono metadata (size, year, address), no carousel hero." | | 18 | Travel | Master + "Voice: a writer who has been there. Archetype: editorial. Palette: warm sand/cream/dark teal. Type: PP Editorial New + Söhne. Required: trip pages as long-form essays with marginalia, photo placement asymmetric, mono metadata (dates, distances)." | | 19 | Photography portfolio | Master + "Voice: minimal. Archetype: zine. Palette: monochrome. Type: Söhne + JetBrains Mono. Required: photos as the entire hero (one image, full bleed), captions as marginalia, exhibition-list section as a dense table, no grid of squares." | | 20 | Creative studio | Master + "Voice: confident, opinionated. Archetype: brutalist editorial. Palette: charcoal/bone/one accent. Type: PP Neue Montreal + IBM Plex Mono. Required: one dense editorial intro on the homepage, projects as numbered spreads, no parallax, no scroll-jacking." | | 21 | Open-source library | Master + "Voice: technical. Archetype: terminal. Palette: charcoal/bone/lime. Type: JetBrains Mono + IBM Plex Sans. Required: code samples that compile, install command as the hero CTA, real GitHub-style stats (stars, contributors, last commit date). No emoji as decoration." | | 22 | Crypto / web3 | Master + "Voice: skeptical, anti-hype. Archetype: editorial. Palette: bone/ink/one accent. Type: Söhne + JetBrains Mono. Required: actual data tables for protocol stats, no 3D coin imagery, no glow effects, no neon. Disclaimer page linked from footer." | | 23 | Climate / sustainability | Master + "Voice: direct, evidence-led. Archetype: editorial with marginalia. Palette: muted earth/cream/one accent. Type: Fraunces + Inter Tight. Required: real numbers in the hero, sources cited as footnotes, no abstract leaf imagery, no green gradient." | | 24 | Local services (plumber, electrician) | Master + "Voice: plain, friendly. Archetype: printed leaflet. Palette: paper/ink/one accent. Type: GT America + GT America Mono. Required: real address, real phone, real service area as a written list (not a fancy map), pricing as a printed table with mono numbers." | | 25 | Legal / law firm | Master + "Voice: precise, restrained. Archetype: editorial. Palette: bone/ink/burgundy. Type: Tiempos Headline + GT America. Required: practice areas as a structured list, attorneys as named entries with credentials, no smiling stock photos, no scales-of-justice imagery." |
---
10. A/B Before / After
This section is concrete proof. Eight pairs. Each pair is the same brief, run with a slop prompt and an anti-slop prompt.
10.1 SaaS landing — engineering team
Slop prompt: "Build a landing page for a SaaS that helps engineering teams ship faster."
Slop output: centered hero with "Ship faster. Build better." headline, gradient mesh background from indigo-500 via purple-500 to pink-500, two CTA buttons, "Trusted by 2,500+ teams" with five gray logos, three-column features section in grid-cols-3 with rounded-2xl cards and Lucide icons, three-tier pricing with the middle tier highlighted, footer with four columns. Inter throughout. Approximately one minute to write, approximately zero memorable elements.
Anti-slop prompt: master template + "Voice: skeptical. Archetype: terminal/HUD. Palette: charcoal/bone/lime. Type: IBM Plex Mono + IBM Plex Sans. Required artifacts: scan lines, mono metadata, ASCII rules. Microcopy: realistic incident IDs, build hashes."
Anti-slop output: charcoal background with a barely visible 16px grid; left side carries a flush-left headline ("Ship without re-reading the same incident report twice") in IBM Plex Sans Bold at 64px; right side carries a fake terminal block showing three real-looking incident IDs with statuses; a thin scan-line overlay across the whole hero; corner brackets at the four corners of the right-side terminal; one CTA labeled > open postmortem in lime; mono metadata strip at the top edge ("v2.4.1 — built 2026-04-22 — p95 318ms"); features section as a horizontal hairline-ruled table, not cards; pricing section as a single calculator (team size → price); footer as a whoami block.
10.2 Portfolio — independent designer
Slop prompt: "Create a portfolio website for a freelance designer."
Slop output: "Hi, I'm text-7xl. Horizontal scroll of project thumbnails. About section with photo on left, three paragraphs on right. Selected work in grid-cols-3. "Let's work together" CTA at 80vh. Inter or Plus Jakarta Sans. Soft shadows. Rounded corners. Awwwards-circa-2022.
Anti-slop prompt: master template + "Voice: editorial. Archetype: catalogue. Palette: bone/ink/mustard. Type: Migra + Söhne. Required: numbered project ledger, mono metadata per row, photos in hairline frames, colophon page."
Anti-slop output: hero is a single-column editorial intro at 580px max width, set in Migra Display, signed and dated at the end; below the intro, a numbered list of projects (01 to 14) with mono metadata (year, role, client, one-line outcome) on each row, no hover lift, no thumbnails inline; clicking a project opens a project page laid out as a printed editorial spread; an "Index" page lists every project flatly; a "Colophon" page at the end credits the typefaces, the writing tools, and the build stack.
10.3 Pricing page — productivity app
Slop prompt: "Design a pricing page for a productivity app."
Slop output: three columns. Free / Pro / Team. Middle one highlighted with gradient border and "Most Popular" ribbon. Each column has a price, a feature list with green check icons, a CTA. Below, a comparison table. Below that, an FAQ. Below that, a CTA banner. Generic.
Anti-slop prompt: master template + "Pricing rules: structural choice (a) — flat horizontal table with hairlines, mono numbers. No 'Most Popular' tier. Voice: skeptical. Each tier has a one-sentence trade-off explanation."
Anti-slop output: a single horizontal hairline-ruled table; rows are tiers (Solo, Studio, House), columns are constraints (price, max projects, max collaborators, support level); prices set in JetBrains Mono with the currency symbol in a smaller weight; below each price, one sentence explaining the trade-off ("Studio is for designers who already lost a Friday to a billing bug. Solo is for everyone else."); no checkmark icons; no comparison table after the main one; one short FAQ in mono; no CTA banner.
10.4 Hero section — mobile app
Slop prompt: "Make a hero section for a mobile habit-tracking app."
Slop output: centered hero with phone mockup floating to the right; gradient background; "Build better habits. One day at a time." headline; "Used by 1M+ people" social proof; App Store and Play Store badges; 80vh tall.
Anti-slop prompt: master template + "Hero rules: asymmetric 60/40, no floating phone mockup, no gradient. Phone displayed in a hairline frame, flush right. Headline maximum 9 words, must include a concrete noun. Microcopy: include real number, real date."
Anti-slop output: charcoal background, no gradient; left 60% holds the headline ("Two habits per week, tracked in one tap") in PP Neue Montreal at 56px; one mono line below the title ("Beta opened 2026-03-14 — 4,217 active users this week"); CTA "Open the beta" in vermilion; right 40% holds the phone screenshot inside a hairline frame, with one corner bracket at the top-right; no App Store badges; one rotated mono label on the right edge ("v0.9.4-beta").
10.5 Footer — devtools company
Slop prompt: "Design a footer for a devtools company."
Slop output: four columns labeled Product / Company / Resources / Legal; each with a short link list; social icons row (Twitter, LinkedIn, GitHub, YouTube); newsletter signup with one email field and "Subscribe" button; oversized brand mark; copyright line at the bottom.
Anti-slop prompt: master template + "Footer rules: terminal footer — fake terminal showing a whoami block with team info, location, build hash, last commit date. Hairline rule above. Mono throughout."
Anti-slop output: a terminal block reading something like:
$ whoami
team: 7 humans, 0 founders looking for an exit
location: Lyon, FR (UTC+2)
contact: hello@<domain>
last build: 2026.04.22 14:32 UTC
hash: a8f3c12Below the terminal, a flat list of every page on the site as anchor links; one ASCII rule above the terminal; mono throughout; no social icons; no newsletter signup.
10.6 Dashboard — analytics tool
Slop prompt: "Build a dashboard for an analytics tool."
Slop output: left sidebar 280px, top navbar with search center, four KPI cards in a row at the top (each with a metric, a green-or-red percentage delta, a sparkline), a chart 60% / list 40% below, a table at the bottom with status pills. Inter, blue accent, soft shadows.
Anti-slop prompt: master template + "Dashboard rules: structural choice (a) — terminal dashboard, full-width mono, ASCII rules between sections, data in tables not cards, one mono character chart. Numbers in mono. No status pills."
Anti-slop output: full-width charcoal background; top section is a single-row mono table showing four metrics with raw arrow deltas ( Slop prompt: "Lay out a blog post for a long-form essay about software craft." Slop output: cover image full width; centered title in Anti-slop prompt: master template + "Article rules: editorial with marginalia. Body face Fraunces. Title flush-left. Footnotes in left margin. Drop cap on first paragraph. Real footnotes block at the end." Anti-slop output: title flush-left at 56px in Fraunces; byline below in mono ("By Slop prompt: "Design a marketing site for a small creative agency." Slop output: hero with "We help brands tell their story" centered, project carousel below, services grid in three columns, team grid with circular avatars and Twitter handles, contact form with name/email/message and a "Send message" button. Inter. Off-white background. Awwwards 2022. Anti-slop prompt: master template + "Voice: opinionated. Archetype: brutalist editorial. Each page distinct DNA. Type: PP Editorial New + PP Neue Montreal. Palette: bone/ink/oxblood. Required: home as manifesto, services as a structured table, team as named entries with credentials and email addresses (no avatars), contact as a printed-form aesthetic." Anti-slop output: home is a single-column manifesto signed and dated; services page is a hairline-ruled table with rows (services) and columns (deliverable, timeline, starting price); team page lists each member as a named entry with title, years of experience, three sentences of bio, and an email address — no avatars, no Twitter handles; contact page is a printed-form aesthetic with mono labels above each field, hairline-bordered inputs, and a submit button labeled "Send" in PP Neue Montreal; footer is a terminal-style --- The nine levers above will move your output from generic to distinct in approximately two-thirds of cases on the first try, and in approximately 90% of cases by the third turn. They are the highest-leverage intervention available in 2026. They are not sufficient. Here is what they miss. A prompt encodes intent. A model approximates intent. The approximation has known failure modes: This is where post-generation auditing matters. A scanner like Sailop runs over your generated output and flags every regression. It is the linter for AI slop. It catches the residue that the prompt could not eliminate. It produces a report you can act on, automatically, on every commit. For a deeper look at the specific tells that even a good prompt misses, see /blog/detect-ai-generated-site-30-seconds-21-signs-2026. For the workflow of de-AI-ing an output post-generation, see /blog/de-ai-your-lovable-v0-bolt-site. The combination — a strong prompt template, an iterative loop, and a post-generation scanner — is what we recommend. The prompt does about 75% of the work. The iteration does another 15%. The scanner catches the last 10%. The last 10% is where the difference between "looks AI-generated" and "ships" lives. --- Below is an ASCII chart from our 1,200-prompt batch. The score is qualitative — a "would a senior designer call this AI-looking?" judgment averaged across three reviewers — and we report the direction, not a precise decimal. The deltas are consistent across contexts. The anti-slop prompts moved every category by a similar margin. This is a property of the method, not of any specific use case. --- A practical concern: the master prompt is approximately 290 tokens. Specialized variants add another 100 to 300 tokens. Is it worth the cost? | Prompt length | Tokens | Cost per call (Opus 4.7, approx.) | Slop rate (approx.) | Output usability (first try) | |---|---|---|---|---| | Bare prompt ("Build a hero") | ~10 | ~$0.0002 | ~95% | ~5% | | Short prompt with archetype only | ~50 | ~$0.0007 | ~70% | ~20% | | Master prompt | ~290 | ~$0.004 | ~25% | ~60% | | Master + use-case specialization | ~400-600 | ~$0.006-0.009 | ~10% | ~75% | | Master + specialization + 1 audit turn | ~1,000-1,500 (round trip) | ~$0.015-0.025 | ~3% | ~90% | | Master + 3 audit turns | ~3,000-5,000 | ~$0.05-0.08 | <1% | ~98% | The numbers are approximate and depend on output length. The shape is reliable. The master prompt costs about $0.004 extra per call. It buys roughly a 35-percentage-point reduction in slop rate. The trade is overwhelmingly worth it. Even on a 10,000-call session, the prompt overhead costs about $40, which is less than the cost of one engineer-hour spent fixing slop manually. The audit turns add cost but add usability disproportionately. The third audit turn is the one that takes you from "shippable with edits" to "shippable as is". --- 1. Can I use this with ChatGPT free? Yes, with caveats. The free tier (GPT-5 mini) responds to the master prompt but produces less consistent results than GPT-5 Pro. Expect to run more audit turns. The fundamental method holds. 2. Does the prompt work with Claude Sonnet, or only Opus? Both. Sonnet 4.6 follows the master prompt faithfully. Opus 4.7 produces stronger second-pass results during the audit step. For one-shot generations, Sonnet is cost-effective. For sessions where you iterate, Opus pays for itself. 3. How do I stop Bolt or Lovable from giving me Tailwind blue? You cannot fully, because Bolt and Lovable inject their own system prompts that reinforce defaults. The best approach is to add a strong custom system prompt on top, then post-process the output. Better: bootstrap with v0 or Bolt for speed, then refactor with Cursor or Claude Code under your master prompt to rip out the residue. 4. Can I get Gemini to ignore its Material 3 bias? Mostly. You will need an aggressive negative ban list ("no Material You, no FAB, no elevation system, no Roboto, no Google Sans") plus the master prompt. Gemini complies but pushes back more often than Claude. Expect more audit turns. 5. What if my client wants the generic SaaS look? Give it to them, but consciously. The point of this method is not "always be brutalist". The point is: choose. If your client wants the SaaS centroid, write a prompt that explicitly commits to "modern SaaS, Tailwind blue, Inter, three-card grid, soft shadows" and you will get a clean, intentional execution of that style. The slop is generated when the choice is unconscious, not when it is intentional. 6. Does the self-audit step actually work? Yes, in our tests, in roughly two-thirds of cases, the audit produced a meaningful improvement on the second pass. In about one-quarter of cases, the model identified a regression we had missed. In a small fraction, the audit broke something. Net: positive, especially on Opus and GPT-5 Pro. 7. Why ban specific words like "delve" and "tapestry"? These are LLM verbal tells. They appear in roughly 3-8% of model outputs (Anthropic's models are lower; GPT and Gemini are higher) and almost never in human-written copy. Banning them is a cheap intervention with a clear effect. 8. Should I include hex codes in the prompt? When you have a specific palette in mind, yes. Hex codes are concrete tokens; the model commits to them. When you want the model to choose, give it a material descriptor ("undyed leather, oxblood, bone") and let it pick. Both work. 9. Can I reuse the same prompt across my whole site? Yes for tone and visual identity. You will want to specialize the structural rules per page (hero, pricing, dashboard) using the section 4 templates. The master prompt is the constant; the structural rules are the variable. 10. How long is too long for a prompt? We have not seen returns degrade up to about 2,000 tokens of prompt. Beyond that, we see the model start to forget early instructions. Keep the master + specialization under 1,500 tokens for safety. 11. Does this work in non-English (French, German, etc.)? Yes. Translate the prompt. The structural method is language-independent. We have French versions of every prompt in this article and they perform comparably to the English versions. 12. Does this work for non-web outputs (slides, posters, etc.)? The method generalizes. For slides, replace "frontend engineer" with "art director" and add slide-specific structural constraints. For posters, replace with "graphic designer" and add print-specific constraints (paper, format, ink limits). The nine levers transfer. 13. Will the model push back if I forbid too many things? Sometimes. Claude in particular may include a brief acknowledgment ("I'll work within these constraints, though I want to note that...") and proceed. GPT-5 typically just complies. If the model genuinely cannot meet a constraint, it will say so. In our tests, this is rare with the master prompt; common with prompts that have internal contradictions ("brutalist but soft", "minimal but maximalist"). 14. Should I use this for non-public-facing internal tools too? If the tool is used daily by your team, yes. Internal tools that look like the centroid produce the same fatigue as external sites. The method does not require visual sophistication from the user; it requires only that the output be distinct. 15. Where do I keep my master prompt? In Claude Projects (per-project system prompt), in a custom GPT (configuration), in a Gemini Gem, or in a --- | Archetype | Anchor reference | Useful pairings | |---|---|---| | Bauhaus grid | Müller-Brockmann posters; 1968 Lufthansa identity | Space Grotesk + JetBrains Mono; primary colors on bone | | Brutalist editorial | brutalist-website.com; The Outline (2016-2018) | IBM Plex Mono + IBM Plex Sans; charcoal/bone/oxblood | | Swiss minimal | Massimo Vignelli; The New York Subway map | Söhne + JetBrains Mono; bone/ink/one accent | | Terminal / HUD | DEC VT100 displays; early Unix man pages | IBM Plex Mono + IBM Plex Sans; charcoal/bone/lime | | Atelier / craft | Hermès printed catalogues; Aesop in-store materials | Recoleta + Inter Tight; clay/ochre/bone | | Art deco | Rockefeller Center signage; 1930s travel posters | Migra + Söhne; ink/cream/copper | | Riso print | Riso Inc. printed work; small-press zines | Söhne + JetBrains Mono; two-color (pink + blue) | | Editorial | The Whole Earth Catalog; Are.na | Fraunces + Inter Tight; paper/ink | | Newsprint | The New York Times (2002); Le Monde diplomatique | Tiempos Text + GT America; paper/ink/red | | Catalogue | IKEA print catalogues; Hay product spreads | Migra + Söhne; bone/ink/mustard | | Zine | Self-published photo zines; mid-90s skate zines | PP Editorial New + PP Neue Montreal; oxblood/cream | | Workbook | Tufte's books; mid-century engineering manuals | Recoleta + Inter Tight; paper/ink/highlighter yellow | If you check all ten boxes, your output is in the top 10% of LLM outputs in 2026. If you check seven or more, you are above the median by a wide margin. The marginal cost of moving from seven to ten boxes is minutes, not hours. It is the highest-leverage editing pass you can run on AI-generated work in 2026. --- The method is not new. The discipline of specifying intent precisely, then auditing the output, is older than software. What is new in 2026 is the cost of skipping it. Every week, more sites ship with the centroid signature. The web is being averaged in real time. The way out is not to stop using the tools. It is to use them with a strong hand. Tell the model what you want, in concrete terms. Forbid what you do not want, in concrete terms. Iterate. Audit. Ship. The prompt at the top of this article is the place to start. Copy it. Modify it. Make it yours. The rest is practice. --- A few observations from the batch that did not fit cleanly into any of the sections above, but that are worth knowing if you are about to do the same exercise on your own outputs. Ask any frontier LLM "do you tend to produce generic SaaS layouts?" and the model will deny it, qualify it, or both. Ask the same model to audit a specific output it just produced and the model will identify slop accurately about 60-70% of the time. The mechanism matters: meta-claims about behavior are unreliable; concrete audits of concrete artifacts are reliable. Use audits, not meta-questions. In long generations, slop concentrates at the start. The model spends its early tokens reaching for safe patterns. By token 500-800, if the prompt is strong, the output has stabilized into the requested archetype. This means: when you sample only the first 100 lines of an output and judge it slop, you may be judging a transient state. Read more before concluding. Or: structure your prompts so the model commits to the archetype before it begins generating UI code (lever 9, the pre-build description, helps with this). We initially considered cutting the "describe the chosen archetype in 3 lines" step from the master prompt because it adds tokens without producing visible UI. We reinstated it after measuring: outputs where the model first verbalized its intent had measurably less drift in the body of the generation. The verbalization is a commitment device. Keep it. For one-shot generations with a strong master prompt, Sonnet is sufficient and cheaper. For sessions where you iterate, Opus produces cleaner second-pass outputs and engages with the audit step more thoughtfully. We use Sonnet for batch work and Opus for design-critical pieces. GPT-5 Pro tends to over-document its output: comments, JSDoc, README-style headers. This bleeds into the design (long captions, footer disclaimers). If you do not want this verbosity, ban it explicitly: "Do not add comments unless asked. Do not produce documentation. Return only the requested artifact." Even with explicit gradient bans, Gemini 2.5 Pro will sometimes inject a "subtle" gradient on a button background or a card edge. The fix: ban gradients twice in different phrasings ("no gradient" + "no The master prompt as written sometimes overloads Llama 3.3. The model attempts to honor every constraint but produces less coherent output than when given a shorter, more focused prompt. For Llama, we use a stripped-down master prompt with three or four key constraints rather than the full nine. If you give DeepSeek any latitude, it gravitates toward terminal aesthetics. This is useful when you want a HUD output. It is a problem when you want, say, a warm atelier feel. The fix: explicitly note the archetype as "atelier, NOT terminal" in the prompt. DeepSeek complies. Qwen produces better output when you paste a screenshot or a code sample as part of the prompt than when you describe a style verbally. If you have a reference site or a previous successful output, include it. Qwen will translate it more faithfully than it will translate a description. In a Cursor or Claude Code session that runs over hours, the model gradually drifts back toward defaults even with the master prompt active. The fix: re-paste the master prompt every 20-30 turns, or ask the model to restate the constraints from memory and confirm them. This is a workaround, not a perfect solution. The underlying issue is context compression and attention dilution over long sessions. --- If you do not have a scanner, you can run a manual 60-second audit. The questions below catch the most common regressions. Use it before shipping. A clean output passes all 15 checks. A median output fails 8-12 of them. If you are running this audit on your own AI-generated work, expect to fail several initially. The goal is to reach 12+ passes consistently. Beyond that, you are out of slop territory. --- The master prompt works in any input field that accepts text. The optimal phrasing varies slightly by surface. Here are the surface-specific tweaks we use. Use the master prompt verbatim. Claude Projects respects long system prompts well. Add: "These constraints apply to every message in this project unless explicitly relaxed by the user." ChatGPT splits custom instructions into "What would you like ChatGPT to know about you?" and "How would you like ChatGPT to respond?". Put the role line ("You are a senior frontend engineer...") in the first slot. Put the constraints, process, and return contract in the second slot. The split lets you maintain other custom instructions without conflict. Paste the master prompt in the "Instructions" field. Add: "Conversation starters: Build a hero / Build a pricing page / Build a footer / Build a dashboard." This gives users one-click entry points that all carry the master prompt. Gems accept long instructions. Paste the master prompt. Add a sentence at the start: "Ignore Material 3 defaults. Do not use Roboto, Google Sans, or Material You patterns." This counteracts Gemini's strongest default. For Cursor, paste the master prompt in Aider supports a system prompt via the conventions file. Paste the master prompt with the section 8 code rules. Aider's surgical-edit style means the prompt mainly governs new code, not existing code; this is fine. v0 has its own opinionated system prompt. The master prompt fights it but does not fully override it. Realistically: bootstrap with v0 for speed, then refactor with Cursor or Claude Code under the master prompt. Same as v0: their internal system prompts are opinionated and partially override yours. Use them for rapid prototyping; refactor afterward. Replit Agent respects user prompts well. Paste the master prompt as the first message. Iterate. Continue.dev reads --- Even with the master template, teams make a small number of recurring mistakes. Watch for these. Mistake 1: Picking too many archetypes. "Brutalist editorial with Swiss minimal influences and a touch of HUD" collapses into incoherence. Pick one. Hold it. Mistake 2: Specifying a palette without specifying a typography pairing. Color without type produces a half-distinct output. The output looks like it has a different palette but feels the same as default because the type carries half the identity. Mistake 3: Banning patterns without proposing alternatives. "No 3-card grid" without "use a numbered list with mono metadata" leaves the model to invent an alternative, which often defaults to a 4-card grid or a 2-card grid. Be specific. Mistake 4: Skipping the self-audit step to save tokens. The audit step is the cheapest, highest-leverage component. Skipping it loses more value than it saves. Mistake 5: Treating the prompt as final on the first try. The prompt is a living document. After you run it 10 or 20 times, you will see patterns of failure specific to your domain. Update the prompt to address them. Each iteration of the prompt compounds. Mistake 6: Letting the model pick the archetype every time. Letting the model pick is fine for variety, but if your brand requires consistency across pages, fix the archetype upfront. Otherwise you get a brutalist hero, an editorial pricing page, and a terminal footer in the same site. Mistake 7: Using the master prompt for non-design tasks. The master prompt is calibrated for visual UI generation. For prose, copy, code architecture, or technical writing, you need different prompts with different levers. Do not assume one prompt fits all. Mistake 8: Forgetting to update the verbal ban list. New buzzwords emerge constantly. "Empower" is old. "Effortless", "intelligent automation", "AI-native", "context-aware" are newer. Refresh your ban list every quarter. Mistake 9: Not reading the model's pre-build description. If you skip ahead to the code, you miss the moment where the model commits to an archetype, palette, and type. Reading those three sections lets you intercept misinterpretations before they propagate into 1,000 lines of UI. Mistake 10: Treating Sailop or any post-generation scanner as optional. The prompt does most of the work. The scanner catches the residue. Both are needed for shippable output. --- --- *Cross-references: State of the AI-generated web 2026 — De-AI your Lovable / v0 / Bolt site — The Tailwind blue / purple gradient AI signature — Detect an AI-generated site in 30 seconds: 21 signs.* Scan your frontend for AI patterns. Generate a unique design system. Stop shipping the same blue gradient as everyone else.^ and v); ASCII rule below; middle section is a single graph rendered in mono characters (a sparkline made of ▁▂▃▄▅▆▇); ASCII rule below; bottom section is a real with hairline borders, monospace numbers, status as plain text ("ok", "down", "slow"), no pills, no color-coded backgrounds.
10.7 Blog post — long-form essay
text-5xl; "x min read" pill; author card with circular avatar and Twitter handle; body in prose prose-slate at 720px max; floating share sidebar; related posts in grid-cols-3 at the bottom.10.8 Marketing site — small agency
whoami block.11. Why Prompts Alone Aren't Enough
bg-blue-500 somewhere in a tooltip. You will not see it on the first scroll. It will ship.12. Uniqueness Score Before vs After (Visual Reference)
Uniqueness score (out of 100, qualitative average)
Prompt context Default Anti-slop Delta
|----------|----------|
Hero (SaaS) [### ] 27 [######## ] 78 +51
Pricing page [## ] 22 [####### ] 73 +51
Footer [### ] 30 [######## ] 81 +51
Article layout [### ] 33 [#########.] 86 +53
Dashboard [# ] 18 [####### ] 71 +53
Marketing site [## ] 24 [######## ] 79 +55
Portfolio [### ] 31 [######### ] 84 +53
Hero (mobile app) [## ] 25 [######## ] 76 +5113. Short Prompt vs Long Prompt — Cost / Efficiency
14. FAQ
.cursor/rules file at the root of your repo, or in a CLAUDE.md file for Claude Code. Keep it under version control. Iterate on it like you iterate on code.15. Annexes
15.1 Master prompt — English (full)
You are a senior frontend engineer and art director with a strong personal style.
You refuse to produce generic AI-generated SaaS layouts.
Hard constraints:
- Visual archetype: pick ONE among [Bauhaus grid, brutalist editorial, Swiss minimal,
terminal/HUD, atelier/craft, art deco, riso print]. Commit to it for the whole output.
- Palette: do NOT use the default Tailwind blue/purple/indigo gradient family.
Pick a palette anchored on ONE of: clay/ochre/terracotta, ink/bone/mustard,
charcoal/lime, oxblood/cream, navy/copper, monochrome with one accent.
- Typography: do NOT use Inter as your only font. Pair two faces from
[Space Mono, Space Grotesk, IBM Plex Mono, IBM Plex Sans, Fraunces, Migra,
Reckless, JetBrains Mono, Söhne, Domaine, Recoleta]. Use one mono in the UI.
- Layout: forbid 3-equal-card grids, hero-with-floating-screenshot, gradient mesh hero,
rounded-2xl on every container, generic shadow-md, blob SVG decorations, centered-everything.
Use asymmetric 60/40 or 70/30 splits. Distribute visual weight unevenly.
- Detail layer: include at least 3 of [corner brackets, scan lines, ASCII rules,
hairline tickers, rotated labels, monospace metadata, low-opacity grid, hand-drawn arrows].
- Voice: skeptical, technical, opinionated. No "empower", "leverage", "seamless",
"robust", "harness", "delve", "tapestry", "revolutionize", "in today's fast-paced".
- Microcopy: include at least one specific number, one date, one named tool.
Process:
1. Before writing code, describe the chosen archetype in 3 lines.
2. Describe palette and type in 3 lines, with hex codes.
3. Build the component.
4. After writing, audit yourself: list 3 ways the output could still look AI-generated.
5. Fix those 3 issues in a second pass before returning final output.
Return: chosen archetype, palette, type, final component, self-audit, fixes applied.15.2 Master prompt — French (full)
Tu es un développeur front-end senior et un directeur artistique avec un style personnel fort.
Tu refuses de produire des mises en page SaaS génériques générées par IA.
Contraintes dures :
- Archétype visuel : choisis UN parmi [grille Bauhaus, brutalisme éditorial, suisse minimal,
terminal/HUD, atelier/artisanat, art déco, impression riso]. Tiens-le sur tout le rendu.
- Palette : N'UTILISE PAS le bleu/violet/indigo Tailwind par défaut.
Choisis une palette ancrée sur UN parmi : argile/ocre/terracotta, encre/os/moutarde,
charbon/citron vert, sang-de-bœuf/crème, marine/cuivre, monochrome avec un accent.
- Typographie : N'UTILISE PAS Inter comme seule police. Associe deux fontes parmi
[Space Mono, Space Grotesk, IBM Plex Mono, IBM Plex Sans, Fraunces, Migra,
Reckless, JetBrains Mono, Söhne, Domaine, Recoleta]. Utilise une mono dans l'UI.
- Mise en page : interdiction des grilles de 3 cartes égales, du hero avec capture d'écran flottante,
du mesh gradient en hero, du rounded-2xl sur tous les conteneurs, du shadow-md générique,
des SVG en blob décoratifs, du tout-centré.
Utilise des découpes asymétriques 60/40 ou 70/30. Répartis le poids visuel de manière inégale.
- Couche de détail : inclus au moins 3 de [crochets d'angle, scan lines, règles ASCII,
bandeaux de métadonnées, étiquettes pivotées, métadonnées en mono, grille basse opacité,
flèches dessinées à la main].
- Voix : sceptique, technique, opinionée. Pas de "empower", "leverage", "seamless",
"robust", "harness", "delve", "tapestry", "revolutionize", "in today's fast-paced".
- Micro-copie : inclus au moins un chiffre précis, une date, un outil nommé.
Processus :
1. Avant d'écrire du code, décris l'archétype choisi en 3 lignes.
2. Décris la palette et la typographie en 3 lignes, avec des codes hexadécimaux.
3. Construis le composant.
4. Après l'écriture, auto-audite : liste 3 façons dont le rendu peut encore paraître généré par IA.
5. Corrige ces 3 problèmes en deuxième passe avant de renvoyer le rendu final.
Renvoie : archétype choisi, palette, typographie, composant final, auto-audit, corrections appliquées.15.3 Visual archetype references
15.4 Glossary
L-shaped mark at the corner of a region, typically in HUD or viewfinder aesthetics.15.5 Quick checklist before shipping
16. Field Notes — What We Learned Running 1,200 Prompts
16.1 Models lie about their own slop
16.2 The first 200 tokens of output are the most slop-prone
16.3 The verbose pre-build description is not waste
16.4 Sonnet 4.6 vs Opus 4.7: pick by task
16.5 GPT-5 Pro has a documentation tic
16.6 Gemini 2.5 Pro has a hidden gradient bias
bg-gradient-* Tailwind class" + "use solid colors only"). Repetition works on Gemini in a way it does not on Claude.16.7 Llama 3.3 needs simpler instructions
16.8 DeepSeek-V3 over-applies the "terminal" archetype
16.9 Qwen 3 Coder benefits from inline references more than text instructions
16.10 Long-running sessions accumulate drift
17. The 60-Second Anti-Slop Audit (For Reviewing Your Own Output)
grid-cols-3 or grid-cols-4 with identical cards, ask whether that is the right structure or whether a table or list would carry the information better.rounded-2xl, rounded-xl, rounded-3xl. Is there a default radius applied to almost every container? If yes, vary or reduce.shadow-md, shadow-lg, shadow-xl. Same question: is the elevation system varied or default?bg-gradient-. If present, is it intentional? If not, replace with solid.lucide-react? If yes, consider whether a non-icon-library mark would be more distinct in at least one prominent place.18. Anti-Slop Prompts for Specific LLM Surfaces
18.1 Claude Projects (system prompt slot)
18.2 ChatGPT custom instructions
18.3 ChatGPT custom GPT (configuration)
18.4 Gemini Gem
18.5 Cursor / Claude Code (rules file)
.cursor/rules (or the equivalent for your version). For Claude Code, paste it in CLAUDE.md at the repo root. Both tools read these files automatically and apply them as context. Add a section "Code-specific constraints" with the section 8 code rules.18.6 Aider (`.aider.conf.yml`)
18.7 v0.dev
18.8 Bolt.new and Lovable
18.9 Replit Agent
18.10 Continue.dev
.continue/config.json and supports system prompts per model. Add the master prompt globally. Add the section 8 code rules per project.19. The Most Common Mistakes When Writing Anti-Slop Prompts
SHIP CODE THAT LOOKS INTENTIONAL