oaustegard/finding-skills
Discover and load skills on demand from /mnt/skills/user/. Use when you need a capability but don't know which skill provides it, when the boot-emitted skill list is names-only and you need a full description, or when you want to list the catalog. Verbs are list (names only), search (rank by name/description match against a query), and show (emit the full SKILL.md for a named skill).
npx skills add https://github.com/oaustegard/claude-skills --skill finding-skills
Skills on disk at /mnt/skills/user/ are a catalog — too expensive to preload as descriptions in every session's context. This skill is the on-demand accessor, analogous to Anthropic's ToolSearch for MCP tools.
PY=/home/user/.spokes/claude-skills/finding-skills/scripts/skills.py
# List every skill by name (cheap, ~1.4KB)
python3 "$PY" list
# Search by keyword — ranks name matches above description matches
python3 "$PY" search "adversarial review"
# Load the full SKILL.md of a specific skill
python3 "$PY" show challenging
In a live CCotw session the script lives at /mnt/skills/user/finding-skills/scripts/skills.py.
search <keywords>show <name>listsearch "<what you want to do>" — get 3–10 ranked candidatesshow <top-pick> — read its SKILL.mdscripts/, references/, etc.)Stop at step 1 if none of the candidates fit — don't shoehorn an unrelated skill onto the task.
Case-insensitive throughout. Results sorted high-to-low, ties broken by name.
list: one skill name per linesearch: tab-separated <name>\t<description (truncated to 200 chars)>, one per lineshow: raw SKILL.md contents to stdout; exit 1 with a stderr message if not foundAll three are line-oriented so they compose with grep, head, etc.
Take oaustegard/finding-skills from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.