What you get
Variant axis exhibits
One section per axis (e.g., Size, Hierarchy) with instance previews for every option.
Boolean toggle exhibits
On/off states shown side by side with defaults labeled.
Variable mode properties
Shape, density, and other variable-mode properties rendered as visual chapters.
Child component chapters
Nested component properties shown in-context on parent instances.
What you need
- A component
.mdproduced bycreate-component-md(run it first —create-component-mdneeds a_base.jsonfrom the uSpec Extract plugin). Tell the skill where this.mdlives —components/<slug>.mdis onlycreate-component-md’s default output path; the file can live anywhere. Without it this skill aborts. - Figma MCP connected (Console MCP with Desktop Bridge, or native Figma MCP) — used only to render the frame.
- Context about the component is captured upstream by
create-component-md; nothing extra is needed here.
Properties has no dedicated body section in the
.md. It rebuilds the property model — variant axes, boolean defs, variable modes, slot contents, and sub-component identities — directly from the .md’s render-meta block.How to use
Reference the skill and pass the component.md. Add a render destination or any extra context the spec can’t carry:
- Cursor
- Claude Code
- Codex
What it generates
| Output | Description |
|---|---|
| Variant axis exhibits | One section per axis with instance previews for every option |
| Boolean toggle exhibits | On/off states shown side by side |
| Variable mode exhibits | Shape, density, and other variable-driven properties |
| Child component chapters | Nested component properties rendered on parent instances |
| Default labels | The default value for each property is labeled |
.md’s render-meta block (componentPropertyDefinitions, variant axes, boolean defs, variable modes), so the output adapts to any component regardless of how many properties it has.
How it works
The property skill is primarily deterministic — scripts rebuild the property model fromrender-meta, lay out the template, and render instances, while AI reasoning handles normalization decisions and label generation.
70% Deterministic
30% AI Reasoning
Require the .md
The skill requires
components/<slug>.md (produced by create-component-md) and fails fast if it is missing — it does not re-extract from Figma.Rebuild the property model
Properties has no dedicated body section, so the skill rebuilds the property model —
componentPropertyDefinitions, variantProperties, variable modes, and child component properties — directly from the .md’s render-meta block.Build render inputs
Coupled axes, container-gated booleans, unified slots, and sibling booleans are consolidated from the rebuilt model to avoid redundant exhibits — no live extraction walk.
Import template
The property documentation template is imported from the library, instantiated, and detached into an editable frame.
Render
The skill fills header fields, clones chapter sections, creates component instances for visual exhibits, and labels defaults, resolving each exhibit against the live component set by name-match.
Tips for better output
- Use component sets: The skill expects a component set (the dashed-border container in Figma) or a standalone component, not an instance
- Check variant coverage: If a variant axis like “Hierarchy” doesn’t have variants for every combination of other axes, the skill finds the closest available match automatically
- Name your layers: Descriptive layer names help the skill correctly discover and label child component properties
- Variable modes: If your component uses variable modes (e.g., shape or density collections), the skill detects and renders them automatically