运维可回滚守则
运维写命令的安全网——默认不替你执行, 可恢复的改写成可恢复命令让你复制着跑, 不可恢复的直接拒。
基础信息
- 名字/名称
- 运维可回滚守则
- 描述说明
- 运维场景的可恢复性硬约束 —— review-only,AI 不替执行任何写命令;命中写操作时改写成 可恢复的等价命令让用户复制执行,命中不可恢复时给四段拒绝输出。范围:本地 bash / Docker / Coolify。 触发短语:删 / 清理 / 改 / 改配置 / 改 .env / 重启 / 重建 / kill / rm / mv 走 / 备份 / docker rm / docker volume rm / docker compose down / docker exec / git reset --hard / git clean / coolify app delete / coolify env / coolify server remove / coolify private-key remove / 加个 cron / 改 /etc/hosts; 口语:「帮我删一下」「清掉这些」「把这台机器从 coolify 摘了」「改一下环境变量」 「写个脚本批量处理」「能跑这条命令吗」。 不要用于:纯查询(ls / cat 非敏感文件 / docker ps / docker inspect / 一次性 docker logs / coolify list / coolify status)—— 默认放行不需要走本 skill;与运维无关的代码任务 (走 openspec-driven-development);只查文档(直接答即可);编写部署用的 Dockerfile / compose 本身(走 coolify-deploy);tranfu 团队 Coolify 业务流程(走 tranfu-coolify-ops,本 skill 是 它的安全底座但不替代它的工作流)。
运维可回滚守则
运维写命令的安全网——默认不替你执行, 可恢复的改写成可恢复命令让你复制着跑, 不可恢复的直接拒。
什么时候用它
检查粘贴的命令:
我要跑一条 rm / docker rm / git reset --hard / coolify app delete, 想先让 skill 判它能不能撤回再决定。
口语请求:
我说「帮我删一下 logs」「清掉这些旧镜像」, 想让 skill 把口语翻成可以恢复的具体命令。
检查运行脚本:
我写了个 Python 或 shell 脚本要跑, 想让 skill 逐条按四条铁律审一遍, 有问题的段落改写。
Coolify 高危:
我要动 Coolify 上的 app / database / service, 尤其是 delete / env / private-key, 想让 skill 用黑名单加 bootstrap 窗口判定挡一层。
不接:
写 Dockerfile / compose.yml 让仓库能部署到 Coolify → coolify-deploy; 仓库里的代码任务 (新功能 / 重构) → openspec-driven-development; tranfu 团队 Coolify 业务流程 (onboard / redeploy) → tranfu-coolify-ops (本 skill 是它的安全底座, 不替代业务流程本身)。
它会产出什么 / 你会看到什么
默认不替你执行任何写命令——最反常识的一点。
- 可恢复改写: 把
rm改成mv到/tmp/trash-<时间戳>/, 把覆盖.env改成先cp备份再改, 命令粘出来让你复制着跑 - 不可恢复拒绝: 四段输出——原命令、拒绝原因、可恢复替代、若坚持原命令请自己在终端手动复制
- 回执对照表: 每次写操作跑完输出「原位置 → 新位置」加「恢复命令」两栏, 一条一行
- 六类白名单可直接执行: CI/CD 重跑、单 app 新增 env、tfs 维护、资源新建、对称启停、bootstrap 窗口 PATCH——每类都锁死前提条件
- 黑名单硬拒: Coolify 实例本体 / 持久卷 / 集成根、DELETE RESTful 端点、危险标志 (
--force/--yes/--delete-volumes)——任何窗口任何授权都不放行 - 绝不会做: 替你跑黑名单命令、主动加
--force/--yes类危险标志、把敏感值 (env get 明文 /.env内容 / 密钥) 贴回聊天窗口
前置条件与边界
前置:
本地 bash / Docker / Coolify 环境; Coolify 相关命令依赖 coolify-cli-llm.txt 存在, 否则按不透明命令走拒绝流程, 我不会去猜命令名。
相邻 skill 分工:
| 场景 | 交给 |
|---|---|
| 写 Dockerfile / compose.yml 让仓库能部署到 Coolify | coolify-deploy |
| 仓库里的代码任务 (新功能 / bugfix / 重构) | openspec-driven-development |
| tranfu 团队 Coolify 业务流程 (onboard / redeploy) | tranfu-coolify-ops (本 skill 是安全底座) |
不接的场景:
- 纯只读命令 (
ls/cat非敏感文件 /docker ps/docker inspect/coolify list)——直接放行, 不用绕本 skill - 项目文档、SEO、图表、设计类任务
- 只查文档 (直接答即可)
微妙边界:
- 「删 project / environment / team」→ Coolify CLI 故意不提供 (级联删里面所有 app / database / service), 引导你走 UI 并警告级联范围
- Bootstrap 窗口内 PATCH 放行 (资源从没成功部署过), 出了窗口 PATCH 退回只审不跑, 不降级
- 用户「我授权 / 我确定 / 出事我负责」不能绕过黑名单——黑名单先于所有其他判定
- 单 app 新增 env (KEY 不存在) 任何窗口都放行; 覆盖已有 KEY 只在 app 的 bootstrap 窗口内放行
- 读
.env或coolify env get <SECRET>拿值——硬拒, 你自己 cat, 别让我贴回会话
版本信息
本地 Skill catalog 公开快照,仅展示公开安全字段。
Skill 文件
(7)SKILL.md
SKILL.md · Markdown