Skip to main content

Reversible Ops

@ aquarius-wing1952026.7.10reversible-ops

A review-only safety gate for ops commands — I never execute writes for you, I rewrite reversible ones for you to run manually, and I refuse the irreversible outright.

FeaturedAI Engineering

Basic info

Name
Reversible Ops
Description
运维场景的可恢复性硬约束 —— 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 是 它的安全底座但不替代它的工作流)。

reversible-ops

A review-only safety gate for ops commands — I never execute writes for you, I rewrite reversible ones for you to run manually, and I refuse the irreversible outright.

When to use it

Review a pasted command:

I'm about to run something like rm, docker rm, git reset --hard, or coolify app delete and I want the skill to judge reversibility before I commit.

Casual ask:

I say "clean up these old logs" or "kill those stale images" — I want the skill to translate colloquial intent into concrete, reversible commands.

Review a script:

I wrote a Python or shell script; before I run it, I want the skill to walk each line through the four ironclad rules and rewrite the risky parts.

Coolify high-risk:

I'm touching a Coolify app / database / service — especially delete, env, or private-key — and I want the blacklist plus bootstrap-window rules to backstop me.

Not for:

Writing Dockerfile / compose.yml to make a repo deployable → coolify-deploy; in-repo code tasks (new feature / refactor) → openspec-driven-development; the tranfu team's Coolify business flows (onboard / redeploy) → tranfu-coolify-ops (this skill is its safety floor, not a replacement for the workflow itself).

What it produces

By default I never execute writes for you — the most counterintuitive point.

  • Reversible rewrite: rm becomes mv into /tmp/trash-<timestamp>/; overwriting .env gets a cp backup first — commands are pasted for you to copy and run
  • Irreversible refusal: four-block output (original command / reason it can't be undone / reversible alternative / if you insist, run it in your own terminal)
  • Receipt table: after each write, an "old location → new location" line plus a matching restore command, one row per operation
  • Six exception categories I may execute directly: CI/CD rerun, single-app env add, tfs maintenance, resource create, symmetric start/stop, bootstrap-window PATCH — each behind strict preconditions
  • Blacklist hard-refuse: Coolify instance / persistent volume / integration root, raw DELETE REST endpoints, dangerous flags (--force / --yes / --delete-volumes) — no window and no user authorization opens these
  • Will never: run blacklisted commands, add --force / --yes type flags on its own, or paste sensitive values (env-get output, .env contents, keys) back into the chat

Prerequisites & boundaries

Prerequisites:

Local bash / Docker / Coolify environments. Coolify commands rely on coolify-cli-llm.txt being present — without it, unknown-command refusal kicks in and I won't guess command names.

Adjacent skills:

Scenario Skill
Writing Dockerfile / compose.yml so a repo can deploy to Coolify coolify-deploy
In-repo code tasks (new feature / bugfix / refactor) openspec-driven-development
tranfu team Coolify business flows (onboard / redeploy) tranfu-coolify-ops (this skill is its safety floor)

Not for:

  • Pure read-only commands (ls, cat of non-sensitive files, docker ps, docker inspect, coolify list) — allowed by default, no need to route through this skill
  • Project docs, SEO, chart, or design work
  • Documentation lookups (just answer directly)

Subtle edges:

  • Deleting a Coolify project / environment / team — CLI intentionally doesn't expose it (cascades through every app / database / service); I route you to the UI and warn about the blast radius
  • Bootstrap-window PATCH gets a pass (resource has never deployed successfully); once the window closes, PATCH falls back to review-only, no downgrade
  • User authorization ("I approve" / "I'll take the blame") does not bypass the blacklist — blacklist runs before every other check
  • Adding a new env KEY to a single app is allowed in any window; overwriting an existing KEY is allowed only inside the app's bootstrap window
  • Reading .env or coolify env get <SECRET> for values is a hard refuse — copy it yourself, don't paste it back

Let's Build Together

Follow us and join the community for updates

WeChat community

Scan to join WeChat group

WeChat QR Code