Installing, Updating, and Managing Skills
You installed three skills last week. Today you cannot remember which ones, they might be outdated, and one of them seems to conflict with another. You dig through hidden directories trying to find where the files live, delete the wrong one, and break your Claude Code session. Skills are only useful if you can manage them efficiently.
This guide covers the full lifecycle: finding skills, installing them, keeping them updated, and removing the ones you no longer need.
What You’ll Walk Away With
Section titled “What You’ll Walk Away With”- Complete CLI reference for the
skillstool - Understanding of where skills are stored for each editor
- Patterns for team-wide skill management
- Strategies for resolving conflicts between skills
The Skills CLI
Section titled “The Skills CLI”The skills tool is distributed as an npm package. You do not need to install it globally — npx runs it directly.
Core Commands
Section titled “Core Commands”| Command | What It Does |
|---|---|
npx skills add <owner/repo> | Install a skill from a GitHub repository |
npx skills remove <owner/repo> | Remove an installed skill |
npx skills list | List all installed skills |
npx skills update | Update all installed skills to their latest versions |
npx skills search <query> | Search the skills.sh marketplace |
Installing a Skill
Section titled “Installing a Skill”npx skills add vercel-labs/agent-skillsThis clones the skill repository’s instructions and places them in the correct directory for your AI agent. A single repository can contain multiple skills — for example, vercel-labs/agent-skills includes skills for React best practices, web design guidelines, and Vercel composition patterns.
You can install skills from any GitHub repository, not just those listed on skills.sh:
# Official skills from well-known organizationsnpx skills add anthropics/claude-codenpx skills add cloudflare/skillsnpx skills add stripe/agent-toolkit
# Community skillsnpx skills add your-org/internal-conventionsListing Installed Skills
Section titled “Listing Installed Skills”npx skills listThis shows all currently installed skills with their source repository and version.
Removing a Skill
Section titled “Removing a Skill”npx skills remove vercel-labs/agent-skillsUpdating All Skills
Section titled “Updating All Skills”npx skills updateThis pulls the latest version of every installed skill from its source repository.
Where Skills Live
Section titled “Where Skills Live”Skills are stored in different locations depending on your editor:
Skills for Cursor are stored as rules files:
.cursor/rules/ vercel-labs-agent-skills.md anthropics-claude-code.mdCursor reads all .md files in .cursor/rules/ and includes them in the AI’s context. You can also create custom rules files here manually.
Claude Code stores skills in a dedicated directory:
.claude/skills/ vercel-labs-agent-skills/ instructions.md anthropics-claude-code/ instructions.mdClaude Code reads these at session start and applies them throughout the conversation. You can view what Claude Code sees by checking the system prompt at the beginning of a session.
Codex reads skills from its instructions configuration:
.codex/ instructions.md # Combined skill instructionsSkills are merged into the instructions file that Codex reads at startup.
Team-Wide Skill Management
Section titled “Team-Wide Skill Management”Committing Skills to Your Repository
Section titled “Committing Skills to Your Repository”Skills are plain markdown files. Commit them to your repository so every team member gets the same instructions:
# Install a skillnpx skills add vercel-labs/agent-skills
# Commit the skill filesgit add .claude/skills/ .cursor/rules/git commit -m "Add Vercel agent skills (React best practices, web design, composition patterns)"When a new developer clones the repository, the skills are already in place. No additional setup required.
Creating a Project-Specific Skill
Section titled “Creating a Project-Specific Skill”Not every skill comes from the marketplace. You can create project-specific skills by writing your own instruction files.
Create .cursor/rules/project-conventions.md:
# Project Conventions
## File Structure- Components go in `src/components/` with PascalCase names- API routes go in `src/pages/api/` with kebab-case names- Utility functions go in `src/lib/` with camelCase names
## Code Style- Use TypeScript strict mode- Prefer interfaces over types for object shapes- Use named exports, never default exports- Add JSDoc comments to all public functions
## Testing- Every component must have a test file: `Component.test.tsx`- Use React Testing Library, not Enzyme- Test behavior, not implementation detailsCreate .claude/skills/project-conventions/instructions.md:
# Project Conventions
## File Structure- Components go in `src/components/` with PascalCase names- API routes go in `src/pages/api/` with kebab-case names- Utility functions go in `src/lib/` with camelCase names
## Code Style- Use TypeScript strict mode- Prefer interfaces over types for object shapes- Use named exports, never default exports- Add JSDoc comments to all public functions
## Testing- Every component must have a test file: `Component.test.tsx`- Use React Testing Library, not Enzyme- Test behavior, not implementation detailsAdd to .codex/instructions.md:
# Project Conventions
## File Structure- Components go in `src/components/` with PascalCase names- API routes go in `src/pages/api/` with kebab-case names- Utility functions go in `src/lib/` with camelCase names
## Code Style- Use TypeScript strict mode- Prefer interfaces over types for object shapes- Use named exports, never default exports- Add JSDoc comments to all public functionsResolving Skill Conflicts
Section titled “Resolving Skill Conflicts”When two skills give contradictory instructions, the AI typically follows whichever instruction appears later in its context or whichever is more specific.
Common Conflicts and Resolutions
Section titled “Common Conflicts and Resolutions”Two React skills with different component patterns. Remove the less authoritative one. If vercel-labs/agent-skills and a community skill disagree, the Vercel skill is more likely to reflect current best practices.
A framework skill conflicts with your project skill. Your project skill should win. Make it more specific: instead of “use named exports,” write “In this project, always use named exports (overriding any other convention).”
A skill is outdated. Run npx skills update to pull the latest version. If the skill author has not updated it, consider removing it and using Context7 MCP for live documentation instead.
When This Breaks
Section titled “When This Breaks”“npx skills: command not found.” Ensure Node.js is installed and npx is in your PATH. The skills CLI requires Node.js 18 or later.
Skills install but the AI does not follow them. Check that the skill files are in the correct directory for your editor. Run npx skills list to verify installation, then check the file paths listed.
Skills directory is in .gitignore. If someone added .claude/ or .cursor/ to .gitignore, skill files will not be committed to the repository. Remove the broad ignore pattern and add specific ignores for files that should not be committed (like MCP auth tokens), while allowing skill files.
Too many skills slow down the AI. Each skill consumes context window space. If you have more than 10 skills, audit them and remove any that overlap or that you no longer need.
Skills update pulls breaking changes. Pin a specific commit when stability is critical:
npx skills add vercel-labs/agent-skills@abc1234