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.
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.
# ① 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
agents/grader.md, runs scripts.aggregate_benchmark into benchmark.json, and opens eval-viewer/generate_review.py for a human pass. The Claude Code docs describe the same chain as: cases stored in evals/evals.json inside the skill directory → one isolated subagent per case → results into grading.json → pass rate, time and tokens aggregated into benchmark.json. It also does blind A/B comparison and description tuning.artifacts-builder): a toolchain that bundles React 18 + TypeScript + Tailwind + shadcn/ui into a single self-contained HTML file. Every deterministic step is a script — scripts/init-artifact.sh scaffolds the project, scripts/bundle-artifact.sh uses Parcel to produce bundle.html — and the scaffold ships with 40+ shadcn/ui components pre-installed.shared/prompt-caching.md, shared/cost-optimization.md, shared/model-migration.md, shared/token-counting.md and more. It isn't a skill-building tool; it's here because it is the most complete official specimen of "one SKILL.md indexing many domain files" (Skill 23 takes it apart).template/ folder holds exactly one file, and it is almost provocatively short — frontmatter with name: template-skill plus one line telling you to replace the description with what the skill does and when Claude should use it, then a single body line, # Insert instructions below. That is Anthropic's idea of a minimum viable skeleton.spec/agent-skills-spec.md in the repo is now one sentence — the spec has moved to agentskills.io/specification. That fact is itself the intelligence: the source of truth for skill fields has left Anthropic's repo for an independent site (Claude Code's skills page points its evaluation chapter at the same domain). Copy a 2025 snapshot of the repo and you are copying a stale spec.marketplace.json for schema errors, duplicate plugin names, source path traversal and version mismatches.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.
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.
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.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.
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.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."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.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.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.
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.
skills / query / files / expected_behavior) and then state plainly that there is not currently a built-in way to run these evaluations — you build your own runner. The Claude Code side's skill-creator has its own evals.json → grading.json → benchmark.json pipeline. The two are not interchangeable.claude plugin validate as a quality gate is a misread — it is a syntax check, not a content check.skill-creator sit in your description candidate pool for all twelve months. So audit after you ship: /skill-doctor flags skills that were never invoked. Delete those — keeping them only makes the rest harder to select.agentskills.io and Claude Code's evaluation chapter points there too, which means your skill library now tracks a version outside the repo. Teams working across harnesses should copy the current spec's key fields into their own repo rather than looking them up fresh each time.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.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.
skill-creator's aggregate output: pass rate, duration and token counts for the with-skill and without-skill arms, side by side.name (≤64 chars) and description (≤1,024 chars) are required, and they decide whether the skill ever triggers./plugin marketplace add line and both /plugin install lines quoted aboveagents/grader.md, aggregation via scripts.aggregate_benchmarkinit-artifact.sh and bundle-artifact.sh; note the real name carries the web- prefixSKILL.md, the officially sanctioned minimum skeleton/plugin install skill-creator@claude-plugins-official, /skill-doctor (needs v2.1.252+), the 1,536-character truncation, and the skill-location tableclaude plugin validate checks, and the limitation that from a marketplace directory it does not open skill files