docs/guide/ai-skill
Erste Schritte · KI-gestützte Entwicklung

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.

4 Min. Lesezeit

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.

zenit-ui-dev/
SKILL.md9.6 KB
references/
app-architecture.md7.2 KB
components.md8.3 KB
macos-native.md8.2 KB
pencil-design.md7.8 KB
performance.md4.1 KB
pitfalls.md8.5 KB
project-setup.md8.0 KB
state-reactivity.md7.8 KB
styling.md5.8 KB
ui-tree-layout.md6.1 KB
verification.md5.7 KB
tools/
design_diff.ts20.6 KB
png.ts3.5 KB
shot.ts3.7 KB

Installation

  1. 1
    In 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.

  2. 2
    Agent-Sitzung neu starten

    Claude Code liest Skills beim Sitzungsstart ein. Öffnen Sie eine neue Sitzung; /skills sollte zenit-ui-dev auflisten.

  3. 3
    Wie 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):

Entpacken nach
~/.claude/skills/
└── zenit-ui-dev/
    ├── SKILL.md
    ├── references/
    └── tools/

Oder ins Projekt entpacken und committen (mit dem Team geteilt):

Entpacken nach
.claude/skills/
└── zenit-ui-dev/
    ├── SKILL.md
    ├── references/
    └── tools/
Other agents
# 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.md

Inhalt

DateiInhalt
SKILL.mdEinstiegspunkt: Trigger, Workflow, harte Regeln, Entscheidungstabellen und welche Reference wann zu lesen ist
references/app-architecture.mdSchichtung großer Apps am Beispiel eines Produktions-Editors: State, Views, Commands, Services
references/components.mdDer ui.widgets-Katalog, beide mount-Formen, eine Zuordnungstabelle von Design-Elementen zu Komponenten
references/macos-native.mdMenüs, Tastenkürzel, Dateidialoge, Zwischenablage, Drag & Drop, Multi-Window, IME
references/pencil-design.mdPencil-Designs (pen.dev): Werte per MCP lesen, Feld-Mapping, numerischer Screenshot-Diff
references/performance.mdVirtuelle Listen, Dirty-Levels, große Texte, Hintergrund-Threads und der Main-Thread
references/pitfalls.mdSymptom, Ursache und Lösung, gesammelt aus der Fix-Historie von zenit und einer Produktions-App
references/project-setup.mdNeues Projekt, build.zig / build.zig.zon, .app-Packaging, Weiterreichen von Build-Optionen
references/state-reactivity.mdbindState / cx.on, Signal / Memo / Effect, Scope-Lebensdauer und Aufräumen
references/styling.mdDie Schichten Token, styles.zig und recipe, Themes, der Notausgang ui.arb
references/ui-tree-layout.mdNodes, Flex-Layout, Größen, Nodes aktualisieren, Sichtbarkeit, Koordinaten
references/verification.mdDie Selbstprüfungsschleife des Agents: Build, Screenshot, E2E-Harness, DevTools, Logs
tools/design_diff.tsNumerischer Diff von Design-PNG und App-Screenshot, mit konkreten Hinweisen
tools/png.tsAbhängigkeitsfreier PNG-Decoder für design_diff
tools/shot.tsScreenshot beliebiger zenit-Apps über File-RPC (Retina)
01
Komponenten vor Eigenbau

Ordnet jedes Design-Element einer vorhandenen ui.widgets-Komponente zu, damit der Agent keinen Button aus Boxen nachbaut.

02
Lebensdauern richtig gemacht

Regeln für bindState, pub deinit, Scope-Cleanup und Seitenwechsel. Sie beheben direkt die häufigsten Leaks, Double Frees und Dangling Pointer.

03
Vor der Übergabe hinschauen

Lässt den Agent bauen, ausführen, screenshoten und mit der Anfrage abgleichen, statt bei „kompiliert“ aufzuhören.

04
Fallstricke aus einer echten App

Eine Liste von Problemen aus der Fix-Historie einer Produktions-App, jeweils mit Ursache und richtigem Vorgehen.

Empfohlen: in Pencil gestalten

Pencilpen.dev
EMPFOHLENER WORKFLOW · PENCIL + SKILL
Kombiniert mit Pencil: entwerfen, dann mit KI bauen

Wir 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.

  1. 01.penPencil-Entwurf
  2. 02MCPAgent liest exakte Werte
  3. 03zigzenit-Code aus Widgets + Tokens
  4. 04diffNumerischer Abgleich mit dem Entwurf
  1. 1
    Pencil-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.

  2. 2
    Werte 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.

  3. 3
    Diffen bis es passt

    Exportieren Sie das Design mit scale 2, erfassen Sie das echte Fenster mit tools/shot.ts, und tools/design_diff.ts meldet Versatz, Größendifferenz, eine Heatmap und Farbabweichungen; der Agent korrigiert anhand der Hinweise, etwa 5 s pro Runde.

Terminal
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.png

Verwendung

Keine besondere Syntax. Beschreiben Sie die UI oder das Problem; hier einige Prompts, die gut funktionieren:

Prompts
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.

zenit · DoppellizenzKostenlos für Open-Source-Projekte unter GPL-3.0-only; Closed-Source- oder kommerzielle Produkte benötigen eine kommerzielle Lizenz.Kontakt zum Autor: zongyi.xzy#gmail.com (# durch @ ersetzen)zenit 4c50245 2026-10-01