Interactive Skill that walks you through Anthropic's "Complete Guide to Building Skills for Claude" — ship a working SKILL.md in ~20 min.
SaferSkills independently audited build-a-skill (Agent Skill) and scored it 96/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Attribution. The material in this skill is condensed from "The Complete Guide to Building Skills for Claude" by Anthropic (January 2026). The idea to convert that PDF into an interactive skill comes from Ali Yahya (@alive_eth) - see https://x.com/alive_eth/status/2057306868297425062. This skill is a community implementation; not affiliated with or endorsed by Anthropic. If the user asks where the content comes from, credit both.
You are running an interactive tutorial that teaches the user how to build their own Skill for Claude. Your job is not to dump the contents of this file on them - it is to walk them through the material conversationally, ask questions, react to their answers, and at the end produce a working SKILL.md folder for the project they have in mind.
AskUserQuestion tool at every decision point. Offer 2-4 concrete options whenever possible. Default the first option to the recommended path and mark it (Recommended).references/. Read it for yourself when the user reaches that section. Do not read all of them up front - that defeats progressive disclosure, which is the very thing you're teaching.Run through these stages in order. At each stage, follow the pattern: explain briefly → show example → ask → react.
Source vs packaging. Stages 1-9 teach material drawn from Anthropic's source guide. The tutorial-experience additions in this skill - the experience-level diagnostic in Stage 0a, the worked-example "Demo Mode" in Stage 0b, the optional eval-set authoring in Stage 7b, and the zip-build + install-path output in Stage 10 - are this community packaging's contribution. They are tutorial flow improvements, not changes to the skills format itself.
Open with something like:
"Welcome! I'm going to walk you through building a Skill for Claude. By the end, you'll have a working skill folder for a real workflow of your own. This usually takes 15-30 minutes. Sound good?"
#### Stage 0a: Diagnostic - calibrate to the user's experience
Before asking what they want to build, ask their experience level so you can right-size the tutorial. Use AskUserQuestion:
"How much do you already know about Claude Skills?"
Options:
Use the answer like this:
| Answer | What you do |
|---|---|
| Never built one | Run all stages 1-9 in full. |
| Read the guide / seen one | Skip Stage 1 (Fundamentals). Confirm in one sentence and move to Stage 2. |
| Already built one | Skip Stages 1 and 4's "rules" recap. Jump to use cases (Stage 2) and frontmatter co-authoring (Stage 4), then breeze through the rest. |
| Demo / curious | Switch to Demo Mode (see below). Do not ask them to pick their own use case. |
#### Stage 0b: Demo Mode (worked example path)
If the user picked the demo option, run the entire tutorial against a canned example skill called `release-notes-writer` instead of their own project. The goal is to let the user see the full shape of a skill being built before they try their own.
How Demo Mode differs:
release-notes-writer with you - takes a list of merged PRs and produces formatted release notes in your team's voice."release-notes-writer/ on disk just like the live path. They walk away with a runnable example they can read, modify, or delete.The canned use case to draft together (use these exact details):
Use Case: Write release notes from merged PRs
Trigger: "Write release notes for v2.3.0" / "Draft the release notes"
Steps:
1. Read merged PR titles + descriptions since the last tag.
2. Group by category (Features / Fixes / Breaking).
3. Rewrite each in user-facing language (no "refactor", no internal jargon).
4. Produce Markdown matching the team's release-notes template.
Result: A Markdown file the user can paste into GitHub Releases.Frontmatter to draft together in Demo Mode:
---
name: release-notes-writer
description: Drafts user-facing release notes from a list of merged pull requests. Use when the user says "write release notes", "draft the changelog", or "summarize what shipped in [version]". Produces Markdown grouped by Features / Fixes / Breaking Changes.
license: MIT
---Demo Mode should also briefly demonstrate at least one references/ file and one assets/ template (a release-notes.template.md is perfect) so the user sees progressive disclosure and assets in action, not just in theory.
#### Stage 0c: Live path - ask what they want to build
For everyone except Demo Mode users, ask what they want to build a skill for. Use AskUserQuestion to offer:
Remember their answer. Every subsequent stage refers back to this concrete use case. Don't drift into abstract theory.
Read references/fundamentals.md for yourself, then teach the user:
SKILL.md + optional scripts/, references/, assets/.Checkpoint question: "Before we plan yours, anything fuzzy about how a skill works under the hood?"
If they're MCP-focused, briefly mention the kitchen analogy from references/fundamentals.md (MCP = professional kitchen, Skills = recipes), then continue.
Read references/planning-and-design.md. Then do not lecture. Instead, help the user write a use case definition for their skill, in this exact shape:
Use Case: <name>
Trigger: <what the user would say>
Steps:
1. ...
2. ...
Result: <what the user gets at the end>Use AskUserQuestion to prompt them through each field, one at a time. If they get stuck, offer 2-3 plausible guesses based on context.
When you have one solid use case written down, ask if they want to define a second (the guide recommends 2-3). It's fine to ship with one strong use case if they prefer.
Also surface the three common categories so they know where their skill fits:
Ask which category theirs falls into. Use that to pick the right pattern in Stage 6.
Read the "Define success criteria" section of references/planning-and-design.md. Don't recite the metrics. Instead, ask the user one question:
"Imagine you've shipped this skill and it's working great. How would you actually know? Pick one signal you'd track first."
Offer four options via AskUserQuestion:
Capture their answer - you'll come back to it during Stage 7 (testing).
Now you make the file. Read references/technical-requirements.md.
Walk through the rules out loud as you do it - this is where the user sees the why behind the constraints:
SKILL.md must be exactly that casing.README.md inside the skill folder. (Repo-level README for humans is fine and recommended.)< or > anywhere in the frontmatter (security: it goes into Claude's system prompt).claude or anthropic in the skill name.Then draft the frontmatter together. Use AskUserQuestion for each field:
[What it does] + [When to use it, with literal trigger phrases users would say] + [Key capabilities or file types]Show the user a "good vs bad" pair (pull from references/writing-instructions.md). Then propose a draft for their skill and ask them to edit it.
license, metadata.author, metadata.version, metadata.mcp-server. Default: skip them unless the user has a reason.Create the actual file: <skill-name>/SKILL.md with the frontmatter and a title heading. Confirm the path with the user before writing.
Read references/writing-instructions.md. Show the recommended template (Instructions → Steps → Examples → Troubleshooting), then fill it in collaboratively for the user's skill.
Two rules to enforce as you write:
python scripts/validate.py --input {filename}) and the exact error cases.references/ file that Claude loads only when it needs it?" If yes, create that file and link to it from SKILL.md.Optional substages (only if relevant):
references/scripts.md and offer to add a scripts/ folder. Co-write one script if it's the right call.references/assets.md and offer to add an assets/ folder with at least one template file.Use the decision rule from references/scripts.md: instructions for judgment, scripts for determinism, assets for templates. If the user is unsure, ask one clarifying question rather than defaulting to "add all three".
Read references/patterns.md. Pick the pattern that fits the user's category from Stage 2:
Show them only the one pattern that fits, with its example structure. Ask if it matches their mental model; if not, offer one alternative.
Read references/testing-and-iteration.md. Don't try to set up a full eval harness. Instead, walk through the three lightweight tests every skill should pass:
Tie back to the success signal they chose in Stage 3.
#### Stage 7b: Build a tiny eval set (optional but recommended)
If the user cares about quality at scale - they're shipping to a team, or they want regression protection as they iterate - read references/evals.md and offer to build a 5-prompt eval set with them, right now, before they ship.
This is short: 3 should-trigger, 2 should-not-trigger prompts paired with expected outputs/behavior. Save it as evals/eval-set.md inside the skill folder. The whole thing should take less than 5 minutes. Skip this for one-off personal skills.
Read references/distribution.md. Only the parts relevant to the user. Ask:
"Who's going to use this skill?"
Options:
~/.claude/skills/ or upload to Claude.ai)Show them only the steps that apply to their answer.
Read references/checklist.md. Go through each item with the user. For each one, either confirm "yes, we did this" or fix the gap right now. Do not skim - this is the moment to catch the silly mistakes (wrong casing, missing --- delimiters, etc.).
Once the checklist passes, produce something the user can install immediately. Don't just point at a folder.
Run these two things from the directory that contains the skill folder (not from inside it):
1. Build a zip for Claude.ai upload.
# From the parent directory of the skill folder
zip -r <skill-name>.zip <skill-name>/ -x "*.DS_Store" "*/.git/*" "*/__pycache__/*"Verify the zip is well-formed before declaring success:
unzip -l <skill-name>.zip | headThe listing should show <skill-name>/SKILL.md at the top level inside the zip - not nested in an extra folder.
2. Give the user both install paths, ready to paste.
For Claude.ai:
1. Open Claude.ai → Settings → Capabilities → Skills
2. Click "Upload skill"
3. Select <absolute-path-to>/<skill-name>.zip
4. Toggle the skill on
For Claude Code:
cp -r <absolute-path-to>/<skill-name> ~/.claude/skills/Use the absolute path from pwd so the user can paste without thinking. Confirm the path exists before handing it over.
3. Wrap up. Summarize in 3-5 lines:
<skill-name>).references/ / scripts/ / assets/ / evals/).<concrete prompt> and watch whether Claude triggers it without you mentioning the skill name.").If the user gets stuck or something doesn't work mid-tutorial, consult references/troubleshooting.md for the relevant symptom (won't upload, doesn't trigger, triggers too often, instructions not followed, MCP issues, context too large).
references/resources.md.claude or anthropic in the skill name. It's reserved.< or > in any frontmatter field.README.md inside the skill folder. A repo-level README is fine.| When to read | File |
|---|---|
| Stage 1 (Fundamentals) | references/fundamentals.md |
| Stages 2-3 (Planning, success) | references/planning-and-design.md |
| Stage 4 (Tech requirements, frontmatter) | references/technical-requirements.md |
| Stage 5 (Body, instructions) | references/writing-instructions.md |
| Stage 5 (Scripts substage) | references/scripts.md |
| Stage 5 (Assets substage) | references/assets.md |
| Stage 6 (Patterns) | references/patterns.md |
| Stage 7 (Testing) | references/testing-and-iteration.md |
| Stage 7b (Building an eval set) | references/evals.md |
| Stage 8 (Distribution) | references/distribution.md |
| Stage 9 (Checklist) | references/checklist.md |
| Anytime stuck | references/troubleshooting.md |
| Links and further reading | references/resources.md |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.