AgentSkillsCN

audit

对当前项目进行全面代码审计,检查架构问题、死代码、重复实现、耦合度、泛用性。执行 /audit 时加载此技能。

中文原作
SKILL.md
--- frontmatter
name: audit
description: 对当前项目进行全面代码审计,检查架构问题、死代码、重复实现、耦合度、泛用性。执行 /audit 时加载此技能。
user_invocable: true

代码审计技能

执行此技能时,对当前项目进行全面审计,生成报告到 .claude/plans/audit-report.md

审计流程

Step 1: 启用 code-RAG

先启用 skill:code-RAG,然后执行 index_codebase 确保索引最新。

Step 2: 并行扫描 (启动多个subagent)

Agent A — 死代码分析:

  • 找出所有已导出但未被调用的函数/类型/常量
  • 找出所有已定义但未被 import 的文件
  • 分语言检查: 各语言各自的未使用导出

Agent B — 重复实现检测:

  • 搜索功能相似但在不同位置实现的代码
  • 搜索重复定义的常量/配置值
  • 搜索相似的数据结构定义
  • 标注哪些应该合并为共享模块

Agent C — 耦合度分析:

  • 检查依赖方向是否合规(逻辑层不依赖渲染/UI/平台层)
  • 检查模块间是否通过接口通信还是直接访问内部实现
  • 检查是否存在全局可变状态跨模块共享
  • 标注违规的依赖关系

Agent D — 泛用性检查:

  • 找出硬编码的实体/对象构造(非通过工厂/配置/组件系统)
  • 找出魔法数字和字符串字面量
  • 找出只适用于特定案例的实现(应该泛化的代码)
  • 检查测试/调试代码是否使用了与正式代码不同的构建路径

Agent E — 优化建议:

  • 检查是否有手写实现可用成熟库替代
  • 检查算法复杂度是否合理
  • 检查跨语言调用是否可以批量化
  • 检查数据传输是否有不必要的序列化/反序列化

Step 3: 汇总报告

将所有agent的结果汇总到 .claude/plans/audit-report.md,格式:

markdown
# 审计报告 — [项目名] — [日期]

## 概要
- 扫描文件数: X
- 发现问题数: X (严重/中等/轻微)

## 1. 死代码
| 文件 | 符号 | 类型 | 状态 |
|------|------|------|------|

## 2. 重复实现
| 位置A | 位置B | 相似度 | 建议 |
|-------|-------|--------|------|

## 3. 耦合问题
| 模块 | 违规依赖 | 严重度 | 建议 |
|------|----------|--------|------|

## 4. 泛用性问题
| 文件 | 问题 | 建议 |
|------|------|------|

## 5. 优化建议
| 文件 | 当前实现 | 建议方案 |
|------|----------|----------|

## 重构任务清单 (按优先级)
1. ...
2. ...

Step 4: 用户确认

将报告展示给用户,等待确认后再执行任何重构。

重要约束

  • 审计阶段只读不写 — 不修改任何代码
  • 所有建议必须具体到文件和行号
  • 优先级排序: 架构问题 > 重复代码 > 死代码 > 优化
  • 报告使用中文