dsh-skill-sync
DSH plugin: keeps a local skills-repo mirror up to date (periodic git pull + /skills-sync)
- Stars
- 0
- Language
- JavaScript
- Created
- Oct 16, 2026
- Updated
- Oct 16, 2026
Introduction
dsh-skill-sync
Thin wrapper around the mattpocock skills sync script, exposed as a DSH command and an opt-in periodic timer.
Why
DSH's filesystem skill provider hot-reloads skill directories after a git pull (its watcher follows symlinks by default), but nothing triggers the pull
or keeps the symlinks in sync. The sync script does both halves:
git pull --ff-onlythe mirror, and- reconcile symlinks in the skill root — link newly added skills, repair moved ones, and remove stale links for skills that were deleted or deprecated.
This plugin just runs that script:
- a
/skills-synccommand for an immediate sync, and - an opt-in periodic timer (
auto: trueto enable; default off).
Usage
/skills-sync # run the sync script now, show its report
Configuration
Set these on the skill-sync row in your profile patch (cordis.patch.yml):
- id: skill-sync
config:
script: /Users/you/.dsh/bin/mattpocock-skills-sync.sh # default: ~/.dsh/bin/mattpocock-skills-sync.sh
intervalMs: 1800000 # default: 30 minutes
auto: false # default: false (set true to opt in)
Install
dsh plugin --profile desktop add /absolute/path/to/dsh-skill-sync
Test
node test/smoke.mjs # wrapper: registers command, relays script output
node test/sync-script.test.mjs # script: pull + symlink reconcile against a temp remote