Claw-blog diff-budget-enforcer

限制每轮迭代的修改范围:最多改 5 个文件、最多改 300 行。超过限制转为人工处理,防止一次改动过大导致难以排查问题。

install
source · Clone the upstream repo
git clone https://github.com/zzvei/claw-blog
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/zzvei/claw-blog "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/codex/diff-budget-enforcer" ~/.claude/skills/zzvei-claw-blog-diff-budget-enforcer && rm -rf "$T"
manifest: skills/codex/diff-budget-enforcer/SKILL.md
source content

差异预算执行器

限制参数

限制项限制值超过后行为
文件数5 个停止,提示拆分任务
行数300 行停止,提示精简修改

统计方式

文件数统计

计数规则:

  • 新增文件:+1
  • 修改文件:+1
  • 删除文件:+1
  • 重命名文件:+1(算作修改)

示例:

本轮修改文件:
- 新增: src/utils.ts (+1)
- 修改: src/App.tsx (+1)
- 修改: src/index.css (+1)

总计: 3 个文件 ✅ 未超限

行数统计

计数规则:

  • 新增行:+N
  • 删除行:+N
  • 修改行:算新增+删除(如改 1 行 = +2)

示例:

本轮变更行数:
- src/utils.ts: +50/-10 = 60 行
- src/App.tsx: +100/-20 = 120 行
- src/index.css: +80/-30 = 110 行

总计: 290 行 ✅ 未超限

超限处理

文件数超限(>5)

❌ 本轮修改 7 个文件,超过 5 个文件限制

修改文件列表:
1. src/App.tsx
2. src/index.css
3. src/utils.ts
4. src/components/Header.tsx
5. src/components/Footer.tsx
6. src/pages/Home.tsx  ← 超出
7. src/pages/Post.tsx  ← 超出

建议拆分:
- 批次 1:先改 1-5 号文件
- 批次 2:再改 6-7 号文件

是否继续修改前 5 个文件?(是/否/全部转人工)

行数超限(>300)

❌ 本轮变更 450 行,超过 300 行限制

行数分布:
- src/App.tsx: 150 行
- src/index.css: 120 行
- src/utils.ts: 180 行
总计: 450 行

建议精简:
1. 优先修复核心问题(保留 150 行)
2. 样式调整延后处理(删除 120 行)
3. 工具函数分批添加(删除 180 行)

是否按建议精简?(是/否/转人工)

执行前检查

每次修改前检查预算:

预估本轮修改:
- 预计文件:3 个(未超限 ✅)
- 预计行数:150 行(未超限 ✅)

可以执行。
预估本轮修改:
- 预计文件:8 个(超限 ❌)
- 预计行数:500 行(超限 ❌)

建议:
1. 拆分为 2 个批次执行
2. 或精简修改范围

请选择:继续(风险)/ 拆分 / 转人工