Installing an agent skill is genuinely a one-line job, over in about thirty seconds, with no account and nothing to configure. What trips people up is everything around that line: global or project, which directory your particular agent reads, what to do if you’d rather not run npx, and — the question that brings most people here — why the skill you just installed sits there quietly instead of firing when you need it.
If you’re still deciding whether skills are the right tool, what a skill is and how skills compare to MCP are better starting points. This is the page for getting one onto your machine and confirming it works.
What does npx skills add wondelai/skills --all --global actually do?
This is the command behind every install button on this site:
npx skills add wondelai/skills --all --global
add wondelai/skills points the skills.sh CLI at the public GitHub repo wondelai/skills. --all is documented shorthand for --skill '*' --agent '*' -y: every skill in the repo, into every compatible agent the CLI detects on your machine, without stopping to ask. --global installs at user level rather than into the current directory.
Two details matter before you run it. The CLI links skills into your agent directories rather than duplicating files — pass --copy for independent copies, which some sandboxes, container images and Windows setups need. And because --all skips the confirmation prompt, run npx skills add wondelai/skills --list first if you want to see what’s coming.
How do I install just one skill instead of all of them?
Append the skill’s slug to the repo path. Every skill page on this site shows its own version of this line:
npx skills add wondelai/skills/obviously-awesome --global
For a handful rather than one, -s (--skill) takes several names at once and -a (--agent) narrows the targets — the CLI’s own examples use claude-code and cursor as agent identifiers:
npx skills add wondelai/skills --skill clean-code refactoring-patterns --global
There’s no penalty for installing everything. Agents load only each skill’s name and description at startup — roughly a hundred tokens apiece — and pull the full instructions into context only when a task matches, which is why “install the lot and forget about it” is a sensible default rather than a context-budget problem.
What does --global change, compared with a project install?
--global (short form -g) means user level: installed once into your home directory, available in every project you open. Leave the flag off and the skill installs into the project you’re currently in.
The choice is about who else needs it. Global suits the frameworks you personally reach for everywhere: nobody else on your team gets them and none of your repos change. Project suits skills that are part of the project — a house style, a deployment procedure, a domain glossary. Because it lives inside the repo you commit it, so teammates get it on their next pull and cloud or CI sessions that clone the repo pick it up too. A skill that exists only in your home directory is invisible to all of those.
Most people end up doing both. If the same name exists at both levels, check your agent’s precedence rules — Claude Code resolves a clash in favour of the personal skill over the project one, the opposite of what most people assume.
Where do skills live in each agent?
These skills work in Claude, Claude Code, Claude Cowork, Codex, Cursor, OpenClaw, Hermes Agent, and other agentskills.io-compatible agents. The installer handles placement for you, but knowing where each agent looks turns “it didn’t work” into a five-second fix. The paths below come from each agent’s own documentation.
Claude Code
Personal skills live at ~/.claude/skills/<skill-name>/SKILL.md and apply to all your projects; project skills live at .claude/skills/<skill-name>/SKILL.md. Claude picks one up automatically when a task matches, and you can invoke it directly as /<skill-name>. Claude Code watches those directories, so a skill added mid-session works without a restart — unless the skills directory itself didn’t exist when the session started.
Claude Code can also install these skills as plugins, published as ten themed collections:
/plugin marketplace add wondelai/skills
/plugin install code-craftsmanship@wondelai-skills
Plugin skills are namespaced as plugin-name:skill-name, so they never collide with anything in your personal or project directories.
Claude
The claude.ai apps don’t read your filesystem, so npx can’t reach them. Anthropic documents custom skills as zip uploads through Claude’s settings, on the paid plans with file creation and code execution enabled. Uploaded skills are per-user rather than org-wide, and they don’t sync between Claude’s surfaces. Check Claude’s Agent Skills documentation for the current steps and plan requirements.
Claude Cowork
Cowork surprises people most: Cowork sessions do not read ~/.claude/skills/ from your machine. They load the skills enabled on your Claude account, synced when the session starts, managed from the Customize area in the Claude desktop app sidebar or in your skills settings on claude.ai. The route into Cowork is “enable it on your account”, not “install it locally”.
Codex
Codex reads user-level skills from $HOME/.agents/skills and project skills from .agents/skills in your working directory and at the repository root, scanning upward from where you are. Invoke one explicitly with $skill-name, or let Codex match your prompt against the description. The repo also ships a Codex plugin marketplace, so in a clone Codex discovers the same ten collections and you manage them from the /plugins menu in the TUI.
Cursor
Cursor looks in .cursor/skills/ and .agents/skills/ for project skills, and ~/.cursor/skills/ and ~/.agents/skills/ for user-level ones. It also reads .claude/skills/ and ~/.claude/skills/ for backwards compatibility, which is why skills installed for Claude Code often just appear in Cursor. Skills surface automatically, or type / in the Agent chat and pick one by name.
OpenClaw
OpenClaw searches several roots in priority order — the workspace’s own skills directory, then <workspace>/.agents/skills, then ~/.agents/skills, then its managed state directory and bundled skills — and the highest source wins on a name clash. Invoke as /skill-name, reference inline as $skill-name, or let the model choose. OpenClaw also has its own installer (openclaw skills install).
Hermes Agent
Hermes treats ~/.hermes/skills/ as its primary directory and source of truth, and also picks up project-local skills from <project-root>/.hermes/skills/ or <project-root>/.agents/skills/, plus extra directories listed under skills.external_dirs in ~/.hermes/config.yaml. Skills are invoked as slash commands, and Hermes will chain several in one command.
For any agent not listed here, its own docs are the authority — the shared standard specifies the skill format, not where each client stores it. The agentskills.io client showcase links to the skills documentation for every compatible agent.
How do I install a skill by hand, without npx?
A skill is just a folder. If you’d rather not run an installer, clone the repo and copy the one you want into the right directory:
git clone https://github.com/wondelai/skills.git
cp -r skills/clean-code ~/.claude/skills/
Copy the whole directory, not only SKILL.md — most skills bundle a references/ folder the instructions point at, and a skill missing its references will load and then fail halfway through a task. Substitute the target path for your agent from the section above. The trade-off is updates: the CLI refreshes what it installed with npx skills update --global, while a hand-copied folder is yours to re-copy.
How do I check that it worked?
Two checks, and you want both — one that the files landed, one that the agent can see them.
npx skills list --global
npx skills list --global --agent claude-code
Add --json for machine-readable output, or just look: ls ~/.claude/skills should show one directory per skill, each containing a SKILL.md.
The second check is the one that matters, because a file on disk is not a skill in context. Start a fresh session, give the agent a task the skill is supposed to own, and ask it to name what it used:
Use the clean-code skill to review this file for naming, function length, and error handling, and start your answer by naming the skill you are applying so I can confirm it loaded
Clean CodeIf the answer names the skill and reads like the framework rather than generic advice, the install is real. In Claude Code and Cursor you can also invoke it directly — /clean-code — which bypasses matching entirely and proves the file is being read.
A skill that never triggers usually isn’t installed wrong. It’s described wrong — or you phrased the request in words its description never anticipated.
Why isn’t my skill triggering?
This is the most common problem after a successful install, and the honest answer is rarely the exciting one. Agents don’t read your skills at startup — they read each skill’s name and description, and nothing more, until something you say matches. So the skill isn’t broken and the install isn’t corrupt: the description simply doesn’t overlap the words you used. Ask for “help with our landing page” and a skill whose description talks about conversion rate optimization, funnels and objection handling may never surface.
Fixes, in the order worth trying:
- Name the skill in your prompt. “Use the
cro-methodologyskill to audit this page.” This works in every compatible agent and instantly separates a matching problem from an installation problem. - Invoke it directly.
/skill-namein Claude Code, Cursor, OpenClaw and Hermes Agent;$skill-namein Codex. If that works and automatic matching doesn’t, the file is fine. - Check the scope. A project install only applies inside that project, and a global install won’t reach a Cowork or cloud session that never sees your disk.
- Restart the session. Most agents load skill metadata at startup. Claude Code watches its directories, but not one created after the session began.
- Look for a name collision. A skill sharing a name with a bundled command may be shadowed; use the namespaced plugin form instead.
- Re-install with
--copyif your environment doesn’t resolve symlinks — a broken link looks exactly like a missing skill.
The mechanism is worth internalising if you write your own skills: the description is not documentation, it’s the trigger. What goes in SKILL.md covers how to write one that fires.
Use the obviously-awesome skill to position our product against the alternatives our buyers actually consider, and tell me which parts of your instructions you are drawing on as you go
Obviously AwesomeHow do I update or remove skills?
npx skills update --global
npx skills remove --global
update refreshes installed skills to their latest versions (-g limits it to global, -p to project). remove runs interactively or takes names directly, with the same --global and --agent flags as add, and only removes the link or copy from the agent directory.
Frequently asked questions
Do I need an account or an API key to install these skills?
No. They are MIT-licensed files in a public GitHub repository, and the installer places them in a directory your agent already reads. Nothing to sign up for, no key to paste, no service in the loop at runtime — once the folder is on disk the skill works inside the agent you already use, on the model you already pay for.
Will installing the whole library slow down my agent or fill my context window?
No, by design. Agents load only the name and description of each installed skill at startup, on the order of 100 tokens each. Full instructions enter context when a task matches, and bundled reference files load only if the instructions call for them. That progressive disclosure model is why installing the whole library is a sensible default rather than a trade-off.
Can I install these skills in an agent that isn’t on the compatible list?
Usually yes. The seven agents named here are the ones we call out, but the format is an open standard and any agent that reads a folder containing a SKILL.md file can use these skills. Copy the folder into whichever directory that agent documents as its skills location — check its own docs, or the client showcase on agentskills.io, which links to the skills documentation for each compatible client.
Does a skill installed in Claude Code also work in Claude on the web?
Not automatically. Custom skills don’t sync between Claude’s surfaces: a filesystem skill in Claude Code is separate from one uploaded to claude.ai, which is separate again from one uploaded through the API. This also explains the Cowork behaviour — Cowork sessions load the skills enabled on your Claude account rather than the files in your home directory.
Install it and try one thing
Run the one-liner, then pick a task you were going to do anyway and name a skill in the prompt:
npx skills add wondelai/skills --all --global
The verification that counts isn’t a directory listing — it’s an answer that sounds like the framework instead of generic advice. Browse all the skills to find the one closest to what you’re working on today.