๐Ÿ“ฆ spm

A package manager for AI-agent skills. Install a skill once, and it lands wherever every coding agent on your machine looks for it.

npm install -g @hiadamhere/spm

No .NET required. Also via Homebrew (brew install hiadamhere/spm/spm), Scoop (scoop install spm), a standalone binary, or the .NET tool dotnet tool install -g spm. Then run spm --help, or just spm for an interactive REPL.

One install, every agent

Every agent that follows the open agent-skills conventions, installed the same way: one shared copy, links everywhere else.

Where the skill landsProject scopeGlobal scope
Shared copy โ€” read directly by every agent that follows the .agents/skills convention.agents/skills/~/.agents/skills/
Every other selected agent โ€” a link to the shared copy (junction on Windows, no admin; a copy if linking fails)the agent's own skills/ folder in the projectthe agent's own user-level skills/ folder

The full list โ€” keys, folders, which agents read the shared copy โ€” is in docs/agents.md, or run spm agents to see it with detection status. Detected agents are pre-checked on the interactive checklist; pick a set non-interactively with --agents key1,key2.

Two ways to get skills

Install one now

Point spm at any GitHub repo with skills. It shallow-clones to a temp folder, deploys, and discards the clone โ€” no subscription, no clutter.

spm install anthropics/skills
spm install anthropics/skills/pdf

Subscribe to a library

Add a repo as a catalog to reuse its skills by bare name โ€” they show up in list, and search ranks them by intent (word-order-, stem-, and typo-tolerant).

spm catalog add mine you/skills
spm catalog sync
spm install some-skill

Start from the featured catalog

One command subscribes to a curated index of skill repositories.

spm catalog import   # spm's official featured index
spm catalog sync
spm list

The featured index lives at catalog.json in this repo.

Teach your agents spm

spm ships its own skill, so your agents search and install skills for you instead of you doing it by hand.

spm install spm --global

The skill covers when to reach for spm, every command, and whether to use the CLI or spm's MCP tools. With it loaded, an agent that hits “is there a skill for X?” runs spm search, shows you the candidates, and installs the one you pick. The featured catalog provides it, and the first interactive launch offers to install it for you.

Keep deployments healthy

Skills spread across many folders, so spm can explain what it finds and tidy up โ€” conservatively.

spm doctor            # read-only diagnosis
spm cleanup           # preview the fixes
spm cleanup --apply   # perform them

doctor reports skills whose files went missing, agents left without a copy, broken links, layouts from older spm versions, and stale clones or leftovers. cleanup only touches what spm can prove it owns: folders it removes go to a quarantine directory first, and anything untracked is reported and left alone.

MCP server

spm runs as a Model Context Protocol server so an agent can find and install skills itself โ€” no hand-wiring.

spm mcp serve

Point any MCP client at it: spm exposes search, list, info, install, agents, doctor and the catalog_* commands as tools. Read-only ones are annotated safe; destructive ones such as uninstall and cleanup are flagged so agents ask first.