https://github.com/runkids/skillshare
📚 Sync skills across all AI CLI tools with one command and simplify team sharing. Supporting Claude Code, OpenClaw, OpenCode & more
https://github.com/runkids/skillshare
ai antigravity claude-code cli codex copilot cross-machine-sync cursor developer-tools gemini go openclaw opencode skills skills-audit skills-management skills-manager skills-ui skillshare team-management
Last synced: about 1 month ago
JSON representation
📚 Sync skills across all AI CLI tools with one command and simplify team sharing. Supporting Claude Code, OpenClaw, OpenCode & more
- Host: GitHub
- URL: https://github.com/runkids/skillshare
- Owner: runkids
- License: mit
- Created: 2026-01-14T10:07:46.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-01T19:30:26.000Z (about 1 month ago)
- Last Synced: 2026-03-01T19:49:14.111Z (about 1 month ago)
- Topics: ai, antigravity, claude-code, cli, codex, copilot, cross-machine-sync, cursor, developer-tools, gemini, go, openclaw, opencode, skills, skills-audit, skills-management, skills-manager, skills-ui, skillshare, team-management
- Language: Go
- Homepage: https://skillshare.runkids.cc
- Size: 71.3 MB
- Stars: 673
- Watchers: 4
- Forks: 41
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- skillshare-hub - skillshare
- awesome-openclaw - Skillshare
- awesome-openclaw - runkids/skillshare - Skill-Packs zwischen KI-Coding-Tools teilen und synchronisieren.  (Skills und Indizes)
README
skillshare
One source of truth for AI CLI skills. Sync everywhere with one command — from personal to organization-wide.
Claude Code, OpenClaw, OpenCode & 45+ more.
Website •
Install •
Quick Start •
Screenshots •
Commands •
Web UI •
Project Skills •
Organization Skills •
Hub •
Docs
> [!NOTE]
> **Recent Updates**
> | Version | Highlights |
> |---------|------------|
> | [0.12.0](https://github.com/runkids/skillshare/releases/tag/v0.12.0) | Skill Hub — generate indexes, search private catalogs with `--hub` |
> | [0.11.0](https://github.com/runkids/skillshare/releases/tag/v0.11.0) | Security Audit, Operation Log, Trash, Update Preview — full audit trail + safety net |
> | [0.10.0](https://github.com/runkids/skillshare/releases/tag/v0.10.0) | Web Dashboard — visual skill management via `skillshare ui` |
## 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](https://skillshare.runkids.cc/docs/guides/migration) and [detailed comparison](https://skillshare.runkids.cc/docs/guides/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](https://skillshare.runkids.cc/docs/guides/organizing-skills) and [runkids/my-skills](https://github.com/runkids/my-skills) for a real-world example.
## CLI and UI Preview
### CLI
| Sync | Install + Audit |
|---|---|
|
|
|
### UI
| Dashboard | Security Audit |
|---|---|
|
|
|
## Installation
### macOS / Linux
```bash
curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | sh
```
### Windows PowerShell
```powershell
irm https://raw.githubusercontent.com/runkids/skillshare/main/install.ps1 | iex
```
### Homebrew
```bash
brew install runkids/tap/skillshare
```
### Shorthand (Optional)
Add an alias to your shell config (`~/.zshrc` or `~/.bashrc`):
```bash
alias ss='skillshare'
```
### Uninstall
```bash
# 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
```bash
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 ` | Create a new skill template |
| `skillshare install ` | Install skill from local path or git source |
| `skillshare collect [target]` | Import skills from target(s) back to source |
| `skillshare update ` | Update one installed skill/repo |
| `skillshare update --all` | Update all tracked repos |
| `skillshare uninstall ` | 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 ` | 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 community [skillshare-hub](https://github.com/runkids/skillshare-hub).
### Target Management
```bash
skillshare target list
skillshare target add my-tool ~/.my-tool/skills
skillshare target remove my-tool
```
### Backup and Restore
```bash
skillshare backup
skillshare backup --list
skillshare restore
```
### Cross-machine Git Sync
```bash
skillshare push
skillshare pull
```
### Project Skills (Per Repo)
```bash
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:
```bash
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)
```bash
skillshare install github.com/team/skills --track
skillshare update _team-skills
skillshare sync
```
## Skill Hub
Build a searchable skill catalog for your team or community — no GitHub API required.
```bash
skillshare hub index # Generate index from installed skills
skillshare search --hub # Browse community 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 index
```
The 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 community hub lives at [runkids/skillshare-hub](https://github.com/runkids/skillshare-hub) — open a PR to submit your skills. CI automatically runs `skillshare audit` on every submission to ensure quality and security.
> [!TIP]
> See the [Hub Index Guide](https://skillshare.runkids.cc/docs/guides/hub-index) for schema details and hosting options.
## Web Dashboard
```bash
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:
```bash
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.
```bash
skillshare audit # Scan all skills
skillshare audit # 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](https://skillshare.runkids.cc/docs/commands/audit) for the full list of detection patterns.
## Docker
Use Docker for reproducible testing, interactive playgrounds, and production deployment.
### Test pipeline
```bash
make test-docker # offline sandbox (build + unit + integration)
make test-docker-online # optional network-dependent tests
```
### Interactive playground
```bash
make sandbox-up # start persistent playground
make sandbox-shell # enter playground shell
make sandbox-status # check container status
make sandbox-down # stop and remove
```
Inside the playground:
```bash
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
```
### Dev profile
```bash
# With Go installed locally (single command):
make ui-dev # Go API server + Vite HMR together
# Without Go (API in Docker):
make dev-docker-up # Go API server in Docker (:19420)
cd ui && pnpm run dev # Vite dev server on host (:5173)
make dev-docker-down # stop when done
```
### Production image
```bash
make docker-build # build production image
make docker-build-multiarch # build for amd64 + arm64
```
## Development
```bash
go build -o bin/skillshare ./cmd/skillshare
go test ./...
go vet ./...
gofmt -w ./cmd ./internal ./tests
```
Using `make`:
```bash
make build
make test
make lint
make fmt
make check
```
UI development helpers:
```bash
make ui-install
make ui-build
make ui-dev
make build-all
```
## Documentation
- 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
## Contributing
```bash
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
[](https://www.star-history.com/#runkids/skillshare&type=date&legend=top-left)
---
## License
MIT