$npx -y skills add 0oooooooo0/skillless --skill skill-installerInstall Claude Code skills from various sources.
| 1 | # Skill: skill-installer |
| 2 | |
| 3 | Install Claude Code skills from various sources. |
| 4 | |
| 5 | user-invocable: false |
| 6 | description: Handles skill installation from skills.sh, GitHub, or direct SKILL.md download. Always confirms with user before installing. |
| 7 | allowed-tools: [Read, Write, Bash, WebFetch, Glob, AskUserQuestion] |
| 8 | |
| 9 | ## Instructions |
| 10 | |
| 11 | When called with a skill to install, determine the source type and follow the appropriate flow. |
| 12 | |
| 13 | ### Pre-installation Checks |
| 14 | |
| 15 | 1. **Conflict detection**: Check if a skill with the same name already exists: |
| 16 | ``` |
| 17 | Glob: ~/.claude/skills/{skill-name}/SKILL.md |
| 18 | ``` |
| 19 | 2. If already installed, inform the user and ask if they want to update/overwrite. |
| 20 | 3. **Always confirm** with the user before proceeding with installation. |
| 21 | |
| 22 | ### Installation by Source Type |
| 23 | |
| 24 | #### Type: `installed` |
| 25 | The skill is already installed locally. Inform the user: |
| 26 | > "This skill is already available on your system. You can use it right away." |
| 27 | |
| 28 | #### Type: `skills-add` |
| 29 | The skill is listed on skills.sh and can be installed via npx. Run: |
| 30 | ```bash |
| 31 | npx skills add -y -g {owner/repo} |
| 32 | ``` |
| 33 | - `-y`: skip confirmation prompts |
| 34 | - `-g`: install globally to `~/.claude/skills/` |
| 35 | - Format: `{owner/repo}` (e.g., `vercel-labs/agent-skills`) |
| 36 | - To install a specific skill from a multi-skill repo: `{owner/repo}/{skill-name}` |
| 37 | |
| 38 | **IMPORTANT**: The old `npx skillsadd` package is deprecated and no longer works. Always use `npx skills add`. |
| 39 | |
| 40 | If `npx skills add` fails (e.g., "No valid skills found"), fall back to direct GitHub download: |
| 41 | 1. Find the SKILL.md path via: `https://api.github.com/repos/{owner}/{repo}/git/trees/main?recursive=1` |
| 42 | 2. Download: `curl -sL https://raw.githubusercontent.com/{owner}/{repo}/refs/heads/main/{path-to-SKILL.md}` |
| 43 | 3. Save to `~/.claude/skills/{skill-name}/SKILL.md` |
| 44 | |
| 45 | #### Type: `github-plugin` |
| 46 | The skill is part of a GitHub-hosted plugin. Guide the user: |
| 47 | > "This skill is available as a GitHub plugin. To install, run: |
| 48 | > ``` |
| 49 | > /plugin install {github-url} |
| 50 | > ```" |
| 51 | |
| 52 | #### Type: `skill-md` |
| 53 | A standalone SKILL.md file that can be downloaded directly: |
| 54 | |
| 55 | 1. Confirm with the user. |
| 56 | 2. Create the skill directory: |
| 57 | ```bash |
| 58 | mkdir -p ~/.claude/skills/{skill-name} |
| 59 | ``` |
| 60 | 3. Download the SKILL.md: |
| 61 | ``` |
| 62 | WebFetch: {raw-url} |
| 63 | ``` |
| 64 | 4. Write the content: |
| 65 | ``` |
| 66 | Write: ~/.claude/skills/{skill-name}/SKILL.md |
| 67 | ``` |
| 68 | 5. If the skill has associated scripts, download those too. |
| 69 | |
| 70 | ### Post-installation Verification |
| 71 | |
| 72 | After installation, verify: |
| 73 | 1. The SKILL.md file exists at the expected path |
| 74 | 2. The file is valid (non-empty, contains expected headers) |
| 75 | 3. Report success or failure to the user |
| 76 | |
| 77 | ### Output |
| 78 | |
| 79 | Provide a clear summary: |
| 80 | - What was installed |
| 81 | - Where it was installed |
| 82 | - How to use it (if applicable) |