Managing skills
Import, register, inspect, and remove skills by Ratel Local scope.
Ratel Local serves skills through the same catalog as tools. The agent finds them in the
search_capabilities skills bucket and loads one with get_skill_content.
Stable releases use scoped registrations. They no longer move skills through the deprecated
skill activate and skill deactivate commands.
Registration model
Register a skill at user, project, or local scope:
referencekeeps the source folder in place and records its canonical path.copycreates a Ratel-owned copy for the selected scope.
Project and local registrations never edit repository-owned skill metadata. The normal scope precedence applies when the same skill id appears more than once.
Discover and import skills
Inspect candidates from supported Claude Code and Codex locations:
ratel-local skill list --discovered
ratel-local skill list --discovered --project /path/to/projectImport interactively, or name candidates directly:
ratel-local skill import --scope user --mode reference
ratel-local skill import deploy-runbook --scope project --mode copy
ratel-local skill import --scope local --mode reference --dry-run--dry-run previews the registration. --yes skips confirmation. When two hosts expose
the same skill id, import keeps the first deterministic candidate and reports later
duplicates as skipped.
Inspect registrations
# Effective catalog for the current context
ratel-local skill list
# Every registration, including shadowed or invalid entries
ratel-local skill list --configured
# Select a registered project explicitly
ratel-local skill list --configured --project /path/to/projectAdd another scope for an effective skill:
ratel-local skill add-scope deploy-runbook \
--scope project --mode referenceRemove a registration
Use remove-scope to stop using the selected registration without deleting an owned
copy. Use remove when a Ratel-owned copy should also be deleted:
ratel-local skill remove-scope deploy-runbook --scope project
ratel-local skill remove deploy-runbook --scope projectBoth commands confirm by default and support --dry-run and --yes.
Legacy migration and recovery
The daemon safely migrates verified legacy skill links to user-scoped references on startup. Ambiguous or externally changed entries are left untouched with diagnostics.
ratel-local doctor
ratel-local doctor --fixdoctor --fix performs the same recoverable migration for safe entries. Review its
diagnostics before changing ambiguous paths manually.
Claude Code preload hook
Capability search is the pull path: the agent searches when it needs a playbook. The
optional Claude Code UserPromptSubmit hook adds a push path for terse prompts.
ratel-local skill install-hook --scope user
ratel-local skill install-hook --scope project
ratel-local skill uninstall-hook --scope userThe hook invokes ratel-local skill preload-hook, ranks the effective skills for the
prompt, and injects a pointer only when one skill clearly wins. It fails open and never
blocks a prompt.
The executable resolves through RATEL_LOCAL_BIN, then PATH, then an interactive
prompt. Installation is idempotent, revision-checked, and backed up.
Debug ranking
ratel-local skill suggest \
--prompt "build a login form" \
--cwd . \
--limit 3Use --format json for structured output, --min-score to drop weak hits, and repeat
--dir only when you intentionally want to rank an explicit directory set instead of
the effective scoped catalog.
Ranking uses the configured retrieval method. With default BM25 it stays model-free; semantic and hybrid behavior follows the selected retrieval scope.
Apply changes to an agent
Reconnect the affected agent after importing, adding, or removing a skill registration. Its next connection receives a new gateway generation with the updated catalog.