AI design skills

Claude Design Skills: Where They Come From and How to Judge Them

What a SKILL.md is, where design skills come from, what Anthropic does and does not say about Claude Design and skills, and how to test one fairly.

· · Diagram Studio Editorial

Search for Claude design skills and you get lists: the 45 best, the 10 that kill AI slop, a registry with 67 files. Almost none of them tell you who wrote a given file, whether anyone tested it, or whether it changed last month. A skill is just a text file Claude reads, so those are all things you can check yourself.

Anthropic's own explanation for why skills exist is that models default to the safest, most common design, which is why so many generated pages look alike. Anthropic published one design skill to push against that, and a crowd of third-party files followed.

This piece is for designers and engineers deciding whether to install one. We read the documentation and the files; we did not run any skill ourselves. You will leave with a way to tell where a skill came from, a five-point rubric for reading it, and a small A/B protocol for testing it against no skill at all.

Direct answer

A Claude design skill is a folder with a SKILL.md file of design instructions that Claude loads on demand when a request matches its description. Judge one by provenance, specificity, negative constraints, token naming and test evidence, then compare it against a no-skill baseline on your own briefs. No public benchmark ranks design skills.

What a design skill is, and why its description matters

A Claude skill is a folder whose required file is SKILL.md: YAML frontmatter followed by markdown instructions. Anthropic's Agent Skills documentation lists two required fields. name is at most 64 characters (lowercase letters, numbers, hyphens). description is non-empty, at most 1,024 characters, and should say what the skill does and when to use it. The folder may also hold reference files and scripts. A design skill is one whose instructions cover typography, color, layout, tokens or components.

The difference from pasting a prompt is how it loads. Claude always sees the name and description of every installed skill. It reads the body only when a request matches the description, and bundled files only when the body points to them.

How a skill loads into context, as documented by Anthropic (checked October 1, 2026; figures may change)
LevelWhen it loadsDocumented costWhat it contains
1. MetadataAlways, at startupAbout 100 tokens per skillname and description
2. InstructionsWhen a request matches the descriptionUnder 5k tokensThe body of SKILL.md
3. Bundled filesOnly when read or runNone until accessedReference files, templates, scripts
A three-step staircase showing the three loading levels of a skill: name and description, SKILL.md body, and bundled files
The loading levels in the table, drawn as a staircase: only the first step is paid for on every request.

Two Anthropic speakers gave a conference talk on the format, published on the AI Engineer channel. It is a short orientation from the people who work on skills.

Watch Don't Build Agents, Build Skills Instead – Barry Zhang & Mahesh Murag, Anthropic by AI Engineer on YouTube
A conference talk by two Anthropic speakers on why skills exist; watch it for the reasoning behind the format, since we have not watched it frame design skills specifically.

Two consequences matter for design work. The description is the trigger: if it is vague, the skill may never load, and you will blame the skill for something it never had the chance to do. Thariq Shihipar, who works on Claude Code at Anthropic, puts it directly:

The description field is not a summary, it's a description of when to trigger this skill.

Thariq Shihipar, Member of technical staff, Anthropic (Claude Code) — Lessons from building Claude Code: How we use skills

Claude Code's skills documentation adds that the combined description and when_to_use text is cut at 1,536 characters in the listing, so the key use case should come first. The second consequence: a skill is advice, not enforcement. That page says that if Claude stops following a skill partway through a session, you should move critical rules into hooks or invoke the skill again.

One discrepancy to know about: the API and claude.ai docs call name and description required, while the Claude Code docs say all frontmatter is optional. If you write for more than one surface, include both.

Where skills work, and what Anthropic says about Claude Design

Claude Design, Claude Code and skills are three different things that search results blur together. Claude Design is the visual workspace Anthropic announced on April 17, 2026. Claude Code is the coding agent. Skills are the folder format above.

Anthropic says Claude Design builds a design system "by reading your codebase and design files," and its help center lists exports to Canva, PDF, PPTX and standalone HTML plus a hand-off bundle for Claude Code. The announcement and both help-center articles we read do not mention skills at all. That is not proof of no integration, only that Anthropic has not documented one on those pages.

Skills are documented for other places. Claude Code reads them from ~/.claude/skills/ (personal) or .claude/skills/ (project). On claude.ai you upload a zip under Settings, then Features, on Pro, Max, Team and Enterprise plans with code execution enabled. Custom skills do not sync between claude.ai, the API and Claude Code.

Our inference: the stage where a design skill most plausibly matters is implementation, when Claude Code writes the components after a Claude Design export. The Claude Design to Claude Code hand-off guide covers what that bundle contains. Test in your own setup before relying on this.

The problem skills try to fix: distributional convergence

Generated interfaces look alike because the model picks the most probable design. Anthropic's Applied AI team named this in a November 12, 2025 post, "Improving frontend design through Skills":

During sampling, models predict tokens based on statistical patterns in training data. Safe design choices–those that work universally and offend no one–dominate web training data.

Prithvi Rajasekaran, Justin Wei and Alexander Bricken, Applied AI team, Anthropic — Improving frontend design through Skills

The post calls this distributional convergence. Without direction the model samples from the center, which for web UI means familiar choices such as Inter with a purple gradient on white. Its design advice is to write guidance "at the right altitude": not hardcoded specifics like exact hex codes, and not vague guidance that assumes shared context.

Users noticed the effect after the skill shipped. Ethan Mollick posted this the day after the Anthropic post:

The new Claude Code front-end design Skill is a big improvement, ends the purple gradient and Arial font tyranny and actually considers audience. I have been having it go over some of my vibe coded apps and redoing the design to make them match the use. Lots of value in Skills.

— Ethan Mollick (@emollick) View on X
One named practitioner's impression of the original skill; it is an anecdote, not a measurement.

Be clear about the strength of the evidence. The Anthropic post shows before-and-after examples and reports no benchmark or user study, and Mollick's post is one person's experience. That does not make the claim wrong; anyone who has generated a few landing pages has seen the sameness. It does mean "the skill works" rests on observation, which is why the protocol later matters.

The fix can also become a default. A third-party review from April 2026, by dMaya, says the skill has "its own recognizable signature" (reported, about an earlier version, so treat it as a lead). Anthropic's current file seems to anticipate this: it lists clusters it considers generic and says they "are legitimate for some briefs, but they are defaults rather than choices."

Where design skills come from

Install counts and "best skills" lists show popularity. They do not show who wrote a file, whether it was tested, or whether it changed after the article about it. This table sorts the sources you are likely to meet by what you can verify.

Design skill sources and their provenance, checked October 1, 2026
SourceWhat it isProvenanceLabel
Anthropic frontend-designOne SKILL.md for distinctive UI; present in anthropics/skills and in the anthropics/claude-code plugins folderPublished by Anthropic; the two copies were byte-identical when we compared them today. The repo says its skills are for demonstration and educational purposes and should be tested before you rely on themDocumented
Claude Academy tutorial, "Elevate Claude's design using skills"A walkthrough that builds a skill with five reference files, including an eight-phase elevation protocolAnthropic's learning site; a teaching example, no author or date shownDocumented
Figma's guide and developer docsHow to write a skill for your own design system: library-first search, token naming, a gotchas sectionFigma, with input credited to a Figma designer advocate and an Anthropic staff memberDocumented
TypeUI / awesome-design-skillsA registry of 67 design skill files (each a SKILL.md plus a DESIGN.md), pulled with npx typeui.sh pull <slug>MIT-licensed repo by Bergside; the repo does not document how skills were made or tested. A blog on the same site is titled "48 design skills", so counts changeReported
awesome-claude-design68 DESIGN.md files modelled on well-known brandsCommunity repo that says its files are inspired by observable patterns, not official or endorsedReported
claude-design-skill (GitHub)A skill for HTML artifacts such as decks and prototypesStates it is adapted from an internal Claude Design system prompt. we could not verify that claim, and it is not Anthropic's own releaseUnverified
Ranking and aggregator sitesLists ordered by installs or by editorial tasteCounts depend on how each site measures; one review cites 565,000+ installs on Anthropic's plugin pageReported
A ladder of trust for skill sources, from reading the file yourself at the bottom to a named maintainer with history at the top
A skill is only as trustworthy as what you can check: more verifiable provenance sits higher on the ladder.

The two DESIGN.md rows are a different format from a skill. A DESIGN.md is a plain-text description of a visual language; a skill is a loadable folder with a trigger. Registries often ship both. Our study of public design-rules files lints real DESIGN.md files from public repos, which is useful context for what these registries contain, and the markdown versus JSON tokens comparison covers the format question.

Figma's skills for writing to the canvas are the closest comparable ecosystem from a design vendor; the Figma skills and write-to-canvas explainer maps what they cover.

Security belongs in provenance too. Anthropic's documentation says to use skills only from trusted sources and to audit every bundled file, because a malicious skill can direct Claude to run tools in ways that do not match its stated purpose. Snyk's February 5, 2026 study scanned 3,984 skills from two public registries, ClawHub and skills.sh. It found critical-level issues in 13.4% (534), at least one flaw in 36.82% (1,467), and 76 confirmed malicious payloads.

That sample is not design-specific and excludes Anthropic's repository, so it says nothing about any particular design skill. It does show that a public skill file deserves the same review as a dependency (reported: Snyk).

A five-point rubric for judging a design skill

The rubric combines Anthropic's authoring guidance, Figma's guide and the visible features of the frontend-design file. The criteria are our synthesis, but each has a check you can perform by reading the file.

Rubric: five checks you can make by reading the skill (inference, grounded in the sources noted)
CriterionQuestion to askGood signWarning sign
ProvenanceWho wrote it, where is the source, when did it last change?Named maintainer, public repo, commit history you can read, a pinned commitNo author, no history, a claim of origin you cannot check
SpecificityDoes it say what to do, at the right altitude?Concrete defaults and a procedure, without hardcoding things the brief should decideAdjectives only ("modern, clean, elegant") or a pile of fixed hex codes
Negative constraintsDoes it name the outputs to avoid, and say when they are allowed?A list of specific tells plus an escape clause such as "the brief wins"Blanket bans that fight your own brand, or no bans at all
Token namingDoes it use your tokens and vocabulary?Names and roles that match your system (semantic versus primitive, variants), and a rule to search the library firstGeneric color and type names that you must translate every time
Test evidenceIs there evidence it changes output?Evals or a before/after on stated briefs, a baseline without the skillOnly testimonials or install counts

Two checks come straight from Anthropic's authoring guide: the description should state what the skill does and when, and the body should stay under 500 lines. The guide also says to build evaluations first.

The highest-signal content in any skill is the Gotchas section.

Thariq Shihipar, Member of technical staff, Anthropic (Claude Code) — Lessons from building Claude Code: How we use skills

A gotchas section is where a skill records failures its author has actually seen, which is also the best sign of use. Figma's guide to turning a design system into a skill agrees: put the most important rules first, encode your token taxonomy and variants, keep skills small and composable.

On token naming specifically, a design skill that never mentions your tokens or components is generic by construction. That suits a one-off landing page and fits poorly with an existing system. How you write those tokens (markdown or JSON) changes how reliably an agent follows them, as the tokens comparison shows.

Worked example: reading frontend-design against the rubric

This is a reading exercise, not a benchmark. We did not run the skill on any brief, and nothing below says it is better or worse than another file.

  • Provenance. The file lives in Anthropic's repositories. we fetched it on October 1, 2026: 71 lines and 1,516 words, identical in anthropics/skills and in the anthropics/claude-code plugin folder. The history shows rewrites on June 9, 2026 and September 3, 2026 (commit 41bbe19, "Update frontend-design skill to avoid generic design defaults"). The November 2025 post described the original as about 400 tokens. So the file has grown and changed, which means a review written last spring may describe a different skill. Pin the commit you test.
  • Specificity. It asks for a two-pass process: write a compact plan (4 to 6 named hex values, type roles, a layout concept), then review the plan against the brief and revise any part that reads like a generic default before writing code. It sets a line-length default of under 80 characters. It leaves the actual palette and typefaces to the brief.
  • Negative constraints. It lists five clusters it calls generic: cream with a serif and a terracotta accent, near-black with an acid-green accent, broadsheet layouts, identical rounded cards with the same soft shadow, and template chrome such as an all-caps eyebrow above every heading. It adds that the brief's own words always win, including when the brief asks for one of those looks.
  • Token naming. None for your project, by design. It asks Claude to invent a token set per brief. If you have a design system, you would pair it with a skill like the one Figma describes rather than rely on this alone.
  • Test evidence. Anthropic's post shows examples, not measurements. Any claim beyond that is yours to establish.

The pattern: the file is strong on negative constraints and process, and it states its own limits. Whether that produces output you prefer is an empirical question, and the next section is how to answer it.

A reproducible A/B protocol

The aim is to compare the same model on the same briefs with and without one skill, without fooling yourself. It follows the baseline-first approach in Anthropic's guide. The numbers (five briefs, three runs, two viewports) are our choices, not Anthropic's.

  1. Fix the brief set. Write 5 short briefs that cover different jobs: a pricing page, a dashboard, a settings form, an empty state, a marketing hero. Freeze the text and do not edit it between runs.
  2. Pin the variables. Record the model, the harness (for example Claude Code and its version), the date, and the exact skill commit. Use one clean project directory with no other design instructions.
  3. Create the baseline. Start a fresh session with the skill folder removed or renamed, and confirm in the session that the skill is not listed. Run each brief 3 times.
  4. Create the treatment. Add the skill, start a fresh session, and run the same briefs 3 times. In the transcript, confirm the skill actually loaded, because description matching decides that. If it did not, invoke it explicitly and note that in the log.
  5. Capture identical screenshots. Use the same two viewport sizes for every output, for example 1440 by 900 and 390 by 844, and save them with neutral file names.
  6. Score blind. Have someone who did not run the tests rate each screenshot from 1 to 5 on the criteria you care about (distinctiveness for the brief, hierarchy, legibility, brand fit), with condition labels removed.
  7. Count the tells. Separately, count how many of the five defaults named in the skill appear in each output. This is a rough, mechanical check you can do by reading the CSS and the screenshot.
  8. Read the disagreements. Look at the briefs where baseline and treatment differ most, and at runs that differ within one condition. Report the sample size and the briefs you chose, and do not generalize past them.
Flow chart of an A/B test for a design skill: one fixed brief set runs with and without the skill, screenshots are scored blind, and results are compared
The protocol as a flow: the same briefs and settings feed two conditions, and scoring happens before anyone sees the labels.
Template for the run log (fill in from your own runs; no results are claimed here)
BriefConditionRunSkill loaded?Commit / versionScreenshotBlind scoreTells counted
B1 pricing pagebaseline1non/ab1-base-1.png
B1 pricing pagewith skill1yes (checked in transcript)41bbe19b1-skill-1.png

Cost is a real constraint. Each run uses model capacity, and design generation can be heavy, so keep the sample small and see how Claude Design usage limits work before planning thirty runs. Three runs per cell is enough to see a large, consistent difference; it is not enough to call anything statistically significant.

Three confounds deserve attention. A skill that never triggered tells you nothing, so check the transcript. Model updates change results between weeks, so record the date and model in every row. And a session that already has long project instructions can swamp the skill, so keep the test project minimal.

How to read an outcome: if the skill wins on every brief but loses on the one with strict brand colors, the finding is that its "avoid defaults" push conflicts with a pinned palette. The fix is to add your palette to the brief or write a project-level skill that names your tokens.

Choose a skill the way you choose a dependency

You can judge a Claude design skill without trusting anyone's ranking, because it is a short text file. Read it, check who maintains it and when it last changed, score it against the rubric, and test it against a no-skill baseline on your own briefs. Re-test when it updates.

We could not find a controlled comparison of design skills, and Anthropic's evidence for its own is a set of examples, so nobody has shown which is best. Pair a general skill like frontend-design with a small project skill that names your tokens and components, and review both like code.

Everything here reflects what the linked pages said on October 1, 2026. Check the primary sources before building a workflow on them.