-
Notifications
You must be signed in to change notification settings - Fork 3.9k
feat(agent): bundle find-skills and skill-creator as built-in skill for agent #13408
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
DeJeune
wants to merge
8
commits into
main
Choose a base branch
from
DeJeune/add-find-skills
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+6,021
−1
Open
Changes from 3 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
46360e9
feat(agent): bundle find-skills as built-in skill for Claude Code
DeJeune 3ee74f1
fix(agent): add bun fallback for find-skills when npx unavailable
DeJeune e01d02c
fix(agent): use project-level skill install instead of global
DeJeune f0a9a3c
feat(agent): bundle Anthropic's skill-creator as built-in skill
DeJeune f68b551
refactor(agent): move builtin skills install to async with logging
DeJeune 9c67c68
fix(agent): add path traversal guard and bun existence check
DeJeune 1553926
fix(agent): require user confirmation before installing third-party s…
DeJeune ab00177
fix(agent): address PR review — version updates, env var bun path, tests
DeJeune File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,151 @@ | ||
| --- | ||
| name: find-skills | ||
| description: 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. | ||
| --- | ||
|
|
||
| # Find Skills | ||
|
|
||
| This skill helps you discover and install skills from the open agent skills ecosystem. | ||
|
|
||
| ## When to Use This Skill | ||
|
|
||
| Use this skill when the user: | ||
|
|
||
| - Asks "how do I do X" where X might be a common task with an existing skill | ||
| - Says "find a skill for X" or "is there a skill for X" | ||
| - Asks "can you do X" where X is a specialized capability | ||
| - Expresses interest in extending agent capabilities | ||
| - Wants to search for tools, templates, or workflows | ||
| - Mentions they wish they had help with a specific domain (design, testing, deployment, etc.) | ||
|
|
||
| ## What is the Skills CLI? | ||
|
|
||
| The Skills CLI (`npx skills`) is the package manager for the open agent skills ecosystem. Skills are modular packages that extend agent capabilities with specialized knowledge, workflows, and tools. | ||
|
|
||
| **Key commands:** | ||
|
|
||
| - `npx skills find [query]` - Search for skills interactively or by keyword | ||
| - `npx skills add <package>` - Install a skill from GitHub or other sources | ||
| - `npx skills check` - Check for skill updates | ||
| - `npx skills update` - Update all installed skills | ||
|
|
||
| **Browse skills at:** https://skills.sh/ | ||
|
|
||
| ## Runtime Detection | ||
|
|
||
| Before running any `npx skills` command, check if `npx` is available: | ||
|
|
||
| ```bash | ||
| which npx | ||
| ``` | ||
|
|
||
| If `npx` is **not found**, fall back to the bundled bun shipped with Cherry Studio: | ||
|
|
||
| ```bash | ||
| ~/.cherrystudio/bin/bun x skills <subcommand> [args] | ||
| ``` | ||
|
|
||
| For example, `npx skills find react` becomes `~/.cherrystudio/bin/bun x skills find react`. | ||
|
|
||
| Always try `npx` first. Only use the bun fallback when npx is unavailable. | ||
|
|
||
| ## How to Help Users Find Skills | ||
|
|
||
| ### Step 1: Understand What They Need | ||
|
|
||
| When a user asks for help with something, identify: | ||
|
|
||
| 1. The domain (e.g., React, testing, design, deployment) | ||
| 2. The specific task (e.g., writing tests, creating animations, reviewing PRs) | ||
| 3. Whether this is a common enough task that a skill likely exists | ||
|
|
||
| ### Step 2: Search for Skills | ||
|
|
||
| Run the find command with a relevant query: | ||
|
|
||
| ```bash | ||
| npx skills find [query] | ||
| ``` | ||
|
|
||
| For example: | ||
|
|
||
| - User asks "how do I make my React app faster?" → `npx skills find react performance` | ||
| - User asks "can you help me with PR reviews?" → `npx skills find pr review` | ||
| - User asks "I need to create a changelog" → `npx skills find changelog` | ||
|
|
||
| The command will return results like: | ||
|
|
||
| ``` | ||
| Install with npx skills add <owner/repo@skill> | ||
|
|
||
| vercel-labs/agent-skills@vercel-react-best-practices | ||
| └ https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices | ||
| ``` | ||
|
|
||
| ### Step 3: Present Options to the User | ||
|
|
||
| When you find relevant skills, present them to the user with: | ||
|
|
||
| 1. The skill name and what it does | ||
| 2. The install command they can run | ||
| 3. A link to learn more at skills.sh | ||
|
|
||
| Example response: | ||
|
|
||
| ``` | ||
| I found a skill that might help! The "vercel-react-best-practices" skill provides | ||
| React and Next.js performance optimization guidelines from Vercel Engineering. | ||
|
|
||
| To install it: | ||
| npx skills add vercel-labs/agent-skills@vercel-react-best-practices | ||
|
|
||
| Learn more: https://skills.sh/vercel-labs/agent-skills/vercel-react-best-practices | ||
| ``` | ||
|
|
||
| ### Step 4: Offer to Install | ||
|
|
||
| If the user wants to proceed, you can install the skill for them: | ||
|
|
||
| ```bash | ||
| npx skills add <owner/repo@skill> -y | ||
| ``` | ||
|
|
||
| The `-y` flag skips confirmation prompts. Skills are installed to the current project's `.claude/skills/` directory. | ||
|
|
||
| ## Common Skill Categories | ||
|
|
||
| When searching, consider these common categories: | ||
|
|
||
| | Category | Example Queries | | ||
| | --------------- | ---------------------------------------- | | ||
| | 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 | | ||
| | Productivity | workflow, automation, git | | ||
|
|
||
| ## Tips for Effective Searches | ||
|
|
||
| 1. **Use specific keywords**: "react testing" is better than just "testing" | ||
| 2. **Try alternative terms**: If "deploy" doesn't work, try "deployment" or "ci-cd" | ||
| 3. **Check popular sources**: Many skills come from `vercel-labs/agent-skills` or `ComposioHQ/awesome-claude-skills` | ||
|
|
||
| ## When No Skills Are Found | ||
|
|
||
| If no relevant skills exist: | ||
|
|
||
| 1. Acknowledge that no existing skill was found | ||
| 2. Offer to help with the task directly using your general capabilities | ||
| 3. Suggest the user could create their own skill with `npx skills init` | ||
|
|
||
| Example: | ||
|
|
||
| ``` | ||
| I searched for skills related to "xyz" but didn't find any matches. | ||
| I can still help you with this task directly! Would you like me to proceed? | ||
|
|
||
| If this is something you do often, you could create your own skill: | ||
| npx skills init my-xyz-skill | ||
| ``` | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.