sync · git:20260504.09b173d · 2026-05-04 · sha256 683db7d8b2f20c6e

sync git:20260504.09b173dA

Immutable. This exact content is served forever at /api/v1/blob/683db7d8b2f20c6e.

---
name: sync
description: Pull the latest guidelines from every configured repo (read- and write-scope).
---

# Sync Repos

## Overview

Pull the latest guidelines from every repo in `evolve.config.yaml`
`repos:` list — both `scope: read` (subscribe-only) and `scope: write`
(publish targets). Write-scope repos use a rebase strategy so any
unpushed local publish commits are preserved.

## Workflow

### Step 1: Run sync script

```bash
sh -lc 'real_home="$(python3 -c "import os,pwd; print(pwd.getpwuid(os.getuid()).pw_dir)")"; config_home="${CLAW_CONFIG_HOME:-$real_home/.claw}"; script=".claw/skills/evolve-lite:sync/scripts/sync.py"; [ -f "$script" ] || script="$config_home/skills/evolve-lite:sync/scripts/sync.py"; python3 "$script"'
```

### Step 2: Display summary

Show the script output to the user. If there are no repos configured,
tell them they can add one with `/evolve-lite:subscribe`. If there
are no changes, explain that everything is already up to date.

## Notes

- Read-scope repos are mirrored exactly via `git fetch` + `git reset --hard`
- Write-scope repos use `git fetch` + `git rebase` so unpushed local
  publish commits are preserved
- Sync results are logged to `.evolve/audit.log`