mcpField
A
ai-debt-detector

ai-debt-detector

github.com/wshobson测试与质量41.9k3.1k 次安装2 周前更新
代码仓库

关于 ai-debt-detector

用于审查 AI 生成代码的技能,重点检查故障处理、资源泄漏、边界输入、依赖项和项目约定,适合在合并前或生成代码后进行针对性审计。

主要功能

  1. 01检查故障处理路径
  2. 02检查未清理资源
  3. 03检查输入边界情况
  4. 04验证依赖与 API
  5. 05核对项目编码约定

适用场景

  1. 01合并前审查 AI 生成代码
  2. 02检查生成代码的错误路径
  3. 03查找泄漏的资源与监听器
  4. 04核实导入的包和 API

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/wshobson/agents --skill ai-debt-detector

安装后在 Claude Code 中输入/ai-debt-detector确认已加载。

详细介绍

AI 债务检测器

概述

AI Agent 生成的代码能通过正常路径,却隐藏着债务:缺失的错误处理、孤立的资源、被忽视的失败模式、幻觉出来的软件包、悄无声息的架构漂移。本技能强制针对 AI Agent 容易搞错的那些具体模式进行一次有针对性的审计。

何时使用

  • 在任何 AI 代码生成会话之后(生成了 20 行以上)
  • 在合并 AI 生成的 PR 之前
  • 当代码能跑但感觉不对劲时
  • 在债务积累最快的 vibe-coding 冲刺之后
  • 当 Agent 声称完成却没有展示验证时

流程

代码生成后,扫描以下 AI 特有的债务模式:

  1. 失败模式 - 当这个失败时会发生什么?

    • 网络超时?磁盘已满?权限被拒绝?空输入?
    • 有没有 try/catch?它捕获的是特定错误还是吞掉一切?
    • 失败时资源是否被清理?(流已关闭、连接已归还、临时文件已删除)
  2. 孤立资源 - 创建了却从不清理的东西有哪些?

    • 临时文件、事件监听器、定时器、订阅、连接
    • 每一个 open/create 是否有对应的 cleanup/dispose/close 调用?
    • 在 React 中:每一个 addEventListener 在清理时是否都有 removeEventListener?
  3. 边界情况 - 哪些输入会破坏它?

    • 空数组/字符串?null/undefined?多 MB 的输入?Unicode?并发调用?
    • 代码是否假设了正常路径?(AI 几乎总是如此)
  4. 幻觉依赖 - 所有 import 是否真实存在?

    • 每个包都在 package.json/requirements.txt 里吗?
    • API 方法是真的吗?(AI 会编造听起来合理但根本不存在的方法)
    • 这个库的最新版本还导出这个函数吗?
  5. 架构漂移 - 这符合项目的模式吗?

    • 与现有代码使用相同的错误处理风格?
    • 使用项目既有的工具(而不是重新发明)?
    • 遵循文件结构约定?

危险信号(立即停下并修复)

  • catch (e) {} 或 catch (e) { console.log(e) } - 吞掉错误
  • 打开了资源却没有 finally 块
  • // TODO: handle error - AI 推卸责任的方式
  • 从项目中不存在的路径 import
  • 设置了超时却没有在超时时中止/清理
  • 打开了数据库连接却从不归还连接池

常见错误

  • 相信能编译就意味着正确(编译检查的是语法,不是逻辑)
  • 只审查 diff 而不检查 AI 没有生成什么(缺失的错误路径)
  • 假设 AI 用了正确的库版本(它经常使用已废弃的 API)
  • 因为垃圾回收会处理就跳过孤立资源检查(对连接、监听器、定时器并不会)

为什么会有这个技能

AI Agent 系统性地优化“看起来正确”和“通过正常路径”。它们遗漏失败模式、孤立资源和幻觉依赖的比例显著高于人工编写的代码。本技能强制针对这些特定的盲点进行审计。

评论

支持 Markdown