Skill Sync

CLI zum Auflisten, Installieren, Aktualisieren und PR-Pushen von Claude-Skills gegen ein GitHub Source-of-Truth-Repo

von jdrhyne · jdrhyne/agent-skills

Getestet · Funktioniert ★ 8.0/10

Skill Sync — CLI zum Auflisten, Installieren, Aktualisieren und PR-Pushen von Claude-Skills gegen ein GitHub Source-of-Truth-Repo

Was es kann

Umschließt ein bash-Skript (skill-sync), das ein GitHub-Repo als kanonische Quelle für Agenten-Skills behandelt: Es klont/pull-cached das Repo, listet verfügbare Skills mit ihren Frontmatter-Beschreibungen auf, installiert einen oder alle in ein lokales Skills-Verzeichnis und pusht lokale Skill-Änderungen als Branch + PR über die gh CLI zurück. Wird ausgelöst, wenn Sie Skills im/vom gemeinsamen Repo installieren, aktualisieren, auflisten oder pushen möchten. Beachten Sie, dass das Standard-Installationsziel ~/clawd/skills (OpenClaw-Layout) ist, nicht ~/.claude/skills — setzen Sie CLAWD_SKILLS_DIR, um es auf das Skills-Verzeichnis von Claude Code zu verweisen.

Testbericht

Das Repo in ein temporäres HOME geklont und das eigentliche scripts/skill-sync-Binary ausgeführt. `list` klonte den Cache, führte einen ff-only pull durch und druckte alle 18 Skills unter skills/ mit Beschreibungen, die aus jedem SKILL.md-Frontmatter geparst wurden; `install planner` kopierte skills/planner/ in $CLAWD_SKILLS_DIR (exit 0), und die Installation eines ungültigen Namens druckte „not found in repository“ und beendete den Vorgang mit 1, wie codiert. Für OUTPUT verglich ich die Skill-Installation mit einer manuellen Baseline (git clone + cp): die resultierende planner/SKILL.md war byte-identisch, sodass der Artefakt-Vorteil auf Prozessebene liegt (Repo-Cache + ff-only pull, chmod +x auf Skripte, Update-vs-Install-Erkennung, --all mit Selbstüberspringung und ein vollständiger Branch→PR-Push-Flow) plus die Frontmatter-geparste `list`-Tabelle, die die Baseline nicht erzeugt. `push` konnte nicht getestet werden (benötigt gh + Schreibzugriff auf ein Repo, das ich nicht besitze). Keine Sicherheitslücken; das Skript verwendet nur $HOME/env-Variablen, kein curl|sh oder Geheimnisbehandlung, und SKILL.md warnt vor dem Committen von Geheimnissen. Hauptproblem: Standardziel ist ~/clawd/skills, nicht ~/.claude/skills, daher muss ein Claude Code-Benutzer CLAWD_SKILLS_DIR setzen.

Getestet am: 2026-07-31 · Claude Code 2.x (agent harness)

Installation

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/.

Befehle & Beispiel-Prompts

  • /skill-syncCLI zum Auflisten, Installieren, Aktualisieren und PR-Pushen von Claude-Skills gegen ein GitHub Source-of-Truth-Repo

Skills reagieren auf normale Anfragen — keine Slash-Befehle nötig. Nach der Installation aktivieren Prompts wie diese den Skill (auf Englisch):

  • Install the latest skills from the source repo
  • Push my local skill changes to GitHub
  • List which skills are out of sync