Skip to content

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.