create-component-md compiles that evidence into canonical .json and concise .md
artifacts, and the create-* skills render sections of the Markdown back into Figma.
The pipeline
The JSON contract is the machine source of truth. Its concise Markdown view is the required input for everycreate-* render skill—there is no path that points a render skill straight at a raw
Figma link.
Contract + Markdown
Canonical JSON for automation and concise Markdown for people, LLM context, code review, and
design iteration.
Figma annotations
Annotation frames rendered next to the component by the
create-* skills, drawn from the .md. Best for design reviews, spec handoff inside Figma, and component libraries where the spec lives beside the component.Stage 1: compile the contract and .md
The plugin runs deterministic extraction inside Figma’s sandbox (no network calls), producing a
_base.json that captures every variant, token binding, and sub-component. The public Community
build asks for the component link on first use and remembers it for that document.
create-component-md prepares compact evidence, interprets four domains, validates obligation
coverage, reconciles disagreements, compiles the canonical JSON, and renders the concise Markdown.
See the Component Markdown page for the full pipeline.
Stage 2: render into Figma
Everycreate-* skill reads its section from the component .md — plus the render-meta that maps each section to Figma node ids — then renders documentation directly in Figma through the MCP. They do not re-extract the component over MCP; any live read is a small, whitelisted verification or measurement delta. The internal steps differ depending on what each skill renders. The diagrams below show what happens inside each skill.
Triggering a skill
- Cursor
- Claude Code
- Codex
Skills are triggered by typing
@ followed by the skill name in Cursor’s chat.1
Type @
In Cursor’s chat, type
@. Cursor shows an autocomplete menu of available skills.2
Select a skill
Continue typing to filter (e.g.,
@create-v) or use arrow keys to select. The skill name must match exactly: @create-voice, not create voice or voice spec.3
Add your prompt
After the skill name, pass the component
.md (e.g. ./components/button.md) and add any context the spec can’t carry: which Figma node to render next to, or behaviors and edge cases.Inside each skill
Every render skill loads an instruction file, reads platform-specific or domain-specific reference files, reads its section from the component.md (plus the render-meta node ids), runs through a checklist, and renders the output via the MCP. Any live Figma read is a small, whitelisted verification or measurement delta — not a re-extraction. The reference files determine what the agent knows about each domain. (create-component-md, the stage-1 generator, is the exception: it reads a plugin _base.json rather than a .md.)
- Component Markdown
- Anatomy
- Properties
- API
- Structure
- Color Annotation
- Screen Reader
- Motion
The
create-component-md orchestrator is the only skill that does not render into Figma. It
consumes a plugin-produced _base.json, dispatches four interpretation specialists, validates
their evidence obligations, reconciles typed disagreements, compiles canonical JSON, and
renders concise Markdown.The API specialist runs first because its property dictionary anchors the downstream specialists
on a shared vocabulary. Structure, Color, and Voice then run in parallel. Validation requires
every prepared obligation and semantic row to resolve to supported evidence. Reconciliation
re-dispatches only the specialist that owns a typed mismatch. Contract compilation and Markdown
assembly are deterministic after the semantic render plan is written.See the Component Markdown spec page for install, usage, and output details.What the pipeline captures vs. what you provide
The uSpec Extract plugin andcreate-component-md capture structure, tokens, and styles into the .md automatically. But some information only exists in your head — add it in the plugin’s design-intent field or in your prompt:
Architecture overview
The component data, tokens, and styles a render skill needs come from the.md — not a live MCP extraction. The MCP is the render channel back into Figma, plus the occasional small whitelisted read for verification or a measurement delta. uSpec supports two Figma MCP providers — choose the one that fits your setup:
- Figma Console MCP (by Southleft) connects via a Desktop Bridge plugin running inside Figma Desktop, communicating over WebSocket. It exposes 59+ tools for design creation and variable management.
- Native Figma MCP (by Figma) connects directly to Figma’s API with read and write access. No Desktop Bridge plugin required.
MCP providers update their capabilities and setup instructions frequently. For the latest details, see the Figma Console MCP docs or the native Figma MCP docs.