Metadata
Discovery- When loaded
- Always loaded into context, for every available skill in the workspace
- Token cost
- ~100 tokens per skill
- Content
name+descriptionfrom frontmatter- You author
- The frontmatter
Use the same email your instructor expects in Canvas. Your badge progress will be saved for that address.
This page saves progress for this email and marks completion when the Skill Author I badge is earned.
By the end, you'll be able to:
Read this once, then build. A skill is just a reusable playbook for work you keep explaining to an agent.
Use it for repeats
If you paste the same steps, rubric, template, or checklist more than once, it is skill-shaped.
Name one job
A good skill does one recognizable task and produces one clear kind of output.
Description triggers
The agent sees the name and description first, so the description must say what it does and when to use it.
Files stay separate
Keep the main instructions short. Put long examples, templates, assets, or deterministic code in supporting files.
Start with Step 01. Steps 02 and 03 unlock after you choose the skill name, what it produces, and when the agent should use it.
Pick a workflow from your job, something you currently re-explain to the agent every time you ask. We'll suggest a real starter for a skill in your role.
For each, pick the option you think will activate reliably. The wrong options are common authoring mistakes; the feedback explains why each one breaks so you'll recognize the pattern in your own work.
Which is the right way to name your skill?
Which description gives the agent something specific to match real user requests against?
Which WHEN clause activates the skill on the language real users actually use?
Next, use your authoring environment to draft the instructions. Steps 02 and 03 below are now unlocked.
SKILL.md@skill-creator, $skill-creator, skill editor, or project folderIf your environment has a built-in skill creator, start there: use @skill-creator in ChatGPT Work or $skill-creator in Codex. Otherwise, use a skill editor or create a folder with a required SKILL.md file.
The prompt below turns your Step 01 decisions into the required frontmatter, the workflow body, and any supporting files the skill should bundle.
Your platform may ask follow-up questions, generate draft files, or leave you to create files manually. Before saving or installing, check that the description names both what the skill does and when the agent should use it.
Open the skill you just created in your platform's skill editor, project workspace, or local folder. Then run it in the agent environment. Test a small prompt set: one direct request, one indirect request, one messy real-user phrasing, and one nearby but out-of-scope request that should not activate the skill.
Use whatever test surface your platform provides: a side-by-side skill editor, a preview chat, a command-line run, or a staging agent.
Watch what happens. Each test prompt produces one of four signals; click each to see what it means and what to fix.
Edit on the left, save, re-run the failing prompts on the right. Make one round of edits. A skill tightened around real failures generalizes better than one that grew to handle every imagined edge case.
references/, cited from the body.scripts/, called from the body.assets/.Click each one to tick it off against the skill you just built. Any miss is a real edit, not a checkbox to argue with.
SKILL.md can look like? Open the MCQ Quality Coach example skill on GitHub. It shows how a final SKILL.md can name a skill, describe when to use it, and give the agent reusable instructions.You built a skill in the lab. Now look at the package shape most agent systems use: metadata that helps the runtime decide when to use the skill, an instruction body that tells the agent how to do the work, and optional resources such as templates, examples, scripts, or assets. In this lesson, a SKILL.md-style file is the concrete example; in other environments, the same roles may live in YAML, JSON, a settings panel, or a project folder.
SKILL.md as one implementation of a broader skill-package pattern. The same design decisions transfer across platforms: concise metadata for discovery, focused instructions for activation, and separate resource files for long or reusable material.Click the part of this example SKILL.md that holds the name.
You've seen the rules: metadata always loaded into context, body loaded on activation, resources loaded only when the body cites them. The decision you'll face in your own skills is which level each new piece of content belongs in. Get this wrong and your skill bloats or fails to activate.
Drag a card to a zone, or tap a card then a zone. Wrong placements bounce back with a hint.
You've designed your skill in the lab and placed each part of SKILL.md in the right slot. Next: see what the agent actually does at the moment a skill is supposed to activate, what loads, what doesn't, and why that matters for cost and latency.
You've built a working skill. Now zoom out: here's why it works that way, and why a package of instructions and resources is more scalable than a saved prompt.
Saved prompts and custom assistants solve part of the problem of repeatable work, but each one shifts what you do each time:
Saved prompt
Each time, you:
Find it, copy, paste, edit.
Lives in a doc or notes app. You manage finding and updating it.
What enters contextNothing automatic. Whatever you paste in is what the agent sees, every time.
Custom assistant
Each time, you:
Switch to that assistant, then ask.
One assistant usually covers one broad task or persona. Scaling to many team workflows gets hard to manage.
What enters contextThe assistant instructions are active whenever you use that assistant, plus any retrieved knowledge the platform chooses to include.
Skill
Each time, you:
Just ask in normal language.
The agent picks the right skill on its own and runs the procedure.
What enters contextJust the name and description up front. The body loads only when the skill matches; resources load only when the body cites them. Progressive disclosure.
Skills change what the agent does, not just what you do. Fifty skills installed add only modest discovery overhead compared to five, because the heavy lifting (the body) only loads for whichever skill the user's request actually matches.
The skill you just built has a specific shape. The folder you installed or drafted is the basic anatomy of every skill: a required SKILL.md file and optional bundled resources.
my-skill/
a folder on disk
SKILL.md
Required
Two parts: frontmatter (name + description) and body (the instructions for the agent).
references/
Optional
Long examples, format specs, reference tables.
scripts/
Optional
Executable code (Python, shell, and so on).
assets/
Optional
Templates, fixtures, and other static files.
Two things make this work as an architecture: which parts the agent knows about, and which parts it actually loads. Here's that split.
Skills load in three gated stages, a pattern called progressive disclosure. A workspace can hold dozens of skills cheaply because most stay cold until needed.
A note on tokens: tokens are roughly the units of text the model processes; ~100 tokens is about a sentence, 5,000 tokens is about 8 pages. Smaller numbers mean faster, cheaper responses.
name + description from frontmatterSKILL.md body: the procedurescripts/, references/, assets/references/ and scripts/, to figure out which skill is most relevant.references/ and scripts/ only enter context during execution, after a skill activates and its body cites them. Discovery happens entirely on metadata; resources are downstream.The three layers you just placed, description, body, resources, are also the three places a skill can fail. The symptom tells you which one. You'll diagnose someone else's skill here, then carry the same pattern back to your own when it misbehaves. Three colleagues tried Sam's weekly-update-drafter skill (a communications skill that turns rough bullet points into the team's standard weekly update). For each result, decide which layer Sam needs to edit, the same call you'll make next time your own skill produces something wrong.
Four questions. Take your time, this isn't graded.
meeting-notes-summarizer skill for a user's request. Before that decision is made, which content from your skill is loaded into context?SKILL.md, including frontmatter and body, but not any files in references/."skill for converting CSV data into clean, formatted reports." They've shipped it but it's almost never activating. Which rewrite gives the biggest gain?SKILL.md body, with prose steps the model repeats each time.scripts/, with SKILL.md telling the agent when to run it.scripts/. The body should call the script at the right moment and interpret the output.SKILL.md.SKILL.md should not carry secrets or pretend to authorize external actions. The skill can describe the workflow, but the connected tool handles controlled access.