git-undo — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited git-undo (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Undo the mistake with the least-destructive tool that fits, after establishing two facts that change everything: has the work been committed, and has it been pushed/shared. Get those wrong and you either lose work or rewrite history other people depend on.
git status, git log --oneline -10, and git reflog -20 first. The fix depends entirely on the answers.git revert; do not reset/rebase/commit --amend and force-push unless the user explicitly owns the consequences and coordinates with collaborators.reset --hard, a force-push, or a history rewrite, snapshot the current tip: git branch backup/<desc> or git tag backup/<desc>. Reflog usually saves you, but a branch is free insurance.reset --hard, clean -fd, push --force*, history rewrites. Prefer push --force-with-lease over --force when a rewrite is genuinely required.git status: staged vs unstaged vs untracked; any operation in progress.git log --oneline --graph -15: recent commits and branch shape.git reflog -25: the time machine, every position HEAD has held, even "lost" ones. This is how you recover almost anything committed.git status (ahead/behind), git branch -r --contains <sha>.Match the situation to the safest tool:
Uncommitted work
git restore <file> (was git checkout -- <file>).git restore --staged <file> (was git reset HEAD <file>).git stash push -m "<note>"; bring back with git stash pop.git clean -nd (dry run first!), then git clean -fd once confirmed.The last commit (not yet pushed)
git commit --amend.git commit --amend --no-edit.git reset --soft HEAD~1.git reset --mixed HEAD~1 (default).git reset --hard HEAD~1 (destructive; safety net first).Already pushed / shared branch
git revert <sha> (creates an inverse commit; history stays intact). Revert a merge with -m 1.Wrong-branch / structural mistakes
git branch feature), then git reset --hard origin/<wrong-branch> on the original (safety net first); or git cherry-pick the commits onto the right branch and drop them from the wrong one.git restore --source=<sha> -- <file>.Recovering things that look lost
git reflog, then git branch recovered <sha> or git reset --hard <sha>.git reset --hard ORIG_HEAD returns to the pre-operation tip.git fsck --lost-found lists dangling commits.git fsck --no-reflog | grep commit, or recover from git reflog stash.Snapshot the current tip so the operation is reversible regardless of outcome:
git branch backup/before-undo # or: git tag backup/before-undoNote the current HEAD SHA too. This costs nothing and turns "irreversible" into "recoverable."
--force-with-lease and confirm no one else's work is being overwritten.git status and git log --oneline -5 to confirm the tree and history are what you intended.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.