create-skill
Skill0 starsChanged 18 days agoMITView on GitHub
Create, audit or improve agent skills (a folder with SKILL.md) for Claude Code, Cursor, Codex and the skills CLI. Use when asked to write or add a skill, fix a skill that never triggers, split an oversized SKILL.md, or review skill quality.
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 repository57 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/comments.mdcCursor rule
- .cursor/rules/commit-messages.mdcCursor rule
- .cursor/rules/git-workflow.mdcCursor rule
- .cursor/rules/manage-stack.mdcCursor rule
- .cursor/rules/no-worktrees.mdcCursor rule
- manage-stackSkill
- convert-as-skillSkill
- create-agentSkill
- create-agents-mdSkill
- create-commandSkill
- create-hookSkill
- create-ruleSkill
- retrospectiveSkill
- super-architectureSkill
- super-cachingSkill
- super-elixirSkill
- super-nodejsSkill
- super-protobufSkill
- super-tech-blueprintSkill
- atomic-semantic-commitSkill
- code-reviewSkill
- create-bruno-collectionSkill
- create-documentationSkill
- create-ticketsSkill
- ready-specSkill
- write-adrSkill
- write-changelogSkill
- write-mr-descriptionSkill
- write-planSkill
- write-postmortemSkill
- write-runbookSkill
- noslopSkill
- output-saversSkill
- safe-refactorSkill
- tddSkill
- verifySkill
- get-movingSkill
- later-listSkill
- standupSkill
- challenge-meSkill
- codebase-learnerSkill
- researchSkill
- second-opinionSkill
- traceSkill
- color-kitSkill
- design-system-kitSkill
- diagramSkill
- infographicSkill
- product-polish-workflowSkill
- prototype-wireframeSkill
- ui-ux-kitSkill
- evidenceSkill
- find-skillsSkill
- handoffSkill
- rumblingSkill
- use-levistackSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
16 rules. 0 are common, 9 are distinctive, and 7 are very specific to this project.
0
Common
Most of the 132 edited versions we read keep these.
9
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 37
Assume the model is smart: Add only what it lacks: your conventions, your commands, the traps.
- Very specific: line 38
One job per skill: If the name needs "and", split it.
- Distinctive: line 69
If the user supplied exact wording for the skill, use it verbatim.
- Distinctive: line 77
Test: Run the real requests from step 1 plus one that should not trigger it.
- Very specific: line 78
Eval fixtures: Add evals/evals.json with skill_name, at least two scenarios (happy path and boundary), and assertions.
- Very specific: line 79
Catalog metadata: Add or update the skill entry in skills/catalog-metadata.json (related_skills, invokes, optional tags and capabilities).
- Very specific: line 96
Keep SKILL.md to the steps that every run needs.
- Very specific: line 97
Keep each fact in one place.
- Distinctive: line 98
Remove a sentence when the model already does it by default.
- Very specific: line 111
Never write into a tool's built-in folder (for example Cursor's skills-cursor).
- Distinctive: line 115
Run the lint step above on the skill folder or the whole tree.
- Distinctive: line 122
Write a first-person description ("I can help you ...") or one with no trigger.
- Distinctive: line 123
Put the core rule only in a reference file the agent may skip.
- Distinctive: line 125
Add time-sensitive facts without a date, or restate what the model already knows.
- Very specific: line 126
Leave dynamic shell injection (a backticked command prefixed with !) in a published skill without guarding it.
- Distinctive: line 142
No overlap with an existing skill, or the overlap was merged.
“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 a skill
A skill is a folder with a SKILL.md. Its name and description are always in context; its body loads when the task matches; references/, scripts/ and templates/ load only when the body points to them.
This skill covers skills only. For subagents use create-agent; for rules, hooks and slash commands use create-rule, create-hook and create-command; to convert a rule, command, agent, conversation, PDF or docs folder, or to merge existing skills, use convert-as-skill.
Principles
- The description is the router. The model loads a skill from its description alone. Say what it does, then
Use when ...with the words a user would say. - Assume the model is smart. Add only what it lacks: your conventions, your commands, the traps. Cut explanations of common knowledge.
- One job per skill. If the name needs "and", split it. If two skills overlap, merge them (
convert-as-skillmerge-skills). - Match freedom to risk. Judgment calls get principles and criteria. Fragile steps (migrations, deploys) get exact commands or a script.
- Progressive disclosure. Aim for
SKILL.mdunder 200 lines, never over 500. Depth goes inreferences/, one level deep. - Test by using it. An untested description is a guess.
Is a skill the right tool?
| Need | Use |
| A procedure or knowledge loaded only when relevant | Skill |
| A fact or constraint true for every task in the repo | Rule or AGENTS.md (create-rule, create-agents-md) |
| Must happen every time, not model-decided | Hook (create-hook) |
| Isolated context, restricted tools, another model | Subagent (create-agent) |
A saved prompt you type as /name | Command, or a skill with disable-model-invocation: true (create-command) |
What do you want to do?
| Request | Go to |
| New skill | New skill |
| Skill exists but never triggers, misfires, or is too big | Audit, then fix by symptom in format.md |
| Review a skill or a folder of skills | Audit |
| Turn a rule, command, agent, conversation, PDF or docs folder into a skill, or merge two skills | convert-as-skill |
New skill
- Gather requirements. Infer from the conversation first; ask only for what is missing:
- the task and 2 or 3 real requests it must handle (these become the trigger words and the first tests);
- where it lives (see Where it goes);
- the knowledge the model would not already have;
- an output format, if quality depends on one. If the user supplied exact wording for the skill, use it verbatim. Do not paraphrase or add headings around it.
- Check for overlap. List the skills in the target tree. Extend or merge before creating.
- Name it. Lowercase letters, digits and single hyphens, at most 64 characters, equal to the folder name. Prefer a verb phrase or a noun that says the job (
review-diff,pdf-processing). Avoidhelper,utils,tools. - Pick the shape. One task under about 150 lines: templates/skill.md. Three or more distinct tasks: the router in templates/skill-router.md, with
SKILL.mdholding principles and routing. - Write the description. Third person, at most 1024 characters, one quoted line. What it does, then
Use when .... Front-load the keywords. Add "Not for ..." when a neighbor could be confused with it. - Write the body in the order the agent acts: imperative steps, each with an observable result; one term per concept; one default approach plus at most one escape hatch; a template or an input/output pair when format matters; a verification step. Patterns are in patterns.md.
- Set invocation.
disable-model-invocation: truefor side effects or anything you only want on/name.user-invocable: false(Claude Code) for background knowledge. Leave the default otherwise. - Lint.
node <create-agent>/scripts/lint.mjs <skill-dir>, where<create-agent>is the siblingcreate-agentskill folder. If it is not installed, walk audit.md by hand. - Test. Run the real requests from step 1 plus one that should not trigger it. Fix by symptom and re-run. See format.md.
- Eval fixtures. Add
evals/evals.jsonwithskill_name, at least two scenarios (happy path and boundary), and assertions. Visual skills may useevals/cases.jsoninstead. Point to them fromSKILL.mdwhen you change behavior.node scripts/bootstrap-skill-evals.mjsseeds missing files. - Catalog metadata. Add or update the skill entry in
skills/catalog-metadata.json(related_skills,invokes, optionaltagsandcapabilities). Runnpm run sync:skill-metadatato merge themetadata:block intoSKILL.mdlikeproduct/infographic.
Pointers and the two loads
Everything you add to a skill spends one of two budgets. Know which one before you add it.
- Context load: text that sits in the agent's window every turn, whether or not it is used. A skill description and a line in
AGENTS.mdare context load. Keep them short. - Reader load: the effort a person spends remembering which documents exist and when to open each. Spend it where human judgment matters. Cut it where it does not.
Also count the text loaded when the agent opens a reference. It is absent from the always-loaded description, but it still costs context on that run. Split references by task so the agent reads only the part it needs.
A pointer is a short line in always-loaded text that names material kept elsewhere and says when to open it. A skill description is a pointer. A good pointer says what the material is, then lists the distinct cases that should trigger it. Put the strongest trigger word first. If two phrases name the same case, keep one.
Material behind a pointer costs only the pointer's line until it is needed. Material with no pointer costs the reader's memory. So:
- Keep
SKILL.mdto the steps that every run needs. Move detail that only some cases need into areferences/file, and point to it from the step that uses it. - Keep each fact in one place. If the environment already holds it (a script in
package.json, a--helptext), point to that instead of copying it. - Remove a sentence when the model already does it by default. It costs load and changes nothing.
- End each step with a clear way to tell it is done. A vague finish ("understood") invites stopping early.
Where it goes
| Target | Path |
| Claude Code, personal | ~/.claude/skills/<name>/SKILL.md |
| Claude Code, project | .claude/skills/<name>/SKILL.md |
| Cursor, project | .cursor/skills/<name>/SKILL.md (also reads .agents/skills/ and .claude/skills/) |
| Any agent | .agents/skills/<name>/ or publish the repo and npx skills add <owner>/<repo> |
| A skill catalog like this one | skills/<group>/<name>/SKILL.md, plus the group's DESCRIPTION.md |
Never write into a tool's built-in folder (for example Cursor's skills-cursor). Check which of the paths above the current project already uses and follow it. In a catalog repo, follow that repo's maintenance instructions (CLAUDE.md or AGENTS.md) for sync and validation.
Audit
- Run the lint step above on the skill folder or the whole tree.
- Walk audit.md for what a linter cannot judge: specific description, principles over platitudes, actionable steps, tested triggers.
- Report a score and findings by priority, each with a concrete fix: Broken (will not load or trigger), Weak (misroutes or wastes context), Polish.
- Apply only the fixes the user asked for. Keep the author's structure and voice.
Do not
- Write a first-person description ("I can help you ...") or one with no trigger.
- Put the core rule only in a reference file the agent may skip.
- Chain references (
SKILL.mdto a file to another file), or use Windows-style paths. - Add time-sensitive facts without a date, or restate what the model already knows.
- Leave dynamic shell injection (a backticked command prefixed with
!) in a published skill without guarding it.
Related skills
create-agent: the job is a delegate with its own context and tools.create-command: the job is a saved prompt you type as /name.create-rule: the guidance must apply on every task.create-hook: the job must run on an event.convert-as-skill: the source material already exists.find-skills: check whether a skill for this already exists before you write one.
Done when
nameequals the folder; the description says what and when; the linter reports no errors.SKILL.mdis under 500 lines (ideally 200) and every linked file exists, one level deep.- It ran on at least one real request and triggered correctly, and did not trigger on the unrelated one.
- No overlap with an existing skill, or the overlap was merged.
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.

