Skip to content

πŸ“š Sync skills across all AI CLI tools with one command and simplify team sharing. Supporting Claude Code, OpenClaw, OpenCode & more

License

Notifications You must be signed in to change notification settings

runkids/skillshare

Repository files navigation

skillshare

skillshare

Website License: MIT Go Version Release Platform Go Report Card Ask DeepWiki

Star on GitHub

One source of truth for AI CLI skills. Sync everywhere with one command β€” from personal to organization-wide.
Claude Code, OpenClaw, OpenCode & 45+ more.

skillshare demo

Website β€’ Install β€’ Quick Start β€’ Screenshots β€’ Commands β€’ Web UI β€’ Project Skills β€’ Organization Skills β€’ Docs

Note

Recent Updates

Version Highlights
0.11.0 Security Audit, Operation Log, Trash, Update Preview β€” full audit trail + safety net
0.10.0 Web Dashboard β€” visual skill management via skillshare ui
0.9.0 Project-level skills β€” scope skills to a single repo, share via git

Why skillshare

Stop managing skills tool-by-tool. skillshare gives you one shared skill source and pushes it everywhere your AI agents work.

  • One command, everywhere: Sync to Claude Code, Codex, Cursor, OpenCode, and more with skillshare sync.
  • Safe by default: Non-destructive merge mode keeps CLI-local skills intact while sharing team skills.
  • True bidirectional flow: Pull skills back from targets with collect so improvements never get trapped in one tool.
  • Cross-machine ready: Git-native push/pull keeps all your devices aligned.
  • Team + project friendly: Use global skills for personal workflows and .skillshare/ for repo-scoped collaboration.
  • Folder-friendly: Organize skills in folders (e.g. frontend/react/) β€” auto-flattened to flat names on sync.
  • Privacy-first: No central registry, no telemetry, no install tracking. Your skill setup stays entirely local.
  • Built-in security audit: Scan skills for prompt injection, data exfiltration, and other threats before they reach your AI agent.
  • Visual control panel: Open skillshare ui for browsing, install, target management, and sync status in one place.

Comparison

skillshare uses a declarative approach: define your targets once in config.yaml, then sync handles everything β€” no prompts, no repeated selections.

Imperative (install-per-command) Declarative (skillshare)
Config No config; prompts every run config.yaml β€” set once
Agent selection Interactive prompt each time Defined in config
Install method Choose per operation sync_mode in config
Source of truth Skills copied independently Single source β†’ symlinks
Remove one agent's skill May break other agents' symlinks Only that target's symlink removed
New machine setup Re-run every install manually git clone config + sync
Project-scoped skills Global lock file only init -p for per-repo skills
Cross-machine sync Manual Built-in push / pull
Bidirectional Install only collect pulls changes back
Security audit None Built-in audit + auto-scan on install
Web dashboard None skillshare ui
Runtime dependency Node.js + npm None (single Go binary)

Tip

Coming from another tool? See the Migration Guide and detailed comparison.

How It Works

  • macOS / Linux: ~/.config/skillshare/skills/
  • Windows: %USERPROFILE%\.config\skillshare\skills\
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                       Source Directory                      β”‚
β”‚                 ~/.config/skillshare/skills/                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                              β”‚ sync
              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
              β–Ό               β–Ό               β–Ό
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β”‚  Claude   β”‚   β”‚  OpenCode β”‚   β”‚ OpenClaw  β”‚   ...
       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Platform Source Path Link Type
macOS/Linux ~/.config/skillshare/skills/ Symlinks
Windows %USERPROFILE%\.config\skillshare\skills\ NTFS Junctions (no admin required)

Tip

Skills can be organized in folders (e.g. frontend/react/react-best-practices/) β€” they're auto-flattened on sync. See the Organizing Guide and runkids/my-skills for a real-world example.

CLI and UI Preview

CLI

Sync Install + Audit
CLI sync output CLI install with security audit

UI

Dashboard Security Audit
Web dashboard overview Web UI security audit

Installation

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | sh

Windows PowerShell

irm https://raw.githubusercontent.com/runkids/skillshare/main/install.ps1 | iex

Homebrew

brew install runkids/tap/skillshare

Shorthand (Optional)

Add an alias to your shell config (~/.zshrc or ~/.bashrc):

alias ss='skillshare'

Uninstall

# macOS/Linux
brew uninstall skillshare               # Homebrew
sudo rm /usr/local/bin/skillshare       # Manual install
rm -rf ~/.config/skillshare             # Config & data (optional)

# Windows (PowerShell)
Remove-Item "$env:LOCALAPPDATA\Programs\skillshare" -Recurse -Force
Remove-Item "$env:USERPROFILE\.config\skillshare" -Recurse -Force  # optional

Quick Start

skillshare init --dry-run  # Preview setup
skillshare init            # Create config, source, and detected targets
skillshare sync            # Sync skills to all targets

Common Workflows

Daily Commands

Command What it does
skillshare list List skills in source
skillshare status Show sync status for all targets
skillshare sync Sync source skills to all targets
skillshare diff Preview differences before syncing
skillshare doctor Diagnose config/environment issues
skillshare new <name> Create a new skill template
skillshare install <source> Install skill from local path or git source
skillshare collect [target] Import skills from target(s) back to source
skillshare update <name> Update one installed skill/repo
skillshare update --all Update all tracked repos
skillshare uninstall <name> Remove skill from source
skillshare audit [name] Scan skills for security threats
skillshare log View operations and audit logs for debugging and compliance
skillshare search <query> Search installable skills on GitHub

skillshare search requires GitHub auth (gh auth login) or GITHUB_TOKEN.

Target Management

skillshare target list
skillshare target add my-tool ~/.my-tool/skills
skillshare target remove my-tool

Backup and Restore

skillshare backup
skillshare backup --list
skillshare restore <target>

Cross-machine Git Sync

skillshare push
skillshare pull

Project Skills (Per Repo)

skillshare init -p
skillshare new my-skill -p
skillshare install anthropics/skills/skills/pdf -p
skillshare install github.com/team/skills --track -p
skillshare sync

Project mode keeps skills in .skillshare/skills/ so they can be committed and shared with the repo. The config.yaml acts as a portable skill manifest β€” anyone who clones the repo (team members, open source contributors, community users) can reproduce the exact same AI skill setup:

git clone github.com/your/project && cd project
skillshare install -p    # Installs all skills listed in config (tracked repos included)
skillshare sync

Organization Skills (Tracked Repo)

skillshare install github.com/team/skills --track
skillshare update _team-skills
skillshare sync

Web Dashboard

skillshare ui            # Global mode
skillshare ui -p         # Project mode (manages .skillshare/)
  • Opens http://127.0.0.1:19420
  • Requires skillshare init (or init -p for project mode) first
  • Auto-detects project mode when .skillshare/config.yaml exists
  • Runs from the same CLI binary (no extra frontend setup)

For containers/remote hosts:

skillshare ui --host 0.0.0.0 --no-open

Then access: http://localhost:19420

Security Audit

Scan installed skills for prompt injection, data exfiltration, credential theft, and other threats before they reach your AI agent.

skillshare audit            # Scan all skills
skillshare audit <name>     # Scan a specific skill

Skills are also scanned automatically during skillshare install.

  • skillshare install runs an audit by default.
  • Block threshold is configurable with audit.block_threshold (CRITICAL default; also supports HIGH, MEDIUM, LOW, INFO).
  • audit.block_threshold only controls blocking level; it does not disable scanning.
  • There is no config flag to permanently skip audit. To bypass a single install, use --skip-audit.
  • Use --force to override blocked installs while still running audit (findings remain visible).
  • Use --skip-audit to bypass scanning for a single install command.
  • If both are set, --skip-audit takes precedence in practice (audit is not executed).

Tip

See the audit command reference for the full list of detection patterns.

Docker Sandbox

Use Docker for reproducible offline testing and an interactive playground.

Offline test pipeline

make test-docker
# or
./scripts/test_docker.sh

Optional online install/update checks

make test-docker-online
# or
./scripts/test_docker_online.sh

Interactive playground

make sandbox-up
make sandbox-shell
make sandbox-down

Inside the playground:

skillshare --help
skillshare init --dry-run
skillshare ui --host 0.0.0.0 --no-open

# Project mode (pre-configured demo project)
cd ~/demo-project
skillshare status
skillshare-ui-p          # project mode dashboard on port 19420

Development

go build -o bin/skillshare ./cmd/skillshare
go test ./...
go vet ./...
gofmt -w ./cmd ./internal ./tests

Using make:

make build
make test
make lint
make fmt
make check

UI development helpers:

make ui-install
make ui-build
make ui-dev
make build-all

Documentation

Contributing

git clone https://github.com/runkids/skillshare.git
cd skillshare
go build -o bin/skillshare ./cmd/skillshare
go test ./...

Issues and PRs are welcome: https://github.com/runkids/skillshare/issues


If you find skillshare useful, consider giving it a ⭐

Star History

Star History Chart


License

MIT