首页 › skills-review › 会说不的新件:stop-that-shit首拆

会说不的新件:stop-that-shit首拆

概述

本期把镜头对准装机目录里最新鲜也最反常的一件:lennney/stop-that-shit,上架不超过 45 天, JavaScript 编写,星数已跑到 1915(2026-09-12 GitHub Search API 快照口径)。它的反常在于方向——生态里绝大多数件在教 Agent「多做什么」,这件的全部工作是「少做什么」:拦截 AI coding agent 无需求的哈希、校验和与任务范围膨胀。本刊曾在输出纪律层周报给它发过「机制设计奖」,本周新星六件一文中给它打过 3.7 的首评,但都只是名场面级别的带过。本期做第一次专拆:拆它的一字未删的名片(名字、描述、形态、曲线),拆它必然长成「双层闸门」的设计逻辑,拆它适用与不适用的边界——正文源码本轮通道未放行,凡属推断一律挂※。

一、先对账:一条正在减速的曲线

日期 星数 日增
09-08 1773 —
09-10 1863 约 +45/日(两日均值)
09-11 1906 +43
09-12 1915 +9

三个读数。第一,它已经在本刊 2000 星毕业线的射程内,距毕业只差 85 星。第二,减速是断崖式的:前段每天四五十星,最近一日只剩 9 星——护栏件的热度曲线和成品件不同,成品件靠「用一次爽一次」的口碑复利,护栏件的星数更像一次性的「共鸣投票」:每个被 Agent 偷偷算过 sha256 的开发者路过点一颗星,投完就走,没有复购。第三,把它和输出纪律层的品类定义者 sepia 放在一起看很有意思:sepia 从 1875 涨到 2515(09-04→09-10,+34.1%)才显著减速,stop-that-shit 在 1900 段位就开始失速。同为纪律件,「改写输出」的件天天被用到,「划清边界」的件装一次就够了——使用频次的差距写在了曲线上。

二、名字工程:一句脏话的注册商标学

先看它递出来的名片全文(快照截断照录,尾部英文承诺未知※):

Stop That Shit(别再造史了)|面向 Codex/GPT 场景的多平台 Hook + Skill Guard:拦截 AI coding agent 无需求的哈希、校验和与任务范围膨胀。A…

这半段描述里藏着四个刻意的设计决策。

决策一:脏话只放在英文里。 英文名 Stop That Shit 是情绪,是转发按钮;中文名「别再造史了」是谐音清洗——「史」替「屎」挡了枪,注册商标级的自审。同一句粗口,中文里被中和成可以贴进公司群的表达。README 中英双语、中文在前,作者对传播路径的预判写在了语序里※。

决策二:描述第一句给场景,不给功能。 「面向 Codex/GPT 场景」放在拦截对象之前。常规 Skill 的描述要先说服模型(触发靠它),这件的触发不靠模型——它靠 Hook 硬触发,描述的真正读者是人:装之前你得先知道它管不管你那套 CLI。这是本刊《一个字段定生死:Skill触发工程》的镜像案例:普通件用 description 管触发,护栏件用 description 管销售。

决策三:拦截对象列成清单而不是形容词。 「哈希、校验和、任务范围膨胀」是三项可指认的行为,不是「防止 Agent 跑偏」这种不可验收的空话。描述即验收单,这条写法值得所有新件抄。

决策四:Hook + Skill Guard 双形态自报家门。 形态写进描述的第一行,因为它正是本文下一节的主角。

三、主拆:为什么必须是双层闸门

把三项拦截对象按「可检测性」排一遍,它的架构就是唯一解:

拦截对象 行为样本 可检测性 归属层
无需求的哈希 构建完成后顺手 sha256sum 一轮,没人要求 机械:命令签名固定,正则可命中 Hook 层
无需求的校验和 往 README、发布说明里塞校验和表 机械:产物文本特征固定 Hook 层
任务范围膨胀 「改个函数」出来顺手重构半个仓库 语义:没有正则能圈住「多干了」 Skill 层

前两项是仪式性行为——Agent 用「算个哈希证明我做完了」来自证清白,代价是时间、token 和一屏垃圾输出;校验和更糟,它产生的维护债比会话活得久:README 里一旦出现校验和表,之后每次发版都得有人续表。这两项的共同点是动作形状固定,闸门可以在工具调用前做确定性拦截,误杀率可控。第三项没有形状,只有意图偏移,只能交给模型层的判断——于是 Skill Guard 负责在指令层反复声明「只做被要求的事」,Hook 负责兜住一切机器可判定的越界。

这套分工 answering 了一个 Skills 生态的老大难:普通 Skill 的触发看天吃饭,description 写得再好也有该触发没触发的时刻;而护栏恰恰是容不得漏触发的件。把「绝不能漏」的部分下沉到 Hook,「需要权衡」的部分留在 Skill,触发可靠性问题就被工程手段消解掉了。本刊输出纪律层周报给它「机制设计奖」时的评语——「唯一用 Hook 硬闸门管纪律的选手」——说的就是这层结构差。

需要诚实标注:以上是从三项拦截对象反推的应然架构,仓库内的实际实现(Hook 的注册方式、正则清单、Skill Guard 的具体措辞)本轮未能读取※。但结构由需求唯一确定,这份推理的风险敞口很小。

flowchart TD
    A["用户指令进来"] --> B["Hook 层:命令出鞘前预检"]
    B --> C{"命中哈希或校验和特征?"}
    C -->|命中| D["硬拦截:动作不出鞘"]
    C -->|未命中| E["Skill 层:语义判断"]
    E --> F{"范围在膨胀?"}
    F -->|是| G["缩回用户要的范围"]
    F -->|否| H["放行执行"]
    D --> I["交付:只有被要求的东西"]
    G --> I
    H --> I

(图为本刊推断的双层闸门应然设计,非仓库实测绘※)

四、平台战略:护栏是公共品

「面向 Codex/GPT 场景」这半句值得单独一节。Skills 生态的大盘在 Claude 侧,但它第一话术点名的却是别家 CLI。这个选择的逻辑不难读:护栏是基础设施,基础设施按「哪里失序多」定价,不按「哪家生态大」定价;且原生生态越薄的平台,第三方护栏的稀缺性越高。反过来它也有代价——各家的 Hook 机制、配置格式、触发时机互不兼容,多平台承诺等于把一份规则翻译成 N 种方言,维护面按平台数线性涨※。

还要划清它和平台原生机制的分界。Claude Code 自带的权限系统管的是「这个命令你批不批」,每次调用都问人;护栏件管的是「你根本不该想跑这个」,把问题消火在提出来之前。一个是事后审批,一个是事前教养,两层互补而非互替。真正的冲突场景是叠装两个护栏:两个件对同一动作一放一拦,Agent 会卡在矛盾的指令里——护栏件的安装原则和药一样,不复方。

五、适用与不适用

适用:长会话重构(范围膨胀的高发区);让 Agent 自主跑构建的流水线(仪式性哈希的重灾区);多 Agent 协作场景——一个 Agent 的越界输出是下游 Agent 的输入,膨胀会复利;以及 Codex/GPT 等原生护栏稀薄的平台。

不适用,这一栏比常规更长。第一,供应链合规工作流要绕行:发布物校验和、SBOM、lockfile 完整性审计里,哈希是被要求的核心动作,一刀切的拦截规则可能误杀合规操作※。第二,CI 环境里发版说明带校验和可能是团队规范,个人偏好不该压过团队约定。第三,企业环境对英文名的容忍度是真实风险——名字的情绪价值和使用场景的职业价值天然打架,中文名的谐音清洗救得了传播救不了采购。第四,别指望它治本:语义层的范围膨胀判断(Skill 层)终究是模型在判,模型会漏,Hook 层只保证机械项不漏。

六、评分与谱系

评分口径:五星制,功能 25%、设计 25%、实战 20%、上手 15%、活跃 15%。本期未实测,实战分按曲线与描述完整度推断,正文未读的项挂※。

Skill 功能 设计 实战 上手 活跃 加权
stop-that-shit(本期内拆) ★★★★ ★★★★☆ ★★★☆ ★★★ ★★★★ 3.88
stop-that-shit(09-12 首评,对照) ★★★★ ★★★★ ★★★ ★★★ ★★★★ 3.70
sepia(输出纪律层,09-07 复分存档) — — — — — 4.55

分数说明:设计上调半星,是专拆后对「三项拦截对象跨机械-语义谱系、双层闸门由需求唯一确定」的结构分;实战三星半,1773→1915 的曲线佐证共鸣真实,但减速与「装一次即完成使命」的品类属性压住了上限;上手三星,比纯 Skill 多一步 Hook 接入,多平台各自的配置成本不平※。

纪律件谱系至此有了两个锚点:sepia 管输出(写出来的东西要像人话),stop-that-shit 管范围(只做被要求的事),前者已在 2500 星段位毕业在即,后者距 2000 星毕业线 85 星。中间还空着两个工位——提交纪律(commit 规范、diff 洁癖)和依赖纪律(不许顺手加依赖)——按本周的证据,哪个先被补上,哪个就是下一个 45 天 2000 星的候选。

七、今日动能榜与安装

件 09-11→09-12 日增 状态
screenwriting-skills 715→743 +28 无描述,星比 README 快
itsgiving 687→713 +26 会议表情包,破圈润滑剂
Choruz 635→654 +19 大厂沉默件,观察位
ffmpeg-skill 950→965 +15 媒体层通用件,无描述
stop-that-shit 1906→1915 +9 本期主角,临近毕业减速
fable-orchestrator 599→599 +0 编排件停摆
# 方式一:目录直装
git clone https://github.com/lennney/stop-that-shit.git
# Hook 配置按仓库 README 接入对应平台

# 方式二:装机器
npx skills add lennney/stop-that-shit

一句话收束:这个生态教 Agent 进取的件已经过剩,教它克制的件刚刚开始涨价——stop-that-shit 用一句脏话证明了「不许做什么」也是一个可以上市的需求。

参考来源

适用:

不适用:

七、安装与使用

官方套件在 Claude Code 中默认可用,直接说「帮我改这个 docx」即可触发。想手动安装到技能目录(或装到其他机器):

git clone https://github.com/anthropics/skills
mkdir -p ~/.claude/skills
cp -r skills/document-skills/docx ~/.claude/skills/

装完后用 /skills 或直接提出文档类请求验证触发。

八、可以抄走的三个设计

给想写自己 Skill 的读者提炼三条,全部有上文的具体证据:

  1. 决策树前置:正文第一段不是介绍功能,而是分流任务类型。你的 Skill 如果面对多种任务形态,先把岔路口画出来,再教每条路的走法。
  2. 禁令比指令值钱:「不要重建整个文档」这一句话,比十段「如何优雅地编辑」更有用。找到模型最可能跑偏的那个默认动作,用一句硬禁令按住它。
  3. 机械操作下沉为脚本,语义决策留给提示词:凡是「每次都得做对、且不需要理解」的步骤(拆包、回包、格式转换),写成脚本一行调用;SKILL.md 正文只保留模型必须做判断的部分。

九、推荐排行榜

结论

docx 技能证明了一件事:一份好的 SKILL.md 不是一个「提示词模板」,而是一份压缩到极限的工程规范。它最核心的一行决策——编辑时改 XML 而不是重建文档——背后是对「静默数据丢失」这个失败模式的深刻防御;而它围绕这行决策组织出的分流、禁令、脚本、按需参考四层结构,让这份文件在几百 token 内完成了对模型行为的完整约束。官方把这套结构复用到四个文档格式上,说明它已经是可以批量复制的模式。对于正在写自己 Skill 的人,这可能是比任何教程都值得精读的一份实文件:先问「我的任务里哪个默认动作最危险」,再问「我用哪一行字把它按住」。

本文引文为节选大意,以 anthropics/skills 仓库当前版本为准。

参考来源

  1. anthropics/skills — 官方 Skills 仓库 — docx 技能所在仓库,document-skills 目录下含 docx/pdf/pptx/xlsx 四件及脚本与参考文档
  2. Equipping agents for the real world with Agent Skills — Anthropic Engineering — 官方对 Skill 结构(SKILL.md、渐进式披露、脚本与参考分层)的设计说明
  3. Claude Code 文档:Skills — 技能的安装目录与触发机制说明

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入