Skip to main content

A lightweight skill management utility for AI coding agents

Project description

Skillboard

A lightweight skill management utility for AI coding agents. Toggle skills on/off between your warehouse and active directories using symbolic links.

Python 3.9+ License: MIT PyPI version

Features

  • Simple Interactive UI - Checkbox-based selection using inquirer
  • 🔗 Symbolic Links - Efficiently enable/disable skills without copying
  • 📂 Multi-Agent Support - Works with Claude Code, OpenCode, Gemini CLI, and more
  • Fast Operations - Quickly toggle skills with keyboard shortcuts
  • 🎨 Beautiful Output - Rich terminal tables and colored output
  • 🔧 Configurable Paths - Customize skill directories via config file

Installation

Using pipx (Recommended)

pipx install skillboard

Using pip

pip install skillboard

From Source

git clone https://github.com/kriss-spy/skillboard.git
cd skillboard
pip install -e .

Quick Start

1. Initialize directories

skillboard init

This creates the default skill directories:

  • ~/.agent/skill-warehouse - Your skill source of truth
  • ~/.agent/skills - Standard agent skills
  • ~/.claude/skills - Claude Code skills
  • ~/.config/opencode/skills - OpenCode skills
  • ~/.gemini/skills - Gemini CLI skills
  • ~/.gemini/antigravity/skills - Antigravity skills

2. List available skills

skillboard list              # Show all .agent skills (global + local)
skillboard list claude       # Show Claude skills (~/.claude/skills + ./claude/skills)
skillboard list agent        # Show agent skills (~/.agent/skills + ./agent/skills)
skillboard list gemini       # Show Gemini skills (~/.gemini/skills + ./gemini/skills)

3. List configured paths

skillboard list-path

3. Sync skills interactively

# Sync from warehouse to Claude Code
skillboard sync -o claude

# Or specify source explicitly
skillboard sync -i warehouse -o claude

# Using paths directly
skillboard sync -i ~/.agent/skill-warehouse -o ~/.claude/skills

4. List skills without interactive mode

skillboard sync -o claude --no-tui

Commands

init

Initialize skillboard configuration and create default directories.

skillboard init

list

List available skills from both global and local locations.

skillboard list              # Show .agent skills (~/.agent/skills + ./.agent/skills)
skillboard list claude       # Show Claude skills (~/.claude/skills + ./claude/skills)
skillboard list agent        # Show agent skills (~/.agent/skills + ./agent/skills)
skillboard list gemini       # Show Gemini skills (~/.gemini/skills + ./gemini/skills)

Shows skills from:

  • Global: The agent's directory in home (e.g., ~/.claude/skills)
  • Local: The agent's directory in current project (e.g., ./claude/skills)

list-path

Show all configured skill paths and their existence status.

skillboard list-path

sync

Sync skills between source and target directory.

Interactive mode (default):

# Sync from global skills (default)
skillboard sync -o claude
skillboard sync -o claude -g

# Sync from local skills
skillboard sync -o claude -l

# Sync to different agents
skillboard sync -o agent
skillboard sync -o gemini
skillboard sync -o opencode

List-only mode:

skillboard sync -o claude --no-tui

Options:

  • -o, --output: Target directory (required) - agent, claude, gemini, opencode, antigravity
  • -g, --global: Use global skills from ~/.agent/skills (default)
  • -l, --local: Use local skills from ./.agent/skills
  • -i, --input: Explicit source directory (overrides -g/-l)
  • --no-tui: Run in list-only mode

Available aliases:

  • warehouse: ~/.agent/skill-warehouse
  • agent: ~/.agent/skills
  • claude: ~/.claude/skills
  • opencode: ~/.config/opencode/skills
  • gemini: ~/.gemini/skills
  • antigravity: ~/.gemini/antigravity/skills

copy

Copy skills from source to target (creates actual copies, not symlinks).

skillboard copy warehouse claude

How It Works

Skillboard treats your warehouse (~/.agent/skill-warehouse) as the source of truth. When you "enable" a skill:

  1. A symbolic link is created in the target directory pointing to the skill in the warehouse
  2. The AI agent sees the skill and loads it

When you "disable" a skill:

  1. The symbolic link is removed from the target directory
  2. The AI agent no longer sees the skill

This approach:

  • ✅ Keeps one master copy of each skill
  • ✅ Instantly adds/removes skills from agent context
  • ✅ Prevents context bloat by only having enabled skills visible
  • ✅ Saves disk space (no copies needed)

Configuration

Configuration is stored in ~/.config/skillboard/config.yaml:

paths:
  agent: ~/.agent/skills
  antigravity: ~/.gemini/antigravity/skills
  claude: ~/.claude/skills
  gemini: ~/.gemini/skills
  opencode: ~/.config/opencode/skills
  warehouse: ~/.agent/skill-warehouse

You can customize these paths by editing the config file.

Development

# Clone the repository
git clone https://github.com/kriss-spy/skillboard.git
cd skillboard

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install in development mode
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black skillboard/
ruff check --fix skillboard/

Project Structure

skillboard/
├── skillboard/
│   ├── __init__.py      # Package metadata
│   ├── cli.py           # CLI commands
│   ├── config.py        # Configuration management
│   ├── manager.py       # Skill scanning & symlink operations
│   └── tui.py           # Interactive checkbox interface
├── pyproject.toml       # Package configuration
├── LICENSE              # MIT License
└── README.md            # This file

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Inspired by OpenSkills for the checkbox interface pattern
  • Built with Click for CLI and Rich for beautiful output
  • Uses inquirer for interactive prompts

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

skillboard-0.2.0.tar.gz (23.5 kB view details)

Uploaded Source

Built Distribution

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

skillboard-0.2.0-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file skillboard-0.2.0.tar.gz.

File metadata

  • Download URL: skillboard-0.2.0.tar.gz
  • Upload date:
  • Size: 23.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skillboard-0.2.0.tar.gz
Algorithm Hash digest
SHA256 069fb3b74ac6f89fd9f6dc88fe8d31c8bb53a4ea730545fa37d7708c9249f76d
MD5 7010648740398308c8afe8d99dae562a
BLAKE2b-256 03c43547ff1dfeb6cc544518d72c9919a4753a350431f0b2f29a36b2643f313c

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillboard-0.2.0.tar.gz:

Publisher: ci.yml on kriss-spy/skillboard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file skillboard-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: skillboard-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 15.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for skillboard-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 13622b39d3bb7260c3e8e33a63a27558cb29e6633b96b2fde57fcd69ce1256c4
MD5 edf518464e456120c2d9df6ecde6dbb3
BLAKE2b-256 dd9526df5183eee247be10ed7feb7d628da691f63959c057490d972b021f547d

See more details on using hashes here.

Provenance

The following attestation bundles were made for skillboard-0.2.0-py3-none-any.whl:

Publisher: ci.yml on kriss-spy/skillboard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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