本轮换一个打法:不看星榜,不对着市场目录排名,而是对一台每天都在真实干活的开发机做取证——把「开发者效率位」上实际驻扎的四件 Skill 逐个开膛。样本覆盖流水线四个闸口:审查闸的 gh-address-comments、验证闸的 verify(Claude Code 2.1.161 内置)、调试闸的 gh-fix-ci、安全审查位的 security-best-practices。两枚烟枪先扔在桌上:第一,验证件的宪法第一条是「禁止跑测试」;第二,安全件的正文结尾留着另一个 Agent 宿主的名字「codex」。这四件在星榜上几乎 invisible,却卡住了日常开发最脏的四个工位——这正是本期想说的:效率竞争的真空白带,不在聚光灯下。
| Skill | 功能完整度 25% | 设计质量 25% | 实战效果 20% | 上手难度 15% | 社区活跃度 15% | 四维折算总分 |
|---|---|---|---|---|---|---|
| verify | ★★★★★ | ★★★★★ | ★★★★ | ★★★ | ⚠️无法计分 | 4.4 |
| gh-fix-ci | ★★★★ | ★★★★★ | ★★★★ | ★★★ | ⚠️无法计分 | 4.1 |
| security-best-practices | ★★★★ | ★★★★ | ★★★ | ★★★★ | ⚠️无法计分 | 3.7 |
| gh-address-comments | ★★★ | ★★★★ | ★★★ | ★★★★★ | ⚠️无法计分 | 3.6 |
说明:本轮样本全部取自本机装机清单(路径见文末),拿不到公开的 Star / 下载量数据,社区活跃度一栏无法计分,总分按其余四维折算。这个「无法计分」本身就是本期发现的一部分——真正驻扎在开发机效率位上的件,大多不是星榜明星。
市面上的代码审查件都在抢「当审查者」,这件管的是没人愿意做的下半场:审查意见回来之后怎么办。它的 SKILL.md 短到可以在一分钟读完,三步走:
scripts/fetch_comments.py,把当前分支对应 PR 的所有评论和 review threads 拉出来;设计上最值钱的是第二步。它不替作者做决定,而是把「处理审查意见」从一团糊成一页的评论区,变成一张可点选的清单:每条意见的修复代价被提前算好,处置权留在人手里。PR 审查意见常常一半是有效反馈、一半是口嗨和误读,件自己不猜,让作者勾选。
短板也明白:无状态,一轮一结;不区分意见优先级;依赖 gh 已认证。功能完整度只有三星,但上手难度拿满——装上就能用,零配置。
SKILL.md 标题叫「Gh Pr Checks Plan Fix」,八步工作流:验认证 → 定位 PR → 拉失败 check 的 Actions 日志 → 摘出失败片段 → 给用户出修复计划 → 批准后才动手 → 改完建议复跑 gh pr checks 确认。四处理性设计值得抄:
边界宣言。 「If detailsUrl is not a GitHub Actions run, label it as external and only report the URL. Do not attempt Buildkite or other providers; keep the workflow lean.」只管 Actions,Buildkite 明写不做。大多数件死于贪大,这件把「不做什么」写成了正文。
双路兜底。 优先跑捆绑脚本 inspect_pr_checks.py,它「handles gh field drift」——gh CLI 版本一升级字段就漂,脚本先扛;扛不住走手动 fallback:gh pr checks --json 字段被拒,就「rerun with the available fields reported by gh」。对第三方 CLI 的不稳定性做了防御性工程。
退出码当 API。 脚本「Exits non-zero when failures remain so it can be used in automation」——红灯没清零就非零退出,外层自动化可以直接拿它当闸门串联。
松耦合协作。 开头一句「If a plan-oriented skill (for example create-plan) is available, use it; otherwise draft a concise plan inline」——先探测环境里有没有计划类 Skill,有就用,没有就退化成内联计划。这是 Skill 之间互相发现的标准写法,不硬依赖。
短板:外部 CI(非 Actions)只贴 URL 不诊断;起步需要 gh auth login 且要 repo + workflow 两个 scope,新手容易卡在认证。
这是四件里唯一随 Claude Code 本体分发的内置件(取证路径在 bundled-skills/2.1.161/ 下),也是设计最狠的一件。它的核心论点一句话:「Verification is runtime observation.」验证是运行时观察,别的都不算。
于是它开篇就是三条禁令:
import { foo } 然后 console.log(foo(x)) 是你自己写的单元测试,「The app never ran」。这套禁令对抗的是模型的确认偏误:跑绿一堆测试会产生「改好了」的错觉,而 verify 把证据标准钉死在「用户会看到什么」上。支撑机制有四层:
表面枚举表。 改动到达 CLI 就敲命令截屏、到达 API 就发请求看响应、到达 GUI 就 xvfb/Playwright 驱动加截图、是库就走公共导出包边界。六行表格把「去哪观察」变成查表题而不是猜谜题。
取证协议下沉到仓库。 动手前先 ls .claude/skills/ 找 verifier-*——那是仓库自带的证据采集协议,能让评审者回放你看到的东西;没有 verifier-* 就借用 run-* 的构建原语;都没有就冷启动,硬性 timebox 十五分钟,卡住判 BLOCKED 并附一段 /run-skill-generator 提示词,把这次冷启动配方沉淀成新的 verifier。验证经验会变成仓库资产,这是生态里少见的「越用越厚」设计。
探针强制。 报告格式里 🔍 标记代表探针——「At least one. A Steps list that's all ✅ and no 🔍 is a happy-path replay」。主动喂脏输入:新 flag 就传空值、传两遍、和冲突 flag 组合;改了错误处理就触发相邻的错误路径。探针哪怕没打穿也要记录一行「🔍 传空 --from → 干净报错,exit 2」,告诉作者哪些脏路径已被覆盖。
判决不对称。 四态:PASS / FAIL / BLOCKED / SKIP,「No partial pass」,「When in doubt, FAIL.」——假 PASS 让坏代码上线,假 FAIL 只多花一次人工复核。这是把 reviews 的风险模型直接写进了判决规则。
实战扣一星的原因:它要求改动存在可达的运行表面,纯逻辑库、没起不来的环境会频繁落在 BLOCKED;上手需要会驱动终端、请求、截图三套工具。
这件的骨架是一个知识库:references/ 目录按 <language>-<framework>-<stack>-security.md 命名,先识别项目的前后端语言与框架,再「read ALL reference files which relate to」——按需加载,不把全部安全知识塞进上下文。前端后端要分别加载,未指明前端框架时还要兜底读 javascript-general-web-frontend-security.md。
工作模式三档:默认跟着参考文档写安全代码;日常写码时当被动哨兵,只标记最高危问题;用户点名要报告时,产出写进 security_best_practices_report.md 的完整报告——按严重度分节、发现带数字编号、关键条目附一句影响陈述、引用代码必须带行号。修复纪律也细:一次只修一条,注释里写明依据的最佳实践和不做会怎样,警惕「不安全的代码被别处依赖着」这种回归——「Avoid breaking the user's project as this may make them not want to apply security fixes in the future」是难得的人间清醒。
还有一条务实的 Override 政策:项目文档明确要绕过某条最佳实践时,「you MAY report it to the user, but do not fight with them」。以及通用建议里对 TLS / secure cookie / HSTS 的克制(开发期别拿缺 TLS 报漏洞,HSTS 配错会锁死用户),都是踩过坑的口吻。
然后是本期最大的一枚烟枪:正文结尾一句——「not generally recommended for the scope of projects being reviewed by codex」。这份安全考卷是为另一家 Agent 宿主写的,移植进本机 skills 目录时没清干净指纹。功能无损,但它提醒所有想搬运 Skill 的人:换宿主,先全文搜原宿主名。
flowchart TD
A["改动写完"] --> B["PR 审查闸"]
B --> B1["gh-address-comments<br/>意见编号 用户点选"]
B1 --> C{"意见要改吗"}
C -->|要改| D["修复提交"]
C -->|不改| E["回复说明"]
D --> F["验证闸 verify"]
F --> F1["到表面观察<br/>禁跑测试"]
F1 --> G{"判决"}
G -->|PASS| H["送 CI"]
G -->|FAIL| D
H --> I{"CI 红灯"}
I -->|是| J["gh-fix-ci<br/>只管 Actions"]
J --> K["出计划 批准后改"]
K --> H
H --> L["安全闸<br/>security-best-practices"]
L --> M["编号报告 分级"]
M --> N["一次修一条"]
verify 内部的判决机器单独一张:
flowchart TD
A["改动入站"] --> B["定位表面"]
B --> C{"有运行表面吗"}
C -->|无| D["SKIP 一行说明"]
C -->|有| E["找 verifier 技能"]
E --> F{"十五分钟<br/>起得来吗"}
F -->|起不来| G["BLOCKED 附生成器提示"]
F -->|起来| H["走最小路径"]
H --> I["至少一个探针"]
I --> J{"存疑吗"}
J -->|是| K["FAIL 附原始输出"]
J -->|否| L["PASS 附观察清单"]
<语言>-<框架>-<栈> 切片按需加载,上下文只付当前栈的价钱。codex 残字就是反面教材,移植件记得全文搜原宿主名。至于重构闸:本机这个位置被内置的 simplify 占着,此前专栏已单独拆过,本轮不再重复。也就是说四个闸里,审查有两件分兵(人给的 + 安全红线),验证和调试各一件重装,重构位一内置了事——脏活有人干,体面的活反而没 competition,这是装机位和市场榜单最大的倒挂。
# gh 系两件:装进用户级 skills 目录,依赖 GitHub CLI 认证
gh auth login # 勾选 repo + workflow 两个 scope
# 触发话术:“看看当前 PR 挂了哪些 check” / “把 PR 上的 review 意见编号列出来”
# verify:Claude Code 内置(本次取证环境随 2.1.161 打包),无需安装
# 触发:改动完成后输入 /verify,或直接说“验证一下这个改动”
# security-best-practices:整目录放入用户级 skills
# ~/.claude/skills/security-best-practices/
# 配套 references/<语言>-<框架>-<栈>-security.md 知识库
# 触发话术:“按安全最佳实践把这个项目审一遍,出报告”
星榜衡量的是「多少人装了它」,装机位衡量的是「干活时它在不在场」。本轮四件的共同点是:没有一件在追「更聪明的审查」或「更强的重构」,它们全部收缩到一个窄闸口,把范围边界、失败路径、审批位置写死在 SKILL.md 里。效率件的下一段竞争不在功能数量,在边界清晰度——以及,换宿主的时候记得把前任的名字擦掉。
~/.claude/skills/gh-address-comments/SKILL.md — 本机装机原文,三步工作流与 fetch_comments.py 引用~/.claude/skills/gh-fix-ci/SKILL.md — 本机装机原文,八步工作流、Buildkite 边界宣言、inspect_pr_checks.py 说明bundled-skills/2.1.161/.../verify/SKILL.md — Claude Code 2.1.161 随包内置件原文,三条禁令、表面枚举表、判决规则~/.claude/skills/security-best-practices/SKILL.md — 本机装机原文,references 命名法、三档模式、报告与修复纪律及 codex 残句(注:本轮取证环境不开放外部网络检索,以上为本机直接读取的原始文件;未引用任何未经核实的市场数据。)
[!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 等场景全覆盖。
