关于 ai-debt-detector
用于审查 AI 生成代码的技能,重点检查故障处理、资源泄漏、边界输入、依赖项和项目约定,适合在合并前或生成代码后进行针对性审计。
主要功能
- 01检查故障处理路径
- 02检查未清理资源
- 03检查输入边界情况
- 04验证依赖与 API
- 05核对项目编码约定
适用场景
- 01合并前审查 AI 生成代码
- 02检查生成代码的错误路径
- 03查找泄漏的资源与监听器
- 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 特有的债务模式:
-
失败模式 - 当这个失败时会发生什么?
- 网络超时?磁盘已满?权限被拒绝?空输入?
- 有没有 try/catch?它捕获的是特定错误还是吞掉一切?
- 失败时资源是否被清理?(流已关闭、连接已归还、临时文件已删除)
-
孤立资源 - 创建了却从不清理的东西有哪些?
- 临时文件、事件监听器、定时器、订阅、连接
- 每一个 open/create 是否有对应的 cleanup/dispose/close 调用?
- 在 React 中:每一个 addEventListener 在清理时是否都有 removeEventListener?
-
边界情况 - 哪些输入会破坏它?
- 空数组/字符串?null/undefined?多 MB 的输入?Unicode?并发调用?
- 代码是否假设了正常路径?(AI 几乎总是如此)
-
幻觉依赖 - 所有 import 是否真实存在?
- 每个包都在 package.json/requirements.txt 里吗?
- API 方法是真的吗?(AI 会编造听起来合理但根本不存在的方法)
- 这个库的最新版本还导出这个函数吗?
-
架构漂移 - 这符合项目的模式吗?
- 与现有代码使用相同的错误处理风格?
- 使用项目既有的工具(而不是重新发明)?
- 遵循文件结构约定?
危险信号(立即停下并修复)
catch (e) {}或catch (e) { console.log(e) }- 吞掉错误- 打开了资源却没有
finally块 // TODO: handle error- AI 推卸责任的方式- 从项目中不存在的路径 import
- 设置了超时却没有在超时时中止/清理
- 打开了数据库连接却从不归还连接池
常见错误
- 相信能编译就意味着正确(编译检查的是语法,不是逻辑)
- 只审查 diff 而不检查 AI 没有生成什么(缺失的错误路径)
- 假设 AI 用了正确的库版本(它经常使用已废弃的 API)
- 因为垃圾回收会处理就跳过孤立资源检查(对连接、监听器、定时器并不会)
为什么会有这个技能
AI Agent 系统性地优化“看起来正确”和“通过正常路径”。它们遗漏失败模式、孤立资源和幻觉依赖的比例显著高于人工编写的代码。本技能强制针对这些特定的盲点进行审计。
评论
支持 Markdown