Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Analyzes code changes, detects documentation drift, and evaluates change impact scope. Use when reviewing diffs, checking doc sync, or running pre-commit analysis. Automatically triggered after design-level changes or refactoring.
.claude/skills/telagod-analyzing-changes/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -22% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 13% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-09 | ✗→✓ | ▲ Improved | 4% | 0% |
> 看清「改了什么、影响哪里、文档是否跟上」——是变更的体检,不是审查替代品。
| 场景 | 跑 | 判据 | |------|------|------| | 提交前(任何代码改动) | ✅ | 默认门禁 | | 重构完成 | ✅ | 评估辐射面 | | 设计级改动 | ✅ | DESIGN.md 是否同步 | | PR review | ✅ | 替代手工 diff 计数 | | 跨模块大改 | ✅ | 看依赖图是否成环 | | 紧急 hotfix | ⚠ | 跑,但允许文档同步延后到稳定后 |
| 模式 | 时机 | 用途 | |------|------|------| | working (默认) | 写代码过程中 | 自检,看「我现在的工作面有哪些待整理」 | | staged | git add 后、commit 前 | 提交闸,看「这一 commit 的合理性」 | | committed | commit 完成后 | review,看「上一段历史改了哪些范围」 |
| 警告 | 触发 | 处置 | |------|------|------| | 代码 >50 行 而 DESIGN.md 未更新 | 设计层面变化未留痕 | 补 DESIGN.md「改了什么/为何」段 | | 代码 >30 行 而无测试更新 | 测试覆盖滞后 | 补单测/集成测;或在 PR 注明「该路径已有 E2E 覆盖」 | | 新增文件而 README.md 未更新 | 用户视角文档滞后 | 补模块入口说明 | | 配置变更未记录 | 部署可能踩坑 | CHANGELOG / DESIGN 留迁移说明 | | 删除文件 | 引用可能未清理 | 全仓 grep 文件名/导出符号 |
工具产出三类信号:
> 拆 PR 的判据(基于 commit 角度): > - 跨 ≥3 模块且无统一主题 → 拆 > - 单 commit >500 行非生成代码 → 拆 > - 一次同时改架构 + 实现 + 文档 → 通常合理(同主题)
bashnode scripts/change_analyzer.js # working(默认) node scripts/change_analyzer.js --mode staged # 暂存区 node scripts/change_analyzer.js --mode committed # 已提交 node scripts/change_analyzer.js -v # 详细 node scripts/change_analyzer.js --json # CI 用
工具给信号,人下结论。先读受影响模块 README/DESIGN,确认:
设计级改动须于 DESIGN.md 留痕:改了什么、为何改、影响何处。三段缺一不可。
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 11,489 | 3,116 | -73% | 1 | 1 | 0% | 1,765 | 1,308 | -26% | 0 | 0 | — |
case-02 | fail→fail | 9,644 | 3,480 | -64% | 1 | 1 | 0% | 1,382 | 1,335 | -3% | 0 | 0 | — |
case-03 | fail→fail | 10,385 | 4,017 | -61% | 1 | 1 | 0% | 1,516 | 1,490 | -2% | 0 | 0 | — |
case-04 | fail→pass | 16,864 | 7,471 | -56% | 1 | 1 | 0% | 2,637 | 2,054 | -22% | 0 | 0 | — |
case-05 | fail→pass | 11,184 | 3,779 | -66% | 1 | 1 | 0% | 1,812 | 1,498 | -17% | 0 | 0 | — |
case-10 | pass→pass | 14,794 | 6,672 | -55% | 1 | 1 | 0% | 2,147 | 1,987 | -7% | 0 | 0 | — |
case-06 | fail→pass | 18,583 | 13,931 | -25% | 1 | 1 | 0% | 2,559 | 2,890 | +13% | 0 | 0 | — |
case-07 | pass→pass | 18,414 | 5,012 | -73% | 1 | 1 | 0% | 2,658 | 1,618 | -39% | 0 | 0 | — |
case-08 | fail→pass | 13,409 | 8,403 | -37% | 1 | 1 | 0% | 2,090 | 2,232 | +7% | 0 | 0 | — |
case-09 | fail→pass | 18,310 | 13,135 | -28% | 1 | 1 | 0% | 2,634 | 2,732 | +4% | 0 | 0 | — |
case-11 | pass→pass | 16,788 | 10,123 | -40% | 1 | 1 | 0% | 2,270 | 2,378 | +5% | 0 | 0 | — |
case-12 | pass→pass | 15,451 | 12,500 | -19% | 1 | 1 | 0% | 2,109 | 2,665 | +26% | 0 | 0 | — |
case-13 | pass→pass | 21,679 | 8,890 | -59% | 1 | 1 | 0% | 3,031 | 2,155 | -29% | 0 | 0 | — |
case-14 | pass→pass | 12,057 | 3,885 | -68% | 1 | 1 | 0% | 1,571 | 1,437 | -9% | 0 | 0 | — |
case-15 | fail→pass | 14,992 | 3,932 | -74% | 1 | 1 | 0% | 2,305 | 1,505 | -35% | 0 | 0 | — |
case-16 | pass→pass | 35,145 | 4,395 | -87% | 1 | 1 | 0% | 2,477 | 1,524 | -38% | 0 | 0 | — |
case-17 | fail→pass | 13,040 | 1,976 | -85% | 1 | 1 | 0% | 1,882 | 1,122 | -40% | 0 | 0 | — |
case-18 | fail→pass | 14,643 | 3,071 | -79% | 1 | 1 | 0% | 2,003 | 1,354 | -32% | 0 | 0 | — |
case-19 | pass→pass | 11,619 | 2,324 | -80% | 1 | 1 | 0% | 1,814 | 1,225 | -32% | 0 | 0 | — |
case-20 | pass→pass | 11,469 | 2,148 | -81% | 1 | 1 | 0% | 1,781 | 1,190 | -33% | 0 | 0 | — |
case-21 | pass→pass | 7,756 | 7,565 | -2% | 1 | 1 | 0% | 1,265 | 2,074 | +64% | 0 | 0 | — |
case-22 | pass→pass | 22,962 | 18,696 | -19% | 1 | 1 | 0% | 3,770 | 3,943 | +5% | 0 | 0 | — |
case-23 | pass→pass | 17,925 | 15,773 | -12% | 1 | 1 | 0% | 2,782 | 3,321 | +19% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of +35 percentage points is the difference between those two pass rates over the 23 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.