← ClaudeAtlas

sync-upstreamlisted

Reconcile this repo's forked skills with a new upstream release. Use when the user says an upstream (compound-engineering, mattpocock/skills) was updated, asks to merge/sync upstream changes into the forks, or wants the forks' divergence audited.
toverux/cantrips · ★ 2 · AI & Automation · score 76
Install: claude install-skill toverux/cantrips
Reconcile the forked skills with a new upstream release: disposition every upstream delta, gate every disposition on the user's approval, audit the whole divergence surface, and record the new sync point. Nothing enters the repository without an approval, and a case these rules do not cover is put to the user rather than improvised on. ## Step 1: Measure Get the exact new tag from `gh release list -R <upstream>`. Every measurement comes from `scripts/fork-diff.sh` (through `mise run dev:fork-diff -- …`); fetch nothing by hand. The tool reads each fork's `source:` frontmatter, re-prefixes its bare pinned version into the real tag, resolves the upstream skill's directory from the repository tree API rather than guessing it, fetches and caches the upstream files under `.scratch/sync/`, and prints a unified diff per file with a divergent-line count. Run it twice: - With no skill arguments, against the pins: every fork measured, whether or not upstream moved it. This is the audit — a release touching three files still gets all the forks measured, drift nobody has looked at being the audit's whole point. - With `--tag <new-tag>` and the updated upstream's forks named, since one tag cannot be right for both upstreams. Pass the tag exactly as the release lists it, prefix included: the tool uses the override verbatim, re-prefixing only the pinned `source:` version. A wrong tag prints `skipped: could not read the tree` per fork and exits zero: an all-skipped second run is a f