One source of truth for AI CLI skills. Sync everywhere with one command β from personal to organization-wide.
Claude Code, OpenClaw, OpenCode & 49+ more.
Website β’ Install β’ Quick Start β’ Screenshots β’ Commands β’ Web UI β’ Project Skills β’ Organization Skills β’ Hub β’ Docs
Note
Recent Updates
| Version | Highlights |
|---|---|
| 0.15.x | Copy sync mode, private repo HTTPS token auth, pull merges by default, multi-name audit with --group, parallel audit scanning, external-link detection rule |
| 0.14.0 | Global skill manifest, .skillignore, multi-skill/group uninstall, license display, 6 new audit rules |
| 0.13.0 | Skill-level targets, XDG compliance, unified target names, runtime UI download |
| 0.12.0 | Skill Hub β generate indexes, search private catalogs with --hub |
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
collectso improvements never get trapped in one tool. - Cross-machine ready: Git-native
push/pullkeeps 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 uifor browsing, install, target management, and sync status in one place.
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 (or copies) |
| 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.
- macOS / Linux:
~/.config/skillshare/skills/ - Windows:
%AppData%\skillshare\skills\
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Source Directory β
β ~/.config/skillshare/skills/ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β sync
βββββββββββββββββΌββββββββββββββββ
βΌ βΌ βΌ
βββββββββββββ βββββββββββββ βββββββββββββ
β Claude β β OpenCode β β OpenClaw β ...
βββββββββββββ βββββββββββββ βββββββββββββ
| Platform | Source Path | Link Type |
|---|---|---|
| macOS/Linux | ~/.config/skillshare/skills/ |
Symlinks |
| Windows | %AppData%\skillshare\skills\ |
NTFS Junctions (no admin required) |
Targets that can't follow symlinks? Use
skillshare target <name> --mode copyto sync as real files instead.
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.
| Sync | Install + Audit |
|---|---|
![]() |
![]() |
| Dashboard | Security Audit |
|---|---|
![]() |
![]() |
curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | shirm https://raw.githubusercontent.com/runkids/skillshare/main/install.ps1 | iexbrew install skillshareNote: All install methods include the web dashboard.
skillshare uiautomatically downloads UI assets on first launch β no extra setup needed.
Tip: To update to the latest version, run
skillshare upgrade. It auto-detects your install method (Homebrew, manual, etc.) and handles the rest.
Add an alias to your shell config (~/.zshrc or ~/.bashrc):
alias ss='skillshare'# macOS/Linux
brew uninstall skillshare # Homebrew
sudo rm /usr/local/bin/skillshare # Manual install
rm -rf ~/.config/skillshare # Config & skills (optional)
rm -rf ~/.local/share/skillshare # Backups & trash (optional)
rm -rf ~/.local/state/skillshare # Logs (optional)
rm -rf ~/.cache/skillshare # UI & version cache (optional)
# Windows (PowerShell)
Remove-Item "$env:LOCALAPPDATA\Programs\skillshare" -Recurse -Force
Remove-Item "$env:APPDATA\skillshare" -Recurse -Force # optionalskillshare init --dry-run # Preview setup
skillshare init # Create config, source, and detected targets
skillshare sync # Sync skills to all targets| 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 source, or all skills from config (no args) |
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>... [-G <group>] |
Remove skill(s) or groups 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 --hub [url] |
Search a hub index (default: skillshare-hub) |
skillshare hub index |
Generate a hub index from installed skills |
skillshare search requires GitHub auth (gh auth login) or GITHUB_TOKEN. The --hub flag searches a JSON index instead β without a URL it defaults to the public skillshare-hub.
skillshare target list
skillshare target add my-tool ~/.my-tool/skills
skillshare target remove my-toolskillshare backup
skillshare backup --list
skillshare restore <target>skillshare push
skillshare pullskillshare init -p
skillshare new my-skill -p
skillshare install anthropics/skills/skills/pdf -p
skillshare install github.com/team/skills --track -p
skillshare syncProject mode keeps skills in .skillshare/skills/ so they can be committed and shared with the repo. In both global and project mode, config.yaml acts as a portable skill manifest β run skillshare install with no arguments to install all listed skills:
# Global β new machine setup
skillshare install # Installs all skills from ~/.config/skillshare/config.yaml
skillshare sync
# Project β new team member onboarding
git clone github.com/your/project && cd project
skillshare install -p # Installs all skills from .skillshare/config.yaml
skillshare syncskillshare install github.com/team/skills --track
skillshare update _team-skills
skillshare syncBuild a searchable skill catalog for your organization β no GitHub API required.
skillshare hub index # Generate index from installed skills
skillshare search --hub # Browse the public skillshare-hub
skillshare search react --hub # Search "react" in skillshare-hub
skillshare search --hub ./skillshare-hub.json react # Search custom local index
skillshare search --hub https://example.com/hub.json # Search custom remote indexThe generated skillshare-hub.json follows a versioned schema (schemaVersion: 1) with support for tags and multi-skill repos. Host it on any static server, internal CDN, or commit it alongside your skills repo.
The public hub at runkids/skillshare-hub is the built-in default. Fork it to bootstrap your organization's internal hub β CI validation and skillshare audit security scans are included out of the box.
Tip
See the Hub Index Guide for schema details and hosting options.
skillshare ui # Global mode
skillshare ui -p # Project mode (manages .skillshare/)- Opens
http://127.0.0.1:19420 - Requires
skillshare init(orinit -pfor project mode) first - Auto-detects project mode when
.skillshare/config.yamlexists - UI assets are downloaded on first launch (~1 MB), then cached offline at
~/.cache/skillshare/ui/
For containers/remote hosts:
skillshare ui --host 0.0.0.0 --no-openThen access: http://localhost:19420
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 skillSkills are also scanned automatically during skillshare install.
skillshare installruns an audit by default.- Block threshold is configurable with
audit.block_threshold(CRITICALdefault; also supportsHIGH,MEDIUM,LOW,INFO). audit.block_thresholdonly 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
--forceto override blocked installs while still running audit (findings remain visible). - Use
--skip-auditto bypass scanning for a single install command. - If both are set,
--skip-audittakes precedence in practice (audit is not executed).
Tip
See the Securing Your Skills guide for a complete security workflow, or the audit command reference for the full list of detection patterns.
Use Docker for reproducible testing, interactive playgrounds, and production deployment.
make test-docker # offline sandbox (build + unit + integration)make playground # start + enter shell (one step)
make playground-down # stop and remove
# Advanced sandbox management:
./scripts/sandbox.sh <up|down|shell|reset|status|logs|bare>Inside the playground:
skillshare status # global mode (pre-initialized)
skillshare list # see flat + nested skills
skillshare-ui # start global-mode dashboard (:19420)
# Project mode (pre-configured demo project)
cd ~/demo-project
skillshare status # auto-detects project mode
skillshare-ui-p # project mode dashboard (:19420)# With Go installed locally (single command):
make ui-dev # Go API server + Vite HMR together
# Without Go (API in Docker):
make dev-docker # Go API server in Docker (:19420)
cd ui && pnpm run dev # Vite dev server on host (:5173)
make dev-docker-down # stop when donemake docker-build # build production image
make docker-build-multiarch # build for amd64 + arm64Pre-built images are published to GitHub Packages on each release.
Recommended: Open in Dev Containers β Go toolchain, Node.js, pnpm, and demo content are pre-configured. All dev servers (API, Vite, Docusaurus) start automatically.
make build # build binary
make test # unit + integration tests
make lint # go vet
make fmt # format Go files
make check # fmt + lint + test
make ui-dev # Go API server + Vite HMR together
make build-all # frontend + Go binary- Docs home: https://skillshare.runkids.cc/docs/
- Commands: https://skillshare.runkids.cc/docs/commands
- Guides: https://skillshare.runkids.cc/docs/guides/
- Troubleshooting: https://skillshare.runkids.cc/docs/troubleshooting/faq
Contributions are welcome! Here's the recommended workflow:
- Open an issue first β describe what you'd like to change and why. This helps align on scope and approach before writing code.
- Submit a draft PR β if you'd like to propose an implementation, open a draft pull request and link it to the issue. Draft PRs let us collaborate on the approach early, before investing time in polish.
- Include tests β PRs that include test coverage are much easier to review and merge. Run
make check(format + lint + test) to verify before submitting.
git clone https://github.com/runkids/skillshare.git
cd skillshare
make check # format + lint + test (must pass)Or open in Dev Containers for a zero-setup environment.
Tip
Not sure where to start? Browse open issues or open a new one to discuss your idea.
Thanks to everyone who helped shape skillshare through issues, PRs, and ideas.
If you find skillshare useful, consider giving it a β
MIT





