复制安装命令
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
One source of truth for AI CLI skills, agents, rules, commands & more.
用 Codex 或 Claude 安装复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它先审查 Skill 页面再帮你安装。
复制前请先查看来源、License 和安全提示。
来源文件:README.md
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.
Website • Install • Quick Start • Highlights • Screenshots • Docs
[!NOTE] Latest: v0.20.0 — choose what
commit/push/pullversion 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 →
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:
skillshare sync.skillshare/, org-wide skills via tracked repos.skillignore, SKILL.md targets, and per-target include/excludeComing from another tool? Migration Guide · Comparison
~/.config/skillshare/%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) |
| Skill Detail | Security Audit |
|---|---|
![]() | ![]() |
| UI Dashboard | UI Skills |
|---|---|
![]() | ![]() |
curl -fsSL https://raw.githubusercontent.com/runkids/skillshare/main/install.sh | sh
irm https://raw.githubusercontent.com/runkids/skillshare/main/install.ps1 | iex
brew install skillshare
Tip: Run
skillshare upgradeto update to the latest version. It auto-detects your install method and handles the rest.
- uses: runkids/setup-skillshare@v1
with:
source: ./skills
- run: skillshare sync
See setup-skillshare for all options (audit, project mode, version pinning).
Add an alias to your shell config (~/.zshrc or ~/.bashrc):
alias ss='skillshare'
skillshare init # Create config, source, and detected targets
skillshare sync # Sync skills to all targets
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
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.
Thanks to everyone who helped shape skillshare.
If you find skillshare useful, consider giving it a ⭐
MIT
name: skillshare
description: |
Manages and syncs AI CLI skills and agents across 50+ tools from a single source.
Use this skill whenever the user mentions "skillshare", runs skillshare commands,
manages skills or agents (install, update, uninstall, sync, commit, audit, analyze, check, diff, search),
or troubleshoots skill/agent configuration (orphaned symlinks, broken targets, sync
issues). Covers both global (~/.config/skillshare/) and project (.skillshare/)
modes. Also use when: adding new AI tool targets (Claude, Cursor, Windsurf, etc.),
setting target include/exclude filters or copy vs symlink mode, using backup/restore
or trash recovery, piping skillshare output to scripts (--json), setting up CI/CD
audit pipelines, building/sharing skill hubs (hub index, hub add), or working with
agents (single .md files synced to agent-capable targets like Claude, Cursor,
Augment, OpenCode) via positional `agents` filter or `--kind agent`, plus
`.agentignore` and `enable`/`disable` for per-agent toggles.
argument-hint: "[command] [target] [--json] [--dry-run] [-p|-g]"
metadata:
version: v0.20.25Global: ~/.config/skillshare/skills/ → all AI CLIs. Project: .skillshare/skills/ → repo-local.
Auto-detects project mode when .skillshare/config.yaml exists. Force with -p or -g.
skillshare init --no-copy --all-targets --git --skill # Fresh global setup
skillshare init -p --targets "claude,cursor" # Fresh project setup
skillshare init --copy-from claude --all-targets --git # Import from existing CLI
skillshare init --discover --select "windsurf" # Add new AI tool later
skillshare install user/repo -s pdf,commit # Select specific skills
skillshare install user/repo --all # Install everything
skillshare install user/repo --into frontend # Place in subdirectory
skillshare install gitlab.com/team/repo # Any Git host
skillshare install user/repo --track # Enable `update` later
skillshare install user/repo -b develop --all # Install from branch
skillshare install user/repo --track -b develop # Track specific branch
skillshare install user/repo -s pdf -p # Install to project
skillshare install # Rehydrate remote skills/tracked repos
skillshare sync # Always sync after install
skillshare extras init rules --target ~/.claude/rules --target ~/.cursor/rules
skillshare extras init commands --target ~/.claude/commands --mode copy
skillshare extras init rules --target ~/.claude/rules --source ~/shared/rules # custom source (global only)
skillshare extras init rules --target ~/.cursor/rules --force # overwrite existing
skillshare extras init # Interactive TUI wizard (incl. source step)
skillshare extras source # Show current extras_source
skillshare extras source ~/shared/extras # Set global extras_source
skillshare extras list # Show status per target
skillshare extras list --json # JSON with source_type field
skillshare extras collect rules # Pull local files into source
skillshare extras remove rules # Remove from config (source preserved)
skillshare extras init agents --target ~/.claude/agents --flatten # Flatten subdirs into root
skillshare extras rules --mode copy # Change sync mode of a target
skillshare extras agents --flatten # Enable flatten on existing target
skillshare extras rules --add-target ~/.cursor/rules # Add a target to an existing extra
skillshare extras rules --remove-target ~/.cursor/rules --prune # Remove a target (--prune deletes synced files)
skillshare sync extras # Sync all extras to targets
skillshare sync extras --dry-run --force # Preview / overwrite conflicts
skillshare sync --all # Sync skills + extras together
Project extras always read from <sources.extras>/<name> (default .skillshare/extras/<name>); per-extra source and extras source are global-only. For project agents, prefer target agents: unless you need extras-only flatten/extension.
A target can set an extension: field in config.yaml to transform each source file during sync (e.g. markdown → TOML for Gemini/Codex); implies copy mode. See extras.md for details.
# Extension is a directory at .skillshare/extensions/<name>/
# extension.yaml controls: run command, output_ext, description
# Official extensions: https://github.com/runkids/skillshare/tree/main/extensions
extension.yaml format:
run: ["node", "convert.js"] # or ["python3", "convert.py"] etc.
output_ext: toml # renames output file extension
description: "MD → Codex TOML"
Add extension to an extras target in config.yaml:
extras:
- name: agents
targets:
- path: .claude/agents # plain copy/merge
- path: .codex/agents
extension: codex-agents # transform + rename to .toml
Caveats:
extension: is only supported on extras targets — native agents targets ignore itcopy mode; merge/symlink won't applyenv -u NODE_OPTIONS node convert.js in runskillshare new my-skill # Create with interactive pattern selection
skillshare new my-skill -P reviewer # Use reviewer pattern directly
skillshare search "react testing" # Search GitHub for skills
skillshare collect # Pull target-local changes back to source
skillshare uninstall my-skill # Remove one (moves to trash)
skillshare uninstall skill-a skill-b # Remove multiple
skillshare uninstall -G frontend # Remove entire group
skillshare sync # Always sync after uninstall
skillshare disable draft-* # Hide from sync (adds to .skillignore)
skillshare enable draft-* # Restore (removes from .skillignore)
skillshare disable my-skill -p # Project mode
skillshare disable my-skill --dry-run # Preview
# TUI: press E in `skillshare list` to toggle
skillshare sync # Always sync after toggle
# Creator: init project (see Getting Started) → add skills → commit .skillshare/
skillshare install -p && skillshare sync # Member: clone → install → sync
skillshare install github.com/team/repo --track -p # Track shared repo
skillshare commit -m "Update skill" # Local checkpoint, no push
skillshare push # Cross-machine: push on A
skillshare pull # Cross-machine: pull on B
skillshare hub add https://example.com/hub.json # Save a hub source
skillshare hub add https://example.com/hub.json --label my-hub # With custom label
skillshare hub add git@ghe.corp.com:team/skills.git --label ghe # SSH/private/GHE hub source
skillshare hub list # List saved hubs
skillshare hub default my-hub # Set default hub
skillshare hub remove my-hub # Remove a hub
skillshare hub index --source ~/.config/skillshare/skills/ --full --audit # Build hub index
# SKILL.md frontmatter: metadata.targets: [claude] → only syncs to Claude
skillshare target claude --add-include "team-*" # glob filter
skillshare target claude --add-agent-include "team-*" # agent glob filter
skillshare target claude --add-exclude "_legacy*" # exclude pattern
skillshare target claude --agent-mode copy # agents copy mode
skillshare target codex --mode copy && skillshare sync --force # copy mode
# .skillignore — hide skills/dirs from discovery (gitignore syntax)
# Root-level: <source>/.skillignore (affects all commands)
# Repo-level: <source>/_repo/.skillignore (scoped to that repo)
# .skillignore.local — local override (not committed), negation overrides base
See targets.md for details.
skillshare check # See what has updates
skillshare update my-skill && skillshare sync # Update one
skillshare update --all && skillshare sync # Update all
skillshare update --all --diff # Show what changed
skillshare status --json # Full status as JSON
skillshare check --json # Update status as JSON
skillshare sync --json # Sync results as JSON
skillshare diff --json # Diff results as JSON
skillshare install user/repo --json # Install result as JSON (implies --force --all)
skillshare update --all --json # Update results as JSON
skillshare uninstall my-skill --json # Global JSON; dirty tracked repos still require --force
skillshare collect claude --json # Collect result as JSON; existing items still require --force
skillshare target list --json # Target list as JSON
skillshare list --json # Skill list as JSON
skillshare search react --json # Search results as JSON
skillshare audit --format json # Audit results as JSON
skillshare doctor --json # Health check as JSON (exit 1 on errors)
skillshare trash restore <name> && skillshare sync # Undo delete
skillshare sync # Skill missing? Re-sync
skillshare doctor && skillshare status # Diagnose issues
skillshare install user/repo --force # Override audit block
skillshare install user/repo --skip-audit # Bypass scan entirely
See TROUBLESHOOTING.md for more.
| Commands | Project? | --json? |
|---|---|---|
status, diff, list, doctor | ✓ (auto) | ✓ |
sync, collect | ✓ (auto) | ✓ |
install, uninstall, update, check, search, new | ✓ (-p) | ✓ (except new) |
target, audit, analyze, trash, log, hub | ✓ (-p) | ✓ (target list, audit, analyze, log) |
extras init/list/remove/collect/source (+ --mode/--add-target/--remove-target flags on extras <name>) | ✓ (-p, except source) | ✓ (list, mode, targets) |
enable, disable | ✓ (auto) | ✗ |
commit, push, pull, backup, restore | ✗ | ✗ |
tui, upgrade | ✗ | ✗ |
ui | ✓ (-p) | ✗ |
--force, --all, -s, --targets, --no-copy, --all-targets, --yes.install, uninstall, update, collect, target all need sync.install auto-scans; CRITICAL blocks. --force to override, --skip-audit to bypass. Detects hardcoded secrets (API keys, tokens, private keys).trash restore <name> to undo. NEVER rm -rf symlinks.--json for structured data (12 commands support it, see Quick Lookup). --no-tui for plain text on TUI commands (list, log, audit, analyze, diff, trash list, backup list, target list). tui off disables TUI globally. --dry-run to preview.NODE_OPTIONS is preloaded by the Claude Code harness and causes node to crash when running extensions. Always use run: ["env", "-u", "NODE_OPTIONS", "node", "convert.js"] in extension.yaml when writing extensions that use Node.js.| Topic | File |
|---|---|
| Init flags | init.md |
| Sync/collect/commit/push/pull | sync.md |
| Install/update/uninstall/new | install.md |
| Status/diff/list/search/check | status.md |
| Security audit | audit.md |
| Trash | trash.md |
| Operation log | log.md |
| Targets | targets.md |
| Extras (rules/commands/prompts) | extras.md |
| Backup/restore | backup.md |
| Troubleshooting | TROUBLESHOOTING.md |
评论 (0)
暂无评论,成为第一个评论者吧!