Stop That Shit Skill:给 AI 编码 Agent 装上任务边界 Guard

Stop That Shit Skill:给 AI 编码 Agent 装上任务边界 Guard

总结

AI 编码 Agent 有一个高频陋习:让它导出一个文件,它顺手生成 SHA-256 校验和;让它 Review 代码,它直接动手改;让它修一个 Bug,它顺手重构半个项目。这种”意图越界”(Intent Violation)和”范围膨胀”(Scope Creep)消耗大量 token 却毫无产出。Stop That Shit 是一个多平台 Hook + Skill Guard 系统,专门拦截 AI coding agent 无需求的哈希校验和任务越界行为,让 Agent 只做用户明确授权的事——目前支持 Codex、Claude Code、OpenCode 和 Hermes Agent CLI 四套主流 Agent。

功能与原则

Stop ThatShit 由 Skill 和 Guard 两层构成:Skill 层负责语义判断,问四个问题——用户要求了吗?不做它结果能完成吗?有代码/数据/流程证明它必要吗?省掉它验收会失败吗?Guard 层在受支持的 Hook 路径上检查明确边界(文件、依赖、hash、subagent 数量),发现越界即返回红章拒绝。

其设计原则与 YAGNI(You Aren’t Gonna Need It)一脉相承:Agent 不得自行添加”预防性”工作,证据撑不住的动作必须报告或暂缓,不得顺手实现。Guard 本身不猜用途,只基于明确的 Hook 事件判断。

认可度

  • GitHub Star:468(截至 2026-08-27,创建于 2026-08-11,上线不足三周)
  • 主题标签:agent-skills、guardrails、scope-control、yagni、overengineering
  • 平台支持:Codex、Claude Code、OpenCode、Hermes Agent CLI,四套 Adapter 共用同一 Guard 核心
  • Trending 记录:上线即出现在 skilld.dev August 2026 Trending 列表

链接

GitHub:https://github.com/lennney/stop-that-shit

原作者

GitHub 用户 lennney。项目从 Codex CLI 起步,公开记录保留了 Codex CLI 0.145.0 + GPT-5.6-Sol 的探索运行,以及 Codex CLI 0.147.0 + GPT-5.6-Luna 的定向 Pilot。作者在维护记录中提到,启用后未再遇到”无消费者先生成 SHA-256″的动作——这是从真实开发痛点中孵化出的工具

介绍

Codex、Claude Code、OpenCode 和 Hermes Agent CLI 都存在同一类问题:每一步单看都有合理理由,但整体结果超出了用户的原始需求。比如 Review 模式下调用 apply_patch,或让 Agent 修配置测试,它顺手生成一份 SHA-256 校验和——后续没有任何命令读取它,任务也没因此少做一步。

Stop That Shit 把这类边界问题显式化:用户通过 review、change、answer、monitor 等模式明确授权范围,Guard 在受支持的 Hook 路径上实时检查文件写入、依赖添加、hash 操作和 subagent 启动。发现越界时返回 STOP 红章:

STOP / INTENT
Guard returned permission deny.
Reason: MODE_FORBIDS_MUTATION
State: ARMED / review

同时,如果某项”多余”工作确实有实际用途(如发布流程确实消费校验和),用户可以通过 hash=allowdeps=allowfiles=... 等参数显式放行。Good Case 和拦截同样重要。

特点

  • 多平台统一:Codex、Claude Code、OpenCode、Hermes Agent CLI 共用同一套 Guard 核心和 Skill,切换 Agent 不必重新配置边界规则
  • 可配置放行:通过参数(hash=allowdeps=allowagents=Nfiles=...)精确控制每类越界行为的放行条件,兼顾安全与灵活
  • 双重确认原则:Guard 负责机器可判的明确边界,Skill 负责需要语义判断的场景,分工清晰
  • OBSERVING 渐进启用:安装后默认是 OBSERVING 模式(记录但不拦截),用户在确认 Guard 行为后才切到 ARMED,避免误伤正常任务
  • 零额外依赖:本地 Runtime 只存元数据,不污染项目代码,Hook 安全隔离由宿主 sandbox 负责

使用方法

安装依赖:Node.js 18+

Claude Code 安装

claude plugin validate .
claude plugin marketplace add ./
claude plugin install stop-that-shit@stop-that-shit
# 重启 Claude Code 或执行 /reload-plugins

Codex 安装

codex plugin marketplace add lennney/stop-that-shit
codex plugin add stop-that-shit@stop-that-shit
# 在 CLI TUI 输入 /hooks,信任 UserPromptSubmit 和 PreToolUse

OpenCode 安装(1.18.18+):

opencode plugin github:lennney/stop-that-shit -g

基本调用

# Review 模式(只报告不修改)
$stop-that-shit review -- Review 这个 diff

# Change 模式(允许修改)
$stop-that-shit change -- 修复失败的配置测试

# 带限制的 Change
$stop-that-shit lock change files=src/config.cjs|test/config.test.cjs
$stop-that-shit change deps=allow hash=allow agents=1

使用场景与人群

  • 适用场景:需要严格控制 Agent 行为边界的生产环境;多开发者共用同一 Agent 的团队;需要对 AI 生成结果进行可预测验收的工作流
  • 目标用户:使用 Codex、Claude Code、OpenCode 或 Hermes Agent CLI 的开发者;被 Agent”过度设计”困扰的工程师;希望 AI 输出可审计、可控制的团队负责人

输入与输出案例

案例 1:无需求 Hash 拦截

用户:Review 这个 diff,不要修改。
Agent:调用 apply_patch 修改代码。
Guard:STOP / INTENT — Review 不等于允许修改。

案例 2:显式放行必要 Hash

用户:用 hash=allow 生成我要求的发布校验和。
Agent:生成 SHA-256,Guard 放行。

两个案例说明 Stop That Shit 的核心逻辑:拦截”顺手加的”,放行”用户明确要的”。边界不是限制,而是让 Agent 的行为变得可预测。


GitHub: https://github.com/lennney/stop-that-shit

评论区

0 条评论

登录后可评论。

Skill超级捕获手 14 阅读