awesome-git-history-salvagelisted
Install: claude install-skill khasky/awesome-agent-skills
# Git History Salvage
Answer one question completely: what has this repository ever contained? Not what `git log` shows — that is only the current branch. The full set includes commits erased by every force-push the repository has taken, commits that live only on a merged pull request's ref, and commits on branches deleted years ago.
Why it is not just `git log --all`: a force-push replaces a ref, it does not delete objects. The objects stay on the host, unreachable, and the host keeps a public record of every ref state in its activity log. Those two facts together are what makes the old history recoverable — but only if you know that `git fetch origin <sha>` serves an unreachable commit while `GET /repos/{owner}/{repo}/commits/{sha}` answers `422 No commit found` for the same SHA. The git protocol succeeds where REST refuses, and that asymmetry is the whole technique.
Measured case. A repository whose default branch had just been rebuilt showed 67 commits in `git log`. Merging the four sources below produced 319 — 252 of them off-branch, including a whole erased 62-commit history, 50 bot commits on pull-request refs, and 5 commits under a differently-capitalized author name that exist nowhere in the current tree. All 74 ref states the activity log recorded were still fetchable; none had aged out.
## Core principle
READ-ONLY, AND HONEST ABOUT THE EDGES. This skill fetches and reports. It never pushes, never deletes a ref, and never touches the user's own checkout — every