Zum Inhalt springen
Workflow

Vibe Coding ohne KI-Einheitslook

Woran man eine generierte Seite erkennt, warum Agenten ohne Vorgaben immer denselben Durchschnitt bauen, welche Regeln in die AGENTS.md gehören, wie die eigene Marke in den Code kommt und wie man vor dem Livegang prüft.

8 Min. LesezeitVon Leonie RoesmannStand: 16. November 2026
Vibe CodingAI SlopAGENTS.mdDesign TokensTailwind

Vibe Coding liefert in einer Viertelstunde eine Seite, die funktioniert. Sie sieht nur aus wie alle anderen: ein Verlauf von Lila nach Blau, eine mittige Überschrift, drei gleiche Karten mit Icons, Sätze wie Unlock the power of. Leute erkennen diesen Look inzwischen auf den ersten Blick, und mit ihm halten sie auch das Angebot dahinter für austauschbar. Das liegt nicht am Werkzeug, sondern daran, dass ein Sprachmodell ohne Vorgaben den Durchschnitt baut. Dieser Beitrag zeigt die typischen Merkmale, erklärt, woher sie kommen, und gibt vier Gegenmittel: Regeln in der AGENTS.md, fertige Komponenten, eigene Design-Tokens und eine Prüfliste vor dem Livegang.

Das Wichtigste in Kürze
  • Der KI-Look ist eine Summe von Standardentscheidungen: Indigo bis Lila als Verlauf, mittiger Hero mit zwei Knöpfen, drei gleiche Karten, Glas und Leuchten, Icons ohne Aussage, Floskeln und erfundene Zahlen.
  • Er entsteht, weil ein Modell ohne Vorgaben das Wahrscheinlichste baut. Stilwörter wie modern, clean oder premium ändern daran nichts, sie beschreiben genau diesen Durchschnitt.
  • Was hilft, sind Vorgaben mit Werten: Farben als Hexwert, zwei Schriften, ein Radius, ausdrückliche Verbote. Sie gehören in die Datei, die das Werkzeug bei jeder Anfrage liest, nicht in den einzelnen Prompt.
  • In Tailwind 4 entfernt --color-*: initial die ganze Standardpalette. Dann gibt es bg-indigo-500 schlicht nicht mehr, und der Agent muss die eigenen Farben nehmen.
01

Woran erkennt man eine Seite, die nach KI aussieht?

An einer Handvoll Standardentscheidungen, die zusammen auftreten. Einzeln ist keine davon falsch, aber in dieser Kombination steht sie auf so vielen generierten Seiten, dass Leute sie als Muster lesen und nicht mehr als Gestaltung.

  1. Farbe: ein Verlauf von Indigo über Violett nach Lila, gern auch als Verlauf in der Überschrift.
  2. Aufbau: Hero mittig, darüber ein kleines Badge mit Funkel-Symbol, darunter zwei Knöpfe nebeneinander.
  3. Karten: drei oder sechs gleich große Karten mit einem Icon im farbigen Quadrat, Schatten und Anheben beim Hovern.
  4. Material: Glas-Karten mit Unschärfe und leuchtenden Rändern auf dunklem Grund, ohne dass dahinter etwas zu sehen wäre.
  5. Icons: ein Funkeln für alles mit KI, ein Blitz für Geschwindigkeit, ein Schild für Sicherheit, oder gleich Emojis.
  6. Text: Unlock the power of, seamless, supercharge your workflow, built for the future.
  7. Belege: runde Zahlen ohne Quelle wie 10,000+ happy customers und Stimmen von Personen, die es nicht gibt.

Die letzten beiden Punkte sind mehr als ein Stilproblem. Erfundene Zahlen und Stimmen auf einer echten Seite sind irreführend, und sie fallen auf, sobald jemand nachfragt.

02

Warum sehen vibe-gecodete Seiten alle gleich aus?

Weil ein Sprachmodell ohne Vorgaben das wahrscheinlichste Ergebnis baut, und das wahrscheinlichste Ergebnis ist der Durchschnitt aus allem, was es gesehen hat. Jede Entscheidung, die man nicht trifft, trifft das Modell, und zwar jedes Mal gleich.

Dazu kommen die Werkzeuge selbst. Lovable und v0 setzen ihre Projekte mit React, Tailwind und den Grundbausteinen von shadcn/ui auf. Tailwind 4.2 bringt eine Palette von 26 Farbtönen in je 11 Stufen mit, darunter indigo-500, violet-500 und purple-500, deren Farbtöne bei 277, 293 und 304 Grad liegen. Ein Verlauf über knapp 27 Grad sieht immer stimmig aus, also ist er die sichere Wahl. Bei den Icons ist es ähnlich: lucide-react bringt in Version 0.575 genau 1688 Icons mit, und das Modell nimmt die, deren Namen zu den Wörtern im Prompt passen.

Stilwörter helfen dabei nicht. Modern, clean, sleek oder premium sind keine Vorgaben, sondern Beschreibungen des Durchschnitts. Ein Prompt mit diesen Wörtern bestätigt dem Modell, dass der Standard gewünscht ist.

Beschreibt den Durchschnitt
  • Build a modern, clean, professional landing page for my booking app.
Trifft die Entscheidungen
  • Landing page for a booking app for physiotherapy practices. Background #f6f4ef, text #1c1917, one accent #c2410c. Headings in Fraunces, body in Albert Sans. Hero left aligned with a photo of a treatment room on the right. No gradients, no emoji, no invented numbers.
03

Welche Regeln gehören in die AGENTS.md gegen den KI-Look?

Verbote und Werte statt Stilwörter: welche Farben es gibt, welche Schriften, welcher Radius, und welche Muster nicht vorkommen dürfen. Ein Modell hält sich an eine Liste mit Hexwerten deutlich besser als an ein Gefühl, weil es sie wörtlich übernehmen kann.

Die Regeln gehören in die Datei, die das Werkzeug bei jeder Anfrage liest, nicht in den einzelnen Prompt. AGENTS.md ist das offene Format dafür und wird unter anderem von Codex und Cursor gelesen. Claude Code liest CLAUDE.md; eine Zeile @AGENTS.md darin übernimmt dieselben Regeln. Die App-Builder haben eigene Orte: Lovable die Instructions in den Projekteinstellungen und zusätzlich eine AGENTS.md im Repository, Bolt das Feld Knowledge, v0 seine Instructions, Replit die Datei replit.md.

 ## Design rules  - Colors: background #f6f4ef, text #1c1917,   one accent #c2410c. No other hues. - No gradients. Never purple, violet or indigo. - Fonts: Fraunces 600 for headings,   Albert Sans 400 for body. Nothing else. - Radius: 8px on controls, 12px on cards. - No glass, no glow, no shadows on cards. - Icons only where they carry meaning, never emoji. - Never three equal feature cards in a row. - Copy: short, concrete sentences. Never unlock,   seamless, supercharge, elevate, the power of. - No invented numbers, logos or quotes. Use a TODO.
Ein Regelblock für die AGENTS.md. Die Werte sind Beispiele, entscheidend ist, dass es Werte sind.
Verbote brauchen ein GegenstückEine Liste, die nur sagt, was nicht sein soll, lässt das Modell beim nächstwahrscheinlichen Standard landen: ohne Lila wird es oft Blau mit Türkis. Zu jedem Verbot gehört deshalb die Entscheidung, die stattdessen gilt.
04

Hilft eine Komponenten-Bibliothek per MCP gegen den KI-Look?

Teilweise. Sie ersetzt das, was das Modell am schlechtesten erfindet, also Aufbau, Abstände und Bewegung, aber sie löst weder Texte noch Bilder noch eine fehlende Marke.

Holt der Agent eine Section über einen MCP-Server, bekommt er fertigen Code, den jemand gestaltet und geprüft hat, und muss nichts aus dem Durchschnitt zusammensetzen. Das ist der größte Hebel gegen die drei gleichen Karten und den mittigen Standard-Hero. Manche Server liefern Komponenten auch gleich in den Farben und Schriften einer Marke, Systra Tools etwa über get_component_styled.

Drei Grenzen bleiben. Erstens: Wenn viele dieselbe Bibliothek unverändert einsetzen, sehen ihre Seiten wieder ähnlich aus, nur auf einem anderen Niveau. Zweitens schreiben App-Builder übernommenen Code gern um und nehmen dabei oft genau die Details heraus, wegen derer man ihn ausgesucht hat. Drittens kommen Texte und Bilder weiterhin vom Agenten, und dort entsteht der KI-Eindruck genauso.

Ein Satz, der den Umbau verhindertAm Ende des Prompts: Use the component exactly as returned, only change the copy and the image. Damit bleiben Animationen und bewusst gesetzte Details erhalten.
05

Wie bekommt eine generierte Seite die eigene Marke?

Über Design-Tokens, die vor dem ersten Prompt feststehen: eine Handvoll Farben, zwei Schriften, ein oder zwei Radien als CSS-Variablen, auf die jede Komponente zugreift. Der Agent setzt dann keine Farbe mehr ein, sondern einen Namen wie bg-accent.

In Tailwind 4 stehen die Tokens im @theme-Block. Die erste Zeile ist die wichtigste: --color-*: initial entfernt die ganze Standardpalette. Danach erzeugen bg-indigo-500 und from-indigo-500 kein CSS mehr, und der Agent kann eine Farbe, die es nicht gibt, auch nicht versehentlich benutzen. Weiß und Schwarz fallen dabei mit weg und müssen neu angelegt werden.

Wer noch keine Marke hat, nimmt sie von einer Seite, deren Wirkung passt: Farben, Schriften und Abstände lassen sich aus einer bestehenden Website auslesen und als Tokens übernehmen. Dazu ein bis drei Referenzbilder im Chat, die zeigen, was gemeint ist; Lovable, Bolt und v0 nehmen Bilder im Prompt an.

@theme {  --color-*: initial;  --color-white: #ffffff;  --color-paper: #f6f4ef;  --color-ink: #1c1917;  --color-accent: #c2410c;   --font-display: "Fraunces", serif;  --font-sans: "Albert Sans", sans-serif;   --radius-control: 8px;  --radius-card: 12px;}
Tokens in Tailwind 4. Ohne die erste Zeile stünde die Standardpalette weiter daneben.
06

Wie prüft man eine generierte Seite, bevor sie live geht?

Mit einer kurzen Liste, die jedes Merkmal aus dem ersten Abschnitt einzeln abfragt, am besten mit frischem Blick oder in einem neuen Chat ohne den bisherigen Verlauf. Wer die Seite gerade gebaut hat, sieht den Durchschnitt nicht mehr.

  1. Farbe: Kommt im Code noch indigo, violet, purple oder ein Verlauf vor? Die Befehle unten finden es in Sekunden.
  2. Aufbau: Haben zwei benachbarte Sections denselben Aufbau? Dann eine davon anders lösen.
  3. Icons: Sagt jedes Icon etwas, das der Text daneben nicht schon sagt? Sonst weg damit.
  4. Text: Steht eine der verbotenen Floskeln drin, und lässt sich jede Aussage belegen?
  5. Belege: Ist jede Zahl, jedes Logo und jede Stimme echt? Was nicht echt ist, kommt raus, auch als Platzhalter.
  6. Logo-Test: Könnte man das Logo gegen ein anderes tauschen, ohne dass es auffällt? Dann fehlt der Seite noch etwas Eigenes.
# default palette hues and gradient utilitiesgrep -rnE "(indigo|violet|purple)-[0-9]+" src/grep -rnE "bg-(linear|gradient)-to-" src/ # stock phrases in the copygrep -rniE "unlock the power|seamless|supercharge" src/
Findet Standardfarben und Verläufe in einem Tailwind-Projekt.

Wenn man das Logo tauschen kann, ohne dass es auffällt, ist die Seite noch nicht fertig.

Teilen
Geschrieben von
Leonie RoesmannDesign Engineering

Wir bauen Websites und Web-Apps bei Systra Studios in Münster und legen die Bausteine daraus hier ab. Was in den Beiträgen steht, kommt aus echten Projekten, nicht aus einem Werbeprospekt.

Systra Studios: Webdesign aus Münster

Drei Features.
Keine drei gleichen Karten.

Feature-Sections, die zeigen statt aufzuzählen: Punkte auf einem Produkt, Reiter mit Bild, eine Karte mit Vierteln. Jede als vollständiger Code, im Browser oder per MCP direkt im Editor.

  • React, TypeScript und Tailwind, ohne Laufzeit-Abhängigkeit von Systra.
  • Farben und Schriften stehen offen im Code und lassen sich auf deine Tokens umstellen.
  • Bewegung richtet sich nach der Einstellung für reduzierte Bewegung.
Feature-Sections ansehen
FAQ

Häufige Fragen

Weil diese Farben in der Standardpalette von Tailwind liegen, mit der etwa Lovable und v0 ihre Projekte aufsetzen, und in vielen öffentlichen Beispielen als Hauptfarbe stehen. In Tailwind 4.2 ist indigo-500 oklch(58.5% 0.233 277.117), violet-500 oklch(60.6% 0.25 292.717) und purple-500 oklch(62.7% 0.265 303.9). Die drei Farbtöne liegen knapp 27 Grad auseinander, ein Verlauf zwischen ihnen sieht deshalb immer stimmig aus. Für ein Modell ist das die sichere Wahl, und ohne eigene Farbe im Projekt nimmt es die sichere Wahl.

Für eine einzelne Section ja, für ein ganzes Projekt nein. Ein Prompt gilt für die eine Anfrage, und in langen Unterhaltungen verliert der Agent frühe Vorgaben aus dem Blick; Lovable schreibt selbst, dass Anweisungen in sehr langen Chats nicht immer eingehalten werden. Dauerhafte Regeln gehören deshalb in die Datei oder das Feld, das das Werkzeug bei jeder Anfrage mitliest: AGENTS.md, die Instructions in Lovable, Knowledge in Bolt, Instructions in v0 oder replit.md in Replit.

In Lovable unter Projekteinstellungen, Instructions (früher Knowledge), bis 10.000 Zeichen, dazu Workspace-Instructions für alle Projekte; Lovable liest außerdem eine AGENTS.md oder CLAUDE.md aus dem Repository. In Bolt unter Knowledge, für ein Projekt, für das ganze Konto oder für ein Team. In v0 als Instructions, die man über das Plus im Eingabefeld anlegt und auf Chats anwendet. In Replit in der Datei replit.md im Projektordner, die der Agent selbst anlegt und bei jeder Anfrage liest.

Ja, in Tailwind 4 mit --color-*: initial im @theme-Block. Danach gibt es nur noch die Farben, die man selbst definiert: bg-indigo-500 und from-indigo-500 erzeugen kein CSS mehr, auch bg-white und bg-black fallen weg, bis man sie neu anlegt. Für einen Agenten ist das die wirksamste Regel überhaupt, denn er kann eine Farbe, die nicht existiert, nicht versehentlich benutzen. In Tailwind 3 erreicht man dasselbe, indem man colors in der Konfiguration ersetzt statt unter extend zu erweitern.

Deine Frage war nicht dabei? Wir helfen gern weiter.

Kontakt aufnehmen