Helps users discover and install NEW agent skills from external sources (skills.sh, the Skills CLI). Use only when the user wants capabilities they don't already have — "find a skill for X", "is there a skill that can...", "how do I do X" for a task not covered by an installed skill. Do NOT use this to list skills you ALREADY have — those are in your `<available_skills>` block; answer from there directly.
npx skills add https://github.com/google/adk-samples --skill find-skills
Before searching externally, check the <available_skills> block in your
context — the user may already have a relevant skill installed.
Before running any CLI command, check skills.sh to see
whether a well-known skill already covers the domain. The leaderboard ranks by
total installs, surfacing the most popular and battle-tested options.
If the leaderboard doesn't cover the user's need, search via the Skills CLI:
terminal(command="npx --yes skills find <query>")
Examples:
| User says | Search |
|---|---|
| "make my React app faster" | npx --yes skills find react performance |
| "help with PR reviews" | npx --yes skills find pr review |
| "create a changelog" | npx --yes skills find changelog |
If npx is unavailable the command will fail — fall back to browsing
skills.sh manually and pasting the SKILL.md content.
Never recommend a skill based solely on search results.
vercel-labs, anthropics,microsoft) are more trustworthy than unknown authors
is a yellow flag
I found a skill that might help: "react-best-practices" from Vercel Engineering
provides React and Next.js performance guidelines (185K installs).
Shall I install it?
Only proceed to installation after the user confirms.
If you have the skill content (pasted by the user, retrieved from skills.sh,
or constructed from the search result):
write_file(".agents/skills/<name>/SKILL.md", content)
reload()
write_file creates the directory if it does not exist. reload refreshes
the <available_skills> catalog (plus extensions and manifest) on the next turn.
First check whether npx is available:
terminal(command="which npx")
If it is, install the skill. Select a single skill from a multi-skill repo with
the @<skill> suffix (omit it to take the whole repo):
terminal(command="npx --yes skills add <owner/repo>@<skill-name> -y")
The Skills CLI stages the skill (with its references/, assets/, and
scripts/ subdirs) under .agents/skills/<skill-name>/ — exactly where Horizon
loads skills from — so no move is needed. Just refresh:
reload()
The staged directory name MUST match the name: field in the SKILL.md
frontmatter — _load_skill_from_dir validates that and skips mismatched
skills.
After reload() returns (look for the new skill in skills_loaded), tell the user:
The "<name>" skill is now installed. It will appear in your
<available_skills> catalog on the next turn.
terminal(command="npx --yes skills init my-skill-name")
Or skip the CLI and author one manually — write a SKILL.md following the
policy or workspace skills as examples.
| Category | Search terms |
|---|---|
| Web development | react, nextjs, typescript, css, tailwind |
| Testing | testing, jest, playwright, e2e |
| DevOps | deploy, docker, kubernetes, ci-cd |
| Documentation | docs, readme, changelog, api-docs |
| Code quality | review, lint, refactor, best-practices |
| Design | ui, ux, design-system, accessibility |
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Replace with description of the skill and when Claude should use it.
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
Use when creating new skills, editing existing skills, or verifying skills work before deployment
Take google/find-skills from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.