create-skill
Skill0 starsChanged 3 months agoMITView on GitHub
Guide the user through creating a well-structured agent skill, from directory setup and frontmatter to instruction writing, bundled resources, and validation. Use when asked to create a new skill, build a reusable agent behavior, or scaffold a SKILL.md from scratch.
142 other projects use a version of this.
Adopted by
Most recently taken up by
- lancy69/skillstheir own version, first seen Nov 8, 2026
- CherryHQ/cherry-studiotheir own version, first seen Nov 8, 2026
- niilohlin/skillstheir own version, first seen Nov 8, 2026
- sankalpaacharya/skillstheir own version, first seen Nov 8, 2026
- zalogarcia/zalo-claude-code-setuptheir own version, first seen Nov 8, 2026
- serbyte-development/shellby-mcptheir own version, first seen Nov 8, 2026
Used with
Projects with it also use review-bugbot, migrate-to-skills and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
0mlkrizzz655335vSkillreview-bugbot
缺陷导向代码审查。用 Bugbot 子代理找 bug。
Also in 5 projects that use this
32103210Skillmigrate-to-skills
Convert 'Applied intelligently' Cursor rules (.cursor/rules/*.mdc) and slash commands (.cursor/commands/*.md) to Agent Skills format (.cursor/skills/). Use when you want to migrate rules or commands to skills, convert .mdc rules to SKILL.md format, or consolidate commands into the skills directory.
Also in 8 projects that use this
32103210Skillupdate-cursor-settings
Modify Cursor/VSCode user settings in settings.json. Use when you want to change editor settings, preferences, configuration, themes, font size, tab size, format on save, auto save, keybindings, or any settings.json values.
Also in 8 projects that use this
PandelisZSkillupdate-cli-config
View and modify Cursor CLI configuration settings in ~/.cursor/cli-config.json. Use when the user wants to change CLI settings, configure permissions, switch approval mode, enable vim mode, toggle display options, configure sandbox, or manage any CLI preferences.
Also in 7 projects that use this
yawningwhaleAISkillbuild-premium-website
Build a premium, animated marketing website (React + Vite + Tailwind + GSAP) for any industry. Use when the user asks to "build a website", "make a landing page for [business]", "build a marketing site", or wants a high-end animated company website. Adapts color, copy, services, and signature animation to the industry.
Also in 6 projects that use this
yawningwhaleAISkillinstantly-campaign
Create a new Instantly cold-email campaign in the proven 5-email structure of the user's top-performing campaign (~16% reply rate). Use when the user wants to launch a new outbound campaign, write a cold email sequence, create an Instantly campaign, draft outreach for a new service or niche, or set up a sales sequence.
Also in 5 projects that use this
- +1 more from 32103210
Other versions142 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 142
- microsoft/vscode★ 195ksame name
- CherryHQ/cherry-studio★ 53ksame name
- videojs/video.js★ 40ksame name
- BuilderIO/agent-native★ 7.6ksame name
- stagewise-io/stagewise★ 6.8ksame name
- dotnet/skills★ 5.9ksame name
- xstongxue/best-skills★ 2.9ksame name
- Lilac-Labs/gini-agent★ 1.9ksame name
- Open-Curiosity/gini-agent★ 1.9ksame name
- mattmireles/gemma-tuner-multimodal★ 1.5ksame name
132 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository6 other files it gives its agents.
- architecture-docSkill
- architecture-driven-codingSkill
- code-reviewerSkill
- grillingSkill
- product-builderSkill
- test-case-writerSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
19 rules. 0 are common, 16 are distinctive, and 3 are very specific to this project.
0
Common
Most of the 132 edited versions we read keep these.
16
Distinctive
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
Every token in the body competes with conversation history and other context.
- Distinctive: line 35
Write for the agent, not for humans
- Very specific: line 74
Keep SKILL.md under 500 lines.
- Distinctive: line 93
Must match the directory name exactly
- Very specific: line 110
Write SKILL.md starting with YAML frontmatter:
- Distinctive: line 119
Only these frontmatter fields are recognized:
- Distinctive: line 130
Use imperative voice — "Create a release", not "You should create a release"
- Distinctive: line 151
If the skill has domain variants, organize references by domain and tell the agent when to read each one.
- Distinctive: line 153
If the skill needs deterministic operations (parsing, validation, generation), write scripts rather than asking the agent to reinvent the …
- Distinctive: line 155
If the skill produces predictable outputs, include templates the agent can fill in.
- Distinctive: line 159
Run through the checklist below before declaring the skill ready.
- Very specific: line 165
If the description uses "or" between distinct actions, it should be multiple skills
- Distinctive: line 167
If you cannot describe what the skill does in a single sentence, it is too broad
- Distinctive: line 177
Before shipping a skill, verify:
- Distinctive: line 209
Run each prompt and observe whether the skill activates
- Distinctive: line 210
If a should-trigger prompt fails — broaden the description trigger phrases
- Distinctive: line 211
If a should-not-trigger prompt fires — add tighter anti-triggers
- Distinctive: line 240
No bundled resources needed — the skill is self-contained
- Distinctive: line 242
Test with prompts: "write a changelog for the last 10 commits" (should trigger), "explain what this commit does" (should not trigger)
“Common” is measured: kept by at least 6 in 10 of the 132 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Create Skill
Guide the user through the full lifecycle of building a well-structured agent skill.
How Skills Work
Understanding how skills are loaded helps inform good design. There are three levels:
- Metadata (
name+description) — Always loaded at session startup. The agent uses this to decide whether to load the full skill. This is why thedescriptionfield is the single most critical part of any skill. - Body (the markdown content after frontmatter) — Loaded into context only when the skill is activated. Keep this focused and concise.
- Resources (
references/,scripts/,assets/) — Loaded on-demand only when explicitly referenced in the body. Files here add zero context cost until the agent reads or executes them.
Every token in the body competes with conversation history and other context. Be concise.
Description Guidelines
The description is the primary triggering mechanism. The agent matches it against the user's request to decide whether to activate the skill.
Format
When [trigger phrases], [action verb] [scope]. Skip if [negative condition].Rules
- Aim for 200–500 characters (max 1024)
- Include concrete trigger phrases — file types, action verbs, domain keywords, contexts
- Embed anti-triggers directly in the description to prevent false activation
- Write for the agent, not for humans
Examples
Good:
Use when asked to extract, merge, or annotate PDF files — opening, reading, splitting, rotating, or filling forms. Do NOT trigger for image conversion, document creation from scratch, or OCR tasks.
Bad:
Helps with PDFs
Good:
Review code changes for correctness, security, and maintainability. Use when asked to review a PR, audit a diff, or check for bugs before merging. Skip for style-only feedback or documentation linting.
Bad:
Code review
Anatomy of a Skill
my-skill/
├── SKILL.md # Core instructions (required, < 500 lines)
├── references/ # Detailed docs loaded on-demand by the agent
│ └── api-guide.md
├── scripts/ # Executable code — run, not loaded into context
│ └── helper.py
└── assets/ # Templates, schemas, output boilerplate
└── template.jsonWhen to use each resource type
| Type | When to use | Token cost |
references/ | API docs, schemas, long guides, edge case catalogs | Zero until the agent reads them |
scripts/ | Deterministic operations — parsing, validation, formatting | Zero — code never enters context, only output |
assets/ | Output templates, starter files, configuration stubs | Zero until the agent reads them |
Progressive disclosure pattern
Keep SKILL.md under 500 lines. If you approach this limit, branch detail into companion files and give clear pointers on when to read each one.
my-analytics-skill/
├── SKILL.md
└── references/
├── finance.md # "Read this when the user mentions revenue data"
├── marketing.md # "Read this when handling campaign metrics"
└── product.md # "Read this for feature usage analysis"The agent reads only the relevant reference, not all of them.
Step-by-Step Instructions
1. Choose a name
- Lowercase kebab-case only —
^[a-z0-9]+(-[a-z0-9]+)*$ - 1–64 characters
- Must match the directory name exactly
- Cannot contain reserved words (check platform docs for your target agent)
- Convention: one clear noun or verb-noun pair —
pdf-processor,commit-writer,deploy-check
2. Pick a location
| Location | Scope | Use when |
Project dir (.agent/skills/<name>/ or .opencode/skills/<name>/) | Single repo | The skill is specific to this project's conventions |
Global dir (~/.config/opencode/skills/<name>/ or ~/.claude/skills/<name>/) | All sessions | The skill is useful across all your work |
3. Create the directory and SKILL.md
mkdir -p <location>/<skill-name>Write SKILL.md starting with YAML frontmatter:
---
name: my-skill
description: What this skill does and when to use it.
---Only these frontmatter fields are recognized:
name(required)description(required)license(optional)compatibility(optional)metadata(optional, string-to-string map)
Unknown fields are ignored by the agent, so don't rely on them.
4. Write the body
- Use imperative voice — "Create a release", not "You should create a release"
- Number ordered steps when sequence matters
- Include concrete examples — they carry more weight than abstract rules
- Define output format explicitly for predictable results
- Explain why something matters rather than relying on heavy-handed MUSTs
## Instructions
1. First action to take
2. If [condition], do X; otherwise do Y
3. Final output format
## Examples
Input: "some user request"
Output: expected result5. Add optional resources
If the skill has domain variants, organize references by domain and tell the agent when to read each one.
If the skill needs deterministic operations (parsing, validation, generation), write scripts rather than asking the agent to reinvent the logic each time.
If the skill produces predictable outputs, include templates the agent can fill in.
6. Validate
Run through the checklist below before declaring the skill ready.
Scope Discipline
One skill, one verb, one scope.
- If the description uses "or" between distinct actions, it should be multiple skills
- Narrow skills trigger more reliably than broad ones
- If you cannot describe what the skill does in a single sentence, it is too broad
Signs you need to split
- "Use when the user wants to create a chart OR export data OR generate a report"
- The body has separate instruction sections for unrelated workflows
- Testing shows the skill fires on false positives because the description has to cover too many cases
Validation Checklist
Before shipping a skill, verify:
Core quality
- Name matches the directory name exactly
- Name is lowercase kebab-case, no underscores or spaces
- Description includes what the skill does AND when to use it
- Description includes concrete trigger phrases
- Anti-triggers included for near-neighbor confusion
- Description is 200–500 characters (max 1024)
- SKILL.md body is under 500 lines
- All file references use forward slashes, relative paths
- No time-sensitive information (dates, version pins, API specifics)
- Consistent terminology throughout
- Concrete examples included, not abstract descriptions
- Reference files are one level deep from SKILL.md (no nested chains)
If scripts are included
- Scripts solve a deterministic problem rather than asking the agent to guess
- Dependencies are declared in the instructions
- Error handling is explicit
- Forward slashes only (no Windows-style paths)
Testing Guidance
The agent caches the skill index at session start. Edits to SKILL.md take effect only after restarting the session.
Test procedure
- Restart the agent session
- Prepare 3 prompts that should trigger the skill and 3 that should not (near-misses are most valuable)
- Run each prompt and observe whether the skill activates
- If a should-trigger prompt fails — broaden the description trigger phrases
- If a should-not-trigger prompt fires — add tighter anti-triggers
- Repeat until both categories are clean
What to check
- Does the skill activate when the user uses synonyms or paraphrases?
- Does the skill stay silent for adjacent but unrelated tasks?
- Does the description work for casual phrasing with typos?
When NOT to Use This Skill
- The user wants to edit an existing skill — use the target skill directly
- The user is configuring the agent itself (permissions, tools, MCP) — use the platform's own config guidance
- The user needs a one-off answer, not a repeatable behavior package
Example
Walk through creating a changelog-generator skill:
- Confirm name:
changelog-generator— kebab-case, matches directory name - Location: global — useful across projects
- Frontmatter:
--- name: changelog-generator description: Generate changelogs from conventional commit history. Use when asked to draft release notes, summarize git log, or create a changelog from recent commits. Skip for one-off commit message generation. --- - Body: steps for parsing commits, grouping by type, formatting output, example input/output
- No bundled resources needed — the skill is self-contained
- Validate against the checklist above
- Test with prompts: "write a changelog for the last 10 commits" (should trigger), "explain what this commit does" (should not trigger)
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

