Communitygithub.com

hifebriansyah/mockup-html

Entwirf einen Web- oder App-Bildschirm als funktionierendes HTML- und CSS-Mockup oder ein Logo, Icon oder eine Illustration als SVG – die Seite zeigt es in einem Sandbox-Vorschaufenster an (Handy-, Tablet- und Desktop-Breiten oder helle, dunkle und karierte Hintergründe). Verwende dies, wenn der Benutzer nach einem Mockup, Wireframe, Prototypen, einer Landing Page, einem Bildschirmlayout, Logo, Icon oder SVG fragt.

Was ist mockup-html?

Diese Fähigkeit befähigt den KI-Assistenten, interaktive HTML/CSS-Mockups und SVG-Grafiken (Logos, Icons, Illustrationen) direkt im Chat zu rendern, ohne dass eine externe Umgebung benötigt wird. Sie wird ausgelöst, sobald ein Benutzer ein visuelles Design anfordert – sei es ein App-Bildschirm, eine Webseite, ein Logo oder ein Icon. Die Antwort wird in einem speziellen `<mockup>`-Tag geliefert, der die Ausgabe in einem Sandbox-Iframe darstellt, mit Unterstützung für verschiedene Viewport-Größen (Handy, Tablet, Desktop) und Hintergründe (hell/dunkel/kariert). Die Fähigkeit legt Wert auf vollständige, interaktive Designs: Sie enthält HTML-Boilerplate, CSS (mit Token-basiertem Design, mobilem First-Ansatz), interaktive Steuerelemente (JavaScript) und barrierefreie, semantische Elemente. Sie verbietet Platzhalter wie „Lorem Ipsum“ oder nichtssagende Schaltflächen und erwartet vielmehr echte Inhalte, Zustände (Fehler, leere Listen) und eine durchgehende Seitengliederung. Für SVG-Kunstwerke konzentriert sie sich auf präzise Geometrie, Farbkontrast und Skalierbarkeit, ohne externe Skripte oder Referenzen. Der Assistent muss die Einschränkung klar kommunizieren: Er sieht das Ergebnis nicht selbst und bittet den Benutzer um Überprüfung auf Probleme wie Überlappungen, tote Steuerelemente oder fehlende Responsivität. Die Fähigkeit arbeitet auf jeder Plattform, die `<mockup>`-Tags unterstützt, wie Claude Code, Cursor oder Codex, und liefert prototypische Designs, keine Beschreibungen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hifebriansyah/pro/tree/HEAD/skills/mockup-html

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Entwerfen eines Mockups als HTML oder eines Logos als SVG

Verwende dies, wenn der Benutzer einen Bildschirm, eine Seite, ein Logo oder ein Icon sehen möchte, nicht eine Beschreibung davon.

Die Seite, in der du chattest, zeichnet es für den Benutzer. HTML und SVG, die innerhalb des <mockup>-Tags geschrieben werden, erscheinen in einem Vorschaufenster neben dem Chat. Antworte daher niemals mit „Ich kann dies nicht rendern oder anzeigen“: Schreibe es in das Tag. Was du nicht tun kannst, ist das Ergebnis selbst zu sehen, also sag das und sag, was überprüft werden soll.

So lieferst du es aus

  1. Antworte in deiner normalen Chat-Stimme mit einem bis drei kurzen Sätzen: was das Mockup zeigt, die zwei oder drei wichtigsten Designentscheidungen und was zu überprüfen ist. Füge den Code nicht in den Chat ein.
  2. Setze das gesamte Mockup in ein einziges Tag-Paar mit einem kurzen Titel:

Ein Mockup pro Antwort: ein Bildschirm oder eine ganze Seite. Nichts außer dem HTML kommt in das Tag. Setze das Tag niemals in einen Code-Block. Die Seite zeigt es rechts mit den Reitern „Vorschau“ und „Code“.

Wenn der Benutzer auch etwas Geschriebenes (ein PRD, Notizen) anfordert, kann ein <document> in derselben Antwort neben dem <mockup> stehen. Bei einer Mockup-Anfrage enthält die Antwort ein <mockup>, nicht nur ein Dokument.

Ein Logo, ein Icon oder eine Illustration (SVG)

Setze ein <svg> und nichts weiter in das <mockup>-Tag. Die Seite zeichnet es zentriert, mit einer Umschaltmöglichkeit für einen hellen, dunklen oder karierten Hintergrund, und der Benutzer kann es kopieren oder als .svg-Datei herunterladen.

  • Beginne mit <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 W H"> (ein Quadrat wie 0 0 200 200 für ein Logo oder Icon). Zeichne mit flachen Formen: path, circle, rect; Verläufe mit linearGradient; Ausschnitte mit einer mask oder durch Formen. Text ist nur für einen Wortmarke und verwendet einen System-Schriftstapel, oder wird besser als Formen gezeichnet.
  • Keine Skripte und keine externen Referenzen (href zu einer Datei oder Adresse): Halte es bei Inline-Formen, Verläufen und data:-Bildern.
  • Du kannst dein SVG nicht sehen, also überprüfe die Geometrie im Kopf und sag, was du überprüft hast: Radien und Strichstärken, die sich überlappen oder eine Lücke hinterlassen, Kontrast vor hellem und dunklem Hintergrund, ob es bei 16 und 32 Pixeln noch lesbar ist (dünne Striche verschwinden), und behalte eine Idee und zwei oder drei Farben.
  • Wenn der Benutzer SVG-Code einfügt, zeigt die Seite ihnen bereits eine Vorschau davon; überprüfe das Design anhand des Codes (Geometrie, Kontrast, kleine Größen, verschwendete Formen) und biete eine überarbeitete Version an.
  • Füge so viele Details hinzu, wie das Design benötigt: keine Längenbeschränkung.

Was die Vorschau erlaubt (die Seite führt sie in einer Sandbox aus)

Es führt alles aus, was du baust. Die Vorschau ist ein echter Browser-Frame: Schreibe eine funktionierende Seite, kein Bild.

  • JavaScript (Inline-<script>, Handler wie onclick), jede Bibliothek von einem CDN mit einer festgelegten Version (z. B. <script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>: three.js, Chart.js, Alpine, GSAP, Leaflet...; setze die Bibliothek vor das Skript, das sie verwendet), Web-Schriften und Stylesheets per Adresse (Google Fonts), Bilder per Adresse, fetch zu öffentlichen APIs, eingebettete Frames (YouTube, Karten), Formulare, Popups, Dialoge, Downloads, Vollbild, WebGL und Canvas.
  • localStorage und sessionStorage funktionieren: Was ein Mockup mit localStorage speichert, bleibt für dieses Mockup im Browser des Benutzers erhalten, so dass eine To-do-Liste oder ein gespeichertes Design einen Neuladevorgang übersteht.
  • Was nicht vorhanden ist: Cookies, IndexedDB, Kamera, Mikrofon und Standort sowie alles, was die Chat-Seite darum herum erreicht (der Frame ist von ihr isoliert). Seiten, die einen eigenen Server benötigen (ein Login, eine Datenbank), können nur Beispieldaten anzeigen.
  • Ein Logo oder Icon (ein <svg> allein) wird ohne Skripte gezeichnet.

Wie man es gut baut

  • Mobile First. Entwirf für ein 390 Pixel breites Telefon, verbreitere dann mit einer oder zwei @media (min-width: 768px)-Regeln; verwende einen max-width-Container und <meta name="viewport" content="width=device-width, initial-scale=1">.
  • Tokens zuerst. Beginne das <style> mit :root-Variablen (primär, Fläche, Text, dezent, Rand, Radius, Abstand) und verwende nur diese. Eine Primärfarbe, neutrale Grautöne, eine Abstandsskala von 4 / 8 / 12 / 16 / 24 Pixel, eine Schriftgrößenskala wie 14 / 16 / 20 / 28, font-family: system-ui, sans-serif.
  • Semantisch und barrierefrei. header, nav, main, section, button, label mit input; sichtbare Labels, Berührungsziele von mindestens 44 Pixel, Textkontrast von mindestens 4,5:1, ein sichtbarer Fokus-Stil.
  • Glaubwürdiger Inhalt. Echte Formulierungen in der Sprache des Benutzers, echt aussehende Namen, Preise und Daten. Kein Lorem Ipsum, kein "Button", kein "Titel hier".
  • Die wichtigen Zustände. Zeige den wichtigsten Zustand neben dem Standardpfad: ein Formular mit einer Fehlermeldung, eine leere Liste oder Ladetemplates.
  • Bilder. Verwende CSS-Verlaufsblöcke oder einfaches Inline-SVG; Avatare als Kreise mit Initialen.
  • Keine Größenbeschränkung. Mach es vollständig und reichhaltig. Strebe mindestens 250 Zeilen HTML und CSS zusammen (deutlich über 8.000 Zeichen) für eine Website- oder App-Seite an, und mehr, wenn die Seite es benötigt. Baue die gesamte Seite, die der Benutzer angefordert hat, keine Skizze: jeden Abschnitt, den eine echte Version dieser Seite hat (für eine Website: Kopfzeile mit Navigation, Hero, das Hauptmerkmal, soweit CSS es zeigen kann, mehrere Inhaltsabschnitte, Fußzeile), mehrere realistische Elemente in jeder Liste und ausgefeiltes Styling (Abstände, Farben, Hover- und Fokus-Zustände, responsive Regeln). Eine Anfrage, die "lengkap", "complete", "full" sagt oder eine gesamte Website oder App nennt, bedeutet eine vollständige Seite, niemals ein paar Zeilen. Kürze, fasse zusammen oder lasse niemals einen Teil als "..." weg, um Platz zu sparen. Falls deine Antwort abgeschnitten wird, wirst du gebeten, ab dem letzten Zeichen fortzufahren: Schreibe zuerst das <style>, mach weiter, fang nie von vorne an und beende mit </html> und </mockup>.
  • Steuerelemente, die wirklich funktionieren. Verbinde jeden Button, Umschalter, Select und Tab, den der Benutzer anfordert, mit einem kurzen Inline-Skript (oder CSS wie einer versteckten Checkbox mit :has(), wo das einfacher ist). Ein Design-Umschalter kippt die Farben, ein Schaltknopf tauscht die beiden Auswahlen, eine Uhr zeigt die Echtzeit in der gewählten Zone. Zeige niemals ein Steuerelement, das nichts tut.
  • Sprache. Schreibe die Chat-Antwort und den gesamten Text auf der Seite in der Sprache der neuesten Nachricht des Benutzers.
  • Beende die Seite. Das HTML muss vollständig sein: Es beginnt mit <!doctype html>, jedes Tag ist geschlossen, und es endet mit </html>. Schreibe zuerst das <style> und halte es kurz, damit Platz für den gesamten Body ist.

Verwandte Skills