免免蒸馏:八步审码+四原则架构。mianmian-review元Skill。
一个元 Skill 集合。任何 AI 拿到它,就能陪人类走完一整套沙盒包创建流程——从「我到底想做什么」到「代码写完、验证通过、可以发布」。附带八步审码引擎(mianmian-review)——符号解析→前提检查→数据流→控制流+值域→身份检查→传染性→系统沉默→硬限制分析。
它不是代码生成器。它是决策框架:让人在写第一行代码之前,先确认自己走在对的路上。
语法错误不是错误。走错方向才是。
- 不知道自己要什么,就开始写代码 → 错误。Skill 会在 Shape 阶段拦住你,先问「你真正想要什么体验」。
- 明明在同一个框架里深耕就能解决,却为了「换个形态」重构整个项目 → 错误。Skill 的淘汰链不会让你跳过这一问:「不换形态,深耕能达到吗?」
- 做完了一个沙盒包,但别人拿起来不知道怎么用 → 错误。Skill 会追问「别人能看懂你的初衷吗」,并让你选择兼容层级——原生 QuickJS?Package API?跨包调用?公开 API?
- 性能「刚刚好够」就停手,或者「过度优化」到不可维护 → 错误。Skill 按搜索/文件/网络/数据处理四种类型给出了精确的性能准则——不是越多越好,是刚刚好。
- 报错了不知道问题出在哪一层 → 错误。Skill 的
retry_trace故障追踪链会把每一层的错误码推回来,让你能定位到具体是原生、包装层、还是跨包调用出了问题。 - 审代码靠猜不靠系统 → 错误。mianmian-review 八步法逐条问到底,三秒定位,17/17全命中。
一句话:错误不是代码跑不通。错误是你做完了才发现——这个东西从一开始就不该这样做。
- JSON 循环引用 → 直接崩溃。用
JSON.stringify前确认数据结构里没有循环引用。 - 单次日志过多 → UI 线程阻塞。大对象用
JSON.stringify(obj, null, 0)压缩,或者分批输出。 - fetch 无超时 → 永久挂起。每个 fetch 必须包
AbortController+ 超时。 - 同步循环中大量异步 → 内存堆积。用
for...of+await,别用forEach+ 异步。 - 正则回溯爆炸 → CPU 卡死。复杂正则先在小数据集上验证,限制输入长度。
- 缓存设计缺失 → 每次都重新算。读盘操作必须有内存缓存(如 5 秒 TTL),写入即时刷新。
| 类型 | 核心策略 | 红线 |
|---|---|---|
| 搜索类 | Promise.all 并发 + 去重去噪 + 结果缓存 | 并发数上限 ≤ 8,超出分批 |
| 文件类 | 流式读写,避免整文件加载到内存 | 大文件(>10MB)禁止 readFile 整读 |
| 网络类 | 超时必设 + 重试退避 + 响应压缩 | 无超时的 fetch = 定时炸弹 |
| 数据处理 | 懒加载 + 分页 + 增量计算 | 禁止一次性加载全量数据到数组 |
四个层级,选错一层,后续都是徒劳:
- 🔴 原生 QuickJS:最快,但只有纯文本进出。适合内部工具。
- 🟡 Package API 统一包装:
{success, data, error, elapsed_ms}。适合团队内多个沙盒包协作。 - 🟠 跨包调用 + 错误码:
-1到-9错误码体系 +retry_trace故障追踪。适合复杂系统。 - 🟢 公开 API:语义化版本 + 向后兼容承诺。适合对外发布。
不需要一开始就选最顶层的。从你实际需要的层级开始,往上一层层加。
陪人从"我到底想做什么"走到"代码写完、验证通过、可以发布"。103KB,五阶段(Shape→Explore→Diagnose→Confirm→Develop),61条Bug预判全内置。
符号解析→前提检查→数据流→控制流+值域→身份检查→传染性→系统沉默→硬限制分析。全语言通用(Kotlin/Python/JS/Rust/Go),kotlin-head v0.5.2→v0.12.9全版本17/17命中验证。架构四原则:手搓节点/探针用id/适配层/组件不塌缩。
Node.js 零依赖。三种看书模式(全量/分页/索引),五军模型(SCOUT侦察+STRATEGIST军师+BURST爆裂+GUARD哨卫+LIGHTNING闪电)。102M文件翻任一页微秒级。
node file-head/index.js /path/to/dir # 交互模式
node -e "const fh=require('./file-head'); ..." # API模式- 支持沙盒包(Sandbox Package)的 AI 平台
- 平台提供的沙盒包开发工具包——本 Skill 的 Develop 阶段需要平台的沙盒脚本调试、文件写入等工具。没有这个依赖,开发阶段的验证步骤无法执行。
- 将整个
head-worker-skills文件夹放入平台的 Skill/Skills 目录 - 确认平台的沙盒包开发工具已激活
- 在对话中提及「head-worker-skills」,AI 应自动加载
- 动机六问:看不惯什么→对照地图在哪→反感人还是行业→掀桌子流程→身份检查是不是起点→拆的答案有模式吗
- 第七步物理碾压+自我验证:「数据量翻一万倍,哪个组件第一个崩?只改一个——方法对。全要改——拆错了,回到第五问。」
- 三元结构:信号识别 + AI行动指南 + 直觉锚点。三条硬锚点防止方法论空心化
- 验证路径:Haiku 4.5(换地图——功能审查→架构审查)+ Sonnet 5(加刹车——自信交付→自我推翻)→ 两个级别模型均有提升
- 第六步:传染性检查——改了default_num引擎上限没改、格式变了阈值没跟
- 第七步:系统沉默——不是某一个catch空了,是整条错误链多个组件共用不出声
- 来源:Search Vault v4.4.0硬编码松绑 + 綦桐网关无前缀静默链
- mianmian-review元Skill首次发布
- operit-meta-guide更新
- skill-creator v3.5.0
- 架构太好也是错、注释数字腐烂、静态模板有不可见上限、Dead Code是活bug、被动应急别当瞎子、审计反馈需常识过滤器
完整变更见 CHANGELOG。
所有旧版 SKILL.md 收录在 archive/ 目录——从 v1.0 骨架到 v2.8,逐版可对照:
| 版本 | 行数 | 关键里程碑 |
|---|---|---|
| v1.0.0 | 118 | 四阶段骨架:Explore→Diagnose→Confirm→Develop + 13条Bug预判 |
| v1.1.0 | 150 | +自由判断边界 +常见手误 +自测清单 |
| v1.2.0 | 214 | +Shape阶段 +淘汰链 |
| v2.0.0 | 423 | +协作协议 +愿望节 +兼容层级 +QuickJS陷阱 |
| v2.5.0 | 646 | +形态区别表 +受众维度 +44条Bug +5.0必读 |
| v2.6.0 | 735 | 设计耦合族:15条Bug(#45-#59)按8族归类 + 族索引 + 案例L |
| v2.7.0 | 747 | 形式语言概念框 + 沙盒包≠沙盒概念框 |
| v2.8.0 | ~1000 | 运行时调试(§6) + 反模式目录(§7) + 包间协作(§8) |
| v3.0.0 | ~1057 | §9 Node.js Skill专章 + §7.6 硬编码清零实战 |
| v3.1.0 | ~460 | 编译器/解析器类 Bug预判+4条 + 性能准则+6条(kotlin-head 实战反哺) |
| v3.3.0 | ~1080 | Skill 3.2「看位置不分类」+ Skill 3.3「看交叉不看标签」— Bug预判 59→61条 |
| v3.4.0 | ~1140 | Skill 3.4「进程系统实战教训」— kotlin-head v0.11.x六条通用教训 |
| v3.4.1 | ~1160 | 合并file-head五军文件操作沙盒 + CHANGELOG |
| v3.5.0 | ~1200 | mianmian-review元Skill + operit-meta-guide更新 |
| v3.5.1 | ~1250 | 第六步传染性 + 第七步系统沉默(Search Vault v4.4.0实践) |
| v3.5.5 | ~1300 | 动机六问+验证七步诊断——设计审码(Haiku 4.5+Sonnet 5双验证) |
点击版本号直接在 GitHub 上浏览对应文件。
参见 LICENSE。
这份 README 由 Operit 和免免共同授予——技术错误我告诉你,什么才算错误免免告诉你。