MCPcopy Index your code
hub / github.com/runkids/skillshare

github.com/runkids/skillshare @v0.20.21 sqlite

repository ↗ · DeepWiki ↗ · release v0.20.21 ↗
7,395 symbols 43,125 edges 804 files 2,548 documented · 34%
README

skillshare

skillshare

Website License: MIT Release Platform Go Report Card Ask DeepWiki

Star on GitHub

runkids%2Fskillshare | Trendshift

One source of truth for AI CLI skills, agents, rules, commands & more. Sync everywhere with one command — from personal to organization-wide.

Codex, Claude Code, OpenClaw, OpenCode & 60+ more.

skillshare demo

WebsiteInstallQuick StartHighlightsScreenshotsDocs

[!NOTE] Latest: v0.20.0 — choose what commit/push/pull version with git_root scope (skills, agents, extras, or all together in one repo); extras extension transforms convert Markdown to native formats (Gemini TOML commands, Codex TOML agents) during sync. All releases →

Why skillshare

Every AI CLI has its own skills directory. You edit in one, forget to copy to another, and lose track of what's where.

skillshare fixes this:

  • One source, every agent — sync to Claude, Cursor, Codex & 60+ more with skillshare sync
  • Agent management — sync custom agents alongside skills to agent-capable targets
  • More than skills — manage rules, commands, prompts & any file-based resource with extras
  • Install from anywhere — GitHub, GitLab, Bitbucket, Azure DevOps, or any self-hosted Git
  • Built-in security — audit skills for prompt injection and data exfiltration before use
  • Team-ready — project skills in .skillshare/, org-wide skills via tracked repos
  • Local & lightweight — single binary, no registry, no telemetry, fully offline-capable
  • Fine-grained filtering — control which skills reach which targets with .skillignore, SKILL.md targets, and per-target include/exclude

Coming from another tool? Migration Guide · Comparison

How It Works

  • macOS / Linux: ~/.config/skillshare/
  • Windows: %AppData%\skillshare\
┌─────────────────────────────────────────────────────────────┐
│                    Source Directory                         │
│   ~/.config/skillshare/skills/    ← skills (SKILL.md)       │
│   ~/.config/skillshare/agents/    ← agents                  │
│   ~/.config/skillshare/extras/    ← rules, commands, etc.   │
└─────────────────────────────────────────────────────────────┘
                              │ sync
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
       ┌───────────┐   ┌───────────┐   ┌───────────┐
       │  Claude   │   │  OpenCode │   │ OpenClaw  │   ...
       └───────────┘   └───────────┘   └───────────┘
Platform Skills Source Agents Source Extras Source Link Type
macOS/Linux ~/.config/skillshare/skills/ ~/.config/skillshare/agents/ ~/.config/skillshare/extras/ Symlinks
Windows %AppData%\skillshare\skills\ %AppData%\skillshare\agents\ %AppData%\skillshare\extras\ NTFS Junctions (no admin required)
Imperative (install-per-command) Declarative (skillshare)
Source of truth Skills copied independently Single source → symlinks (or copies)
New machine setup Re-run every install manually git clone config + sync
Security audit None Built-in audit + auto-scan on install/update
Web dashboard None skillshare ui
Runtime dependency Node.js + npm None (single Go binary)

Full comparison →

CLI and UI Preview

Skill Detail Security Audit
CLI sync output CLI install with security audit
UI Dashboard UI Skills
Web dashboard overview Web UI skills page

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 skillshare

Tip: Run skillshare upgrade to update to the latest version. It auto-detects your install method and handles the rest.

GitHub Actions

- uses: runkids/setup-skillshare@v1
  with:
    source: ./skills
- run: skillshare sync

See setup-skillshare for all options (audit, project mode, version pinning).

Shorthand (Optional)

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

alias ss='skillshare'

Quick Start

skillshare init            # Create config, source, and detected targets
skillshare sync            # Sync skills to all targets

Highlights

Install & update skills —from GitHub, GitLab, or any Git host

skillshare install github.com/reponame/skills
skillshare update --all
skillshare target claude --mode copy  # if symlinks don't work

Symlink issues? — switch to copy mode per target

skillshare target <name> --mode copy
skillshare sync

Security audit —scan before skills reach your agent

skillshare audit

Project skills —per-repo, committed with your code

skillshare init -p && skillshare sync

Agents —sync custom agents to agent-capable targets

skillshare sync agents            # sync agents only
skillshare sync --all             # sync skills + agents + extras together

Extras —manage rules, commands, prompts & more

skillshare extras init rules          # create a "rules" extra
skillshare sync --all                 # sync skills + extras together
skillshare extras collect rules       # collect local files back to source

Shell completion —tab-complete commands, flags, and subcommands

skillshare completion bash --install   # also: zsh, fish, powershell, nushell

Local checkpoints — commit source changes without pushing

skillshare commit -m "Update review skill"
skillshare commit --dry-run

Web dashboard — visual control panel

skillshare ui

All commands & guides →

Contributing

Contributions welcome! Open an issue first, then submit a draft PR with tests. See CONTRIBUTING.md for setup details.

git clone https://github.com/runkids/skillshare.git && cd skillshare
make check  # format + lint + test

[!TIP] Not sure where to start? Browse open issues or try the Playground for a zero-setup dev environment.

Contributors

Thanks to everyone who helped shape skillshare.

leeeezx Vergil333 romanr xocasdashdash philippe-granet terranc benrfairless nerveband EarthChen gdm257 skovtunenko TyceHerrman 1am2syman thealokkr JasonLandbridge masonc15 richardwhatever reneleonhardt ndeybach hhh2210 leoarry salmonumbrella daylamtayari dstotijn ipruning massukio kevincobain2000 StephenPAdams mk-imagine Curtion amdoi7 jessica-engel AlimuratYusup <img src="https://github.com/thor-shuang.png" width="50" style="border-radius:50%" alt="thor-sh

Extension points exported contracts — how you extend this code

Analyzer (Interface)
Analyzer is the pluggable analysis unit for the audit pipeline. Each analyzer encapsulates one detection strategy (regex [8 …
internal/audit/analyzers.go
ResourceKind (Interface)
ResourceKind encapsulates per-kind behavior for skills and agents. Each kind defines how resources are discovered, named [2 …
internal/resource/kind.go
InstallContext (Interface)
InstallContext abstracts the behavioral differences between global and project install modes so that InstallFromConfig c [2 …
internal/install/context.go
PendingInstall (Interface)
Saved install params for force-retry
ui/src/components/InstallForm.tsx
Props (Interface)
(no doc)
website/src/components/AsciinemaPlayer.tsx
ProgressCallback (FuncType)
ProgressCallback receives incremental progress lines from long-running git commands (clone/fetch/pull) when running in T
internal/install/git_progress.go
TargetGroup (Interface)
Merge targets with identical fingerprints into groups
ui/src/pages/AnalyzePage.tsx
Toast (Interface)
(no doc)
ui/src/components/Toast.tsx

Core symbols most depended-on inside this repo

WriteFile
called by 1261
internal/testutil/testutil.go
Cleanup
called by 1079
internal/testutil/testutil.go
NewSandbox
called by 1053
internal/testutil/testutil.go
RunCLI
called by 1027
internal/testutil/runner.go
AssertSuccess
called by 996
internal/testutil/assertions.go
Error
called by 833
internal/github/client.go
WriteConfig
called by 769
internal/testutil/testutil.go
AssertAnyOutputContains
called by 595
internal/testutil/assertions.go

Shape

Function 5,846
Method 794
Struct 523
Interface 201
TypeAlias 23
Class 4
FuncType 4

Languages

Go89%
TypeScript11%

Modules by API surface

ui/src/api/client.ts99 symbols
internal/ui/pterm.go73 symbols
tests/integration/audit_test.go68 symbols
internal/audit/audit.go66 symbols
internal/git/info.go64 symbols
internal/search/search.go59 symbols
cmd/skillshare/target_list_tui.go57 symbols
internal/config/config.go54 symbols
cmd/skillshare/extras_list_tui.go54 symbols
cmd/skillshare/list_tui.go52 symbols
internal/audit/audit_scan_skill_test.go51 symbols
tests/integration/init_test.go49 symbols

Dependencies from manifests, versioned

atomicgo.dev/cursorv0.2.0 · 1×
github.com/atotto/clipboardv0.1.4 · 1×
github.com/aymanbagabas/go-osc52/v2v2.0.1 · 1×
github.com/aymerick/douceurv0.2.0 · 1×
github.com/charmbracelet/colorprofilev0.4.1 · 1×
github.com/charmbracelet/lipglossv1.1.1-0.20250404203 · 1×

For agents

$ claude mcp add skillshare \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact