软件瘦身skill slimmer
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/meanful--skill-slimmer.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @meanful/skill-slimmer。- 技能包(SKILL.md)体积瘦身与零丢失重构引擎。当用户说「技能包太大」「SKILL.md 太长」「瘦身」「减肥」「压缩」「重构技能包」「references 归位」「加个体积闸」「skill too large」「slim down a skill」时使用。五层流水线:L0 清 cruft → L1 内部分流(案例体冻结到 references、正文压成…
- 规则只搬迁不删除
- 零丢失靠机器校验不靠肉眼。
阅读全文 (展开查看完整说明)
概述
技能包瘦身引擎(Skill Slimmer)
把一个臃肿的技能包压到体积闸以内,且一条规则都不丢。
铁律(先读,违反即中止)
- 先立闸,后动刀。任何压缩前必须先完成两件事:把待压章节逐字搬到
references/作冻结网、跑slim_gate.py --baseline捕获基线。没有冻结网不许动 SKILL.md。 - 只搬迁,不删除。规则可以挪去 references,绝不许「因为太长所以删掉」。压不下去就报告,不许静默砍规则。
- 零丢失靠机器,不靠肉眼。改后必跑
slim_gate.py --verify,PASS 才算完成。 - 锚点整段替换,禁止重打长文。压缩长段落时只锚首尾行整段替换(
anchor_replace.py),中间内容一律不重新手打——手打必出转录漂移。 - Windows 写文件强制 LF。所有改写用
newline="n",否则 CRLF 会让 sha256 全错。
五层流水线(按序执行,跳层即返工)
L0 · 清 cruft(0 风险,先做)
python scripts/slim_gate.py --audit <skill目录>出体检报告:总字符、每章字符、超标判定、cruft 文件清单。- 把
.bak*/__pycache__//*.zip移出包外(如~/.workbuddy/skills/backup/),不删除。 - 写
.skillignore声明排除项:*.bak*/__pycache__//*.pyc/*.zip/.DS_Store。
判据:这一步通常就能减 20–40%,且零规则风险。
L1 · SKILL.md 内部分流(主战场)
对每个超标点,按下列四选一处理,处理完立即跑 verify:
| 症状 | 处理 | 落点 |
|---|---|---|
| 长案例体(坑清单/故障录) | 逐字搬到 references/90-<名>案例全本.md;正文压成「一规则一行索引」 | 冻结网 = references/90 |
| 总纲与细则双写 | 总纲压成流程图(N 步表 + 每步一句),细则只留一处作唯一权威,另一处写指针 | 细则归唯一权威章 |
| 单体长章节(>2K 字符) | 整章迁 references/NN-<名>.md,正文留一句话定位 + 路径 | references/NN |
| 导航索引冗长 | 压成「包内文件地图」表格:文件 / 用途 / 何时读 | 正文 §0 |
搬迁命令:
# 1) 冻结网(逐字搬运,不改一字)
python scripts/slim_gate.py --extract-book --skill <SKILL.md> --book references/90-xxx.md
--section-head "## 8. 坑清单" --sibling "## 8.[0-9]"
# 2) 捕获基线
python scripts/slim_gate.py --baseline --skill <SKILL.md> --baseline <基线.json>
--section-head "## 8. 坑清单" --sibling "## 8.[0-9]"
# 3) 压缩(用锚点整段替换,禁止手打长文)
python scripts/anchor_replace.py --job <job.json> --dry-run # 先空跑
python scripts/anchor_replace.py --job <job.json> # 再落笔
# 4) 校验
python scripts/slim_gate.py --verify --skill <SKILL.md> --book references/90-xxx.md
--baseline <基线.json> --max-chars 30000 --section-head "## 8. 坑清单" --sibling "## 8.[0-9]"压缩手法细节见 @references/02-锚点整段替换法.md。
L2 · references 重组
- 命名归一:全包统一编号制
NN-<短名>.md,消灭方法论_*/指南-*等无编号命名。改名后必须全局搜旧名并同步(含正文、其它 references 内部交叉引用)。 - 重叠去重:对与 SKILL.md 内容重叠的历史文档,不要删,在文件头部加「⚠️ 本文档为 vN 时代产物,现行口径见
references/22-…」标注。 - 孤儿清理:无任何引用且内容过时的文件,先报告再决定,不擅自删。
L3 · 生长闸(防反弹,最容易漏)
把体积闸嵌进目标技能包自己的 scripts/check_environment.py,使它在每次环境自检时自动复核:
- SKILL.md >
WARN_CHARS(25000) → WARN - SKILL.md >
MAX_CHARS(30000) → BLOCK 拒绝出厂 - 包内含
.bak*/__pycache__→ BLOCK
代码模板见 @references/03-生长闸接线模板.md。
判据:不装生长闸的瘦身,三个月后必然长回去。
L4 · 黄金用例回归
瘦身后必须证明「行为没变」:
py_compile该技能包scripts/下全部.py+ 依赖它的盘上生产脚本。警告:裸跑python -m py_compile会在包内生成__pycache__/,随后被生长闸判为 cruft(自污染)。务必用py_compile.compile(f, cfile=<临时目录>/xx.c)改写输出路径,或编译后rm -rf 包内 __pycache__/再跑校验。- 跑脚本自带的自检入口(
--self-test/ 无参运行)。 - 规则完整性断言:写一次性脚本 grep SKILL.md,确认关键判据词表、状态枚举、闸门条件逐条还在(见 @references/01-五层瘦身流水线.md 第 4 节清单模板)。
- 三项全绿才算 L4 通过;任一红必须定位到具体章节再修,不许「看着差不多」。
L5 · 体检收口(瘦身完必跑,否则瘦身出问题也不知道)
L0–L4 只证明「瘦下来了且规则没丢」,但没证明这个包还能被正确加载和跑通。收口必须跑一次体检:
python scripts/skill_doctor.py <技能包目录>—— 六层确定性检查(零假阳性):- 1.触发与元数据(name==目录名、description 第三人称、agent_created)
- 2.@引用断链(只检
@references/@scripts/@assets/,正文示例文字不误判) - 3.脚本编译(临时 cfile,不污染包)
- 4.自测实跑(自动跑
--self-test/ 无参) - 5.体积+cruft 闸
- 6.指令正确性(机器判不了语义,诚实标 🔍需人工对照)
- 报告任一 ❌ 必须先修再交付;🔍 提示交给人工,不阻断。
- 可复用:本器对 skill-slimmer 自己同样适用——每次改完先瘦身后体检,形成闭环。
验收清单(交付前逐条打勾)
- [ ] 冻结网
references/90-*存在且 sha256 与冻结值一致 - [ ]
slim_gate.py --verify返回 PASS,规则编号集零丢失 / 零重复 / 零缺号 - [ ] SKILL.md 总字符 ≤ 约定阈值(默认 30000)
- [ ] 全部旧文件名的交叉引用已同步,无断链
- [ ] 生长闸已接线并实测触发 WARN/BLOCK
- [ ] L4 三项回归全绿
- [ ] 版本号已按语义化升级,且变更留痕(记在版本历史段,不占规则索引预算)
参考文档
- @references/01-五层瘦身流水线.md — 每层动作、验收判据、L4 断言清单模板
- @references/02-锚点整段替换法.md — 为什么禁止手打长文、job.json 写法、踩过的坑
- @references/03-生长闸接线模板.md — check_skill_size / check_no_cruft 可复制代码
- @references/04-实战复盘-campus-job-daily.md — 70,442→27,386(−61%)完整实录与 10 个真实踩过的坑
异常与降级
| 情况 | 处理 |
|---|---|
| 目标 SKILL.md 无编号条目(无「N. 」结构) | --entry 传自定义正则;仍无则跳过编号集闸,只跑体积闸与冻结网 sha |
| 压到阈值仍超标 | 停止,向用户报告剩余构成(哪几章、多少字符、是否为核心规格),由用户裁决:接受 / 授权裁规格 / 上调阈值。绝不擅自砍规则 |
| Windows 上 sha256 对不上 | 99% 是 CRLF;确认写文件用 newline="n",且比对前 .rstrip("n") |
| 锚点 count≠1 | 中止整批,不改文件。换成更长的唯一锚点或改用首尾行整段定位 |
| 目标包无 check_environment.py | 新建最小自检脚本承载生长闸,或在 SKILL.md 中登记人工复核节奏(每版一次) |
版本历史
- v1.1.0(2026-10-01):新增
scripts/skill_doctor.py六层确定性体检器(零假阳性、可复用给其他 skill);SKILL.md 增 L5 体检收口节;check_environment.py接入 doctor 自检;修复 anchor_replace 死代码、growth_gate模板__pycache__误判、补agent_created校验、补 py_compile 污染警告、补.skillignore。