Skills: teaching your tool your way of working
A skill is a folder of instructions your AI tool reads when it is relevant, and ignores when it is not. Not new abilities, which is what an MCP server gives you. New habits. This is the difference, how to install one, and why most people's first skill does nothing.
You have explained the same thing to your AI tool four times this month. How your team writes commit messages. The shape of a component in this codebase. The checklist you go through before a release. A skill is where that explanation lives so you stop typing it.
Not the same thing as an MCP server
This is the distinction worth getting straight, because installing the wrong kind of thing is the usual first mistake. An MCP server gives your tool a new ability. It could not read your database; now it can. A skill gives your tool new instructions. It could always write a commit message; now it writes one the way your team does. If the thing you want is "reach something it cannot reach", you want a server. If it is "do the thing it already does, but properly", you want a skill.
Why your tool ignores it
The first line of a skill is a description of when to use it, and that line is doing almost all the work. Your tool reads the descriptions of every installed skill and picks one when the description matches what you asked for. It does not read the skills themselves until it has picked one. So a skill described as "helps with code" never fires, because nothing is specifically that. A skill described as "use when writing or reviewing a database migration" fires exactly when it should.
Install one
Skills come from GitHub repositories, and one repo often holds several. Here is a well-made set to start from, installed one skill at a time.
Install it in
bash
npx skills add https://github.com/anthropics/skills --skill frontend-design -a claude-codeWhat you should see
The skill's files written into .claude/skills. Run it with / and the skill's name.That puts it in .claude/skills for this project, committed if you commit it. Add --global to put it in ~/.claude/skills for every project instead.
1. In Settings > Capabilities, turn on Code execution and file creation. 2. Go to Customize > Skills, press +, then Create skill. 3. Choose Upload a skill and pick the ZIP you downloaded.
1. Open Skills in ChatGPT and select Create. 2. Select Upload from your computer and pick the ZIP you downloaded. 3. Wait for ChatGPT's safety scan. A skill marked Needs Review asks you to check it before use.
bash
npx skills add https://github.com/anthropics/skills --skill frontend-design -a codexWhat you should see
The skill's files written into .agents/skills. Run it with / and the skill's name.That puts it in .agents/skills for this project, committed if you commit it. Add --global to put it in ~/.agents/skills for every project instead.
bash
npx skills add https://github.com/anthropics/skills --skill frontend-design -a cursorWhat you should see
The skill's files written into .cursor/skills. Run it with / and the skill's name.That puts it in .cursor/skills for this project, committed if you commit it. Add --global to put it in ~/.cursor/skills for every project instead.
bash
npx skills add https://github.com/anthropics/skills --skill frontend-design -a github-copilotWhat you should see
The skill's files written into .github/skills. Run it with / and the skill's name.That puts it in .github/skills for this project, committed if you commit it. Add --global to put it in ~/.copilot/skills for every project instead.
bash
npx skills add https://github.com/anthropics/skills --skill frontend-design -a antigravityWhat you should see
The skill's files written into .agents/skills. Run it with / and the skill's name.That puts it in .agents/skills for this project, committed if you commit it. Add --global to put it in ~/.gemini/config/skills for every project instead.
bash
npx skills add https://github.com/anthropics/skills --skill frontend-design -a gemini-cliWhat you should see
The skill's files written into .gemini/skills. Run it with / and the skill's name.That puts it in .gemini/skills for this project, committed if you commit it. Add --global to put it in ~/.gemini/skills for every project instead.
Note the two kinds of tab above. Anything that runs in a terminal reads skills from a folder, so the skills CLI can put them there for you. Claude.ai and ChatGPT take a ZIP through their own settings screen instead — no command exists that would change that, and a skill that depends on running scripts may not work in them at all.
Then write your own
Installed skills are the smaller half. The ones worth having are about your project, and nobody else can write those. The test for whether something should be a skill: have you explained it more than twice, and is it only relevant sometimes? Always-relevant things belong in your instructions file, which loads every session. Sometimes-relevant things belong in a skill, which does not.
Paste this into your AI tool
I keep explaining the same things to you in this project. Based on what you can see here and what I have corrected you on, suggest three skills worth writing, and for each one give the description line that decides when it fires.
Open it in your AI tool. Clicking copies the prompt, and ChatGPT and Grok open with it already filled in.
- Claude(opens in a new tab)
- ChatGPT(opens in a new tab)
- Qwen(opens in a new tab)
- DeepSeek(opens in a new tab)
- Kimi(opens in a new tab)
- Grok(opens in a new tab)
More tools
App builders, in your browser:
Code editors on your computer. Open app only works once it is installed, so use Get it first if you do not have it.
- CursorOpen appGet it(opens in a new tab)
- VS CodeOpen appGet it(opens in a new tab)
- Antigravity IDEOpen appGet it(opens in a new tab)
- Antigravity 2.0Open appGet it(opens in a new tab)
Want the full list? Browse all app builders and coding editors (IDEs).
The third prompt is the useful one once you have a few. A skill that never fires is not a skill, it is a file.
Comments
Sign in to join the discussion.
Nothing here yet. If something in this piece worked, or did not, say so.