Skip to content

Everything Claude Code 的 repo-scan Skill 是一款专为多技术栈项目设计的源码资产审计工具,支持 C/C++、Java/Android、iOS (OC/Swift)、Web (TS/JS/Vue) 等主流生态。它能自动分类每个文件(项目代码/三方库/构建产物),检测嵌入式依赖,按模块生成四级 Verdict(核心资产/需抽取/建议重构/可废弃),并输出可交互 HTML 报告。无论是接手遗留代码、架构重组,还是大规模重构前的资产梳理,repo-scan 都能极大提升 AI 编程助手的全局理解与决策能力。

Everything Claude Code Repo Scan Skill:跨技术栈源码资产审计、文件分类与四级 Verdict 报告

在 AI 编程助手(如 Claude Code、Codex、Cursor 等)赋能的现代开发流程中,如何让 AI 全面理解你的代码仓库结构、第三方依赖、冗余资产与技术债,是高效协作和自动化重构的前提。repo-scan Skill 正是为此场景而生,它打破了单一语言/包管理器的局限,实现了跨栈源码资产的自动化审计和可视化报告。

如果你想系统性提升 AI 辅助编程效率,建议先阅读 Everything Claude Code 完全指南:38 Agent + 156 Skill 的生产级 AI 编程插件Claude Code 快速上手指南:Skills、Hooks、Subagents、MCP 实战配置

repo-scan Skill 能解决什么问题?

传统做法的痛点

  • 人工梳理代码结构耗时巨大:尤其是 C++/Android/iOS/Web 混合的 monorepo,手动区分哪些是自研代码、哪些是嵌入的第三方库、哪些是历史遗留的构建产物,几乎不可能精准完成。
  • 依赖管理盲区:包管理器(如 npm、pip、Maven)只追踪声明式依赖,实际项目常有直接嵌入的第三方库(如 FFmpeg、Boost、OpenSSL 等),极易被忽略,带来安全和维护风险。
  • 缺乏全局技术债视角:重复封装、死代码、过时依赖、无用构建产物难以系统发现,重构/架构升级时易遗漏关键风险点。

repo-scan Skill 的能力

  • 跨技术栈一次性扫描:支持 C/C++、Java/Android、iOS (OC/Swift)、Web (TS/JS/Vue) 等主流语言,自动识别并分类所有类型文件。
  • 自动检测嵌入式第三方库与版本:通过目录、头文件、LICENSE、版本标记等多维度,识别 50+ 常见库及其版本。
  • 四级 Verdict 智能分级:为每个模块打分,分为「核心资产」「建议抽取合并」「建议重构」「建议废弃」四个等级,便于后续决策。
  • 可交互 HTML 报告:生成暗色主题、可钻取的结构化报告,方便团队异步审阅和分工。
  • 支持 monorepo 层级分析:不仅有全局总览,还能对子项目单独输出报告,适合大型多模块仓库。

典型应用场景与触发时机

  • 接手大型遗留项目:首次接管时,快速了解代码资产分布、三方依赖和技术债。
  • 架构重组/monorepo 拆分前:为架构决策提供定量依据,辅助 Architecture Decision Records Skill 归档。
  • 大规模重构前的风险排查:找出重复实现、死代码、过时依赖,为 refactor/重写任务分配提供数据支撑。
  • 开源发布/安全审计前:检测未声明的三方库和冗余产物,配合 Opensource Sanitizer Agent 做安全扫描。

安装与激活方式

repo-scan Skill 支持按需独立安装,建议在本地 ~/.claude/skills 目录下进行,确保可控与安全:

bash
# 仅拉取指定 commit,保证可复现和安全
mkdir -p ~/.claude/skills/repo-scan
git init repo-scan
cd repo-scan
git remote add origin https://github.com/haibindev/repo-scan.git
git fetch --depth 1 origin 2742664
git checkout --detach FETCH_HEAD
cp -r . ~/.claude/skills/repo-scan

安装前请务必审查源码,遵循最佳安全实践。更多配置细节可参考 Everything Claude Code 安装配置指南

使用流程 Step by Step

1. 选择分析深度

repo-scan 支持四种分析深度,适配不同规模和需求:

Level读取文件数(每模块)适用场景
fast1-2超大仓库/快速盘点
standard2-5默认推荐/全面依赖与架构检查
deep5-10重点模块/线程安全/内存管理等
full全部发布前/合并前彻底审计

建议:首次盘点用 standard,超大 monorepo 用 fast,局部重构时对重点模块用 deep

2. 启动扫描任务

通常由 Claude Code 的 MCP(多 Agent 协作流程)或相关 Agent(如 Code Reviewer、Architect、Refactor Cleaner)自动调用 repo-scan Skill。你也可以在 MCP 配置文件或命令行工具中手动触发:

typescript
// 伪代码示例
await agent.invokeSkill('repo-scan', {
  depth: 'standard',
  target: './your-repo-path'
});

3. 等待扫描与报告生成

repo-scan 会自动完成以下步骤:

  1. 仓库表面分类:遍历所有文件,打标签(项目代码/三方库/构建产物)。
  2. 嵌入库检测:通过目录、头文件、LICENSE、版本文件等识别三方依赖及版本。
  3. 模块分组与打分:按模块/子系统分组,结合归属、重复度、维护成本,分配四级 Verdict。
  4. 结构风险提示:自动标注死代码、重复封装、过时库、建议抽取/废弃模块。
  5. 报告输出:生成简明摘要和可交互 HTML 报告(暗色主题、可钻取)。

4. 审阅与决策

  • 打开 HTML 报告,按模块浏览资产分布、依赖关系、风险提示。
  • 结合四级 Verdict,制定重构、抽取、废弃等后续计划。
  • 可将报告交由 Code Reviewer AgentArchitect Agent 等进一步分析和建议。

5. 持续集成与循环审计

  • 建议将 repo-scan Skill 集成到 CI/CD Pipeline 或定期触发的 Hook(参考 Everything Claude Code Hooks 实战),实现资产变更的持续监控与技术债预警。

输出示例

以 5 万文件的 C++ monorepo 为例,repo-scan Skill 能自动输出如下洞见:

  • 检测到 FFmpeg 2.x(2015 年版本)仍在生产环境使用
  • 发现同一 SDK 封装被重复实现 3 次
  • 识别出 636 MB 的 Debug/ipch/obj 构建产物被误提交
  • 分类结果:3 MB 项目代码 vs 596 MB 三方依赖

报告结构如下:

  • 仓库总览(项目代码/三方依赖/构建产物占比)
  • 按模块分组的四级 Verdict(核心/抽取/重构/废弃)
  • 每个模块的详细文件清单与依赖明细
  • 高亮风险点(如重复实现、死代码、过时库)

常见配套 Agent 与 Skill 协作关系

repo-scan Skill 常与以下 Agent/Skill 联动,形成完整的 AI 辅助资产管理与重构闭环:

  • Code Reviewer Agent:基于 repo-scan 报告,聚焦高风险/高技术债模块,自动生成审查建议。
  • Architect Agent:辅助架构决策、monorepo 拆分、模块抽取等场景,结合资产分布和依赖关系制定方案。
  • Refactor Cleaner Agent:针对判定为「建议重构/废弃」的模块,自动识别死代码并安全删除。
  • Skill Stocktake Skill:定期盘点 Skill 库质量,与 repo-scan 结合做横向资产对比。
  • Opensource Sanitizer Agent:开源前安全审计,检测未声明三方依赖和敏感产物。

最佳实践与注意事项

  • 首次使用建议从 standard 深度开始,避免一次性读取全部文件导致性能瓶颈。
  • monorepo 场景推荐先用 fast 快速盘点,再对重点模块递进式加深分析。
  • 报告仅为辅助决策,最终操作前建议人工复核高风险判定。
  • 定期与 Workspace Surface Audit Skill 联用,动态感知资产变化。

FAQ

Q: repo-scan Skill 会修改我的代码吗?
A: 不会。repo-scan 仅做静态扫描和报告生成,不会对任何源文件做修改。

Q: 支持哪些主流语言和文件类型?
A: 支持 C/C++、Java/Android、iOS (Objective-C/Swift)、Web (TypeScript/JavaScript/Vue) 及其常见的第三方库和构建产物。

Q: 如何保证扫描结果的安全与隐私?
A: 建议本地运行 repo-scan,并在安装前审查源码,避免将敏感仓库上传至第三方服务器。