figma-storybook-sync
One design system across tokens, Figma, code and Storybook, kept in sync without Code Connect.
A button renamed in code and forgotten in Figma is how a design system quietly falls apart. The skill sets up the link once, then catches every mismatch before it reaches a release.
- 2026
- Claude Code, Figma MCP, Python 3
- Python, standard library
- MIT
View on GitHub (opens in a new tab)
git clone https://github.com/VladPolyakov-art/figma-storybook-sync ~/.claude/skills/figma-storybook-synctokens.json
color.gray.900
Figma
color/gray/900
Button · Variant=Primary
Code
--color-gray-900
Button.tsx · variant="primary"
Storybook
Components/Button
Drift check
How it works
- Code is the source of truthtokens.json and the components in the repo. Figma is a synced copy, and a designer’s edit there counts as a proposal.
- Same names everywhereNo mapping table to maintain: the Variable, the CSS variable, the component and the story share one name.
- Links both waysA Design tab with the Figma node in Storybook, the code path and Storybook link on the component in Figma.
- Drift checkLocally through Figma MCP for tokens and components, in CI through the Figma REST API for components.
- No Code Connect neededWorks on the Figma Professional plan. Code Connect is optional, for Organization and Enterprise.
- Secrets stay yoursYou set the Figma and Chromatic tokens yourself. The skill never asks for them or writes them to files.
What the agent does
Six steps. The first two only read and ask, so nothing breaks before you agree.
- ReconnaissanceRead only: stack, Storybook, tokens, CI, the Figma file and plan.
- Plan and a yesNothing changes in the project or in Figma until you confirm the plan.
- TokensImport from Figma if needed, build the CSS variables, write the Variables to Figma.
- ComponentsOne at a time in Figma, bound to Variables and checked against a screenshot.
- CI and ChromaticGitHub Actions builds tokens and Storybook, checks drift, publishes to Chromatic.
- MaintenanceCode changed, Figma follows. Figma changed, the drift check decides what moves.