- User Goal: As an agentic engineer, I want to be able to be able to maintain my Claude, Codex, Antigravity, etc. skills in a single Github repo and be able to manage my skills in a centralized manner.
- Secondary User Goal: As an agentic engineer, I want to be able to quickly be able to port over my skills from I/ADE to I/ADE (Claude to Codex, etc.)
- Tertiary User Goal: As an agentic engineer, I want to be able to test out skills locally first and then be able to add them to my centralized skills repo once I'm satisfied with said skill.
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | shWindows (PowerShell):
irm https://raw.githubusercontent.com/runkids/skillshare/main/install.ps1 | iexmacOS (Homebrew alternative):
brew install skillshareOptional convenience alias — add to your ~/.zshrc or ~/.bashrc:
alias ss='skillshare'Go to GitHub and create a new private repository (e.g., my-skills). Don't add any files — keep it empty. Copy the SSH URL, which will look like:
git@github.com:yourusername/my-skills.git
If you already have skills in Claude, Codex, or other tools, back them up first:
skillshare backupRun this one command — it creates the source directory, initializes git, adds the remote, and auto-detects all your installed AI CLI tools:
skillshare init --remote git@github.com:yourusername/my-skills.gitIf you already have skills scattered across Claude, Cursor, Codex, or other tools, collect them all into the single source directory:
skillshare collect --allThis copies local skills into ~/.config/skillshare/skills/ (the single source of truth) and replaces the originals with symlinks. If a skill exists in multiple places, it will warn you about duplicates — the source version wins by default.
skillshare syncThis syncs your source directory to Claude Code, OpenClaw, OpenCode, and any other detected AI CLI tools.
skillshare push -m "Initial commit: all my skills"Under the hood this runs git add -A, commits with your message, and pushes — auto-setting the upstream branch on first push.
Write your skill anywhere in ~/.config/skillshare/skills/your-skill-name/SKILL.md, then push it up:
skillshare push -m "Add my new skill"Because all targets are symlinked to that source directory, the skill is instantly available in Claude, Codex, Anti-Gravity, etc. — no extra sync step needed.
This is the "upload what was missing" scenario you asked about. Because skillshare uses symlinks, anything you add directly to ~/.claude/skills/ is already in the source directory automatically. Just push:
skillshare push -m "Add skill I added manually to Claude"If you added it to a non-symlinked location (e.g., a tool that uses copy mode), run collect first:
skillshare collect --all
skillshare push -m "Collect and upload manually added skills"On any new machine, the same init command works — it detects that the remote already has skills and pulls them down automatically:
skillshare init --remote git@github.com:yourusername/my-skills.gitskillshare pullpull automatically runs sync after pulling, so everything stays in sync in one command.
Add this to your ~/.zshrc or ~/.bashrc so you're always up to date:
skillshare pull 2>/dev/null| Goal | Command |
|---|---|
| Check status | skillshare status |
| List all skills | skillshare list |
| Push your changes | skillshare push -m "description" |
| Pull from GitHub | skillshare pull |
| Collect manually added skills | skillshare collect --all |
| Sync all targets | skillshare sync |
| Add a new AI tool later | skillshare init --discover |
| Security audit | skillshare audit |
| Visual dashboard | skillshare ui |
The key mental model: ~/.config/skillshare/skills/ is your single source of truth. All your AI tools point to it via symlinks, GitHub is its remote backup, and push/pull keeps everything in sync across machines.