Skill Sync

CLI to list, install, update, and PR-push Claude skills against a GitHub source-of-truth repo

Tested · Works

Test report

Verdict
Tested · Works
Score
8.0/10
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-sync CLI 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.