Tutorial: Install & Use
The Install stage adds a skill to your runtime's skills directory. The Use stage invokes that skill in conversation. They are tightly coupled — a skill you cannot trigger is functionally not installed — so this tutorial covers both end-to-end.
These tutorials show Skillsmith in Claude Code. For installation in your preferred runtime (Cursor, Continue, Copilot, Windsurf), see Getting Started.
What you will do
- Install a skill into
~/.claude/skills/ - Validate the install structure
- Invoke the skill in a Claude Code conversation
- Troubleshoot when a skill does not trigger
Tools that map to Install and Use
| Stage | Surface | Tool / command | Purpose |
|---|---|---|---|
| Install | MCP | install_skill | Install a skill from the registry to the runtime's skills directory |
| Install | MCP | skill_validate | Validate SKILL.md structure pre- or post-install |
| Install | CLI | skillsmith install <id> | Same as MCP install_skill |
| Use | Runtime | (natural prompts) | The runtime — Claude Code in this tutorial — invokes the skill via its trigger phrases |
Step 1 — Install a skill
Pick a skill ID from Evaluate. We will use community/jest-helper as the running example.
Try these prompts:
- "Install community/jest-helper"
- "Install jest-helper to ~/.claude/skills"
- "Install community/git-commit and overwrite if it exists"
Skillsmith downloads the skill bundle, verifies the SKILL.md structure, and writes it to your
runtime's skills directory. On Claude Code that is
~/.claude/skills/<author>/<name>/.
Other runtimes write to other paths
Cursor, Copilot, and Windsurf each have their own skills directory. Set SKILLSMITH_CLIENT in your MCP server's environment config to cursor, copilot, or
windsurf and Skillsmith will route the install to the right place. Defaults to claude-code. See
Getting Started.
Step 2 — Validate the install
Skillsmith validates SKILL.md structure during install, but if you ever receive a skill outside the registry — for example, a teammate hands you a directory — validate it before relying on it.
Try these prompts:
- "Validate the skill at ~/.claude/skills/community/jest-helper"
- "Check the structure of my local ./my-skill directory"
Or from the terminal:
skillsmith author validate ~/.claude/skills/community/jest-helper
Validation checks that SKILL.md exists, has the required YAML frontmatter (name, description), and that referenced bundle files (scripts, assets) actually exist
on disk.
Step 3 — Use the skill in conversation
A skill is "used" when its trigger phrases match something you say to the runtime, and the
runtime loads the skill's instructions into the conversation context. With community/jest-helper installed, triggers like the following should activate it:
- "Help me write Jest tests for this function"
- "Set up Jest in this project"
- "Debug a failing Jest test"
The actual trigger phrases for any installed skill live in its
SKILL.md frontmatter under description. Read them once after
installing: "Read me the description of jest-helper so I know how to trigger it".
The /skillsmith slash command — most reliable trigger
Claude Code installs a bundled /skillsmith slash command when you run skillsmith setup. It gives you an unambiguous way to route any lifecycle action to the right Skillsmith tool,
regardless of how natural-language tool selection might drift.
/skillsmith discover testing
/skillsmith evaluate community/jest-helper
/skillsmith install community/jest-helper
/skillsmith audit
/skillsmith create "API doc generator" If you ever find that a bare prompt is not triggering Skillsmith reliably, fall back to the slash form.
Step 4 — Troubleshoot when a skill does not trigger
The most common Use-stage failure is "I installed it but it never fires." Walk this checklist:
Check the install actually landed
Run this in your terminal:
ls ~/.claude/skills/community/jest-helper/SKILL.md If the file is missing, Skillsmith never wrote it. Re-run the install, this time watching the output for an error.
Restart your runtime
Claude Code, Cursor, and most other runtimes load the skills directory once at startup. After installing a new skill, restart the runtime so it can pick up the SKILL.md.
Read the skill's trigger phrases
A skill's description in SKILL.md is what the runtime matches your prompts against. If
the description says "Use when asked to write Jest tests" and you are saying "add unit tests", the runtime may not connect them. Either rephrase or read the description directly:
cat ~/.claude/skills/community/jest-helper/SKILL.md | head -10 Check for namespace collisions
If two installed skills both claim a similar trigger phrase, the runtime picks one — usually not the one you want. Run the namespace audit to surface collisions:
skillsmith audit collisions The Maintain tutorial covers resolving collisions in detail.
Common pitfalls
"Skill already installed" error
By default install_skill refuses to overwrite. Pass
force: true in the prompt or --force on the CLI to overwrite an existing
install. Combine with a
diff
first if you are unsure what changed.
Wrong runtime path
If SKILLSMITH_CLIENT is unset, Skillsmith defaults to Claude Code (~/.claude/skills/). Cursor users who have not set the env var will see installs land in ~/.claude/skills/
rather than Cursor's skills directory, and Cursor will never load them. Set the env var in your MCP
server's config and re-install.
API rate-limit during install
The free tier (no API key) caps at 10 requests total. After that, every install fails until you configure an API key. See API key setup.
Where to next
You have a working installed skill. Keeping it healthy — updating it, pinning it, auditing it — is the Maintain stage.
Reference:
MCP install_skill
· CLI install
· Runtime install.