SKILL 05 / META · ROUNDUP

Meta-Skills Roundup

The official nine — four that run, three paper contracts, two auditors

2026-09-06 · BigCat

The most counterintuitive line is in Anthropic's own docs: you do not need a "writing skills" skill. Which means the valuable half of this category isn't drafting. It's evaluation.

Prerequisite → Skill 01 AI Coding Skills Roundup (skill vs subagent vs MCP vs hook)

// WHY THIS MATTERS

The first four issues were about installing other people's skills. Sooner or later you hit the one nobody wrote — the one that carries your team's table schemas, your house voice, your undocumented deploy sequence. This issue collects the tools that build tools: what Anthropic actually ships for drafting, evaluating, packaging and auditing skills. All nine items come from the official repository or the official docs, and every one is a link you can open. Section 03 turns the four official skills' own construction into buying criteria; section 04 is where this category most often gets installed for nothing.

// 01

The list first: nine official items, with install commands

Claim: meta-skills aren't one category but three layers — four skills that actually execute, three paper contracts that define what "correct" means, and two auditors you run afterwards to check the bill. Skip a layer and something breaks.
Item What it takes off your plate When not to bother ────────────────────────────────────────────────────────────────────────────────────── ① skill-creator Draft SKILL.md + run with/without evals You just want one page ② mcp-builder 4-phase MCP server process + 10 eval Qs You aren't writing one ③ web-artifacts-builder React+shadcn bundled into one HTML file Hand-writing static HTML ④ claude-api Current model ids, pricing, caching, tools Project isn't on Claude ────────────────────────────────────────────────────────────────────────────────────── ⑤ template/SKILL.md Memorizing the frontmatter fields You have your own stub ⑥ agent-skills-spec Cross-harness source of truth for fields Single-harness use only ⑦ Authoring best practices Guessing "how long, how many files" — read this one anyway ────────────────────────────────────────────────────────────────────────────────────── ⑧ /skill-doctor Guessing which skill eats context for free You only have three ⑨ claude plugin validate Finding manifest YAML errors the hard way Never shipping to others ────────────────────────────────────────────────────────────────────────────────────── ①—④ live in the anthropics/skills repo; ⑤—⑥ in that repo's template/ and spec/; ⑧—⑨ ship with Claude Code

How to install (commands quoted from the official pages)

# ① The official skills repo: register the marketplace, then install by bundle
/plugin marketplace add anthropics/skills
/plugin install example-skills@anthropic-agent-skills
/plugin install document-skills@anthropic-agent-skills

# skill-creator also has an official plugin source (this is the line in the Claude Code docs)
/plugin install skill-creator@claude-plugins-official

# ⑧ Audit: context cost and invocation frequency per skill (needs v2.1.252+)
/skill-doctor

# ⑨ Validate: check YAML and manifest syntax
claude plugin validate .claude/skills

Item by item

Failure mode: installing ①—④ without reading ⑦. skill-creator will faithfully produce the SKILL.md you described, but "should this be split across files?" and "will this description actually trigger?" are judgments it cannot make for you — those live in the best-practices page. Invert it and you get the other failure: read the docs, skip ①, and you will forever be judging your own edits by feel.
// 02

Don't rank these nine on one list: the denominators differ

Claim: ①—④ are running code, ⑤—⑦ are standards of correctness, ⑧—⑨ are after-the-fact accounting. Comparing them by stars is meaningless — they don't compete in the same market.

Background

anthropics/skills shows roughly 175k stars and 20.7k forks per the GitHub repo page, 2026-09 (this site's Skill 01 recorded 172k in 2026-08 — about 3k in a month). But that number measures how famous the demo repo is, not which skill inside it anyone uses. All 19 skills share one star count, which makes skill-creator and slack-gif-creator exactly equivalent on that metric. Obviously absurd.

The more practical reason to keep the layers apart is substitutability. ⑤ the template and ⑦ the best-practices page are plain text: copy them into your own repo and you own them forever, with no version risk. ①—④ are executable, so upgrades, dependencies and script rot follow upstream. ⑧—⑨ are Claude Code capabilities and vanish the moment you switch harness. Three different shelf lives; don't shop for them with one rule.

In practice

One more trap: names get copied wrong. ③ is really web-artifacts-builder, and plenty of aggregator articles print artifacts-builder — install by that name and it fails; point an agent at it and it finds nothing. ⑥ has moved in the same way: the file is still in the repo, but its content is now a single line saying the spec lives at agentskills.io. Standing rule: any name or path you write into a config or hand to an agent comes from the repo directory or the official doc page, never from an aggregator.

Failure mode: cloning all of anthropics/skills as a meta-skill bundle. Nineteen skills, and among them algorithmic-art, slack-gif-creator and canvas-design have nothing to do with building skills — all they do is muddy your description candidate pool.
// 03

Three-minute inspection: judge candidates by how the official four are built

Claim: the cheapest way to judge a meta-skill is to check whether it was written to the standard it preaches. The four official skills each happen to demonstrate one criterion you can reuse on the next candidate you meet.

Background

First the hard limits, quoted from the authoring page: name is at most 64 characters, lowercase letters, digits and hyphens only, and may not contain reserved words like anthropic or claude; description is at most 1,024 characters, non-empty, and must be written in the third person; the body should stay under 500 lines; references must be one level deep. The Claude Code docs add a number that is easy to miss: in skill listings, description plus when_to_use is truncated at 1,536 characters — the overflow isn't read late, it's cut.

In practice

  1. Does the description carpet the trigger space? Read skill-creator's own: "create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description." Five phrasings in one sentence, because the user could say any of them. A description reading "Helps with skills" either never fires or fires everywhere.
  2. Is there a machine-checkable acceptance bar? mcp-builder requires those ten questions to have answers that "support string comparison verification." That sentence is the watershed: an author who writes it knows what they're aiming at; one who can't, ships to a standard of "looks fine."
  3. Are deterministic steps frozen into scripts? web-artifacts-builder puts scaffolding and bundling into init-artifact.sh and bundle-artifact.sh instead of regenerating them each run. Anthropic's stated reasons are blunt: pre-made scripts are more reliable, cheaper (only the output is billed; the script body never enters context) and consistent.
  4. Are references split by domain, one level deep? claude-api splits into a dozen-plus files by language and topic, leaving SKILL.md as a table of contents. The docs warn explicitly that with nested references Claude may preview with something like head -100 and act on partial information — so every reference links straight from SKILL.md, and reference files over 100 lines carry their own table of contents.
  5. Does the freedom match the task's fragility? The official analogy is a narrow bridge with cliffs on both sides versus an open field. Database migrations want low freedom (an exact command, plus "do not modify the command or add additional flags"); code review wants high freedom (direction only).
  6. Can it name the three concrete failures it fixes? The official checklist says "at least three evaluations created" and "tested with Haiku, Sonnet, and Opus." A meta-skill that can't answer this leaves you no way to tell whether it helps.

And don't invert the order. The authoring page makes "create evaluations BEFORE writing extensive documentation" a bolded requirement, in five steps: run real tasks with no skill and document the specific failures → build three scenarios around those gaps → measure the baseline → write just enough instruction to close them → iterate against the baseline. The stated reason: this way you solve real problems instead of documenting imagined ones.

Resources · Anthropic · Skill authoring best practices (source for all six criteria and the five-step method)
// 04

The honest cost: the docs themselves say you don't need a skill-writing skill

Claim: the real risk here isn't picking wrong, it's paying for something free — Claude already knows how to draft a SKILL.md.

Background

There is a Tip on the authoring best-practices page that is deflating in its directness: Claude understands the skill format natively; you don't need special system prompts or a "writing skills" skill — just ask Claude to create a skill and it generates properly structured SKILL.md content with appropriate frontmatter.

So where is skill-creator's value? In the evaluation machinery of its second half, not the drafting. Parallel with/without runs, assertion grading, an aggregated benchmark.json — building that by hand costs you a day. Install it expecting "generate my SKILL.md" and you've paid a context tax for something that was already free.

In practice

Failure mode: using mcp-builder for a server that wraps one HTTP call. The four phases plus ten verified evaluation questions will cost you a day for half an hour of work. Its economics only work when the server is something others will use and you will maintain.

// ONE-PAGE BUYING CARD

Install these three first: skill-creator (for the evaluation half, not the drafting half) + a copy of template/SKILL.md as your own stub in your own repo (plain text, zero cost, never expires) + /skill-doctor as a fortnightly habit. Add mcp-builder only when you're genuinely writing a server you'll maintain; read claude-api as the specimen for splitting references by domain; install web-artifacts-builder only when you actually need a rich interactive artifact.

Three minutes before installing: does the description carpet the trigger space in third person · is there a machine-checkable acceptance bar · are deterministic steps frozen into scripts · are references split by domain and one level deep · does the freedom match the task's fragility · can it name three concrete failures it fixes.

When writing your own skill, the order is: run the real task with no skill → document the specific failures → build three scenarios → measure a baseline → write just enough to close the gaps → iterate against the baseline. Never docs first.

Hard numbers to keep: name ≤ 64 chars · description ≤ 1,024 chars · description + when_to_use truncated at 1,536 chars in listings · SKILL.md body < 500 lines · references one level deep · at least three evaluations · tested on Haiku, Sonnet and Opus.

// GLOSSARY

meta-skill
A skill whose job is building other skills, servers or applications. Its output isn't an answer; it's another tool.
eval
A set of test cases pairing a prompt with expected behavior, used to measure whether a skill actually improves results. Anthropic asks for at least three.
baseline
The score from running the same tasks with no skill loaded. Without one, "it feels better with the skill" stays a feeling.
benchmark.json
skill-creator's aggregate output: pass rate, duration and token counts for the with-skill and without-skill arms, side by side.
frontmatter
The YAML header at the top of SKILL.md. name (≤64 chars) and description (≤1,024 chars) are required, and they decide whether the skill ever triggers.
progressive disclosure
At startup only every skill's name and description is preloaded; the body is read once the skill is judged relevant; bundled files are read on demand; scripts are executed without their contents entering context.

// FURTHER READING