用途
Entropy 是一个只读传感器(Sensor)技能,用于检查文档新鲜度并计算领域质量等级,全程不做修复,只负责检测、评级和报告。适用于三种场景:事件驱动(PR 合并后触发,扫描受影响领域的文档陈旧情况)、每周定时任务(对每个产品仓库执行全量扫描,用最新等级更新 QUALITY_SCORE.md),以及手动执行(怀疑文档已漂移,或希望在重构前获得当前健康快照)。
主要能力
Entropy 从机械化信号计算领域质量等级:
- 文档覆盖率:docs/code-structure.md 是否覆盖该领域(二元值)
- 流程覆盖率:关键路径是否定义了 FlowChad 流程(仅前端仓库)
- 陈旧度差值:最后一次代码提交与最后一次文档更新之间的天数,超过 30 天视为陈旧
- 未关闭 Issue:GitHub 中标记到该领域的 Issue,超过 3 个视为信号
- 测试覆盖率:来自可用的覆盖率报告,低于 60% 视为信号
- Hookshot 覆盖率:doc-coverage.json 相对 docs 是否为最新
等级标准:A 表示所有适用信号均为绿;B 表示 1 个适用信号缺失或为黄;C 表示 2 个适用信号缺失;D 表示 3 个及以上适用信号缺失;F 表示该领域完全无文档。不适用信号会从等级分母中排除。
使用方式
安装命令:
npx skills add fellowship-dev/dogfooded-skills/skills/ops/entropy-check
执行流程包括:识别目标仓库(读取 QUALITY_SCORE.md 作为基线、读取 ARCHITECTURE.md 提取领域列表,两者都不存在时从目录结构推断领域);判断信号适用性(如通过 package.json 或 app/pages/src/components 目录检测前端,通过 .claude/doc-coverage.json 的 git 历史检测 Hookshot);确定范围(PR 触发模式仅评级有变更的领域,全量扫描模式评级所有领域);逐领域计算六个信号;汇总适用信号并计算等级。
等级回写仅限 QUALITY_SCORE.md 一个文件,通过 scripts/contents-writeback.sh 调用 GitHub Contents API 直接提交到仓库默认分支,不创建分支或 PR,提交信息必须带 [skip ci] 标记。若 sha 过期(HTTP 409/422),最多重试 3 次。若没有任何等级变化、未新增领域且未发现新的工具漂移,则只报告不提交。
报告输出
报告包含:信号适用性表(列出每个信号是否适用及原因);陈旧度报告(按回归、稳定问题、改进、干净分组);PR 触发时输出可直接作为评论的摘要(含受影响领域、回写提交 URL、等级变化表);每周全量扫描输出(等级表、信号适用性表、行动项)。对 D 级或 F 级领域,通过共享的 filing 辅助工具记录发现,只对已有 Issue 评论或追加到每周摘要,不会新建 Issue。
限制
Entropy 不做任何修复,仅检测与报告。工具漂移检查(对比已安装 speckit 命令与 fellowship-dev/spec-kit 源)只标记待审查,不自动修复,且某些仓库可能是有意定制的。部分事实(如具体价格、平台支持范围等)在提供的资料中暂未提供。