Creating and publishing a skill
How to write your own SKILL.md, add resources and variables, and publish the skill to the marketplace.
Write your own skill when you have a recurring procedure you want to lock into an agent: a report format, an analysis order, the specifics of working with your data source.
Skill structure
The minimal skill is a single SKILL.md file:
---
name: weekly-report
description: Builds a weekly report to a fixed structure
---
# Weekly report
1. Ask the user for the week's metrics.
2. Group by area: sales, product, team.
3. Call out 3 top wins and 1 risk.
4. Return the report in Markdown with level-2 headings.Good practices
- Step-by-step — describe actions in order, like onboarding a new hire.
- Output format — state the result structure explicitly (table, list, sections).
- Anti-patterns — list what not to do.
- Brevity — one skill, one task.
Resources
If a skill needs a reference, add a resource file next to SKILL.md. For example, the
cooking skill uses products.md — a product database with macros. Resources are pulled
into the agent's context alongside the instructions.
Environment variables
Declare variables when publishing: name, description, whether required, whether secret, and a default value. The user installing the skill fills in the values — e.g. an external service's API key.
Publishing to the marketplace
- Create the skill and test it on your agent.
- Publish — set a category, a description (with a Russian translation), and a version.
- Manage visibility: draft, unlisted, published.
A published skill has ratings and comments, like agents. Good descriptions and stable versions help a skill earn installs.
Link to the agent
A skill added to an agent lands in its bundle under skills/<name>/SKILL.md. More on bundles in
Agents: how they work.