v0.1.0 — now on PyPI

The package manager
for agent skills.

Search, install, lint, and manage SKILL.md files from your terminal. Works with Claude, Codex, and any agent that reads markdown.

SKILLCTL V0.1.0
$ skillctl search "pdf"

pdf-processor local Extract text, tables, images from PDFs
pdf-forms local Fill and read PDF form fields
acme/pdf-toolkit registry Complete PDF manipulation suite ★ 342
datalab/pdf-tables registry Extract tables to CSV/JSON ★ 218

0
tokens when idle
No server, no protocol, no background process.
1
command to install
Clone, symlink, register — done in seconds.
LLM-compatible
Every agent with bash access already knows how to use it.

Skills are scattered.
There's no npm for them.

SKILL.md files teach agents what to do — but they're scattered across repos, folders, and Slack threads. No search. No versioning. No quality checks.

[01] Search

Three-layer search

Local skills, trusted registries, and GitHub — merged into one ranked table. Synonym expansion finds "xlsx" when you search "excel".

pdf-processor local
acme/pdf-toolkit registry ★ 342
[02] Install

One-command install

Clone, symlink, register. Monorepo-aware with --path. Reference-counted clones protect siblings.

Cloned → ~/.skillctl/repos/
Linked → ~/.claude/skills/
Registered in manifest
[03] Lint

Skill linting

Score a SKILL.md 0–100 against 8 quality checks. Returns specific fixes for each failing check.

Score: 72/100
███████████
[04] Learn

Built-in guides

Three guides: skill anatomy, writing for AI comprehension, and directory structure. Never leave the terminal.

1 anatomy — The five layers
2 write — Rules for AI content
3 organize — Structure & naming
[05] Agent JSON

Agent-native output

Every command supports --json. Responses include next_actions arrays — valid follow-up commands the agent can execute.

{
  "next_actions": [
    "skillctl info pdf-toolkit"
    "skillctl list --json"
  ]
}
[06] Registries

Trusted registries

SHA-tracked. Only new or changed skills get re-indexed. Optional LLM enrichment at ~$0.0005/skill.

anthropics/skills 17 skills
vercel-labs/agent-skills 5 skills

One CLI. Two interfaces.

Human
terminal
skillctl install anthropics/skills --path skills/pdf

Cloned anthropics/skills
Linked → ~/.claude/skills/pdf
Registered in manifest

Installed! Skill is now available.
Agent
agent session
$ skillctl install anthropics/skills \
--path skills/pdf -y --json

{
"status": "installed",
"path": "~/.claude/skills/pdf",
"next_actions": [
"cat ~/.claude/skills/pdf/SKILL.md"
]
}
skillctl search "query"Find skills across local, registries, and GitHub
skillctl install user/repoClone, symlink, and register a skill
skillctl listShow installed skills with timestamps
skillctl info skill-nameDetailed skill card — author, tags, repo, status
skillctl create my-skillScaffold a new SKILL.md from template
skillctl update --allPull latest for git-installed skills
skillctl remove skill-nameUninstall with reference-counted cleanup
skillctl lint skill-nameScore a skill 0–100 against 8 quality checks
skillctl learnBuilt-in guides: anatomy, writing, organizing skills
skillctl registryManage trusted skill registries
skillctl configView and set configuration
skillctl schemaDump full CLI schema as JSON for agents

GET STARTED

$pip install skillctl
$pipx install skillctl
$pip install "skillctl[enrich]"

Then run skillctl learn to get started.