Skip to main content

GitHub-backed skill registry: `skills-registry init` bootstraps a personal registry repo, `skill-registry-mcp` serves it over MCP, and the `skill-registry` Go CLI manages it.

Project description

skills-registry — One GitHub repo. Every AI agent. Skills fetched on demand.

skills-registry

One GitHub repo, every AI agent. Skills fetched on demand — not auto-loaded into every startup context.

CI Python License MCP Built with FastMCP Stars

skill-registry TUI

What it does

Your AI tools — Claude Code, Cursor, Codex, Goose, Windsurf, all of them — auto-load every skill you've installed into the agent's startup context. That's tokens you pay for whether the agent uses the skill or not.

skills-registry flips the model: skills live in one GitHub repo you own, and agents fetch them on demand through an MCP server. The only thing each agent auto-loads is a tiny pointer file that teaches it how to fetch the rest.

You get:

  • 🪶 Lighter agent startup. A directory of SKILL.md files no longer balloons every conversation's context window. Agents pull what they need, when they need it.
  • 🏠 One home for your skills. No more keeping ~/.claude/skills, ~/.cursor/skills, and ~/.factory/skills in sync by hand. Edit once, every agent sees it.
  • 🚀 Share and version like code. Your registry is a Git repo. Branch it, PR it, fork your teammate's, restore old versions, the works.

What's a "skill"?

A skill is a folder containing a SKILL.md (Markdown with optional YAML frontmatter) plus any supporting files the agent might need.

---
name: PDF Processing
description: Extract and summarize PDF documents
---

# PDF Processing

When the user asks about a PDF, do the following:
1. Read the file with the pdf-text tool
2. Summarize section by section
...

That's it — one file, plus whatever reference docs or examples the agent should be able to see. Most modern AI coding tools already understand this format; skills-registry lets you keep them all in one place.


Quick start

You need: GitHub CLI installed and authenticated (gh auth status should succeed) and uv (pipx install uv if you don't have it).

uvx skills-registry init

That's the whole install. The bootstrap will:

  1. Scan your AI tool dot-folders for existing skills.
  2. Prompt you for a registry repo name + visibility.
  3. Create the GitHub repo and push every skill it found.
  4. Ask which agents to wire up (multi-select TUI).
  5. Print the MCP config snippet to paste into your client.

After it finishes, paste the printed JSON into your MCP client config, reload, and ask your agent something like:

"What skills do I have available?" "Get the code-review skill and use it on this PR."

The agent calls list_skills and get_skill automatically — you never touch the MCP tools directly.


Daily use

Once you're set up, everything lives in the skill-registry TUI:

What you want Command
Browse what's in your registry skill-registry list
Pull one skill into the current folder skill-registry get <slug>
Push skills sitting in .claude/skills etc. into the registry skill-registry sync
Pull a skill from someone else's repo into yours skill-registry add <owner/repo>
Publish a new skill from a local folder skill-registry publish <path>
Re-run the bootstrap (idempotent) skill-registry bootstrap
skill-registry sync

Most users only ever touch list, get, and publish. The TUI is fuzzy-filterable; press / to search and Enter to preview.


vs. the alternatives

Local dot-folders Dotfiles repo skills-registry
One home for all your agents ❌ duplicated
Fetched on demand (no startup tokens)
Versioned + branchable
Works in every MCP client partial
Share / fork between users clunky ✅ (just clone the repo)
No shell or SSH config needed

Configuration

Most people never touch these — skills-registry init sets up sensible defaults. Override them via your shell or MCP client environment when you need to:

Variable Default What it does
SKILLS_REGISTRY (from config) Point at a different registry for one command: owner/repo or owner/repo@branch. Great for browsing a teammate's.
SKILLS_LOG_LEVEL INFO Bump to DEBUG if something's misbehaving.
XDG_CONFIG_HOME / XDG_CACHE_HOME OS default Where the registry config and skill cache live.

The registry repo URL itself is stored in ~/.config/skills-mcp/registry.toml.


Troubleshooting

"gh not found" or exit code 3

Install GitHub CLI from https://cli.github.com/ and run gh auth login. skills-registry deliberately uses gh for every GitHub call — no SSH key shenanigans, no git config user.email required — so it has to be on your PATH (or in ~/.local/bin, /opt/homebrew/bin, /usr/local/bin, or /usr/bin).

"No registry configured"

You haven't run skills-registry init yet, or your config file at ~/.config/skills-mcp/registry.toml is missing. Run skills-registry init, or set SKILLS_REGISTRY=owner/repo directly.

The MCP server doesn't show up in my client

Make sure you pasted the JSON snippet skills-registry init printed (the absolute path to skill-registry-mcp matters — desktop MCP clients don't inherit your shell PATH). Then fully restart the client (not just reload).

Multiple GitHub accounts

skills-registry uses whichever account gh auth status says is active. Use gh auth switch before init to pick the right one.


Manual MCP client config

skills-registry init prints platform-correct JSON, but if you prefer to set it up by hand:

Claude Code / Claude Desktop / Cursor / VS Code (mcp.json)
{
  "mcpServers": {
    "skill-registry": {
      "command": "/Users/you/.local/bin/skill-registry-mcp"
    }
  }
}
Codex (~/.codex/config.toml)
[mcp_servers.skill-registry]
command = "/Users/you/.local/bin/skill-registry-mcp"

Project status

skills-registry is at v0.5 — usable day-to-day but pre-1.0. The MCP tool surface (list_skills, get_skill, publish_skill) is stable. The CLI commands are stable. Internals may shift between minor versions; pin to a specific version if that worries you.

Found a bug? Have an idea? Open an issue. PRs welcome — see CONTRIBUTING.md.


More

  • 📖 docs/registry.md — architecture deep dive (Git Data API, caching, atomic publish)
  • 🛡️ SECURITY.md — threat model and reporting
  • 🤖 AGENTS.md — contributor notes for AI assistants working in this repo

Apache-2.0 · made by @anand-92

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

skills_registry-0.5.4.tar.gz (3.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

skills_registry-0.5.4-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

Details for the file skills_registry-0.5.4.tar.gz.

File metadata

  • Download URL: skills_registry-0.5.4.tar.gz
  • Upload date:
  • Size: 3.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skills_registry-0.5.4.tar.gz
Algorithm Hash digest
SHA256 a0b4bd357e459641dd6558145326cf89186cec6599ccb4d6c87793a916ee522d
MD5 88106206149f59860ed0c00c01a0f1b0
BLAKE2b-256 0c5c6e6cee28ea345e9be59669a594052d8ecd31f1aca59c23fddebd75bddf43

See more details on using hashes here.

File details

Details for the file skills_registry-0.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for skills_registry-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8ccb5bbd30e5223be4d55954533c73fa871d645548408ecdc5f3b9da98d64f07
MD5 2cc86b36779521f299b41ab31e87d681
BLAKE2b-256 4afe8ba29cf163521e000efa20ca448f9193423af0d28010aef0801a3a9d5f4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page