Software-Teams haben Jahrzehnte damit verbracht, Determinismus in ihre Toolchains einzubauen. Lockfiles für Paketmanager. Gepinnte Basis-Images für Container. Reproduzierbare Builds für kompilierte Artefakte. Das Prinzip ist gut verstanden: Dieselben Eingaben sollen immer dieselben Ausgaben erzeugen, auf jedem Rechner, zu jeder Zeit.
Design-Handoff hat dieses Prinzip nie angewendet. Es war und ist ein grundlegend menschlicher und damit nicht-deterministischer Prozess. Ein Designer erklärt das Design einem Entwickler. Der Entwickler interpretiert es. Die Interpretation variiert je nach Person, Tageszeit und Klarheit des Zeplin-Kommentars. Das lässt sich nicht wiederholen. Das lässt sich nicht testen. Das lässt sich nicht in einem Diff prüfen.
In einer Welt von KI-Coding-Agenten ist nicht-deterministisches Handoff nun ein erstklassiges Engineering-Problem. figmascope begegnet dem mit einem eingefrorenen, portablen Kontext-Bundle.
Warum aktuelle Werkzeuge für Agenten nicht-deterministisch sind
Zeplin und Avocode liefern Zahlen, die aus Figma extrahiert wurden — Layer-Dimensionen, Farbwerte, Schriftgrößen. Aber sie präsentieren sie als durchsuchbare Benutzeroberfläche, nicht als maschinenlesbares Artefakt. Ein Agent, der auf Zeplin zeigt, muss durch eine UI navigieren, um die Werte zu finden — das ist spröde, ratenlimitiert und abhängig von der Qualität der Annotationen.
Figmas Dev Mode geht weiter: Es liefert inline generierte Code-Snippets aus dem Design. Aber die Snippets sind zustandslos — bei Bedarf neu generiert, nicht versioniert. Es gibt kein Bundle, das Sie einchecken können. Es gibt keine Datei, die Sie diffbar machen können. Wenn der Designer das Design aktualisiert, aktualisiert sich die Dev-Mode-Ansicht still. Sie wissen nicht, wann sich das zugrunde liegende Design relativ zu dem geändert hat, was Sie zuletzt exportiert haben.
Screenshots sind der schlimmste Fall: reine Pixeldaten, vollständig nicht-deterministisch zu parsen, die jedes Mal eine andere Strukturinferenz ergeben.
Live-MCP-Verbindungen — Werkzeuge, die Agenten Echtzeit-API-Zugriff auf die Figma-Datei geben — sind per Definition nicht-deterministisch. Die Datei ändert sich, während der Agent sie liest. Der Durchlauf des Agenten um 9 Uhr und sein Durchlauf um 14 Uhr sehen unterschiedliche Eingaben. Der 9-Uhr-Durchlauf kann nicht reproduziert werden, weil die Quelle sich geändert hat.
Agenten sind probabilistische Systeme. Ihnen nicht-deterministische Eingaben zu geben, erzeugt nicht nur Varianz — es macht das System untestbar. Sie können nicht feststellen, ob eine schlechte Ausgabe durch das Modell, den Prompt oder die Tatsache verursacht wurde, dass jemand zwischen den Durchläufen einen Layer verschoben hat.
Das Bundle als Kompilierungseinheit
Das richtige mentale Modell für einen figmascope-Export ist ein Kompilierungsartefakt. So wie ein Compiler Quellcode in ein deterministisches Binärformat umwandelt — gleiche Quelle, gleiche Flags, gleiches Binär — wandelt figmascope einen Figma-Dateizustand in ein deterministisches Bundle um: gleicher Dateizustand, gleiches Bundle, jedes Mal.
Das Bundle ist ein eingefrorener Snapshot. Es erfasst eine spezifische Version des Designs und serialisiert jede relevante Eigenschaft: räumliches Layout, Komponentenidentität, Token-Bindungen, String-Inhalt, Hierarchie. Einmal exportiert, ist das Bundle unveränderlich. Die Figma-Datei kann sich ändern; das Bundle nicht. Wenn Sie diese Änderungen einbeziehen möchten, re-exportieren Sie und erhalten ein neues Bundle.
Das ist das Kompilierungseinheit-Modell. Die Design-Datei ist die Quelle. Das Bundle ist das Artefakt. Agenten konsumieren Artefakte, keine Quellen.
Vier Eigenschaften eines deterministischen Handoffs
Snapshot-fähig. Das Handoff-Artefakt muss einen bestimmten Zeitpunkt darstellen. Nicht „den aktuellen Zustand der Figma-Datei" — einen benannten, versionierten Export. figmascope-Bundles tragen eine _meta.json mit einem Export-Zeitstempel und einem Fingerabdruck des Enthaltenen. Das Bundle ist ein Snapshot, keine Live-Ansicht.
Portabel. Das Artefakt muss in sich geschlossen sein. Keine Abhängigkeiten von externen Diensten, Live-APIs oder eingeloggten Sitzungen. Ein figmascope-Bundle ist ein ZIP einfacher Dateien — JSON, Markdown, PNG. Sie können es kopieren, per E-Mail versenden, in git einchecken, an eine PR anhängen, einem Junior-Entwickler oder einem Coding-Agenten ohne Setup übergeben.
Inspizierbar. Ein deterministisches Artefakt ist nutzlos, wenn Sie nicht überprüfen können, was darin ist. Jede Datei im Bundle ist menschenlesbar. CONTEXT.md ist Markdown. tokens.json hat eine W3C-ähnliche Struktur. Das Per-Screen-IR ist JSON mit klaren Feldnamen. Ein Engineer kann das Bundle öffnen und genau prüfen, was dem Agenten mitgeteilt wurde. Das ist qualitativ anders als „Ich habe den Screenshot eingefügt und etwas Code erhalten."
Reproduzierbar. Bei demselben Figma-Dateizustand sollten zwei separate Exporte funktional äquivalente Bundles erzeugen. Nicht byteidentisch (Zeitstempel unterscheiden sich), aber semantisch identisch: gleiche Knotenstrukturen, gleiche Token-Werte, gleiches Komponenteninventar. Wenn Sie zweimal aus einer unveränderten Datei exportieren und die Bundles semantisch unterschiedlich sind, stimmt etwas nicht. Diese Eigenschaft ermöglicht die Validierung Ihrer Export-Pipeline und das Erkennen von Regressionen im Extraktor selbst.
Wie das in der Praxis aussieht
Ein Designer beendet einen Sprint mit Screens. Er exportiert ein Bundle. Das Bundle wird in das Repo neben dem Ticket eingecheckt — oder an das Jira-Issue angehängt oder in den gemeinsamen Drive gelegt, je nach Workflow. Zu diesem Zeitpunkt ist das Handoff-Artefakt fixiert. Der Agent (oder der Entwickler) arbeitet aus dem Bundle, nicht aus der Live-Figma-Datei.
Mitten in der Implementierung aktualisiert der Designer drei Screens. Kein Problem: Das Arbeits-Bundle des Entwicklers bleibt unverändert. Die neuen Screens erhalten einen neuen Export. Jetzt haben Sie zwei Bundles und können sie vergleichen: was sich zwischen dem Design, mit dem der Entwickler begonnen hat, und dem aktuellen Design geändert hat. Das ist genau die Art von Änderungssichtbarkeit, die bei screenshot-basierten oder Live-Verbindungs-Workflows unmöglich ist.
In einem Multi-Agenten-Workflow — ein Agent baut die Komponentenbibliothek, ein anderer baut die Screen-Layouts, ein dritter schreibt die Tests — erhält jeder Agent dasselbe Bundle als Quelle der Wahrheit. Sie alle arbeiten aus demselben eingefrorenen Design-Zustand. Ihre Ausgaben sind kombinierbar, weil ihre Eingaben geteilt und fixiert sind. Das ist die Voraussetzung für zuverlässige Multi-Agenten-UI-Generierung.
Bundles vergleichen
Da das Bundle aus einfachen Dateien besteht, lässt es sich wie Code vergleichen. Zwei Exporte derselben Datei über zwei Figma-Versionen ergeben einen JSON-Diff, der genau zeigt, was sich geändert hat:
- Welche Knoten wurden hinzugefügt oder entfernt
- Welche Token-Bindungen sich geändert haben
- Welche Strings aktualisiert wurden
- Welche Komponentenvarianten ausgetauscht wurden
- Welche Layout-Eigenschaften sich geändert haben (Padding, Gap, Richtung)
Das ist Design-Änderungssichtbarkeit, die in keinem aktuellen Handoff-Werkzeug existiert. Figma hat eine eigene Versionsgeschichte, aber sie ist visuell und designerorientiert. Ein Bundle-Diff ist strukturiert und entwicklerorientiert: maschinenlesbare Änderungsdaten, die automatisierte Tests steuern, Changelogs aktualisieren oder CI-Workflows auslösen können.
CI/CD für Design-Handoff
Sobald Handoff deterministisch ist, folgt CI/CD natürlich. Sie können Tests schreiben, die gegen ein Bundle laufen: „Dieser Screen muss eine Button/Primary-Komponente enthalten", „Dieser Token muss gebunden und kein fest codierter Wert sein", „Dieser String muss einen stringRef-Schlüssel haben." Das sind statische Analyseprüfungen gegen strukturierte Daten. Sie laufen in Millisekunden. Sie laufen in einer Pipeline.
Sie können auch die Ausgabe des Codegen-Agenten gegen das Bundle validieren, das er erhalten hat. Hat der Agent die Tokens verwendet oder Literale fest codiert? Hat er die richtige Anzahl von Instanzen der wiederholten Komponente generiert? Hat er die korrekten Abstandswerte verwendet? Diese Fragen sind beantwortbar, wenn die Quelle der Wahrheit eine strukturierte Datei und kein PNG ist.
Der MCP-Vergleich
MCP-artige Live-Verbindungen zu Figma gewinnen an Bedeutung. Die Attraktivität liegt auf der Hand: Der Agent sieht immer das neueste Design, kein Export-Schritt, kein manuelles Bundle-Management. Aber Live-Verbindungen tauschen Determinismus gegen Bequemlichkeit — und für KI-Agenten ist dieser Tausch schlecht.
Live-Verbindungen bedeuten: Der Kontext des Agenten hängt davon ab, wann er läuft. Ein Durchlauf um 9 Uhr und ein Durchlauf um 14 Uhr sehen unterschiedliche Daten, wenn der Designer tagsüber gearbeitet hat. Den früheren Durchlauf können Sie nicht reproduzieren. Sie können nicht gegen eine fixierte Eingabe testen. Sie können nicht prüfen, was dem Agenten gesagt wurde. Wenn der generierte Code falsch ist, können Sie nicht unterscheiden zwischen „das Modell hat eine schlechte Inferenz gemacht" und „das Design hat sich unter dem Agenten geändert."
Das richtige Modell: Live-Verbindungen für Design-Exploration und -Iteration (wo Aktualität wichtig ist), deterministische Bundles für Handoff und Generierung (wo Reproduzierbarkeit wichtig ist). Sie konkurrieren nicht — sie operieren an unterschiedlichen Punkten im Workflow.
Übergabe an einen Junior-Entwickler
Dieselben Eigenschaften, die Bundles für KI-Agenten gut machen, machen sie gut für menschliche Entwickler, die neu in einer Codebasis sind. Ein Junior-Entwickler, dem ein Bundle übergeben wird, hat: die vollständige Spezifikation in CONTEXT.md, alle Token-Werte in tokens.json, jede Komponente mit ihren Eigenschaften aufgelistet, jeden String mit seiner Identität. Sie müssen nicht in der Figma-Datei sein. Sie brauchen keinen Figma-Account. Sie müssen nicht wissen, welcher Screen der autoritative ist.
Das Bundle ist ein vollständiger, in sich geschlossener Arbeitsauftrag. Genau das, was ein Agent erhalten würde. Der einzige Unterschied: Der Mensch liest es, der Agent verarbeitet es programmatisch — aber das Artefakt ist identisch.
Diese Vereinheitlichung — dasselbe Artefakt, menschlicher oder Agent-Konsument — ist der Punkt. Das Bundle ist die Einheit des Handoffs. Alles andere ist Implementierungsdetail.
Sehen Sie deterministisches Handoff in der Praxis mit Claude Code, Cursor oder Aider. Alle starten aus demselben figmascope-Export.