check-upstream
Compare upstream (mattpocock/skills) with this fork, recommend what to do, and — on an explicit go — merge it in as a PR that leaves every fork-only change standing.
Repo-local by design: it lives in .claude/skills/, outside skills/, so neither scripts/link-skills.sh nor a consumer's skills update distributes it. Keep it here.
Steps 1–3 are read-only. Nothing merges before a clear yes.
Steps
-
Report. Run
bash .claude/skills/check-upstream/scripts/report.sh— refs, upstream commits since the fork point, the files upstream changed, release state, fork-only paths, and a merge preview naming every file that will conflict. Done when you have its output.up to date→ report that and stop. -
Recommend. Read the diff behind each commit the report lists (
git show <sha>); subject lines hide what actually changed. Give every one a verdict:- take — wanted, lands on paths the fork left alone.
- collides — touches a file this fork has edited; name the fork behaviour at risk.
- irrelevant — touches only paths this fork does not carry.
Then split them on the release boundary the report prints: commits at or below the last version bump are released; the tail above it ships in the next version. Land on one recommendation — merge now, wait for the release, or merge with named edits — and give the reason in a line.
Done when every commit carries a verdict and one recommendation stands.