Skip to main content

safety-net

Use when the user wants to undo or roll back changes Claude made to files, recover a previous state, or turn on an automatic edit checkpoint net. Triggers - "undo", "desfazer", "voltar atras", "reverter as mudancas do Claude", "rollback", "restaurar", "safety net", "rede de seguranca", "checkpoint", "/safety-net". Restores tracked files to the snapshot taken right before the last edit, without deleting anything.

インストールへ移動

ソース情報

リポジトリ
Zavelinski/claude-code-safety-net
ソースの最終更新活動
2026年6月26日 22:12
検出された SKILL.md の言語
英語
スター
0
フォーク
0

インストール方法

デフォルトでは、最初にソースを確認する Prompt が選択されています。直接コマンドに切り替えるか、ローカルコピーをダウンロードすることもできます。

ソースファイルを確認

インストールを決める前に、SKILL.md と SkillsMP に表示されている付属ファイルをお読みください。

ファイルエクスプローラー
2 ファイル

SKILL.md を表示中

SKILL.md
ソースの指示 · 読み取り専用プレビュー
name
safety-net
description
Use when the user wants to undo or roll back changes Claude made to files, recover a previous state, or turn on an automatic edit checkpoint net. Triggers - "undo", "desfazer", "voltar atras", "reverter as mudancas do Claude", "rollback", "restaurar", "safety net", "rede de seguranca", "checkpoint", "/safety-net". Restores tracked files to the snapshot taken right before the last edit, without deleting anything.
# safety-net Automatic, reversible checkpoints around Claude's edits. Recovery-first: every multi-file session becomes rollback-able by default, with no discipline required from the user. ## How it works (mechanism) A `PreToolUse` hook (matches `Edit|Write|MultiEdit|NotebookEdit`) runs BEFORE each edit and: 1. Captures the current git working tree as a stash commit via `git stash create` (does NOT touch the working tree or index). 2. Anchors it under `refs/safety-net/<timestamp>` so git gc never collects it. 3. Appends a line to a ledger at `<gitdir>/safety-net/ledger.jsonl`. Duplicate snapshots (same tree as the previous checkpoint) are skipped. The hook NEVER blocks an edit: any error exits 0 silently. `undo` restores tracked files to a checkpoint. It first re-checkpoints the current state, so undo is itself reversible. It never deletes files Claude newly created (safe by design). ## Commands Run the CLI from inside the project (git repo): ``` node <skill-dir>/bin/safety-net.js status # how many checkpoints, latest node <skill-dir>/bin/safety-net.js list # list all checkpoints (#1 = oldest) node <skill-dir>/bin/safety-net.js undo # restore the latest checkpoint node <skill-dir>/bin/safety-net.js undo <n> # restore checkpoint #n from list node <skill-dir>/bin/safety-net.js keep # clear checkpoints (turn the net off) ``` `<skill-dir>` after install is `~/.claude/skills/safety-net` (Windows: `%USERPROFILE%\.claude\skills\safety-net`). ## What to do when the user asks - User says "undo" / "desfazer" / "voltar atras" / "reverter o que voce fez": run `undo`. Report the restored checkpoint SHA + timestamp, and the pre-undo SHA (so they know undo is reversible). - User asks "what checkpoints exist" / "what can I roll back to": run `list`. - User says "I'm done, drop the net" / "limpar checkpoints": run `keep`. - User asks for status: run `status`. Always show the user the SHA and timestamp you acted on. If a restore conflicts, do not force it: report the SHA and tell the user the manual command `git checkout <sha> -- <file>`. ## Limitations (v1, be honest about these) - Requires a git repository with at least one commit. In a non-git dir, the hook is a silent no-op (document: run `git init` + first commit to enable checkpoints). - `undo` restores modified and deleted tracked files. It does NOT delete files Claude newly created (safe, never destructive). Remove unwanted new files manually. - Untracked files are not part of a checkpoint (git stash create limitation).
GitHubで見る