How you give it matters.
The same design system, handed to a model in seven different ways. How closely it is followed, and what it costs. The full report behind slide 10 of the talk.
- 599runs scored
- 7tasks
- 7ways to give the system
- 4models, 3 runs per cell
The question
Does an agent connected only to the MCP server apply the system at least as well as one given files, at a lower cost?
The system is Amaca, my design system. Seven tasks, from a button to a dashboard; four models run as subagents; three runs for every combination. Every output is scored automatically on how closely the code follows the system, out of 100. 599 runs scored, 10 skipped on usage limits. No model names: the point is not which model wins.
- No fileThe model knows the system exists, but gets no file.
- AI-INSTRUCTIONS.mdOne instructions file.
- AGENTS.md + tokens
AGENTS.mdplustokens.css. - Skill, 9 filesThe
amaca-frontendskill. - llms-full.txtThe whole system in one file, written for models.
- DESIGN.mdThe full specification document.
- MCP onlyA server to query: the model asks for the piece it needs.
The result
Same quality, a fraction of the context.
At the same quality, about 93, the MCP route reads a third of the skill's context and half of DESIGN.md's.
- Range: without one false positive of the scorer, the score rises from 89 to 93
The short files cost little but stop between 76 and 79: they name the components, not their parts, and the agent invents the sub-parts (card-body, card-head).
The numbers
Mean across all models, per run.
| Way | Score | check_compliance errors | Tokens | Time (s) | Tool calls |
|---|---|---|---|---|---|
| No file | 35.1 | 28.4 | 9.0k | 28 | 2.0 |
AI-INSTRUCTIONS.md | 77.2 | 0.2 | 19.9k | 39 | 3.1 |
AGENTS.md + tokens | 78.7 | 0.2 | 27.7k | 41 | 4.0 |
| Skill, 9 files | 89.3 (93.2) | 0.2 | 118.5k | 148 | 14.4 |
llms-full.txt | 76.0 | 0.3 | 25.2k | 45 | 3.0 |
DESIGN.md | 89.2 (93.3) | 0.6 | 85.3k | 87 | 10.2 |
| MCP only | 93.8 | 0.3 | 42.3k | 84 | 9.9 |
In brackets: the score without one false positive of the scorer. A skip-link parked with top: -100px, as DESIGN.md prescribes, was counted as an error in 19 runs of the skill and DESIGN.md.
Where MCP does not win
Facing what the system does not have.
- Refusing to invent. In two tasks the request was a component the system does not have. Agents with the files stopped and asked: 0.96–1.00. The agent with only the server built it from registry pieces: 0.79.
- The Badge variants. MCP server and DESIGN.md 12 of 12, the skill 8 of 11. The short files 0 of 12: they do not list them.
- Checking on its own. With the server only, the agent called
check_compliancebefore delivering in 34 runs of 83, 41%; in 24 of those the code was already clean.
Before you quote it
Three things to know.
- «No file» is not a model that knows nothing. Every subagent received the MCP server's instructions: «no file» means it knows the system exists but has no files. One even tried to call the server, and was refused.
- Checking on its own depends on the model. The 41% is a mean that hides four different behaviours: 3, 7, 11 and 13 runs out of about 21. It is not a behaviour of the system.
- One model in four does not receive the server's instructions, only the tool descriptions. For it a condition was added with the instructions in the prompt: 95.3, zero errors. It is a finding about clients, not about the system.
Limits
The scorer.
The check for invented components is rule-based: 33 runs were flagged for a manual read. HTML validity is a lenient check, and the registry check gives half a point even to a page written in plain Tailwind. Two false positives found by this matrix were fixed in Amaca's checker, in version 5.3.0.
One test, October 2026, on a single design system. A clue, not a law.