245k★ 的工程闭环,和一篇把它抄错三处的 583 粉推文
一篇 583 粉的推文把 Matt Pocock 245k★ 的 skills 压缩成三步工程闭环(目标对齐/路径探索/循迹前行),框架不错,但抄错了两个细节、并列推荐了自家 4★ 工具和全球标杆。价值不在框架本身(它早就存在),在于「第一个把它落地成具体迁移路径的人」。
- 框架是真的:目标对齐(grill-me 苏格拉底拷问)→ 路径探索(wayfinder + prototype)→ 循迹前行(to-tickets + E2E 烟测)。来源与 E2E 补充也是真的。
- 三处抄错:① to-ticket 应为 to-tickets(复数,错三次);② Tracer Bullets 挂在 prototype 而非 to-tickets;③ 把 4★ 自制工具 docs-by-version 和 245k★ 标杆并列(且单复数又错一次)。
- TDD 误诊:作者说 TDD 有「AI 凑代码通过断言」的硬伤,但 Matt 的 tdd skill 早有反模式清单;作者真贡献是补了 Matt 仓库缺的跨模块 E2E 烟测。
- 反讽比值 61,364:1:同一篇推文里,245k★ 外部技能 vs 4★ 自制工具并列推荐——「自造轮子 + 引外部标杆」推文的典型通病。
三步工程闭环
作者的骨架:目标对齐用 grill-me / grill-with-docs 把模糊 Prompt 逼成清晰 Spec(引 Brooks 1986《No Silver Bullet》);路径探索做四维权衡(复杂/维护/成本/可逆)+ wayfinder 拓扑 + prototype 示踪弹;循迹前行用活文档 + to-tickets 变更追溯 + E2E 端到端验收作「物理硬指标」。框架本身没问题。
单复数与挂错名字
第一处:全文三次写 to-ticket(单数),但官方是 to-tickets(复数)。Claude Code 装的是 /to-tickets,按单数调会落到 model-invoked 池,AI 拿不到这个技能。图写对了、文本写错了,说明他看了图没看 SKILL.md 头三行。
第二处:Tracer Bullets(示踪弹,《程序员修炼之道》原意「端到端打通的最小骨架」)被挂到 prototype,但官方定义里它属于 to-tickets——prototype 做的是「扔掉型 spike」。
把 E2E 端到端验收作为「物理硬指标」。Matt 仓库确有 to-tickets(端到端可验证单元),但缺跨模块 E2E 烟雾测试——作者用 BDD + E2E 补的这层是真实价值。
说 TDD 自身有「AI 凑代码通过断言」硬伤,但 Matt 的 tdd skill 早有 Tautological / Implementation-coupled / 未确认 seam 三道反模式防御。这一刀砍向了空气。
自家轮子和全球标杆摆同一行
同一篇推文并列推荐 mattpocock/skills(245,455★,2 万 fork)和作者自制的 docs-by-version(4★,17 天 silent,从未被使用过)。星标差 6.1 万倍,作者却用「工具 a / 工具 b」的并列方式呈现,读者会以为同一档位。而且真名是 docs-by-version(单数),他又写成 versions(复数)——第三次单复数错。
| 项目 | star | 最后提交 | 状态 |
|---|---|---|---|
| mattpocock/skills | 245,455 | 2026-08-24 | 8 月几乎每日提交 |
| DrErwin/docs-by-version | 4 | 2026-08-16 | 创建当天 3 次提交后 silent |
把纪律固化成工具链
Matt 8 月的 commit 暴露了一条隐形纪律:全删破折号定为写作禁忌、grilling 之间加分隔线、每个新 skill 必带 changeset。这是 245k★ 与一篇爆款推文的根本差距——前者把写作纪律固化成工具链,后者靠一次性灵感。
6 台 K1 的「上下半场各 10 分钟」「1 小时充电=1 小时使用」可拆成 tracer-bullet tickets——每个 ticket 是端到端可验证单元,挂到 GitHub Issues / 飞书表格,客户随时打开看板就知道进度,这正是 Matt 给出的「对外承诺」的物理形式。