skillmirror

بِسْمِ ٱللَّهِ ٱلرَّحْمَـٰنِ ٱلرَّحِيمِ

skillmirror

Keep the agent skills of all your projects in step with one vault. What it does, the one rule it keeps, and where to read next.

skillmirror keeps the agent skills of all your projects in step with one vault. You improve a skill once, in one place, and one command brings every project that uses it up to date.

A skill is a folder with a SKILL.md that your coding agent reads. A project keeps its skills in .agents/skills/<name>/. Copy a skill into ten projects and the first improvement makes the other nine old. skillmirror ends that: the vault is a git folder you write your skills in, the projects mirror it, and every copy is a whole copy of the folder. Skills are copied, never linked, so projects stay git-tracked and work over SSH.

The loop in three commands

skillmirror status     # how every project stands against the vault
skillmirror diff       # the exact lines a sync would change
skillmirror sync       # show the plan, ask, write
● ~/projects/atlas-api
  ~ coding                         outdated (1 file changed)

● ~/projects/docs-site
  ~ coding                         outdated (1 file changed)

● ~/projects/infra
  ~ coding                         outdated (1 file changed)

3 projects: 0 in sync, 3 differ (3 skill folders outdated, 0 mandatory missing)

Every command that writes shows its plan first and asks. Before it replaces a folder it keeps the old copy, so skillmirror undo brings the run back.

The one rule

sync only updates what a project already has

A project chooses its skills by having the folder. sync refreshes those folders from the vault and never adds a skill to a project that did not choose it. Putting a skill into a project is a separate, deliberate act: add, init or push.

What it does not do

  • It does not commit in your vault. new, adopt and promote stage what they write with git add. You commit when a skill is ready.
  • It is not a package manager. There is no registry and no version number. The git history of the vault is the history of your skills.
  • It does not link skills into projects. The one link it can make is the optional .claude/skills bridge, and only where you ask for it.
  • It runs on Linux only. Replacing a folder in one step needs renameat2.
  • It does not complete skill names in the shell yet. Tab completion covers commands, options and fixed values.

On this page