> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uspec.design/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Generate design system documentation for any Figma component. Produce a portable .md spec, then render it into Figma as annotation frames.

<Note>
  **uSpec now runs on the uSpec Extract plugin.** Every spec starts from a Component Markdown file the plugin produces — it saves thousands of tokens per run and captures more component detail than live extraction. [See the Component Markdown guide →](/specs/component-md)
</Note>

<Frame>
  <img src="https://mintcdn.com/personal-49ab26fb/ZYG_i5QveKIsG6Ph/images/cover.png?fit=max&auto=format&n=ZYG_i5QveKIsG6Ph&q=85&s=1f7b73802e2a871c77fd466c77bee25a" alt="uSpec: design system documentation for Figma components" width="1920" height="932" data-path="images/cover.png" />
</Frame>

uSpec turns your Figma components into structured documentation from your AI agent. The **uSpec Extract** plugin captures your component, `create-component-md` turns that capture into a single `.md` spec you can take anywhere, and the `create-*` skills render that spec into Figma as annotation frames.

Works with **Cursor**, **Claude Code**, and **Codex**.

## Start here: Component Markdown

<CardGroup cols={1}>
  <Card title="Your component. One .md file. Anywhere." icon="file-code" href="/specs/component-md">
    **New in v2.0.** Your design system source of truth, in one markdown file per component. Covers API, structure, color, and screen-reader behavior. An artifact that LLM tools can build from and humans can query.
  </Card>
</CardGroup>

## Render into Figma

Once you have a component `.md`, the `create-*` skills render annotation frames directly into your Figma file, next to the component. They read from the `.md` you generated — they no longer re-extract from a Figma link.

<CardGroup cols={3}>
  <Card title="Component Anatomy" icon="crosshairs" href="/specs/anatomy">
    Numbered markers and attribute tables for every element
  </Card>

  <Card title="Component API" icon="code" href="/specs/api">
    Properties, values, defaults, and configuration examples
  </Card>

  <Card title="Component Properties" icon="sliders" href="/specs/property">
    Variant axes, boolean toggles, and variable mode exhibits
  </Card>

  <Card title="Component Color" icon="palette" href="/specs/color">
    Design token mapping for every element and state
  </Card>

  <Card title="Component Structure" icon="ruler" href="/specs/structure">
    Dimensions, spacing, and padding across density and size variants
  </Card>

  <Card title="Screen Reader" icon="universal-access" href="/specs/screen-reader">
    VoiceOver, TalkBack, and ARIA accessibility specs
  </Card>

  <Card title="Motion" icon="film" href="/specs/motion">
    Animation timeline bars and easing details from After Effects
  </Card>
</CardGroup>

## How it works

Every spec flows through one pipeline, with the Component Markdown file at its center:

<Steps>
  <Step title="Extract">
    Run the **uSpec Extract** Figma plugin on your component to produce a `_base.json` capture of every variant, token binding, and sub-component.
  </Step>

  <Step title="Generate the .md">
    Run `create-component-md` against the `_base.json`. It runs four parallel interpretation agents (API, structure, color, voice) and writes a single `.md` specification to disk — your source of truth.
  </Step>

  <Step title="Render into Figma (optional)">
    Point any `create-*` skill at the `.md` to render that section as annotation frames next to the component. These skills read from the `.md`; they do not re-extract from Figma.
  </Step>
</Steps>

<Note>
  `create-motion` is the one exception: it renders a timeline from an After Effects export and does not use the Component Markdown pipeline.
</Note>

## Get started

<CardGroup cols={2}>
  <Card title="Setup" icon="download" href="/getting-started">
    Set up your AI agent, Figma MCP, and your template library.
  </Card>

  <Card title="Create your first spec" icon="rocket" href="/getting-started#create-your-first-spec">
    Prompt format, available skills, and tips for better output.
  </Card>
</CardGroup>
