I kept telling AI the same things every session. So I started writing them down as skills, and testing them like code.
Writing
Notes from building design systems and the products on top of them. Newest first, all on one page.
- AITools2 min
Component docs used to be written for people. Now agents build screens from them, and take every word literally. So I rewrote ours as rules.
SystemsAI2 minMost component docs say something like “use the primary button for the main action and keep it prominent.” A designer reads that and fills the gaps from experience.
An agent can’t though. It guesses. What counts as the main action? How prominent is prominent? Can a page have two? Each guess is a small drift from the system.. and when an agent is building whole screens, that drift adds up fast.
Before: prose
## Button / PrimaryUse for the main action on a page. Keep it prominentand avoid overusing it. Pair with a secondary buttonwhere needed.Nothing in that paragraph is wrong, not so? It just can’t be checked.
After: rules
component: Buttonvariant: primaryuse_when: the single main action in a viewmax_per_view: 1pairs_with: [Button/secondary]never_for: [destructive actions, navigation]tokens: bg: action.bg label: action.labelEvery adjective became something a machine can hold to. “Prominent” became a token. “Avoid overusing it” became a limit of one per view. “Where needed” became an explicit pairing. Same intent. Nothing left to guess.
Why it works
- A rule can be checked. An adjective can’t. So a one-off manual audit becomes one you can repeat.
- People benefit too. New designers stop asking what “prominent” means.
- The prose doesn’t disappear though. It moves to the why, where judgment belongs.
I think that’s the real shift. Docs aren’t only for people any more.
