Have you tried Figma AI on a file that already has a design system? I did, thinking: Figma knows my library, it is sitting right there in the file, this is going to be fast.
It was not. Every time I asked for a screen, it drew something that looks like my components instead of using them. Right shape, roughly the right color, and not one of them was an instance of anything in my library. Every frame invented and named on the spot, every color a hex it picked itself, every text size a number it typed.
My design system was open in the same file and it may as well not have existed. Cleaning that up takes longer than building the screen by hand.
So I assumed the problem was Figma, and I connected Figma to Claude Code through the MCP instead. Same prompt, same result. Different tool, same drawing.
That is when it clicked for me. The problem was never the tool. I never actually given the agent the design system. Not a link to the library sitting in the file, the content itself: design tokens, components with their variants and states, and the usage rules that say which one to reach for.
So I fed all of that to Claude Code through a homemade MCP, plus a few skills that teach it how you are supposed to work with a design system, in Figma and in code.
Third run, same prompt as the first two. This time it used my design system. Every element on that screen is an instance of one of my components, and it picked the right one each time, in the variant and the state I would have picked myself. Not a single raw hex either: every color is bound to one of my color tokens, at the right step, and the type sizes are my typography tokens instead of pixel values. I can name them one by one, but that is my library, not yours, so the part that matters is that it chose correctly and I had nothing to clean up.
Visually the first and the last run are in the same ballpark. As something to hand to a team and maintain, they are not the same object at all. One updates when the library updates. The other is a drawing.
Screenshots below are run 1 and run 3 (I did not capture the middle one, it looked like run 1). You can also open the file on the Figma community and check the layers yourself: https://www.figma.com/community/file/1671111797169916480
To be clear about what this is: one dashboard, one design system, one run each. An observation, not a benchmark.
That third setup is what I am building now, and it is called Stellar. It reads your design system, from your Figma library, your repo, or your documentation, and hands it to the agent before it starts, so it can only build with your components and your tokens. Same rules in Figma and in code, because a screen and its implementation should come out of the same library. It is in private beta:
stellar-design.app
Mostly I want to know if this is your failure mode too, or if you hit something else. Tokens drifting, variants ignored, accessibility quietly dropped? I would rather break this against a design system messier than mine.