Harness Design seriesArticle no. 09
Astryx solved the intent problem. Meta's.

Meta open-sourced Astryx, the design system that had been running internally for eight years across thirteen thousand applications, under an MIT license. The differentiator everyone is talking about is that it was built to be read by an agent: a CLI that returns the full documentation for each component, a JSON manifest that describes every command and every prop, a built-in MCP server, and a dense format that cuts the human-oriented text to save LLM context.
The easy reading of this release is: there you go, they solved the problem of getting AI to build interfaces. I read it closely precisely because I've been in the middle of that problem for two months, and I reached a different conclusion. Harness Design is contextual.
What they actually solved
Astryx does document intent, yes. The project's principles say explicitly that design opinions live in the documentation and the examples. Each component carries annotations with composition hints, inline guidance on how the pieces fit together. The naming, prop, and composition rules are the same in every component, so once the agent learns a few, it can predict how an unfamiliar one behaves.
The problem Meta names is that design systems have always been made for human consumption, and that stopped working once part of the code started being written by agents. Their answer was to make the system predictable: the same naming, prop, and composition rules in every component, so the AI can infer how a component it has never seen behaves.
That is intent work. It is designer work. But it is Meta's intent work, solved for Meta's context, and generic by construction (see a case), since it has to serve the thirteen thousand apps running in there.
Intent lives on a spectrum
This is where it clicked for me.
At one end there is universal intent. Login is login. A form is a form in almost any system. Table, pagination, required field. That knowledge lives outside your company, and that is exactly why a third-party library can deliver it ready-made.
At the other end there is your product's intent. In our case: the drawer replaces the modal, and it is used extensively. The component that represents a tire diagram, where the information can't shrink without losing legibility. The specific way we handle vehicle status. None of that exists in any library. It is born from scratch, in-house.
The variable that decides where you sit on the spectrum is legacy
And this is where the conversation shifts for most of the designers I know.
If you work on a product that has been on the market for five or ten years, your company has already built a lot of its own things. Accumulated decisions, patterns that became identity, ways of doing things that users have already learned and expect to find. You don't take a third party's intent and layer it on top of that, because it will fight with what already exists. Here, producing your own intent is the rule, not the exception.
I have data on this part. In our tests with Claude Code, before the project was formalized, it got tables, headers, and menus right easily, because the pattern exists outside our system. And it got it wrong precisely where the only possible reference was ours: it shrank information in the tire diagram until it was illegible, used a checkbox in a listing format that doesn't exist here, and, the most emblematic case, couldn't find our way of handling status and invented its own: cards with yellow, red, and green backgrounds, a logic that doesn't exist in our design system.
Astryx would fix the first category. It would not fix a single case in the second.
To be fair to the other side
If you are starting a product from scratch, the math is different. You start close to the universal end, inherit a large amount of already-documented intent, and only drop down to your own layer when you hit a problem the library didn't anticipate. In that scenario, taking advantage of an Astryx makes a lot of sense. I'm not saying nobody should adopt it. I'm saying where the math works and where it doesn't.
What you can copy, and what you can't
What you copy from Astryx is the approach. The single door where humans and agents ask the same thing and get the same answer. Machine-readable documentation. The dense format so context doesn't get burned. That is an engineering standard, not something they own, and it is the part worth studying closely.
The content that goes through that door is another problem. Documenting that the drawer replaces the modal in our system, and in which situation it is the right choice, is not work a third-party library solves. It is the work of understanding what a fleet screen needs to communicate and writing that in a way the machine can use.
This market ships something new every week, and Astryx is the novelty this time. The distinction between intent that comes ready-made and intent that is yours, that one I don't see changing with the next release.