synthesis-repo-guard
Installation
SKILL.md
Synthesis Repo Guard
The Problem
AI coding assistants and project-management tooling create and modify files continuously. A stopped task needs lightweight same-machine recovery immediately, while another computer needs a deliberate publication boundary. Treating both cases as an automatic commit creates noisy history and network latency; treating neither creates invisible local-only state. Tools that write files outside agent sessions (a project console writing status markers, manual edits) need the same attribution contract.
v1 of this skill detected stranded state and alerted with a count ("N repositories have unsynced changes"). Two failures emerged in practice:
- The alert was unactionable — and leaky if made actionable. A count says nothing useful; speaking repo names would fix that, but repo/workspace names are often client names, and audio reaches whoever is nearby or on an unmuted call. Notification banners leak the same way during screen-shares.
- The alert fired on machine-fixable states. Most unsynced state is exactly what automation should heal at the next sensible checkpoint. Alerting humans about machine-fixable problems trains them to ignore alerts.
The Architecture — three layers
| Layer | Component | Job |
|---|---|---|
| Detector | repo_sync_check.py (scan) |
Find dirty / ahead / behind / detached repos under a workspace root |
| Messenger | repo_sync_check.py (output) |
Generic audio/banner ping + detailed report files + console tile data |
| Checkpointer | checkpoint_sync.py |
Record local handoffs; batch exact context paths at explicit remote-sync events |