Skip to content
This repository was archived by the owner on Oct 2, 2026. It is now read-only.
thesashPublic archive

About

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

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

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

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages