Define the outcome
Write what the user should have at the end of a successful run.
A good skill turns a repeatable task into instructions an agent can follow and a human can review. Start small, make the trigger clear, and show what success looks like.
Good skills solve a specific, repeatable problem: review a pull request, prepare a release, turn notes into a brief, or check a page for accessibility. Avoid starting with “make the agent better.” Name the input, the work, and the expected output.
Write what the user should have at the end of a successful run.
Describe the request or project condition that should make an agent use the skill.
Call out assumptions, tools, permissions, destructive actions, and when to ask first.
Choose a representative task you can use to test the instructions before publishing.
Put the canonical instructions in a directory named after the skill. Only add supporting files when they make the workflow more reliable or easier to repeat.
my-skill/
├── SKILL.md
└── README.mdUse YAML frontmatter at the top, then organize the instructions around decisions and actions. Prefer concrete steps, examples, and expected outputs over general advice.
---
name: accessibility-review
description: Review a web interface for keyboard access, semantics, focus states, and readable contrast.
---
# Accessibility review
## Use this skill when
The user asks for an accessibility review of a web page or component.
## Workflow
1. Inspect the relevant files and identify the page boundaries.
2. Check semantics, keyboard access, focus states, and contrast.
3. Report findings with a concrete fix and a way to verify it.
## Output
Return findings grouped by severity, followed by verification steps.Give the agent enough context to make a scoped, reviewable change. This prompt asks it to clarify the job, create the files, test the result, and explain its decisions.
Create a skill named [skill-name] for [agent harness].
The skill should help an agent [specific outcome]. Use it when [trigger or request].
Before writing files:
1. Ask any questions needed to define the scope.
2. Propose the folder structure and explain the tools or permissions required.
3. Keep the skill focused on one repeatable job.
Then create the files in [target directory]. Write SKILL.md with valid YAML frontmatter,
clear step-by-step instructions, examples, expected output, and explicit safety boundaries.
Add a README with install and usage notes. Test the skill against [sample task], show the
result, and list anything that should be reviewed before publishing.Run the skill against a real but bounded task. Check the agent’s work, revise ambiguous instructions, and only then share the repository or publish it for discovery.