skill-creation
Skill0 starsChanged 3 months agoMITView on GitHub
Writes, reviews and installs Agent Skills — the portable SKILL.md format that Claude Code, Codex, Cursor, OpenCode and other agents read. Use this skill when the user asks to create a skill, to write a SKILL.md, to fix a skill that does not trigger, to turn a repeated prompt or a CLAUDE.md section into a skill, or to install a skill for a given agent.
14 other projects use a version of this.
Adopted by
Most recently taken up by
- thensls/nsls-builder-toolkittheir own version, first seen Nov 8, 2026
- DaraBoth/skilljmskilltheir own version, first seen Nov 8, 2026
- OpenxIntelligence/Coding-Agent-Skillstheir own version, first seen Nov 1, 2026
- I-Onlabs/claude-code-skillstheir own version, first seen Oct 25, 2026
- AN0099/toothpaste-kittheir own version, first seen Oct 24, 2026
- ccgargantua/gars-claude-skillstheir own version, first seen Sep 16, 2026
Other versions14 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 14
- emanueleielo/ciana-parrot★ 77same name
- KemingHe/common-devx★ 10same name
- I-Onlabs/claude-code-skills★ 4same name
- metraton/gaia★ 4same name
- OpenxIntelligence/Coding-Agent-Skills★ 4same name
- thejordanleopold/claude-code-skills-distilled★ 4same name
- DaraBoth/skilljmskill★ 2same name
- AN0099/toothpaste-kit★ 1same name
- ccgargantua/gars-claude-skills★ 1same name
- yourkenike/ciana-parrot★ 1same name
4 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.
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 3 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 12 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 39
1 — Find the gap: Do the task once with no skill.
- Very specific: line 43
2 — Name it: Use lowercase letters, digits and single hyphens.
- Very specific: line 44
Prefer a gerund (processing-pdfs) or a noun phrase (pdf-processing).
- Distinctive: line 62
4 — Draft the body: Write only what the agent does not already know.
- Very specific: line 76
5 — Split, if the body is long: Keep SKILL.md under 500 lines.
- Very specific: line 116
Start with SKILL.md alone.
- Very specific: line 121
Put the folder in .agents/skills/<name>/.
- Distinctive: line 136
Commit project skills. The agent then gets the same procedure as the team.
“Common” is measured: kept by at least 6 in 10 of the 12 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
Skill creation
A skill is a folder that holds a SKILL.md file. The agent loads the name and the description
of every skill at startup. It loads the body only when a task matches the description. Write for
that order: the description wins the trigger, and the body does the work.
Write a skill only when it pays
| Signal | Write a skill |
| You paste the same procedure again and again | yes |
| The task has steps, an order, and a way to fail | yes |
A tool needs house rules that its --help does not give | yes |
| It is one fact, or one setting | no — put it in AGENTS.md or CLAUDE.md |
| It applies to one task, once | no — say it in the prompt |
A skill costs context only when it triggers. A rule in AGENTS.md costs context in every session.
Workflow
Copy this checklist, and mark each step:
- [ ] 1 Find the gap
- [ ] 2 Name it
- [ ] 3 Write the description
- [ ] 4 Draft the body
- [ ] 5 Split, if the body is long
- [ ] 6 Test in a new session
- [ ] 7 Install it1 — Find the gap. Do the task once with no skill. Write down what you had to supply: the commands, the flags, the order, the traps. That list is the skill. Do not write a skill for a problem you have not hit.
2 — Name it. Use lowercase letters, digits and single hyphens. Match the folder name exactly.
Prefer a gerund (processing-pdfs) or a noun phrase (pdf-processing). Reject helper, utils
and tools, because they say nothing. The words anthropic and claude are reserved.
3 — Write the description. This one line decides whether the skill ever runs. Give both parts: what the skill does, and when to use it. Write in the third person. Name the words the user will type, and the file types and commands they will touch. Add a negative clause when a neighbouring tool can steal the trigger.
# good
description: Extracts text and tables from PDF files, fills forms, and merges documents. Use when
the task mentions PDFs, forms, or document extraction.
# poor — no trigger, wrong person
description: I can help you with documents.Agents under-trigger, so make the description direct.
4 — Draft the body. Write only what the agent does not already know. Cut every sentence that explains a well-known format, library or concept. Keep the house rules, the exact commands, the output shapes, and the failure modes.
Set the freedom to match the risk:
| Risk | Style | Example |
| Many valid routes | prose steps | "Review structure, then check edge cases." |
| One preferred pattern | template with parameters | a function signature to adapt |
| One safe route | the exact command | python scripts/migrate.py --verify --backup |
Give one default, and one escape hatch. Do not list five libraries that all work.
5 — Split, if the body is long. Keep SKILL.md under 500 lines. Move detail into
references/<topic>.md, and link it from SKILL.md with a relative path. Keep every reference one
level deep, because an agent reads a chain of links only in part. Add a contents list to a
reference file longer than 100 lines. Put runnable code in scripts/, and templates in assets/.
Say which you want: run scripts/check.py, or read references/api.md.
6 — Test in a new session. The description is a hypothesis. Test it:
- three real requests that must trigger the skill, in the words a user would use;
- one nearby request that must not trigger it;
- the whole procedure, done by an agent that has only the skill.
Watch where the agent stops, guesses, or reads the wrong file. Fix the skill, not the prompt.
7 — Install it. See the table below.
Frontmatter
---
name: my-skill # required, matches the folder, max 64 characters
description: What it does, and when to use it. # required, max 1024 characters
license: MIT # optional
---These six fields travel everywhere: name, description, license, compatibility, metadata,
allowed-tools. Every other field is host-specific, and it can make packaging or upload fail. Use
references/frontmatter.md for the full table and the host-specific fields.
Layout
my-skill/
├── SKILL.md # required: the trigger and the procedure
├── references/ # optional: detail, read on demand
├── scripts/ # optional: code, run and not read
└── assets/ # optional: templates and dataStart with SKILL.md alone. Add a folder when the body gets too long, and not before.
assets/SKILL.template.md in this skill holds a skeleton to copy.
Install
Put the folder in .agents/skills/<name>/. Codex, Cursor and OpenCode read that path. Claude Code
reads .claude/skills/, so link it:
mkdir -p .claude/skills
ln -s ../../.agents/skills/my-skill .claude/skills/my-skill| Agent | Project path | Personal path |
| Codex | .agents/skills/ | ~/.agents/skills/ |
| Cursor | .agents/skills/, .cursor/skills/ | ~/.agents/skills/, ~/.cursor/skills/ |
| OpenCode | .opencode/skills/, .agents/skills/, .claude/skills/ | ~/.config/opencode/skills/, ~/.agents/skills/ |
| Claude Code | .claude/skills/ | ~/.claude/skills/ |
Commit project skills. The agent then gets the same procedure as the team.
Review before you share
- The description gives what and when, in the third person.
- The
namematches the folder, and holds no reserved word. - The body is under 500 lines, and every reference is one level deep.
- Nothing in the body is common knowledge.
- One term per idea, used the same way throughout.
- No date-bound advice. Old behaviour goes in an "old patterns" section.
- All paths use forward slashes.
- Steps that can fail carry a check, and a way back.
- Three trigger tests pass, and one near-miss stays quiet.
Common faults
| Symptom | Cause | Fix |
| The skill never triggers | the description names no trigger word | add the user's words and the file types |
| The wrong skill triggers | two descriptions overlap | add a negative clause to both |
| The agent skips a step | the step reads as advice | give a command, and a check after it |
| The agent reads the wrong file | the links are nested | link every file from SKILL.md |
| The body is ignored | the body is long and general | cut what the agent knows already |
More
references/frontmatter.md— every frontmatter field, and where each one is valid.assets/SKILL.template.md— the skeleton to copy for a new skill.
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.

