Skip to content

Manage skills across AI agents (Claude Code, Codex, Clawdbot)

License

Notifications You must be signed in to change notification settings

thesash/skill-hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Skill Hub

Centralized skill management for distributing skills across AI agents (Claude Code, Codex, Clawdbot).

Installation

Homebrew (macOS)

brew tap thesash/tap
brew install skill-hub

Manual Install

# Clone the repo
git clone https://github.com/thesash/skill-hub.git
cd skill-hub

# Add to PATH (add to ~/.zshrc or ~/.bashrc)
export PATH="$PWD/scripts:$PATH"

# Install gum for interactive features (optional but recommended)
brew install gum

First-Time Setup

skill-hub init                # Creates ~/.skill-hub/
skill-hub new my-first-skill  # Create your first skill
skill-hub sync                # Sync skills to agents

Quick Start

skill-hub                     # Launch interactive menu (requires gum)
skill-hub status              # Detailed status

The interactive menu lets you:

  • Configure which skills each agent gets
  • Manage skills (view info, migrate to project repos)
  • Create and apply skill presets

Commands

Setup & Creation

skill-hub init                # Initialize ~/.skill-hub/ data directory
skill-hub new <name>          # Create a new skill from template
skill-hub path                # Print data directory path

View & Edit

skill-hub                     # Interactive menu (requires gum) - default when no command
skill-hub i                   # Same as above
skill-hub status              # Show skills and agent distribution
skill-hub list                # List all skills (shows central vs project-linked)
skill-hub info <skill>        # Show detailed info about a skill

Skill Distribution

skill-hub set <agent> <skills>      # Set skills ("all" or comma-separated)
skill-hub enable <agent> <skill>    # Add a skill to an agent
skill-hub disable <agent> <skill>   # Remove a skill from an agent
skill-hub copy <from> <to>          # Copy skills from one agent to another
skill-hub reset <agent>             # Reset agent to all skills
skill-hub sync [agent]              # Apply config to filesystem (create/update symlinks)
skill-hub uninstall [agent]         # Detach agents from hub (copy skills locally)

Presets

skill-hub preset create <name> <skills>   # Create a preset skill bundle
skill-hub preset list                     # List all presets
skill-hub preset show <name>              # Show skills in a preset
skill-hub preset apply <agent> <preset>   # Apply preset to an agent
skill-hub preset delete <name>            # Delete a preset

Agent Management

skill-hub add-agent <name> <path> [skills]     # Add agent target
skill-hub discover                             # Discover agents from clawdbot.json
skill-hub link-project <skill> <project-path>  # Link skill to project repo
skill-hub migrate <skill> [path]               # Move skill to its own project repo
skill-hub deps [install]                       # Check/install dependencies
skill-hub config [key] [value]                 # Get/set configuration

Adopting Agent-Created Skills

When agents create skills locally in their workspace, you can import them into skill-hub:

skill-hub local <agent>              # List local (non-symlinked) skills
skill-hub adopt <agent> <skill>      # Import skill into skill-hub

Configuration

Edit ~/.skill-hub/agents.conf:

# Format: name:path:skills
# skills: "all" or comma-separated list

claude-code:~/.claude/skills:all
codex:~/.codex/skills:bird,ynab,spreadsheet
clawdbot:~/.clawdbot/skills:all
  • all = symlink entire directory (agent gets everything)
  • skill1,skill2 = individual symlinks (agent only gets listed skills)
  • skills/.system holds Codex system skills; it is included when skills: all is used (directory symlink) but is hidden from explicit skill lists

Creating Skills

Skills are stored in ~/.skill-hub/skills/. Each skill needs a SKILL.md file with YAML frontmatter:

skill-hub new my-skill   # Creates ~/.skill-hub/skills/my-skill/SKILL.md

SKILL.md Format

---
name: my-skill
description: Brief description
allowed-tools: Bash, Read, Write, Edit
---

# My Skill

Instructions for the AI agent...

Adopting Agent-Created Skills

When an AI agent creates a skill in its local workspace (not through skill-hub), you can adopt it into the central hub:

# 1. See what local skills exist in an agent's workspace
skill-hub local clawdbot-main
#   meeting-researcher    [has SKILL.md]
#   my-new-skill          [has SKILL.md]

# 2. Adopt a skill into skill-hub
skill-hub adopt clawdbot-main meeting-researcher
# Copies to: ~/.skill-hub/skills/meeting-researcher/
# Replaces local with symlink

# 3. Enable for other agents
skill-hub enable claude-code meeting-researcher
skill-hub enable clawdbot meeting-researcher

The sync command will warn you if it detects local skills that aren't managed by skill-hub, giving you a chance to adopt them first.

Project-Linked Skills

Skills can live in two places:

  • Central (~/.skill-hub/skills/) - Simple, all skills together
  • Project-linked (your own repo) - Skill versions with its project

Migrating a Skill to Its Own Repo

When a skill grows complex enough to warrant its own repo:

# Configure your project directory (during init, or manually)
skill-hub config project_dir ~/p
skill-hub config git_init true

# Migrate a skill to its own repo
skill-hub migrate my-skill
# Creates: ~/p/my-skill/SKILL.md
# Symlink: ~/.skill-hub/skills/my-skill -> ~/p/my-skill

# Then push to GitHub if desired
cd ~/p/my-skill
gh repo create my-skill --private --source=. --push

Linking an Existing Repo

If you already have a skill in a project repo:

skill-hub link-project ynab-review ~/p/ynab-review

Skill Dependencies

Add a metadata: line in SKILL.md to declare dependencies:

metadata: {"clawdbot":{"requires":{"bins":["yt-dlp","ffmpeg"],"env":["API_KEY"]}}}

Architecture

~/.skill-hub/                        # User data directory
├── skills/                          # Your skills
│   ├── .system/                     # Codex system skills
│   ├── my-skill/                    # Central skill (directory)
│   │   └── SKILL.md
│   └── ynab-review -> ~/p/ynab-review  # Project-linked skill (symlink)
├── agents.conf                      # Agent configuration
├── presets.conf                     # Saved presets
└── settings.conf                    # User settings (project_dir, git_init)

~/p/ynab-review/                     # Project repo for a skill
├── SKILL.md                         # Skill definition at repo root
└── ...                              # Other project files

~/.claude/skills/my-skill -> ~/.skill-hub/skills/my-skill   # Agent symlinks
~/.codex/skills/my-skill -> ~/.skill-hub/skills/my-skill

Detaching (Uninstall)

To return to per-agent, local skill folders:

skill-hub uninstall          # All agents
skill-hub uninstall codex    # Single agent

This replaces directory or per-skill symlinks with local copies in each agent's skills directory. Project-linked skills remain symlinks to their repos. Running skill-hub sync later will re-apply whatever agents.conf specifies. Note: uninstall has not been tested yet.

Version Control Your Skills

Your skills live in ~/.skill-hub/ and can be version controlled independently:

cd ~/.skill-hub
git init
git add -A && git commit -m "My skills"
gh repo create my-skills --private --source=.

Environment Variables

  • SKILL_HUB_DATA - Override the data directory (default: ~/.skill-hub)

License

MIT

About

Manage skills across AI agents (Claude Code, Codex, Clawdbot)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages