Skill Sync
CLI to list, install, update, and PR-push Claude skills against a GitHub source-of-truth repo
Test report
- Verdict
- Tested · Works
- Score
- Tested
- Jul 31, 2026
- Environment
- Claude Code 2.x (agent harness)
- Upstream re-checked
- Aug 10, 2026 · da12846
Cloned the repo into a temp HOME and ran the actual scripts/skill-sync binary. `list` cloned the cache, ff-only pulled, and printed all 18 skills under skills/ with descriptions parsed from each SKILL.md frontmatter; `install planner` copied skills/planner/ into $CLAWD_SKILLS_DIR (exit 0), and installing a bogus name printed "not found in repository" and exited 1 as coded. For OUTPUT I compared the skill's install against a manual baseline (git clone + cp): the resulting planner/SKILL.md was byte-identical, so the artifact edge is process-level (repo cache + ff-only pull, chmod +x on scripts, update-vs-install detection, --all with self-skip, and a full branch→PR push flow) plus the frontmatter-parsed `list` table baseline doesn't produce. Could not exercise `push` (needs gh + write access to a repo I don't own). No security smells; script uses $HOME/env vars only, no curl|sh or secret handling, and SKILL.md warns against committing secrets. Main friction: default target is ~/clawd/skills, not ~/.claude/skills, so a Claude Code user must set CLAWD_SKILLS_DIR.
Scored on four weighted criteria — install, triggering, output vs. baseline, docs. How scoring works
- Installs cleanly 5/5
- Triggers reliably 5/5
- Output vs. baseline 6/10
- Docs & honesty 4/5
What Skill Sync does
Wraps a bash script (skill-sync) that treats a GitHub repo as the canonical source for agent skills: it clones/pull-caches the repo, lists available skills with their frontmatter descriptions, installs one or all into a local skills directory, and pushes local skill edits back as a branch + PR via the gh CLI. Triggers when you ask to install, update, list, or push skills to/from the shared repo. Note the default install target is ~/clawd/skills (OpenClaw layout), not ~/.claude/skills — set CLAWD_SKILLS_DIR to point it at Claude Code's skills dir.
How to install Skill Sync
git clone --depth 1 https://github.com/jdrhyne/agent-skills.git /tmp/skill-sync-src
mkdir -p ~/.claude/skills
cp -R /tmp/skill-sync-src/clawdbot/skill-sync ~/.claude/skills/skill-sync
# The CLI lives at ~/.claude/skills/skill-sync/scripts/skill-sync (not on PATH by default).
# Run it directly or symlink onto PATH, e.g.:
# ln -sf ~/.claude/skills/skill-sync/scripts/skill-sync /usr/local/bin/skill-sync
# Requirements: git (always), and the `gh` CLI + repo write access ONLY for `skill-sync push`.
# Default paths (override via env):
# AGENT_SKILLS_REPO repo clone cache (default ~/.agent-skills-repo)
# CLAWD_SKILLS_DIR local install dir (default ~/clawd/skills) <-- set to ~/.claude/skills for Claude Code
# IMPORTANT: the script only lists/installs skills under the repo's skills/ dir,
# so it will NOT install skills from clawdbot/, codex/, or prompts/.
Skills live in ~/.claude/skills/ (global) or .claude/skills/
(per-project). Restart Claude Code after installing.
Commands — how to trigger Skill Sync
-
/skill-syncCLI to list, install, update, and PR-push Claude skills against a GitHub source-of-truth repo
It also activates on plain-language prompts like these:
-
Install the latest skills from the source repo -
Push my local skill changes to GitHub -
List which skills are out of sync
Frequently asked questions
- Is the Skill Sync skill free?
- Yes. The skill itself is free from jdrhyne/agent-skills. SkillProof publishes the install command and an independent test verdict at no cost.
- Does Skill Sync work with Claude Code?
- We tested it with Claude Code 2.x (agent harness) on Jul 31, 2026. Verdict: Tested · Works. Cloned the repo into a temp HOME and ran the actual scripts/skill-sync binary. `list` cloned the cache, ff-only pulled, and printed all 18 skills under skills/ with descriptions parsed from each SKILL.md frontmatter; `install planner` copied skills/planner/ into $CLAWD_SKILLS_DIR (exit 0), and installing a bogus name printed "not found in repository" and exited 1 as coded. For OUTPUT I compared the skill's install against a manual baseline (git clone + cp): the resulting planner/SKILL.md was byte-identical, so the artifact edge is process-level (repo cache + ff-only pull, chmod +x on scripts, update-vs-install detection, --all with self-skip, and a full branch→PR push flow) plus the frontmatter-parsed `list` table baseline doesn't produce. Could not exercise `push` (needs gh + write access to a repo I don't own). No security smells; script uses $HOME/env vars only, no curl|sh or secret handling, and SKILL.md warns against committing secrets. Main friction: default target is ~/clawd/skills, not ~/.claude/skills, so a Claude Code user must set CLAWD_SKILLS_DIR.
- What is the Skill Sync SkillProof Score?
- 8.0/10 — installs cleanly 5/5, triggers reliably 5/5, output vs. baseline 6/10, docs & honesty 4/5.
- How do I install Skill Sync?
- Copy the install command from this page, run it in your terminal, and restart Claude Code. Skills live in ~/.claude/skills/ (global) or .claude/skills/ inside a project.
- Can I use Skill Sync with Cursor, Copilot, Gemini CLI, Codex or other AI tools?
- The SKILL.md format is native to Claude (Claude Code, Desktop, claude.ai). The instructions inside adapt to other assistants: Cursor rules, GitHub Copilot instructions, Windsurf rules, Custom GPTs, AGENTS.md for OpenAI Codex, and GEMINI.md for Google Gemini CLI — our conversion guides cover each, and the free converter on the tools page does the wrapping for you.