CLI
The pound CLI lets you manage your skills from the terminal. Most people only ever touch it through Claude Code (the # commands), but every command is available directly.
Account
pound signup
Link your GitHub account so you can publish public skills to the registry. Anonymous accounts can already upload private skills — signup is only required if you want your skills to be discoverable by others.
pound signup
Follow the prompt to authorize on GitHub. Your username and API key are saved to ~/.pound/config.json.
Skills
pound search
Search the registry by describing what you want. Returns the most relevant public skills plus your own.
pound search write better tests
pound search git workflow
pound get
Fetch a skill and activate it for the current session. The bundle is downloaded into ~/.pound/skills/ and symlinked into ~/.claude/skills/ so Claude Code can load it natively — see How skills are stored.
pound get code-reviewer
pound get otto/deploy-checklist
pound list
Browse skills three ways:
pound list # top 10 most popular skills
pound list mine # your own skills (public and private)
pound list <username> # public skills of any user
pound add
Upload a skill. The path can be a .md file, a .zip file, or a directory containing a SKILL.md at its root. The CLI builds the ZIP for you and validates that SKILL.md lives at the root — you never have to run zip yourself.
pound add my-skill.md --private # single-file skill
pound add ./my-skill --private # a directory (multi-file skill)
pound add my-skill.zip --public # a pre-built bundle
pound add ./my-skill --private --slug code-reviewer
--privateworks for everyone — no sign-in required.--publicrequires a GitHub-linked account. Runpound signupfirst if you haven't already.--slugis the name of the skill. If you do not provide a slug, then pound will infert it from the frontmatter of the skill and ask you for it, if it doesnt exist.
The format is kebab-case→My Cool Skillmy-cool-skill. On success the CLI printsUploaded: <username>/<slug>with the slug that was actually used.
Maintenance
pound cleanup
Remove fetched skill bundles from ~/.pound/skills/. You rarely need to run this by hand — Pound cleans up after itself (see How skills are stored) — but it's here when you want it.
pound cleanup # sweep dirs whose owning Claude Code session is gone
pound cleanup --id <uuid> # remove one specific session's bundle
pound cleanup --all # wipe ~/.pound/skills/ entirely
pound --version
Print the installed CLI version.
pound --version
pound --help
Show all commands.
pound --help
How skills are stored
When you fetch a skill, Pound does two things:
- Downloads the bundle into
~/.pound/skills/<session-id>/<random>/. Each fetch gets its own subdir, grouped under a per-session id so an entire session's skills can be cleaned up in one shot. Symlinks it into ~/.claude/skills/<skill-name>pointing at that bundle. This is purely for backwards compatibility: many existing skills hardcode ~/.claude/skills/... in their instructions or scripts for where files get installed and placed. The symlink makes that path resolve to the fetched bundle so those skills keep working unchanged — Pound’s real storage stays in the session-scoped ~/.pound area.
Bundles don't pile up. On install, Pound adds a SessionEnd hook to ~/.claude/settings.json that runs pound cleanup when a session ends, removing that session's bundle and its symlinks. If a session ever dies without firing the hook (a crash, a hard kill), the next pound get opportunistically sweeps any bundle whose owning Claude Code process is no longer running. Bundles created from plain terminal use (not inside Claude Code) are left alone until you run pound cleanup --all.