#000000. Missing variants default. Class names get invented. The silence is now noise.The aesthetic surface. Colour, type, spacing, motion. The part the client notices and the part most reviews focus on. Necessary, but on its own it tells you nothing about how the component should behave at the next size, in the next state, or under the next theme. The visual layer is the symptom of the system, not the system itself.
The naming and intent layer. What this thing is called, what it is for, which token it resolves to, what variant it belongs to. CEL lives here. A card__title--featured is not a styling decision — it is a role declaration. The semantic layer is what lets a designer in Figma, a developer in code, and an AI agent through MCP all reach for the same component when the brief says featured card.
The data attributes, the documentation, the schema. data-cel-context, data-cel-layer, the prop definitions, the constraints. The part that has no visual surface and that humans rarely read. Without it, AI generation is guesswork. With it, AI generation becomes resolution.
ACT, TASK OR SPEC prompts
Visual of the design system
Codebase edits and deployment
Documentation, change log and version control
Articles, portfolio, live playground and marketing
card
context only
card__title
context + element
card__title--featured
context + element + layer
card--dark
context + layer (no element)
Connect Figma and Webflow to their MCP servers. The Designer tab stays foregrounded — close it and the connection drops. Test with a simple call before doing anything structural.
The agent reads the brief and resolves it against the system. Featured card with dark theme should map to card cc-featured u-mode-dark without clarification. If it does not, the spec has a gap — fix the spec, not the prompt.
The agent creates the element. Batches of two or three at a time — larger batches time out. The element inherits the component's classes, attributes, and structure as defined by the spec.
Inspect the result in the Designer. Check the class stack, the data attributes, and the visual against the Figma source. Anything missing is a spec problem, not a generation problem.
Use batches of two or three. The connection holds; the request payload is the bottleneck. If a section needs ten elements, plan four sequential calls, not one.
Switch to another tab and the WebSocket connection drops without warning. Keep the Designer visible during any agent run. Use a second screen if you need to read documentation simultaneously.
Restructuring requires creating a new element in the correct position and deleting the old one. Plan structure before instantiation; reordering after is twice the work.
Images, fonts, and other binary assets cannot be uploaded through the MCP. Upload manually via the Designer asset panel, then reference the asset by its existing ID in subsequent calls.
hamish@hux.works
+44 (0)7832 839 543