Your design system's biggest consumer is no longer a person — it's a model generating UI at machine speed. This module flips stewardship for that reality: systems structured as AI context, drift audits and compliance reviews, a voice-system microcopy engine, and the accessibility gate that clears every artifact before handoff.
Dan is a staff designer, twelve years in, at a US product company whose engineers discovered prompt-to-UI six months ago. They generate screens from Cursor with the Figma MCP server attached, and velocity is genuinely up. So is something else. In Monday's design review Dan counts four buttons that are not the design-system button — same blue, slightly different radius, hand-rolled hover state, no pressed state at all. A settings page uses a card component that looks like Card/Elevated but is a generated look-alike with hardcoded hex values. The spacing is 14px in a system built on an 8-point grid.
None of this is malicious. The model did its best with what it could read — and Dan's design system, it turns out, is nearly unreadable to a machine. Components named Component 47 and btn_final_v2. Colors applied as raw hex instead of bound variables. No published exemplars showing correct composition. No written rules saying "never hand-roll a button." The system was built as a reference for humans who already know the conventions — and its new highest-volume consumer has never attended a crit.
Dan's instinct is to police harder: catch violations in review, file tickets, repeat. That loses, arithmetically — the model generates faster than he can review. The move that wins is upstream: make the system itself the context the machine consumes, so generation lands on-system by default and review catches exceptions instead of everything.
For fifteen years, design-system quality meant serving human consumers: findable components, readable docs, sensible onboarding. Every one of those investments now has a second, stricter customer. Machines don't infer conventions from hallway knowledge; they read exactly what's in the file. The supply chain for on-system AI generation has four parts:
Button/Primary/Large, not Frame 892. A model choosing components navigates by name; ambiguity in equals ambiguity out.color/action/primary, and how generated output stays themeable.The same preparation pays a second dividend at handoff: MCP-ready files. When engineering's agents pull your frames through the Figma MCP server, they read the layer tree, variables, and component references — nothing else. Everything the file doesn't say, the agent invents. The readiness checklist follows directly: auto-layout everywhere (absolute positioning reads as noise), every value bound to a variable (a hardcoded hex forces the agent to guess which token you meant), components named semantically and used from the library (a detached instance loses its provenance and becomes anonymous rectangles), and intent annotations on anything a layer tree can't express — edge-case behavior, conditional logic, "this list virtualizes past 50 items." The quality bar has a memorable measure: how little the consuming agent hallucinates. Before-and-after tests make it vivid — the same screen pulled through MCP from a messy file and a prepared one produce implementations that differ not by polish but by correctness, and Lab 8's messy-library exercise is exactly this experiment run on your own hands.
Named for the designer who made it. Hex values pasted from memory. Conventions live in Slack history and two seniors' heads. A model reading this file sees pixels and guesses — and ships four almost-buttons a week.
Semantic names, bound tokens, published exemplars, a generation-rules file. A model reading this file assembles real components by name and inherits the conventions. Review volume drops because violations stop being the default output.
Lab 8 is this flip end to end: you receive a deliberately messy library, restructure it, write the rules file, and prove the work by prompting a new screen that lands on-system — real DS components, not look-alikes.
Restructuring starts with knowing how bad it is. A drift audit — the Figma agent plus library analytics, or a purpose-built plugin — sweeps libraries and product files for off-token colors, spacing, and type; detached instances; and near-duplicate components. The output is a prioritized consolidation plan, each item with evidence links to the offending frames.
Button/*, highest prioritycolor/action/primaryCard/Elevated near-duplicates (radius 8 vs 12) — merge, deprecate oneRe-run monthly. The trend line — drift shrinking or growing — is the real health metric.
Downstream of the audit sits the ongoing gate: reviewing AI-generated UI for system compliance. Whether the UI arrives as an engineer's PR screenshot or a teammate's Make prototype, the designer-side checklist is stable:
| Check | Question | Common failure |
|---|---|---|
| Token usage | Are values bound to system tokens? | Hardcoded hex/px that matches today, drifts tomorrow |
| Component provenance | Real DS components or look-alikes? | Generated twins missing states and a11y wiring |
| Pattern consistency | Do interactions match established product patterns? | Novel-but-wrong modals, off-pattern navigation |
| State coverage | Empty, loading, error present? | Happy-path-only generation |
| A11y basics | Contrast, targets, focus order, labels? | Decorative compliance — looks fine, fails tooling |
The critical habit: every violation you catch feeds back into the generation rules. A look-alike button in review means the rules file gains a line, the exemplar gets more prominent, or a token gets renamed for clarity. Review without feedback is Dan's losing arithmetic; review that hardens the rules converges.
You cannot review at machine speed, and you don't have to. Fix the context the machine reads and the violations stop being generated. The reviewer's job shifts from catching everything to catching what teaches the rules file something new.
Two generation workflows make the system's human-facing half cheaper to maintain.
Component docs with AI. Usage guidelines, do/don't pairs, and accessibility notes can be drafted from a component's own anatomy — its variants, properties, and exemplar usage. Feed the model the component's actual structure and two screens of correct use, and it produces a serviceable first draft: when to use it, when to reach for the alternative, which variant fits which density, what the keyboard behavior should be. The draft is competent and generic; your edit supplies voice and the judgment calls the anatomy can't reveal — "don't nest Elevated cards inside modals; the double elevation reads as a rendering bug," the kind of line only someone who has watched the misuse can write. Published to the DS site, refreshed when the component changes, and — because documentation is now machine-read context too — written in declarative rules a generator can follow, not just prose a human can nod along to.
The voice-system microcopy engine. Encode your brand voice — principles, tone spectrum, terminology, banned words — as a system prompt, then add few-shot exemplars: eight to twelve real strings your team considers perfect, spanning buttons, errors, empty states, and notifications. That reusable engine generates microcopy in context ("error message, payment failure, user is mid-checkout, tone: calm and concrete"), and a writer edits. Consistency comes from the system; judgment stays human — every generated string gets a keep/edit/rewrite decision, and Lab 9 grades the rationale, not just the copy.
The engine powers content operations at scale:
The last stop before handoff is the artifact-side accessibility review — and it is the module's sharpest lesson in tool trust, because it mixes deterministic checks with probabilistic ones and you must never confuse the two.
Every finding maps to a WCAG criterion in a findings table. Nothing ships on AI's word — the review is yours; the tools just made it fast. Lab 10 runs this gate on a seeded flow and scores you on catching every violation without inventing false positives.
The same vision tooling closes the loop after build: screenshot the shipped product against design frames and let a model draft the discrepancy list — spacing, type, color, missing states — which you triage into engineering tickets. Design QA becomes a sweep you run every release, not a luxury for launch week.
Contrast math is deterministic; delegate it to deterministic tools. An LLM asked "does this pass WCAG AA?" produces a fluent guess — and an accessibility claim you cannot defend is worse than none, because someone will rely on it.
Police the outputs and you lose to the volume; curate the context and the outputs fix themselves. A machine-readable system, a rules file that learns from every violation, a voice engine with human judgment on every string, and a deterministic accessibility gate — that is design-system stewardship in the AI era.