For Claude Code
Claude Code already reads `CLAUDE.md`, runs skills, and calls MCP tools. Aestheria, the design context layer, is what those mechanisms have been missing something to point at.
Claude Code reads context. Give it design context.
A CLAUDE.md is instructions: use the design system, follow the spacing scale, prefer existing components. Every line of it is a pointer, and a pointer is only as good as the thing it points at. When the target is a Figma file, a Storybook nobody has opened since the migration, or a sentence that says "follow our conventions", the agent resolves the pointer to a guess.
This is the specific reason good context files produce off-system UI. The instruction is correct. The destination is missing. Aestheria is the destination: the tokens, the components, the patterns, and the reasoning that decides between them, in a form Claude Code consumes while it works.
Three mechanisms Claude Code already has.
Aestheria is shaped for the way Claude Code actually runs, not bolted to the side of it.
- Skills. Six
SKILL.mdfiles ship with the kit and install where Claude Code scans for them. Atlas owns page structure, Doric owns token discipline, Mira owns interaction states, Umbra owns the states most screens forget, Aura owns accessibility, and Aria routes between them. They are skills in the open format, yours to edit, not a hosted black box. - MCP tools. The server exposes the library itself: list and read components, list themes and tokens, fetch a template, fetch a skill, and validate a snippet. Claude Code calls them mid-task rather than being handed a wall of context up front.
- Context files.
AGENTS.mdsits in the project root as the cross-tool twin of yourCLAUDE.md, so the same design context reaches whatever else reads the repository.
One line to connect it.
The hosted server is free with an account. Paste this into Claude Code and it handles the rest, including sign-up, in the terminal:
Set up the Aestheria MCP: https://mcp.aestheria.design/mcpOr take the files instead: unzip the kit into the project, and AGENTS.md, the CSS, and the skills are read from disk with no network in the loop. A team that needs to pin a version for an audit takes the files; a team maintaining several products usually takes the server.
Where it changes the session, not just the output.
Claude Code plans before it edits, which is the useful part. With the layer connected, that plan is written against real inventory: it names the components it will reuse and the tokens it will apply before a line is written, so the disagreement happens in a plan you can read rather than in a diff you have to unpick.
And because validate_snippet returns specific violations rather than a verdict, the correction loop closes without you. The agent generates, checks, fixes the hardcoded colour and the missing empty state, then hands you the result. A pre-delivery checklist per skill makes that step non-optional in a session that has been running for an hour and has started to drift, which is exactly when it matters.
- 407 tokens
- 6 themes
- 41 components
- 27 charts
- 63 templates
Questions
How is this different from writing a better CLAUDE.md?
A `CLAUDE.md` carries instructions; Aestheria carries the system those instructions refer to. Tokens with usage rules, components with their states, page templates, and six skills that encode the judgment between them. You still keep your `CLAUDE.md`. It finally has somewhere to point.
How do I connect it?
Paste `Set up the Aestheria MCP: https://mcp.aestheria.design/mcp` into Claude Code and it walks through the rest, including creating the account. The alternative is the downloadable kit: unzip it into your project and the files are read from disk.
What are the six skills?
Aria (routing and voice), Atlas (page structure), Doric (tokens and reuse), Mira (interaction states), Umbra (usability and the missing states), and Aura (accessibility). They ship as open `SKILL.md` files you own and edit, so the judgment stays yours rather than ours.
Does it work with subagents and hooks?
Yes. The MCP tools are callable from any agent in the session, and validation is an ordinary tool call, so a hook or a subagent can gate delivery on it. The design context does not depend on which agent is holding the task.
Do I need an existing design system?
No. The kit is a complete starter system, and every part of it is editable. Teams shipping fastest with agents are often the ones who never had time to build a system, which is the case Aestheria was built for.