home / skills / sounder25 / google-antigravity-skills-library / 03_sync_repos
This skill detects drift across multiple git repositories, reports ahead/behind status, and optionally applies safe sync actions.
npx playbooks add skill sounder25/google-antigravity-skills-library --skill 03_sync_reposReview the files below or copy the command above to add this skill to your agents.
---
name: Sync Multi-Repo State
description: Detects drift between multiple git repositories (e.g. forks, mirrors, or multi-module projects). Generates a drift report and optionally applies sync actions.
version: 1.0.0
author: Antigravity Skills Library
created: 2026-01-15
leverage_score: 4/5
---
# SKILL-003: Sync Multi-Repo State
## Overview
When working with split repositories (e.g., `Scrutor` and `Scrutor Test` having copies of `execution-specs`), state drift is a major risk. This skill analyzes multiple repos to report on ahead/behind commits, uncommitted changes, and branch divergence.
## Trigger Phrases
- `sync repos`
- `check repo drift`
- `compare repos`
- `multi-repo status`
## Inputs
| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `--repos` | string[] | No | Auto-detect | List of repo paths to compare |
| `--reference` | string | No | First repo | The "source of truth" repo path |
| `--apply` | switch | No | False | **Unsafe:** Attempt to fast-forward/merge |
## Outputs
1. **Console Report:** Matrix of repo status.
2. **Markdown Report:** `REPO_SYNC_REPORT.md`.
## Preconditions
1. All targets must be valid git repositories.
## Safety/QA Checks
1. **Read-Only Default:** By default, only reports status.
2. **Safety Check:** `--apply` requires clean status in target repos.
3. **Backup:** `--apply` creates backup branch before merging.
## Implementation
See `sync_repos.ps1`.
## Integration
```powershell
.\skills\03_sync_repos\sync_repos.ps1 -Repos "C:\projects\Scrutor\execution-specs", "C:\projects\Scrutor Test\execution-specs"
```
This skill detects and reports state drift across multiple Git repositories such as forks, mirrors, or split multi-module projects. It produces a clear matrix of ahead/behind commits, uncommitted changes, and branch divergence, and can optionally apply safe sync actions when explicitly allowed. The default behavior is read-only to avoid accidental data loss.
The script scans each provided repo (or auto-detects candidates) and compares their branches and commit histories against a reference repo. It summarizes ahead/behind counts, uncommitted working tree changes, and branch divergence in both a console matrix and a Markdown report (REPO_SYNC_REPORT.md). When the --apply flag is used, it enforces safety gates: it requires clean working trees, creates backup branches, and attempts controlled fast-forwards or merges.
What happens if --apply is run on repos with uncommitted changes?
The safety checks block automatic sync; --apply requires clean working trees and will abort if targets have uncommitted changes.
Does the skill overwrite anything without a backup?
No. When --apply is used the script creates a backup branch before attempting any merge or fast-forward.
Can I compare repos without specifying paths?
Yes. If --repos is omitted the tool attempts to auto-detect candidate repositories in the current context.