yasp-toolkit install-skills
Make the YASP skills that yasp loads available to the other AI agents on your machine — plain claude, Cursor, Codex, Gemini, Copilot, and OpenCode — by symlinking each bundled skill into the agent's user-level skills directory.
Usage:
$ yasp-toolkit install-skills [OPTIONS] [paths]...
| Argument | Default | Description |
|---|---|---|
paths... |
— | Skills directories to populate. Defaults to the user-level skills directory of every known agent (~/.claude/skills, ~/.cursor/skills, …). |
| Option | Default | Description |
|---|---|---|
--replace |
— | Replace existing symlinks that point somewhere else. |
--clean |
— | Remove yasp-* symlinks whose target no longer exists (a renamed or removed skill, or a moved install); current skills are linked again. |
--force |
— | Create missing skills directories. For the default directories, only those of agents found on PATH are created. |
--settings / --no-settings |
settings |
Merge the bundled auto-allow rules into each agent's settings, when the agent supports it. |
yasp-toolkit install-skills
Example output:
✓ /home/me/.claude/skills: 12 linked, 0 already present
✓ /home/me/.claude/settings.json: auto-allowed Bash(yasp-toolkit), Bash(yasp-toolkit *), Bash(COLUMNS=* yasp-toolkit *), Bash(jq), Bash(jq *)
- /home/me/.cursor/skills (cursor): not found, skipped (--force creates it)
Where the skills go
With no arguments, only agents found on your PATH are considered, each at its default skills directory:
| Agent | Skills directory | Auto-allow settings |
|---|---|---|
| Claude Code | ~/.claude/skills |
~/.claude/settings.json |
| Cursor | ~/.cursor/skills |
~/.cursor/cli-config.json (only if it already exists) |
| Codex | ~/.agents/skills |
— |
| Gemini CLI | ~/.gemini/skills |
~/.gemini/settings.json |
| GitHub Copilot CLI | ~/.copilot/skills |
— |
| OpenCode | ~/.config/opencode/skills |
— |
A directory that doesn't exist yet is skipped; --force creates it. Pass directories as arguments to target those instead — with --force, they are created whether or not an agent is installed.
Re-running and conflicts
Only missing links are added, so the command is safe to re-run after upgrading yasp-agent. Every skill is prefixed yasp-, so it doesn't collide with your own skills. If a yasp-* entry already exists but points somewhere else, the command stops before changing anything; --replace repoints those symlinks. A real directory with a skill's name is never deleted, even with --replace — remove it yourself.
The links point into the installed package, so reinstalling yasp-agent into a different environment, or an upgrade that renames or drops a skill, leaves some of them dangling. --clean removes every yasp-* symlink whose target no longer exists, then links the current skills again:
yasp-toolkit install-skills --clean
It only removes yasp-* symlinks that point at nothing. Links that still resolve, your own skills, and real directories are left alone.
Auto-allowed commands
Where the agent supports it, the command also adds the yasp-toolkit and jq allow rules the skills rely on to the agent's settings, so their calls run without a permission prompt. Existing settings are kept, and a settings file that isn't valid JSON is left untouched. Pass --no-settings to skip this.