The short version
Most agent skills install with a single command. You point the installer at a GitHub repository and name the skill you want:
npx skills add <github-repo> --skill <name>
For example, if a repository contains a skill called code-review, you would run npx skills add owner/repo --skill code-review. The command fetches the skill folder — its SKILL.md and any supporting files — and places it where your agent can find it.
Read before you install
The most important step happens before you type the command. Open the skill's SKILL.md on GitHub and read it. You want to know two things: what the skill does, and what it touches.
Look for any helper scripts, network calls, or use of credentials. A skill is just instructions and files, so you can see everything it will do simply by reading it. If the contents are unclear, or the skill runs an opaque script you cannot follow, do not install it. This habit is the heart of keeping agent skills safe.
Step by step
- Find the skill. Browse a curated directory or a repository and identify the exact skill name. The name is the value you pass to
--skill. - Inspect the source. Open the repo, read
SKILL.md, and skim any extra files. Confirm the trigger description is clear and the steps make sense. - Run the install command. Use
npx skills add <github-repo> --skill <name>with the repo and skill name you confirmed. - Verify it landed. Check that the skill appears in your agent's skill list and that the files match what you read on GitHub.
- Try it on a small, safe task first. Watch the behavior before trusting it with anything important.
Picking the right skill
Installation is easy; choosing well is the real work. Prefer a focused skill that targets exactly the task you repeat, over a broad one that promises everything. A narrow, well-documented skill is easier to trust and easier to reason about.
The Skills directory is a useful starting point. Scan a category such as development or filter by Agent platform to compare options before you commit.
After installing
Once a skill is in place, it is yours to adjust. Because SKILL.md is plain text, you can edit it to match your team's conventions — change a naming rule, tighten an output format, add a check you care about. Re-read it after editing so you stay confident about what it does.
If a skill ever behaves in a way you did not expect, open the file and compare its instructions to what you saw. That visibility is the whole point of the format.
Keeping skills up to date
Skills evolve. The author may fix a bug in the workflow, tighten a trigger, or add a step. Because you installed from a repository, you can re-run the install command to pull the latest version when you want it. Before you do, glance at what changed — the same read-the-source habit applies to updates as to first installs. An update is still new instructions entering your agent, and the diff tells you exactly what moved.
If you have edited a skill locally to fit your conventions, decide how you want to handle upstream changes. Some teams keep a clean copy of upstream and re-apply their tweaks on top; others fork the skill into their own repository and install from there. Either approach keeps your customizations from being silently overwritten.
Organizing your installed skills
As your collection grows, a little organization pays off. Keep skills you actually use and remove the ones you tried and abandoned, so the agent is not weighing irrelevant options. Group related skills, document why each one is installed, and treat the set the way you would treat project dependencies — reviewed, named, and intentional rather than accumulated by accident.
Troubleshooting a failed install
If the install command does not work, the usual causes are simple. Confirm the repository reference is correct and public. Confirm the skill name passed to --skill matches a real skill folder in that repo exactly, including capitalization. If the skill installs but never triggers, the problem is usually the trigger description rather than the install — open SKILL.md and check that its stated use case matches the task you are giving the agent.