Communitygithub.com

Safety Net — 双重撤销,放心实验

设置两种撤销系统,让你可以大胆实验而不必担心搞砸项目——/rewind 用于即时撤销,Git 检查点用于永久保存。指导你为当前项目创建第一个检查点,并保存一份包含“我搞砸了”、“回退一步”和“回到今天早上”等精确恢复操作的一页速查表。

Safety Net — 双重撤销,放心实验 是什么?

这个技能(Safety Net)专为担心破坏项目的初学者设计。它通过两种互补的撤销系统消除实验恐惧:Claude Code 的 /rewind 提供自动、即时的短期撤销,Git 检查点提供手动、永久的长程恢复。技能不要求任何前期配置,直接引导用户完成一个真实的撤销测试,然后为当前项目创建第一个命名检查点,最终输出一份保存在 ~/claude-safety-net.md 的速查表。该技能适用于 Claude Code 平台,尤其适合用户表达“我害怕搞砸”、“怎么撤销”、“能回退吗”等焦虑时触发。整个流程避免向初学者展示 Git 命令,而是让用户用自然语言(如“把这个提交为检查点,命名为……”)让 AI 执行操作。它强调行动而非描述——必须实际执行撤销测试和检查点创建,才能建立真正的安全感。技能的核心理念是:撤销撤销的是动作,检查点保存的是天。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/duncan-buildroom/freeskills/tree/HEAD/safety-net

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Safety Net — 双重撤销,放心实验 是做什么的?

新手之所以畏手畏脚,是因为他们以为一个糟糕的提示就会毁掉一切。不会的。你有两套独立的撤销系统,一旦设置好,你就可以尝试那些原本会回避的事情。这个技能会解释这两个系统,在你的实际项目上创建第一个真正的检查点,并留下一份你可以一直打开的速查表。

设置

无需设置。这个技能开箱即用。

步骤

1. 说出他们需要听到的话

开门见山:“你实际上搞不坏任何东西。这里有两个撤销按钮,完成这一步后,你就能在这个项目上同时使用它们。”

然后说出两者的名称,并讲清区别——这部分最容易混淆:

  • /rewind —— 自动、即时、短期。Claude Code 会在每次更改前自动拍摄快照。你无需设置。它适用于“你刚才做的改动让情况更糟了”。
  • Git 检查点 —— 手动、永久、长期。你说“把这个提交为检查点”,项目的某个确切状态就会永久保存下来并附带一个名称。它适用于“让我回到周二它还能工作时的状态”。

一句话概括:撤销撤销的是动作,检查点保存的是天。

2. 正确教授 /rewind

只讲解这些,不要多:

  • 在 Claude Code 中输入 /rewind,会看到最近检查点的列表。
  • 更快捷的方式:在空的输入框中按两次 Esc。效果相同。
  • 选择出问题之前的那个点。你的文件会恢复到那个状态。
  • 它是自动的——无论你是否要求,每次更改前都会发生。
  • 它不做什么:它适用于当前会话中的最近工作,而不是回溯到几天前。那是检查点的作用。

然后让他们实际尝试一次。说:“让 Claude 做一个很小的无意义改动——把一个标题改成 BANANA 这个词。看看它。然后输入 /rewind 把它改回去。”实际做一次能永久消除恐惧。只阅读教程则不行。

3. 检查该项目上是否启用了 Git

询问他们正在处理哪个项目,并获取文件夹路径。检查它是否已经是 Git 仓库——在其中查找 .git 文件夹。

不要把 Git 解释成版本控制系统。解释为:“一种用名称保存整个项目永久快照的方法,这样你随时可以回到它。”

如果没有设置好,你帮他们设置。他们只需说一个词,你来运行命令。永远不要给新手一堆 Git 命令让他们自己输入。

4. 立即创建他们的第一个检查点

这一步必须实际发生,而不仅仅是描述。

让他们对 Claude 说:“把这个提交为检查点,命名为‘开始实验前的工作版本’。”

剩下的由你来做。然后大声确认刚刚发生了什么:“你项目的那个状态现在已经永久保存了。无论你接下来做什么,你都能回到这个确切的状态。”

这句话是整个技能的核心。

5. 养成创建检查点的习惯

告诉他们三个需要创建检查点的时机。三个,不是十个:

  • 当东西能正常工作时。 页面加载正确或功能实现的那一刻。在你再次触碰它之前。
  • 在做有风险的事情之前。 大改版、新功能,任何你不太确定的事。
  • 在每个会话结束时。 关闭笔记本电脑的收尾工作——90 分钟工作时间的最后 10 分钟用来创建检查点并写下明天的下一步。

告诉他们如何命名检查点:说明项目处于什么状态,而不是你做了什么。“首页在移动端正常工作”比“改动”要好。

6. 写出三种恢复操作

这是他们实际会遇到的三种情况。把它们写成他们可以照着念的脚本。

“我搞砸了,不知道是怎么搞的。” 不要调试。输入 /rewind,或按两次 Esc。选择搞砸之前的那个点。然后用更小的步骤重新请求你想要的。

“回退一步。” 输入 /rewind,选择最近的检查点。或者对 Claude 说:“撤销你做的最后一个更改。”

“回到今天早上/回到它还能工作的时候。” 对 Claude 说:“显示我今天创建的检查点。”按名称选择一个。然后说:“将项目恢复到名为 ___ 的检查点。”/rewind 无法回溯那么远——这正是检查点的用途。

增加一个逃生舱:“我想要旧版本,但也想保留我之后所做的改动。” 对 Claude 说:“将我现在的内容保存为一个检查点,然后带我回到 ___。”这样什么都不会丢失。

输出——保存它

写入 ~/claude-safety-net.md。一页纸,不能再长——这是速查表,不是手册。

它包含:两个系统的一行区别、/rewind 的操作(包括 Esc-Esc)、创建检查点的准确句子、创建检查点的三个时机、三个恢复脚本的原文、保留两个版本的逃生舱,以及他们刚刚创建的第一个检查点的名称和日期。

告诉他们文件路径,然后告诉他们一个操作:在开发时把这个文件打开在一个标签页中。同时告诉他们一个事实——现在两个撤销系统都启用后,正确的做法是去尝试那些他们以前不敢尝试的事情。

示例(输入 → 输出)

输入: “我正在做我的作品集网站,想尝试一个完全不同的布局,但我害怕丢失那个能工作的版本。”

输出(保存到 ~/claude-safety-net.md):

你的双重撤销
撤销撤销的是动作。检查点保存的是天。

REWIND — 即时、自动
输入 /rewind,或在空的输入框中按两次 Esc。
选择出问题之前的那个点。文件会恢复。
仅适用于最近的工作,不用于回溯到几天前。

检查点 — 永久,需主动请求
说:“把这个提交为检查点,命名为‘<它处于什么状态>’。”
在东西能正常工作时、做有风险的事情前、以及每个会话结束时各创建一个。

你的第一个检查点
“布局实验前的作品集工作版本” — 已保存于 2026-07-30。
你随时可以回到这个确切的状态。

如果我搞砸了
不要调试。使用 /rewind,选择搞砸之前的点,用更小的步骤重新请求。

回退一步
使用 /rewind 并选择最近的检查点。或者:“撤销你做的最后一个更改。”

回到它还能工作的时候
“显示我今天创建的检查点。”
“将项目恢复到名为 ___ 的检查点。”

保留两个版本
“将我现在的内容保存为一个检查点,然后带我回到 ___。”

下一步:去尝试新布局。旧的已经保存好了。

注意事项 / 边界情况

  • 这个技能要防止的问题是畏手畏脚——初学者因为守护着能工作的版本而回避有趣的版本。检查点的全部意义就在于给予实验的许可。
  • 一定要让他们实际执行步骤 2 中的撤销测试和步骤 4 中的检查点创建。一个只描述安全网的技能无法带来拥有安全网的感觉。
  • 永远不要给他们原始的 Git 命令。他们说句子,Claude 运行命令。如果他们以后想认真学习 Git,那是另一回事。
  • 如果项目还不是 Git 仓库,就帮他们设置好,不要小题大做。这一步很简单,不花什么功夫,只需要 10 秒钟。
  • 如果他们现在就已经搞砸了什么东西,先执行步骤 6,之后再设置其余步骤。先灭火,再装警报器。
  • 如果他们正盯着一个错误,不知道是否该撤销,就交给 error-decoder——它能将错误分类为忽略、修复或撤销。

相关技能