CtrlK
BlogDocsLog inGet started
Tessl Logo

devbooks-entropy-monitor

devbooks-entropy-monitor:定期采集系统熵度量(结构熵/变更熵/测试熵/依赖熵),生成量化报告,当指标超阈值时建议重构。用户说"熵度量/复杂度趋势/重构预警/代码健康/技术债务度量"等时使用。

Install with Tessl CLI

npx tessl i github:Darkbluelr/dev-playbooks-cn --skill devbooks-entropy-monitor
What are skills?

Overall
score

17%

Does it follow best practices?

Validation for skill structure

Validation failed for this skill
This skill has errors that need to be fixed before it can move to Implementation and Discovery review.
SKILL.md
Review
Evals

DevBooks:系统熵度量与预警(Entropy Monitor)

渐进披露

基础层(必读)

目标:明确本 Skill 的核心产出与使用范围。 输入:用户目标、现有文档、变更包上下文或项目路径。 输出:可执行产物、下一步指引或记录路径。 边界:不替代其他角色职责,不触碰 tests/。 证据:引用产出物路径或执行记录。

进阶层(可选)

适用:需要细化策略、边界或风险提示时补充。

扩展层(可选)

适用:需要与外部系统或可选工具协同时补充。

推荐 MCP 能力类型

  • 代码检索(code-search)
  • 引用追踪(reference-tracking)
  • 影响分析(impact-analysis)

来源:《人月神话》第16章"没有银弹" — "软件实体的复杂性是根本属性...控制复杂性是软件开发的关键"

前置:配置发现(协议无关)

  • <truth-root>:当前真理目录根
  • <change-root>:变更包目录根

执行前必须按以下顺序查找配置(找到后停止):

  1. .devbooks/config.yaml(如存在)→ 解析并使用其中的映射
  2. dev-playbooks/project.md(如存在)→ Dev-Playbooks 协议,使用默认映射
  3. project.md(如存在)→ template 协议,使用默认映射
  4. 若仍无法确定 → 停止并询问用户

关键约束

  • 如果配置中指定了 agents_doc(规则文档),必须先阅读该文档再执行任何操作
  • 禁止猜测目录根
  • 禁止跳过规则文档阅读

核心理念

系统熵 = 代码复杂度随时间的增长趋势

熵度量的目标:

  1. 定量化:所有指标都是数值/比率,可对比
  2. 趋势可视:历史数据支持趋势分析
  3. 阈值预警:超阈值时主动建议重构
  4. 定期执行:作为独立任务,不嵌入每次 code review

执行方式

  1. 先阅读并遵守:~/.claude/skills/_shared/references/AI行为规范.md(可验证性 + 结构质量守门)。
  2. 严格按完整提示词输出:references/熵度量方法论.md

脚本

脚本用途示例
entropy-measure.sh采集熵指标entropy-measure.sh --project-root /path/to/repo
entropy-report.sh生成报告entropy-report.sh --output report.md

指标体系(四维度)

A) 结构熵(Structural Entropy)

指标采集方式健康阈值说明
圈复杂度均值静态分析< 10函数级平均
圈复杂度 P95静态分析< 2095 分位数
文件行数 P95行数统计< 500过大文件预警
函数行数 P95静态分析< 50过长函数预警

B) 变更熵(Change Entropy)

指标采集方式健康阈值说明
热点文件占比git log< 0.1频繁修改的文件占比
耦合变更率git log< 0.3经常一起修改的文件对比例
代码流失率git diff< 0.5新增代码在30天内被删除的比例

C) 测试熵(Test Entropy)

指标采集方式健康阈值说明
Flaky 测试占比CI 日志< 0.01不稳定测试占比
测试覆盖率覆盖工具> 0.7代码覆盖率
测试/代码比行数统计> 0.5测试代码与生产代码比例

D) 依赖熵(Dependency Entropy)

指标采集方式健康阈值说明
过期依赖占比npm/pip audit< 0.2超过2个大版本的依赖
安全漏洞数安全扫描= 0高危漏洞数量
依赖深度 P95依赖树分析< 10传递依赖层数

产物落点

产物路径说明
熵报告<truth-root>/_meta/entropy/entropy-report-YYYY-MM-DD.md当次采集报告
历史数据<truth-root>/_meta/entropy/history.json所有历史指标
阈值配置<truth-root>/_meta/entropy/thresholds.json可配置阈值

执行频率建议

项目规模建议频率触发方式
小型(< 10K LOC)每周手动 / CI 定时
中型(10K-100K LOC)每日CI 定时
大型(> 100K LOC)每次合并PR 合并触发

与其他 Skill 的关系

Skill关系
devbooks-reviewer熵度量嵌入每次 review,作为独立任务
devbooks-proposal-author熵报告可作为重构提案的数据支撑
devbooks-impact-analysis高熵区域变更需更谨慎的影响分析

硬约束

  1. 定量优先:所有指标必须是数值/比率,禁止主观评价
  2. 阈值可配:所有阈值通过 thresholds.json 管理,不硬编码
  3. 历史可追:每次采集结果追加到 history.json
  4. 独立执行:不嵌入其他工作流,作为定期任务独立运行

上下文感知

本 Skill 在执行前自动检测上下文,选择合适的采集范围。

检测规则参考:skills/_shared/上下文检测模板.md

检测流程

  1. 检测历史数据文件是否存在
  2. 检测上次采集时间
  3. 检测是否有指标超阈值

本 Skill 支持的模式

模式触发条件行为
首次采集历史数据不存在执行完整采集并建立基线
增量采集距上次采集超过间隔采集新数据并对比趋势
预警模式检测到指标超阈值生成预警报告并建议重构

检测输出示例

检测结果:
- 历史数据:存在(15 条记录)
- 上次采集:2026-01-10
- 超阈值指标:2 个(圈复杂度 P95、热点文件占比)
- 运行模式:增量采集 + 预警模式
Repository
github.com/Darkbluelr/dev-playbooks-cn
Last updated
Created

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.