Cross-Machine Sync

Keep your skills in sync across every machine with a GitHub repo or cloud storage folder.

Overview

equip's sync workflow has four steps:

  1. Init — link your machine to a sync backend (GitHub repo or file path)
  2. Export — push your current skill set to the backend
  3. Restore — install all skills from the backend on a new machine
  4. Status — see what's synced, missing, or untracked

Sync backends

GitHub repository

The default backend. equip stores your skill manifest in a GitHub repo (private by default).

$ equip init
 Linked to bradleydwyer/equip-loadout

By default, equip uses <your-github-username>/equip-loadout. Specify a custom repo:

$ equip init user/custom-repo

Choose the git protocol:

$ equip init --protocol ssh

File path

Use a folder synced by iCloud, Dropbox, Google Drive, or a NAS:

$ equip init --path ~/Library/Mobile\ Documents/com~apple~CloudDocs/equip/

Any path that's accessible on both machines works.

Exporting skills

Push your current skill manifest to the sync backend:

$ equip export
 Exported 12 skills to bradleydwyer/equip-loadout

Or export to a local file instead of the configured backend:

$ equip export --output skills.json

The export contains a list of skill sources, not the skill files themselves. This keeps the manifest small and always pulls fresh content on restore.

Restoring on a new machine

After installing equip on a new machine, restore all your skills:

$ equip init           # Link to the same backend
$ equip restore
 Restored 12 skills to 4 agents

Restore from a file:

$ equip restore --from skills.json

Preview what would be installed without making changes:

$ equip restore --dry-run

Checking sync status

See which skills are synced, missing from the backend, or installed locally but not exported:

$ equip status
  Synced:
    skill-creator         ✓
    frontend-design       ✓
  Missing locally:
    commit                ✗ (run equip restore)
  Untracked:
    my-local-skill        (run equip export)

Typical workflow

Initial setup (first machine)

$ equip init                    # Link to GitHub
$ equip install owner/skill-a   # Install skills as normal
$ equip install owner/skill-b
$ equip export                  # Push manifest

New machine

$ brew install bradleydwyer/tap/equip
$ equip init                    # Same backend
$ equip restore                 # All skills installed

Ongoing

$ equip install owner/new-skill
$ equip export                  # Keep backend up to date