Der zenit UI dev Skill
Ein Entwicklungshandbuch für Claude Code und andere KI-Agents. Ist er installiert, greift ein Agent beim Schreiben von zenit-UI zuerst zu vorhandenen Komponenten, stylt mit Tokens und Recipes, verwaltet State entlang der zenit-Lebensdauern und baut und screenshotet seine Arbeit selbst, bevor er sie übergibt.
Download
Das Archiv ist ein Standard-Agent-Skill-Ordner: ein kurzer Einstiegspunkt SKILL.md mit Regeln und Entscheidungstabellen, die Details aufgeteilt in references/, die der Agent nur bei Bedarf liest.
Installation
- 1In einen Skills-Ordner legen
Für sich selbst:
~/.claude/skills/(alle Projekte). Für ein Team: in.claude/skills/des Repos committen, dann bekommt ihn jeder, der klont. - 2Agent-Sitzung neu starten
Claude Code liest Skills beim Sitzungsstart ein. Öffnen Sie eine neue Sitzung;
/skillssolltezenit-ui-devauflisten. - 3Wie gewohnt anfragen
Jede zenit-UI-Aufgabe lädt ihn automatisch; Sie können auch „nutze den zenit-ui-dev skill“ sagen.
Nach dem Download in Ihren Benutzerordner entpacken (alle Projekte):
~/.claude/skills/
└── zenit-ui-dev/
├── SKILL.md
├── references/
└── tools/Oder ins Projekt entpacken und committen (mit dem Team geteilt):
.claude/skills/
└── zenit-ui-dev/
├── SKILL.md
├── references/
└── tools/# Codex and other agents that read AGENTS.md: unpack into the repo and reference it
unzip -oq zenit-ui-dev.zip -d .agents/skills
echo '- zenit UI: read .agents/skills/zenit-ui-dev/SKILL.md before writing UI code' >> AGENTS.mdInhalt
SKILL.mdEinstiegspunkt: Trigger, Workflow, harte Regeln, Entscheidungstabellen und welche Reference wann zu lesen istreferences/app-architecture.mdSchichtung großer Apps am Beispiel eines Produktions-Editors: State, Views, Commands, Servicesreferences/components.mdDer ui.widgets-Katalog, beide mount-Formen, eine Zuordnungstabelle von Design-Elementen zu Komponentenreferences/macos-native.mdMenüs, Tastenkürzel, Dateidialoge, Zwischenablage, Drag & Drop, Multi-Window, IMEreferences/pencil-design.mdPencil-Designs (pen.dev): Werte per MCP lesen, Feld-Mapping, numerischer Screenshot-Diffreferences/performance.mdVirtuelle Listen, Dirty-Levels, große Texte, Hintergrund-Threads und der Main-Threadreferences/pitfalls.mdSymptom, Ursache und Lösung, gesammelt aus der Fix-Historie von zenit und einer Produktions-Appreferences/project-setup.mdNeues Projekt, build.zig / build.zig.zon, .app-Packaging, Weiterreichen von Build-Optionenreferences/state-reactivity.mdbindState / cx.on, Signal / Memo / Effect, Scope-Lebensdauer und Aufräumenreferences/styling.mdDie Schichten Token, styles.zig und recipe, Themes, der Notausgang ui.arbreferences/ui-tree-layout.mdNodes, Flex-Layout, Größen, Nodes aktualisieren, Sichtbarkeit, Koordinatenreferences/verification.mdDie Selbstprüfungsschleife des Agents: Build, Screenshot, E2E-Harness, DevTools, Logstools/design_diff.tsNumerischer Diff von Design-PNG und App-Screenshot, mit konkreten Hinweisentools/png.tsAbhängigkeitsfreier PNG-Decoder für design_difftools/shot.tsScreenshot beliebiger zenit-Apps über File-RPC (Retina)Ordnet jedes Design-Element einer vorhandenen ui.widgets-Komponente zu, damit der Agent keinen Button aus Boxen nachbaut.
Regeln für bindState, pub deinit, Scope-Cleanup und Seitenwechsel. Sie beheben direkt die häufigsten Leaks, Double Frees und Dangling Pointer.
Lässt den Agent bauen, ausführen, screenshoten und mit der Anfrage abgleichen, statt bei „kompiliert“ aufzuhören.
Eine Liste von Problemen aus der Fix-Historie einer Produktions-App, jeweils mit Ursache und richtigem Vorgehen.
Empfohlen: in Pencil gestalten
Pencilpen.devWir empfehlen, in Pencil zu entwerfen und den Agenten mit diesem Skill bauen zu lassen. Flex-Layout, Abstände, Radien, Schriftgrößen und lucide-Icons einer .pen-Datei liegen nah am Modell von zenit; der Skill enthält eine Feldzuordnung und ein design_diff-Tool, damit der Agent nach Zahlen statt nach Augenmaß umsetzt.
- 01.penPencil-Entwurf
- 02MCPAgent liest exakte Werte
- 03zigzenit-Code aus Widgets + Tokens
- 04diffNumerischer Abgleich mit dem Entwurf
- 1Pencil-MCP verbinden
Aktivieren Sie den MCP-Server von Pencil in Ihrem Agent und öffnen Sie die .pen-Datei. Der Skill liest .pen nur über das MCP, das Design-Variablen und berechnete Größen auflöst. Genau das braucht eine originalgetreue Umsetzung.
- 2Werte lesen, nicht Pixel
Der Agent holt zuerst gap, padding, Radius, Schriftgröße und Farbe mit
Get(nodeId, { resolveVariables: true })und überträgt sie dann auf zenit:fill_container -> .fill(),chevron-down -> ui.icons.chevron_down. - 3Diffen bis es passt
Exportieren Sie das Design mit scale 2, erfassen Sie das echte Fenster mit
tools/shot.ts, undtools/design_diff.tsmeldet Versatz, Größendifferenz, eine Heatmap und Farbabweichungen; der Agent korrigiert anhand der Hinweise, etwa 5 s pro Runde.
SKILL=~/.claude/skills/zenit-ui-dev
bun $SKILL/tools/design_diff.ts --self-test
ZENIT_E2E_FILE_RPC_DIR=$RPCDIR bun $SKILL/tools/shot.ts /tmp/actual.png
bun $SKILL/tools/design_diff.ts /tmp/design/<nodeId>.png /tmp/actual.pngVerwendung
Keine besondere Syntax. Beschreiben Sie die UI oder das Problem; hier einige Prompts, die gut funktionieren:
Lies mit dem Pencil-MCP den Frame „Settings“ aus der geöffneten .pen-Datei, baue ihn mit zenit als Einstellungsfenster nach und gib ihn mir, sobald design_diff über 90 liegt.
Füge dieser App mit zenit ein Einstellungsfenster hinzu: links eine Kategorienliste, rechts ein Formular, Änderungen wirken sofort.
Verschiebe die handgeschriebenen Styles aus src/views/sidebar.zig nach styles.zig + ein Recipe.
Bei 50.000 Knoten im Dateibaum ruckelt das Scrollen. Finde die Ursache, behebe sie und zeig mir danach einen Screenshot.Herkunft
Die Regeln stammen aus zwei Projekten: dem zenit-Framework selbst (öffentliche API, Beispiele, Komponentenkatalog, Test-Tooling) und einem produktiven macOS-Editor auf Basis von zenit (Schichtung großer Apps, native Integration und Fix-Historie). Codebeispiele stammen nach Möglichkeit aus kompilierendem Code dieser Repos und stimmen mit diesem Handbuch überein.
Die Quellen liegen im Website-Repo unter skill/zenit-ui-dev/ und werden beim Build von scripts/pack-skill.mjs gepackt. Sie können SKILL.md auch direkt lesen.