What problem does it solve? Git reset can silently destroy work: it detaches commits from a branch and, with --hard, permanently deletes uncommitted changes with no recovery path. This Skill turns every reset into a gated workflow so nothing is lost without explicit user approval and a recovery branch in place. ## Core Features & Use Cases - Deterministic risk analysis: The reset-context.sh script reports which commits will leave the branch, whether any are already pushed (requiring force-push), and which uncommitted files a --hard reset would destroy, flagging BLOCKER conditions like protected branches, detached HEAD, or in-progress rebase/merge operations. - Approval and arm gates: A structured reset plan must be presented and explicitly approved before execution; reset-arm.sh then creates a timestamped backup/reset/<branch> safety branch and a 30-minute unlock marker required by the bundled git-guard hook, which mechanically blocks any unarmed git reset. - Safer alternatives first: The workflow directs unstage requests to git restore --staged, file discard to git restore, and pushed-commit undo to git revert, reserving reset for actual HEAD/branch-pointer moves. - Use Case: After a failed rebase, you need to return to the backup branch. The Skill collects context, shows exactly what will be lost, creates a safety branch, arms the guard, executes the approved command verbatim, and verifies HEAD matches the target. ## Quick Start Ask the assistant to reset the current branch to a target ref such as backup/rebase/my-feature with a chosen mode, and follow the presented plan to approve and execute it safely.