{"id":"085da047-0985-4284-888c-bb39cc1ad79b","shortId":"Q2VCEK","kind":"skill","title":"repo-scan","tagline":"对指定项目源码目录执行全面资产审计，生成《全网模块与源码资产审计详细清单》。当用户要求\"审计源码\"、\"盘点代码资产\"、\"生成清单\"时自动触发。","description":"# 源码资产审计与详细清单生成\n\n## 角色\n\n你是顶级全栈架构师与源码审计员，精通以下五大技术生态：\n- **C/C++ 底层基建**：音视频编解码、流媒体协议栈、高性能网络通信（IOCP/Epoll）、跨平台底层库。\n- **Java/Android 移动端**：Android 应用架构（Activity/Fragment/ViewModel）、Jetpack 组件生态、NDK/JNI 桥接、Gradle 多模块构建、AAR 库发布。\n- **iOS 原生端**：Objective-C/Swift 混编架构、UIKit/SwiftUI 视图体系、AVFoundation/VideoToolbox 硬件加速、CocoaPods/SPM 依赖管理、Xcode 工程结构。\n- **C#/.NET 企业应用**：ASP.NET Core Web 框架、Entity Framework ORM、依赖注入、异步编程模式、NuGet 包管理、.NET Framework 到 .NET 5+ 迁移、WinForms/WPF/MAUI UI 框架。\n- **Web 前端生态**：现代框架（React/Vue/Angular）、TypeScript 工程化、构建工具链（Webpack/Vite/Rollup）、状态管理、SSR/CSR 架构、Wasm 集成。\n\n你的任务是对指定项目源码目录进行高效的资产审计，输出一份数据驱动的《全网模块与源码资产审计详细清单》。\n\n---\n\n## 执行前准备\n\n### Step 0：运行预扫描脚本\n\n脚本为纯 Python 3 实现，跨平台，零依赖。支持两种输出模式：\n\n#### 模式 A：分级输出（推荐，适合中大型项目或工程聚合体）\n\n```bash\npython \"${CLAUDE_SKILL_DIR}/scripts/pre-scan.py\" \"$ARGUMENTS\" -d \"$ARGUMENTS/scan-output\"\n```\n\n脚本自动检测\"工程聚合体\"（含构建配置或 ≥3 源码文件的目录），按层级生成：\n- `index.md`：轻量汇总表（每个子项目一行：名称、构建系统、文件数、体积、技术栈）\n- `{子项目}.md`：完整 8 章节详细报告\n\n**判定规则：**\n1. 目标本身是聚合体且无子聚合体 → 单文件 `{name}.md`\n2. 目标有子聚合体 → `index.md` + 每个子项目各自的报告\n3. 嵌套聚合体 → 递归生成子目录结构\n\n#### 模式 B：单文件输出（小型项目或向后兼容）\n\n```bash\npython \"${CLAUDE_SKILL_DIR}/scripts/pre-scan.py\" \"$ARGUMENTS\" -o \"$ARGUMENTS/repo-scan-data.md\"\n```\n\n`-o` 和 `-d` 互斥。不指定任何输出参数时输出到 stdout。\n\n#### 脚本输出内容（每个详细报告包含 8 章节）\n\n1. 总体统计（项目代码/三方库/构建产物 三分类）\n2. 顶级目录分解（含构建系统识别、三方库标记）\n3. 按技术栈分类的源码统计\n4. **三方依赖清单**（自动检测库名、版本号、位置、体积）\n5. 代码重复检测（排除三方库误报）\n6. 清洁目录树（三方库已标记 `[3rd-party]`，不深入展开）\n7. Git 活跃度\n8. 噪声目录汇总\n\n脚本的忽略/识别模式可通过 `config/ignore-patterns.json` 自定义。\n\n### Step 1：读取预扫描结果\n\n- **分级模式**：先读取 `scan-output/index.md` 获取全局视图，然后按子项目逐个处理\n- **单文件模式**：读取 `$ARGUMENTS/repo-scan-data.md`，获取全局视图\n\n---\n\n## 高效分析策略（Token 节约铁律）\n\n**严禁穷举式逐文件阅读**——这是对 token 的极大浪费。必须遵循以下分层分析法。\n\n### 分析精度级别（--level 参数）\n\n用户可通过 `--level` 参数控制精读密度，不指定时默认 `standard`。\n\n| 级别 | 第二层精读文件数（每模块） | 第三层质量抽样 | 适用场景 |\n|---|---|---|---|\n| `fast` | **1-2 个**：仅构建配置 + 最核心的 1 个头文件/接口 | 仅从构建配置推断依赖版本，不做代码级质量判断 | 超大目录（数百模块）快速摸底，先出全景再定点深钻 |\n| `standard` | **2-5 个**：头文件/接口 + 入口文件 + 构建配置 | 完整抽样：依赖引用 + 架构模式 + 技术债标记 | 常规审计（默认） |\n| `deep` | **5-10 个**：standard + 核心实现/测试/CI | 深度抽样：错误处理/线程安全/内存/API 一致性 | 增量深度审计（详见 `deep-mode.md`） |\n| `full` | **全部文件**：模块内每一个源码文件均精读 | 全量分析 + **横向对比** + 可选**双扫描验证** | 整合前全面摸底、复核候选决策（详见 `full-mode.md`） |\n\n**参数解析规则**：\n- 从 `$ARGUMENTS` 中提取 `--level` 和 `--modules` 值，剩余部分作为目标路径\n- 示例：`/repo-scan D:\\projects --level fast` → 路径 `D:\\projects`，精度 `fast`\n- 示例：`/repo-scan D:\\projects --level deep` → 增量 deep（自动筛选高价值模块）\n- 示例：`/repo-scan D:\\projects --level deep --modules base,rtmp_encoder_sdk` → 指定模块 deep\n- 示例：`/repo-scan D:\\projects --level full --modules base` → 指定模块 full（全文件精读 + 横向对比）\n- 未指定 `--level` 时等同于 `--level standard`\n- `--refresh`：仅重新生成顶层交叉审阅（不执行新的源码分析），详见 `${CLAUDE_SKILL_DIR}/deep-mode.md` 的\"顶层刷新模式\"章节\n- `--gap-check`：增量能力差异检测模式（见下方说明）\n\n> **deep 模式与 --modules 参数**：当使用 `--level deep` 或 `--modules` 参数时，必须先读取 `${CLAUDE_SKILL_DIR}/deep-mode.md` 获取完整的增量分析流程、模块匹配规则和判决冒泡机制。\n>\n> **full 模式**：当使用 `--level full` 时，必须先读取 `${CLAUDE_SKILL_DIR}/full-mode.md` 获取全量扫描流程、.h/.cpp 配对规则和横向对比机制。\n>\n> **--refresh 模式**：当使用 `--refresh` 参数时，必须先读取 `${CLAUDE_SKILL_DIR}/deep-mode.md` 获取顶层刷新流程。\n>\n> **--gap-check 模式**：增量能力差异检测，不重新执行 repo-scan，而是用 SHA256 对比 已整合模块与 best candidate 目录的文件差异，提取 C++ 符号级的能力 gap。详见下节。\n\n### --gap-check 增量能力差异检测\n\n**场景**：repo-scan 已完成，模块整合进行中或完成后，需要验证是否遗漏了候选目录中的新能力。\n\n**工具**：`${CLAUDE_SKILL_DIR}/scripts/capability_gap.py`\n\n```bash\n# 检测所有已配置模块\npy -3 \"${CLAUDE_SKILL_DIR}/scripts/capability_gap.py\"\n\n# 只检测指定模块\npy -3 \"${CLAUDE_SKILL_DIR}/scripts/capability_gap.py\" -m base_codec\n\n# 自定义输出路径\npy -3 \"${CLAUDE_SKILL_DIR}/scripts/capability_gap.py\" -o report.md\n\n# 使用自定义配置（添加新模块映射）\npy -3 \"${CLAUDE_SKILL_DIR}/scripts/capability_gap.py\" --config config.json\n```\n\n**检测三类差异**：\n\n| 类型 | 标签 | 含义 | 处理方式 |\n|------|------|------|---------|\n| 新文件 | `[MANDATORY-IMPORT]` | 候选有但目标库没有的文件 | 必须导入或明确决定不导入 |\n| API 差异 | `[MANDATORY-EVAL]` | 同名文件但候选有新的 class/function/enum | 必须评估合并 |\n| 实现差异 | `[EVAL-IMPL]` | 同名文件 API 相同但实现不同 | 检测关键模式（atomic/智能指针/错误处理等），按改进方向决定 |\n\n**实现差异检测的关键模式**（按语言适用）：\n\n| 模式 | 适用语言 | 说明 |\n|------|---------|------|\n| `std::atomic` vs `volatile` | C/C++ | 线程安全升级 |\n| 智能指针 vs 裸指针 | C/C++ | 内存安全 |\n| mutex/lock_guard 使用变化 | C/C++ | 并发模式 |\n| 硬件加速帧（av_hwframe） | C/C++ | FFmpeg 硬件加速 |\n| FFmpeg 资源释放完整性 | C/C++ | 资源泄漏 |\n| `synchronized` vs `ReentrantLock` vs 协程 | Java/Kotlin | 并发模式演进 |\n| `@MainThread` / `Dispatchers` 使用 | Kotlin | 线程调度 |\n| `weak`/`unowned` vs `strong` 引用 | Swift/ObjC | 循环引用 |\n| `async/await` vs callback | Swift/JS/TS/Kotlin | 异步模式演进 |\n| 错误处理（try-catch/Result/Optional） | 所有语言 | 错误检查密度 |\n| channel vs mutex | Go/Rust | 并发模式 |\n| `unsafe` 块使用 | Rust | 内存安全边界 |\n\n**输出**：Markdown 报告，末尾包含 `MANDATORY 整合清单` 章节，可直接用于 repo-refactor 的 codex-brief。\n\n**添加新模块映射**：编辑脚本中的 `DEFAULT_MODULES` 字典，或提供 `--config` JSON 文件：\n\n```json\n{\n  \"target_root\": \"D:\\\\path\\\\to\\\\module-lib\",\n  \"modules\": {\n    \"output_rtmp\": {\n      \"target_dir\": \"output_rtmp/cpp\",\n      \"candidates\": [\"D:\\\\projects\\\\my_project\\\\my_module\"]\n    }\n  }\n}\n```\n\n---\n\n### 第一层：文件名推断（零 Token 成本，所有级别均执行）\n\n根据预扫描的目录树和文件名列表，利用你的架构师经验推断：\n- 模块的功能定位（如 `capture_rtsp/` → RTSP 流抓取模块）\n- 代码组织模式（如 `base/`, `base_codec/` → 基础库层）\n- 技术栈归属（如 `.vcxproj` → MSVC 构建，`build.gradle` → Android）\n\n### 第二层：关键文件精读（文件数量受 level 控制）\n\n按当前 level 选择精读文件，优先级从高到低：\n\n1. **构建配置**（所有级别必读）：`CMakeLists.txt`、`build.gradle`、`Podfile`、`*.csproj`、`package.json`\n2. **头文件/接口定义**（standard 及以上）：`.h`/`.hpp`（C/C++）、`interface`/`abstract class`（Java）、`interface`/`abstract class`（C#）、`Protocol`（iOS）、`index.ts`/`types.ts`（Web）\n3. **入口/主文件**（standard 及以上）：`main.cpp`、`Application.java`、`AppDelegate.m`、`Program.cs`/`Startup.cs`、`App.vue`\n4. **核心业务实现**（deep 增量阶段）：关键 `.cpp`/`.java`/`.cs`/`.swift`/`.ts` 实现文件\n5. **测试与 CI**（deep 增量阶段）：测试入口文件、`.github/workflows/`、`Jenkinsfile` 等\n\n> **fast 级别特别说明**：每模块只读 1-2 个文件，但判决仍需给出——依据文件名推断 + 构建配置中的依赖信息做出最佳判断，判决旁标注 `(fast-scan)` 表示精度有限。\n\n> **deep 级别特别说明**：deep 是增量阶段，此时 standard 分析已完成。第 4、5 优先级的文件选择应参考已有 standard 分析结果，有针对性地选择最值得深入的实现文件，而非盲目按文件大小排序。\n\n### 第三层：质量抽样判断（深度受 level 控制）\n\n**fast 级别**：\n- 仅从构建配置中的依赖声明推断三方库版本是否过时\n- 跳过代码级架构和技术债分析，质量评估栏标注\"未深入抽样\"\n\n**standard 级别**（默认）：\n- **依赖引用**：`#include`/`import`/`require` 中实际使用了哪些三方库？版本是否过时？\n- **架构模式**：是否存在 God Object / 巨型函数 / 硬编码 / 全局状态滥用？\n- **技术债标记**：MFC 残留？Support Library 而非 AndroidX？UIWebView？jQuery？\n\n**deep 级别**（增量阶段，以下检查追加到已有 standard 分析之后）：\n- **错误处理**：异常/错误码是否一致？是否存在静默吞异常？\n- **线程安全**：锁粒度、竞态条件风险、异步模式是否合理？\n- **内存管理**：C/C++ 的 RAII 使用情况、智能指针 vs 裸指针；移动端的循环引用风险\n- **API 设计一致性**：命名规范、参数风格、返回值约定是否统一？\n\n### 三方库处理原则\n\n对于预扫描已识别的三方库目录：\n- **不深入分析源码**——三方库不是项目自有资产，不需要阅读其实现\n- **仅记录清单**：库名、版本、所在位置、被哪些模块引用\n- **评估适当性**：版本是否过于陈旧？是否有更好的替代方案？是否存在已知安全漏洞（根据你的知识判断）？\n- **标注实际使用**：从项目代码的 `#include`/`import` 推断实际使用了三方库的哪些能力\n\n---\n\n## 分级输出分析策略\n\n当使用 `-d` 分级输出模式时，按以下流程执行：\n\n1. **读取 `index.md`**：获取子项目列表和轻量汇总\n2. **逐个处理子项目**：每次只对一个子聚合体做完整三段式分析（资产总览树 → 模块级描述 → 资产定级表）\n3. **将每个子项目的分析结果写入对应的 `{子项目}.md`**（追加到预扫描数据之后）\n4. **中间级交叉审阅**（见下方说明）\n5. **Step 2.5 — 顶层全局交叉审阅**（所有子项目处理完后必须执行，见下节）\n6. **最终更新顶层 `index.md`**：在汇总表中补充各子项目的判决定级，并追加交叉审阅章节\n\n**优势**：每个子项目的详细报告独立，AI 每次只需处理单个项目的上下文，避免超长报告超出处理能力。\n\n### 中间级交叉审阅\n\n当 scan-output 存在多级嵌套（如 `scan-output/live_service/index.md` 下有 25 个子项目），中间级 index.md 也需要交叉审阅，否则中间级页面只有子项目列表表格，缺乏分析价值。\n\n**执行时机**：当一个中间级目录下的所有子项目分析完成后，立即对该中间级执行交叉审阅。\n\n**写入位置**：追加到该中间级的 `index.md` 末尾，格式与顶层交叉审阅完全相同：\n\n```markdown\n---\n\n## 跨模块交叉审阅\n\n### 能力重叠地图\n| 能力域 | 重复模块 | 建议合并路径 |\n|---|---|---|\n（该子项目群内的能力重叠）\n\n### 依赖拓扑\n（该子项目群内的依赖层级）\n\n### 修正判决\n（基于交叉对比后的判决修正）\n\n### 重构行动优先级\n（该子项目群的重构顺序建议）\n\n## 审计总结\n\n### 项目整体画像\n（该分类的整体概述）\n\n### 关键风险\n（该分类内的主要风险）\n\n### 优先行动建议\n（该分类的行动建议）\n```\n\n**注意**：中间级交叉审阅的范围限于该分类内部。跨分类的全局交叉审阅在 Step 2.5 中处理。\n\n---\n\n## Step 2.5：全局交叉审阅（分级模式专用）\n\n所有子项目的三段式分析完成后，回读所有子项目报告，从**全局视角**补充一次扫描无法完成的判断。将结果以下列格式追加写入 `scan-output/index.md`。\n\n### 写入格式（必须严格遵守，供脚本解析）\n\n```markdown\n## 跨模块交叉审阅\n\n### 能力重叠地图\n\n| 能力域 | 重复模块 | 建议合并路径 |\n|---|---|---|\n| FFmpeg 封装 | `base_codec` / `capture_rtsp` | 统一到 base_codec，其余引用它 |\n\n### 依赖拓扑\n\n| 层级 | 模块 | 被依赖次数 | 说明 |\n|---|---|---|---|\n| L0 基础层 | `base` | 7 | 被全部模块依赖，真正的底层基石 |\n\n### 修正判决\n\n| 模块 | 原判决 | 修正为 | 理由 |\n|---|---|---|---|\n| capture_live555 | 提纯合并 | 彻底淘汰 | 已有 capture_rtsp 覆盖且默认未启用 |\n\n### 重构行动优先级\n\n1. 先清理彻底淘汰模块（释放认知负担）\n2. 合并重复的 base 工具层\n3. 提纯编解码层后再处理上层协议模块\n```\n\n### 交叉审阅需要回答的问题\n\n- **能力重叠**：哪几个模块的核心功能高度重叠？相同的 FFmpeg 封装、base 工具、协议栈写了几份？\n- **依赖拓扑**：按依赖层级（L0/L1/L2）标注真正的基础模块与叶子模块，识别「假独立」（看似独立但实际被多处暗依赖）\n- **判决修正**：结合全局视角，是否有一次扫描时信息不足、现在需要更改的判决？\n- **行动优先级**：给出有依赖拓扑驱动的重构顺序（先做什么能解锁后续工作）\n\n> 若只有一个子项目（单工程），跳过本步骤，直接进入 HTML 生成。\n\n---\n\n## 分批执行策略\n\n超大项目（数万文件）按顶级目录分批执行，铁律：\n\n1. **首批优先覆盖体量最大、价值最高的模块**——严禁只挑边缘小模块先做。\n2. **每批次必须完成完整的三段式输出**——不允许\"待后续深钻\"。\n3. **末轮汇总合并**：消除跨批次重复与遗漏。\n4. **跨批次引用一致性**：标注同源重复关系。\n\n---\n\n## 输出格式（三段式，每段均为强制必输出项）\n\n### 一、资产总览树 (Physical Architecture Tree)\n\n**必须使用 ` ```text ` 代码块。**\n\n1. 严格按硬盘真实物理结构呈递，不做理想化分类。\n2. 强制下钻到至少第三级子目录。\n3. 每个目录节点后跟简短注释——标记\"重复轮子\"/\"核心业务\"/\"废弃 GUI\"/\"三方库\"等。\n4. 构建系统标注（参见[附录速查表](reference.md)）。\n5. 三方库目录标注 `[3rd-party: libname vX.Y.Z]`，不深入展开内部结构。\n6. **语义压缩（重要）**：\n   - 同一目录下功能相近的多个文件，合并为一行：`a.h / b.h / c.h  # 共同功能说明`\n   - 每目录展示的文件行数控制在 **5～8 行**以内，多余文件用 `... (N 个文件)` 省略\n   - 废弃/遗留文件用 `-- 标记`（红色）而非 `#` 注释，例：`rtmp_legacy.h/cpp  -- RTMP 遗留代码`\n   - 注释力求语义化，体现模块职责而非重复文件名（避免写 `# rtsp_source 源文件`）\n\n### 二、模块级描述 (Module Descriptions)\n\n遍历树中**所有项目自有模块**（三方库只在依赖关系中提及，不单独做全息描述），按以下字段输出：\n\n*   **模块名与物理落点**: 相对路径集合。\n*   **功能全貌矩阵**: 业务级功能描述（协议族、工作流、覆盖平台等）。\n*   **内部核心代码模块**: 必须给出**具体类名/引擎名**（如 SipStack、PsParser、NetEventLoop），禁用笼统描述。各技术栈关注点：\n    - C/C++：通信框架、协议解析器、滤镜链/编解码管线\n    - Java/Android：核心 Service/Manager、自定义 View、JNI 桥接层、持久化方案\n    - iOS：Manager/Service 单例、自定义 UIView/CALayer、OC++ 桥接层、AVFoundation 管线\n    - Web：核心组件树、状态管理、API 通信层、Wasm 桥接\n*   **模块间依赖关系**: 上下游依赖及依赖方式（include/链接/Gradle/CocoaPods/npm/Wasm 等）。\n*   **三方库引用**: 列出该模块实际依赖的三方库、版本、用途。评估版本适当性——是否需要升级？有无更好替代？\n*   **代码体量**: 有效源码文件数和纯代码体积（排除构建产物）。\n*   **质量与技术债评估**:\n    - 架构合理性（业务/通信是否解耦）\n    - 历史包袱（各技术栈的过时模式检测，见[附录](reference.md)）\n    - 代码活跃度（最后修改时间、近一年提交频率、贡献者数量）\n    - **定论判决**：核心基石 / 提纯合并 / 重塑提取 / 彻底淘汰\n\n### 三、资产定级表 (Asset Triage Table)\n\n全局 Markdown 表格：\n\n| `模块/目录` | `核心功能` | `三方依赖（版本）` | `上下游依赖` | `代码活跃度` | `质量点评` | `判决` |\n\n**四级判决标准：**\n- **核心基石**：架构合理、代码活跃（近 1 年有持续提交）、被 3+ 模块依赖、无重复造轮子，直接保留演进。\n- **提纯合并**：核心逻辑有价值但存在重复实现，应提取公共能力合并到统一基础库。\n- **重塑提取**：业务有商业价值但架构严重老化（MFC/Support Library/UIWebView/jQuery 等），需新架构下重写。\n- **彻底淘汰**：超 2 年无实质提交、无下游依赖、功能已被替代或属废弃 GUI/Demo 层，直接归档。\n\n---\n\n## 第四步：生成可视化 HTML 报告\n\n三段式 markdown 报告写入完成后，**必须**运行脚本自动生成 HTML 可视化页面。\n\n### 生成命令\n\n```bash\n# 单文件模式 → 生成 report.html\npython \"${CLAUDE_SKILL_DIR}/scripts/gen_html.py\" \"$ARGUMENTS/repo-scan-report.md\" --open\n\n# 分级模式 — 先逐个生成子项目详情页\npython \"${CLAUDE_SKILL_DIR}/scripts/gen_html.py\" \"$ARGUMENTS/scan-output/子项目A.md\"\npython \"${CLAUDE_SKILL_DIR}/scripts/gen_html.py\" \"$ARGUMENTS/scan-output/子项目B.md\"\n# ... 每个子项目一条命令\n\n# 分级模式 — 最后生成汇总 index.html（自动读取 index.md，使用汇总模板）\npython \"${CLAUDE_SKILL_DIR}/scripts/gen_html.py\" \"$ARGUMENTS/scan-output/index.md\" --open\n```\n\n- 子项目报告文件名若含空格或特殊字符，需用引号包裹\n- `index.md` 被自动识别为汇总模式，使用 `templates/index.html` 模板渲染\n- 子项目 HTML 和 index.html 均位于同一目录，index.html 中的卡片链接可直接跳转\n\n脚本会自动：\n1. 解析 markdown 中的头部元数据、资产总览树、模块级描述、资产定级表、三方依赖表、审计总结\n2. 自动识别 `## Deep 级深度分析` 章节并提取（线程安全/内存/错误处理/API/补充发现）\n3. 注入到 `${CLAUDE_SKILL_DIR}/templates/report.html` 模板的 `REPORT` 数据对象\n4. 输出自包含 HTML 到报告同目录下 `report.html`\n5. `--open` 参数自动用系统浏览器打开\n\n> deep 增量模式的 HTML 重新生成规则见 `deep-mode.md`。\n\n### markdown 报告格式要求（供脚本解析）\n\n脚本依赖以下格式约定，写报告时必须遵守：\n\n1. **头部元数据** — 用 `- **字段**: 值` 格式，必须包含：项目、路径、审计日期、项目概貌\n2. **资产总览树** — 包裹在 ` ```text ` 代码块中\n3. **模块级描述** — 每个模块用 `### X.Y 模块名 — 简述` 标题，内部字段用 `- **字段名**: 内容`：\n   - 物理落点、功能全貌矩阵、内部核心代码模块、模块间依赖关系、三方库引用、代码体量、质量与技术债评估\n   - 判决必须写在质量评估内，格式：`**定论判决：核心基石**`\n4. **资产定级表** — 章节标题含 `## 三、资产定级表`，标准 7 列 markdown 表格\n5. **三方依赖表** — 章节标题含 `## 附录`，标准 7 列 markdown 表格（库名/版本/位置/体积/被引用模块/用途/版本评估）\n6. **审计总结** — `## 审计总结` 下含 `### 项目整体画像`、`### 关键风险`、`### 优先行动建议` 三个子章节，用列表","tags":["repo","scan","haibindev","agent-skills","claude-code","code-audit","source-code-analysis"],"capabilities":["skill","source-haibindev","skill-repo-scan","topic-agent-skills","topic-claude-code","topic-code-audit","topic-source-code-analysis"],"categories":["repo-scan"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/haibindev/repo-scan","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add haibindev/repo-scan","source_repo":"https://github.com/haibindev/repo-scan","install_from":"skills.sh"}},"qualityScore":"0.458","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 16 github stars · SKILL.md body (11,644 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T13:03:14.328Z","embedding":null,"createdAt":"2026-04-19T00:40:40.172Z","updatedAt":"2026-04-22T13:03:14.328Z","lastSeenAt":"2026-04-22T13:03:14.328Z","tsv":"'-10':274 '-2':245,739 '-3':457,464,474,484 '-5':260 '/.net':52 '/api':284,1351 '/ci':279 '/deep-mode.md':366,389,415 '/full-mode.md':402 '/gradle/cocoapods/npm/wasm':1187 '/index.md':215,953 '/live_service/index.md':897 '/repo-scan':310,321,330,343 '/result/optional':580 '/scripts/capability_gap.py':453,461,468,478,488 '/scripts/gen_html.py':1284,1293,1301,1316 '/scripts/pre-scan.py':111,156 '/swift':41 '/templates/report.html':1358 '0':92 '1':135,170,208,244,249,675,738,853,998,1041,1066,1239,1334,1380 '2':140,176,259,683,857,1001,1045,1069,1257,1343,1391 '2.5':873,938,941 '25':899 '3':96,118,144,180,704,863,1005,1049,1071,1242,1353,1396 '3rd':195,1088 '3rd-party':194,1087 '4':182,715,757,868,1052,1080,1362,1417 '5':69,188,273,726,758,871,1085,1103,1367,1427 '6':191,877,1093,1443 '7':198,981,1423,1432 '8':132,168,201,1104 'a.h':1098 'aar':34 'abstract':692,696 'activity/fragment/viewmodel':27 'ai':884 'android':25,665 'androidx':797 'api':502,515,823,1179 'app.vue':714 'appdelegate.m':711 'application.java':710 'architectur':1061 'argument':112,157,302 'arguments/repo-scan-data.md':159,220 'arguments/repo-scan-report.md':1285 'arguments/scan-output':114,1294,1302 'arguments/scan-output/index.md':1317 'asp.net':54 'asset':1219 'async/await':571 'atom':518,528 'av':543 'avfound':1174 'avfoundation/videotoolbox':45 'b':148 'b.h':1099 'base':336,349,470,655,656,965,970,980,1003,1013 'bash':106,151,454,1276 'best':430 'brief':606 'build.gradle':664,679 'c':40,51,434,698 'c.h':1100 'c/c':16,531,536,540,545,550,690,815,1154 'callback':573 'candid':431,632 'captur':649,967,989,994 'catch':579 'channel':583 'check':372,419,440 'ci':728 'class':693,697 'class/function/enum':508 'claud':108,153,363,386,399,412,450,458,465,475,485,1281,1290,1298,1313,1355 'cmakelists.txt':678 'cocoapods/spm':47 'codec':471,657,966,971 'codex':605 'codex-brief':604 'config':489,613 'config.json':490 'config/ignore-patterns.json':205 'core':55 'cpp':720 'cs':722 'csproj':681 'd':113,162,311,316,322,331,344,619,633,850 'deep':272,325,327,334,341,375,381,717,729,749,751,800,1345,1370 'deep-mode.md':288,1374 'default':609 'descript':1131 'dir':110,155,365,388,401,414,452,460,467,477,487,629,1283,1292,1300,1315,1357 'dispatch':560 'encod':338 'entiti':58 'eval':506,512 'eval-impl':511 'fast':243,314,319,735,746,769 'fast-scan':745 'ffmpeg':546,548,963,1011 'framework':59,66 'full':289,347,351,392,396 'full-mode.md':299 'gap':371,418,436,439 'gap-check':370,417,438 'git':199 'github/workflows':732 'go/rust':586 'god':786 'gradl':32 'gui':1077 'gui/demo':1261 'h':688 'h/.cpp':404 'hpp':689 'html':1034,1266,1273,1327,1364,1372 'hwframe':544 'impl':513 'import':499,780,846 'includ':779,845,1185 'index.html':1308,1329,1331 'index.md':121,142,855,879,902,911,1310,1321 'index.ts':701 'interfac':691,695 'io':36,700,1167 'iocp/epoll':21 'java':694,721 'java/android':23,1159 'java/kotlin':557 'jenkinsfil':733 'jetpack':28 'jni':1164 'jqueri':799 'json':614,616 'kotlin':562 'l0':978 'l0/l1/l2':1018 'legacy.h/cpp':1119 'level':231,234,304,313,324,333,346,355,357,380,395,669,672,767 'lib':624 'libnam':1090 'librari':795 'library/uiwebview/jquery':1252 'live555':990 'm':469 'main.cpp':709 'mainthread':559 'manager/service':1168 'mandatori':498,505,596 'mandatory-ev':504 'mandatory-import':497 'markdown':593,914,957,1223,1269,1336,1375,1425,1434 'md':130,139,866,1296,1304 'mfc':792 'mfc/support':1251 'modul':306,335,348,377,383,610,623,625,638,1130 'module-lib':622 'msvc':662 'mutex':585 'mutex/lock_guard':538 'n':1108 'name':138 'ndk/jni':30 'net':65,68 'neteventloop':1151 'nuget':63 'o':158,160,479 'object':39,787 'objective-c':38 'oc':1172 'open':1286,1318,1368 'orm':60 'output':214,626,630,891,896,952 'package.json':682 'parti':196,1089 'path':620 'physic':1060 'podfil':680 'program.cs':712 'project':312,317,323,332,345,634,636 'protocol':699 'psparser':1150 'py':456,463,473,483 'python':95,107,152,1280,1289,1297,1312 'raii':817 'react/vue/angular':77 'reentrantlock':554 'refactor':602 'reference.md':1084,1207 'refresh':359,406,409 'repo':2,424,444,601 'repo-refactor':600 'repo-scan':1,423,443 'report':1360 'report.html':1279,1366 'report.md':480 'requir':781 'root':618 'rtmp':337,627,1118,1120 'rtmp/cpp':631 'rtsp':650,651,968,995,1125 'rust':590 'scan':3,213,425,445,747,890,895,951 'scan-output':212,889,894,950 'sdk':339 'service/manager':1161 'sha256':427 'sipstack':1149 'skill':109,154,364,387,400,413,451,459,466,476,486,1282,1291,1299,1314,1356 'skill-repo-scan' 'sourc':1126 'source-haibindev' 'ssr/csr':83 'standard':237,258,276,358,686,707,754,760,775,804 'startup.cs':713 'std':527 'stdout':165 'step':91,207,872,937,940 'strong':567 'support':794 'swift':723 'swift/js/ts/kotlin':574 'swift/objc':569 'synchron':552 'tabl':1221 'target':617,628 'templates/index.html':1324 'text':1064,1394 'token':223,227,642 'topic-agent-skills' 'topic-claude-code' 'topic-code-audit' 'topic-source-code-analysis' 'tree':1062 'tri':578 'triag':1220 'try-catch':577 'ts':724 'types.ts':702 'typescript':78 'ui':72 'uikit/swiftui':43 'uiview/calayer':1171 'uiwebview':798 'unown':565 'unsaf':588 'vcxproj':661 'view':1163 'volatil':530 'vs':529,534,553,555,566,572,584,820 'vx.y.z':1091 'wasm':85,1181 'weak':564 'web':56,74,703,1176 'webpack/vite/rollup':81 'winforms/wpf/maui':71 'x.y':1399 'xcode':49 '一':1058 '一致性':285 '三':1217,1420 '三个子章节':1450 '三分类':175 '三方依赖':1228 '三方依赖清单':183 '三方依赖表':1341,1428 '三方库':173,1078 '三方库不是项目自有资产':831 '三方库只在依赖关系中提及':1134 '三方库处理原则':828 '三方库已标记':193 '三方库引用':1189,1410 '三方库标记':179 '三方库目录标注':1086 '三段式':1056,1268 '上下游依赖':1230 '上下游依赖及依赖方式':1184 '下含':1446 '下有':898 '不做代码级质量判断':253 '不做理想化分类':1068 '不允许':1047 '不单独做全息描述':1135 '不执行新的源码分析':361 '不指定任何输出参数时输出到':164 '不指定时默认':236 '不深入分析源码':830 '不深入展开':197 '不深入展开内部结构':1092 '不重新执行':422 '不需要阅读其实现':832 '业务':1201 '业务有商业价值但架构严重老化':1250 '业务级功能描述':1140 '严格按硬盘真实物理结构呈递':1067 '严禁只挑边缘小模块先做':1044 '严禁穷举式逐文件阅读':225 '个':246,261,275 '个头文件':250 '个子项目':900 '个文件':740,1109 '中处理':939 '中实际使用了哪些三方库':782 '中提取':303 '中的卡片链接可直接跳转':1332 '中的头部元数据':1337 '中间级':901 '中间级交叉审阅':869,887 '中间级交叉审阅的范围限于该分类内部':935 '主文件':706 '也需要交叉审阅':903 '二':1128 '互斥':163 '交叉审阅需要回答的问题':1007 '仅从构建配置中的依赖声明推断三方库版本是否过时':771 '仅从构建配置推断依赖版本':252 '仅构建配置':247 '仅记录清单':833 '仅重新生成顶层交叉审阅':360 '从':301,946 '从项目代码的':844 '代码体量':1196,1411 '代码块':1065 '代码块中':1395 '代码活跃':1237 '代码活跃度':1208,1231 '代码组织模式':653 '代码重复检测':189 '以下检查追加到已有':803 '以内':1106 '价值最高的模块':1043 '企业应用':53 '优先级从高到低':674 '优先级的文件选择应参考已有':759 '优先行动建议':932,1449 '优势':882 '但判决仍需给出':741 '位置':186,1438 '体现模块职责而非重复文件名':1123 '体积':127,187,1439 '你是顶级全栈架构师与源码审计员':14 '你的任务是对指定项目源码目录进行高效的资产审计':87 '使用':561,1323 '使用变化':539 '使用情况':818 '使用汇总模板':1311 '使用自定义配置':481 '例':1117 '供脚本解析':956,1377 '依据文件名推断':742 '依赖引用':267,778 '依赖拓扑':921,973,1016 '依赖注入':61 '依赖管理':48 '修正为':987 '修正判决':923,984 '候选有但目标库没有的文件':500 '值':307,1384 '假独立':1021 '先做什么能解锁后续工作':1029 '先出全景再定点深钻':257 '先清理彻底淘汰模块':999 '先读取':211 '先逐个生成子项目详情页':1288 '入口':705 '入口文件':264 '全局':1222 '全局交叉审阅':942 '全局状态滥用':790 '全局视角':947 '全文件精读':352 '全网模块与源码资产审计详细清单':6,89 '全部文件':290 '全量分析':292 '共同功能说明':1101 '关键':719 '关键文件精读':667 '关键风险':930,1448 '其余引用它':972 '具体类名':1146 '内存':283,1349 '内存安全':537 '内存安全边界':591 '内存管理':814 '内容':1405 '内部字段用':1403 '内部核心代码模块':1144,1408 '写入位置':909 '写入格式':954 '写报告时必须遵守':1379 '分批执行策略':1036 '分析之后':805 '分析已完成':755 '分析精度级别':230 '分析结果':761 '分级模式':210,1287,1306 '分级模式专用':943 '分级输出':103 '分级输出分析策略':848 '分级输出模式时':851 '列':1424,1433 '列出该模块实际依赖的三方库':1190 '判决':1233 '判决修正':1023 '判决必须写在质量评估内':1413 '判决旁标注':744 '判定规则':134 '利用你的架构师经验推断':646 '到':67 '到报告同目录下':1365 '前端生态':75 '剩余部分作为目标路径':308 '功能全貌矩阵':1139,1407 '功能已被替代或属废弃':1260 '包管理':64 '包裹在':1393 '协程':556 '协议族':1141 '协议栈写了几份':1015 '协议解析器':1156 '单例':1169 '单工程':1031 '单文件':137 '单文件模式':218,1277 '单文件输出':149 '历史包袱':1203 '原判决':986 '原生端':37 '参数':232,378 '参数控制精读密度':235 '参数时':384,410 '参数自动用系统浏览器打开':1369 '参数解析规则':300 '参数风格':826 '参见':1082 '及以上':687,708 '双扫描验证':295 '只检测指定模块':462 '可直接用于':599 '可视化页面':1274 '可选':294 '各技术栈关注点':1153 '各技术栈的过时模式检测':1204 '合并为一行':1097 '合并重复的':1002 '同一目录下功能相近的多个文件':1096 '同名文件':514 '同名文件但候选有新的':507 '名称':124 '否则中间级页面只有子项目列表表格':904 '含义':494 '含构建系统识别':178 '含构建配置或':117 '命名规范':825 '和':161,305,1328 '哪几个模块的核心功能高度重叠':1009 '噪声目录汇总':202 '四级判决标准':1234 '回读所有子项目报告':945 '在汇总表中补充各子项目的判决定级':880 '场景':442 '均位于同一目录':1330 '块使用':589 '基于交叉对比后的判决修正':924 '基础层':979 '基础库层':658 '增量':326 '增量模式的':1371 '增量深度审计':286 '增量能力差异检测':421,441 '增量能力差异检测模式':373 '增量阶段':718,730,802 '处理方式':495 '复核候选决策':297 '多余文件用':1107 '多模块构建':33 '头文件':262,684 '头部元数据':1381 '如':648,654,660,893,1148 '子项目':129,865,1326 '子项目a':1295 '子项目b':1303 '子项目报告文件名若含空格或特殊字符':1319 '字典':611 '字段':1383 '字段名':1404 '存在多级嵌套':892 '完整':131 '完整抽样':266 '定论判决':1212,1415 '实现':97 '实现差异':510 '实现差异检测的关键模式':522 '实现文件':725 '审计总结':927,1342,1444,1445 '审计日期':1389 '审计源码':8 '对于预扫描已识别的三方库目录':829 '对指定项目源码目录执行全面资产审计':4 '对比':428 '封装':964,1012 '将每个子项目的分析结果写入对应的':864 '将结果以下列格式追加写入':949 '小型项目或向后兼容':150 '层':1262 '层级':974 '嵌套聚合体':145 '工作流':1142 '工具':449,1014 '工具层':1004 '工程化':79 '工程结构':50 '工程聚合体':116 '巨型函数':788 '差异':503 '已完成':446 '已整合模块与':429 '已有':993 '常规审计':270 '年无实质提交':1258 '年有持续提交':1240 '并发模式':541,587 '并发模式演进':558 '并追加交叉审阅章节':881 '库发布':35 '库名':834,1436 '应提取公共能力合并到统一基础库':1248 '应用架构':26 '底层基建':17 '废弃':1076,1111 '建议合并路径':919,962 '异常':807 '异步模式是否合理':813 '异步模式演进':575 '异步编程模式':62 '引擎名':1147 '引用':568 '强制下钻到至少第三级子目录':1070 '当':888 '当一个中间级目录下的所有子项目分析完成后':907 '当使用':379,394,408,849 '当用户要求':7 '彻底淘汰':992,1216,1255 '待后续深钻':1048 '循环引用':570 '必须':1271 '必须严格遵守':955 '必须使用':1063 '必须先读取':385,398,411 '必须包含':1386 '必须导入或明确决定不导入':501 '必须给出':1145 '必须评估合并':509 '必须遵循以下分层分析法':229 '快速摸底':256 '总体统计':171 '成本':643 '或':382 '或提供':612 '所在位置':836 '所有子项目处理完后必须执行':875 '所有子项目的三段式分析完成后':944 '所有级别均执行':644 '所有级别必读':677 '所有语言':581 '所有项目自有模块':1133 '执行前准备':90 '执行时机':906 '技术债标记':269,791 '技术栈':128 '技术栈归属':659 '报告':594,1267 '报告写入完成后':1270 '报告格式要求':1376 '持久化方案':1166 '指定模块':340,350 '按以下字段输出':1136 '按以下流程执行':852 '按依赖层级':1017 '按层级生成':120 '按当前':671 '按技术栈分类的源码统计':181 '按改进方向决定':521 '按语言适用':523 '按顶级目录分批执行':1039 '排除三方库误报':190 '排除构建产物':1198 '接口':251,263 '接口定义':685 '控制':670,768 '推断实际使用了三方库的哪些能力':847 '推荐':104 '提取':433 '提纯合并':991,1214,1246 '提纯编解码层后再处理上层协议模块':1006 '支持两种输出模式':100 '数万文件':1038 '数据对象':1361 '数百模块':255 '整合前全面摸底':296 '整合清单':597 '文件':615 '文件名推断':640 '文件数':126 '文件数量受':668 '新文件':496 '无下游依赖':1259 '无重复造轮子':1244 '时':397 '时等同于':356 '时自动触发':11 '是否存在':785 '是否存在已知安全漏洞':841 '是否存在静默吞异常':809 '是否有一次扫描时信息不足':1025 '是否有更好的替代方案':840 '是否需要升级':1194 '是增量阶段':752 '智能指针':519,533,819 '最后修改时间':1209 '最后生成汇总':1307 '最核心的':248 '最终更新顶层':878 '有效源码文件数和纯代码体积':1197 '有无更好替代':1195 '有针对性地选择最值得深入的实现文件':762 '未指定':354 '未深入抽样':774 '末尾':912 '末尾包含':595 '末轮汇总合并':1050 '构建':663 '构建产物':174 '构建工具链':80 '构建系统':125 '构建系统标注':1081 '构建配置':265,676 '构建配置中的依赖信息做出最佳判断':743 '架构':84 '架构合理':1236 '架构合理性':1200 '架构模式':268,784 '标准':1422,1431 '标注同源重复关系':1054 '标注实际使用':843 '标注真正的基础模块与叶子模块':1019 '标签':493 '标记':1073,1113 '标题':1402 '核心':1160 '核心业务':1075 '核心业务实现':716 '核心功能':1227 '核心基石':1213,1235,1416 '核心实现':277 '核心组件树':1177 '核心逻辑有价值但存在重复实现':1247 '根据你的知识判断':842 '根据预扫描的目录树和文件名列表':645 '格式':1385,1414 '格式与顶层交叉审阅完全相同':913 '框架':57,73 '桥接':31,1182 '桥接层':1165,1173 '检测三类差异':491 '检测关键模式':517 '检测所有已配置模块':455 '模块':975,985,1225 '模块依赖':1243 '模块内每一个源码文件均精读':291 '模块匹配规则和判决冒泡机制':391 '模块名':1400 '模块名与物理落点':1137 '模块整合进行中或完成后':447 '模块的功能定位':647 '模块级描述':861,1129,1339,1397 '模块间依赖关系':1183,1409 '模式':101,147,393,407,420,524 '模式与':376 '模板渲染':1325 '模板的':1359 '横向对比':293,353 '此时':753 '残留':793 '每个子项目一条命令':1305 '每个子项目一行':123 '每个子项目各自的报告':143 '每个子项目的详细报告独立':883 '每个模块用':1398 '每个目录节点后跟简短注释':1072 '每个详细报告包含':167 '每批次必须完成完整的三段式输出':1046 '每模块':240 '每模块只读':737 '每次只对一个子聚合体做完整三段式分析':859 '每次只需处理单个项目的上下文':885 '每段均为强制必输出项':1057 '每目录展示的文件行数控制在':1102 '注入到':1354 '注意':934 '注释':1116 '注释力求语义化':1122 '活跃度':200 '流媒体协议栈':19 '流抓取模块':652 '测试':278 '测试与':727 '测试入口文件':731 '消除跨批次重复与遗漏':1051 '深度受':766 '深度抽样':280 '混编架构':42 '添加新模块映射':482,607 '清洁目录树':192 '源文件':1127 '源码文件的目录':119 '源码资产审计与详细清单生成':12 '滤镜链':1157 '然后按子项目逐个处理':217 '版本':835,1191,1229,1437 '版本号':185 '版本是否过于陈旧':839 '版本是否过时':783 '版本评估':1442 '物理落点':1406 '状态管理':82,1178 '现代框架':76 '现在需要更改的判决':1026 '理由':988 '生成':5,1035,1278 '生成可视化':1265 '生成命令':1275 '生成清单':10 '用':1382 '用列表':1451 '用户可通过':233 '用途':1192,1441 '的':367,603,816 '的极大浪费':228 '盘点代码资产':9 '目录':1226 '目录的文件差异':432 '目标有子聚合体':141 '目标本身是聚合体且无子聚合体':136 '直接保留演进':1245 '直接归档':1263 '直接进入':1033 '相同但实现不同':516 '相同的':1010 '相对路径集合':1138 '省略':1110 '看似独立但实际被多处暗依赖':1022 '真正的底层基石':983 '硬件加速':46,547 '硬件加速帧':542 '硬编码':789 '示例':309,320,329,342 '禁用笼统描述':1152 '移动端':24 '移动端的循环引用风险':822 '立即对该中间级执行交叉审阅':908 '竞态条件风险':812 '章节':169,369,598 '章节并提取':1347 '章节标题含':1419,1429 '章节详细报告':133 '符号级的能力':435 '第':756 '第一层':639 '第三层':764 '第三层质量抽样':241 '第二层':666 '第二层精读文件数':239 '第四步':1264 '等':734,1079,1188,1253 '简述':1401 '管线':1175 '类型':492 '精度':318 '精通以下五大技术生态':15 '红色':1114 '级别':238,770,776,801 '级别特别说明':736,750 '级深度分析':1346 '线程安全':282,810,1348 '线程安全升级':532 '线程调度':563 '组件生态':29 '结合全局视角':1024 '给出有依赖拓扑驱动的重构顺序':1028 '统一到':969 '编解码管线':1158 '编辑脚本中的':608 '缺乏分析价值':905 '而是用':426 '而非':796,1115 '而非盲目按文件大小排序':763 '能力域':917,960 '能力重叠':1008 '能力重叠地图':916,959 '脚本为纯':94 '脚本会自动':1333 '脚本依赖以下格式约定':1378 '脚本的忽略':203 '脚本自动检测':115 '脚本输出内容':166 '自动检测库名':184 '自动筛选高价值模块':328 '自动识别':1344 '自动读取':1309 '自定义':206,1162,1170 '自定义输出路径':472 '节约铁律':224 '若只有一个子项目':1030 '获取全局视图':216,221 '获取全量扫描流程':403 '获取子项目列表和轻量汇总':856 '获取完整的增量分析流程':390 '获取顶层刷新流程':416 '行':1105 '行动优先级':1027 '补充一次扫描无法完成的判断':948 '补充发现':1352 '表格':1224,1426,1435 '表示精度有限':748 '被':1241 '被依赖次数':976 '被全部模块依赖':982 '被哪些模块引用':837 '被引用模块':1440 '被自动识别为汇总模式':1322 '裸指针':535,821 '覆盖且默认未启用':996 '覆盖平台等':1143 '见':1205 '见下方说明':374,870 '见下节':876 '视图体系':44 '角色':13 '解析':1335 '设计一致性':824 '评估版本适当性':1193 '评估适当性':838 '识别':1020 '识别模式可通过':204 '该分类内的主要风险':931 '该分类的整体概述':929 '该分类的行动建议':933 '该子项目群内的依赖层级':922 '该子项目群内的能力重叠':920 '该子项目群的重构顺序建议':926 '详见':287,298,362 '详见下节':437 '语义压缩':1094 '说明':526,977 '读取':219,854 '读取预扫描结果':209 '贡献者数量':1211 '质量与技术债评估':1199,1412 '质量抽样判断':765 '质量点评':1232 '质量评估栏标注':773 '资产定级表':862,1218,1340,1418,1421 '资产总览树':860,1059,1338,1392 '资源泄漏':551 '资源释放完整性':549 '超':1256 '超大目录':254 '超大项目':1037 '跨分类的全局交叉审阅在':936 '跨平台':98 '跨平台底层库':22 '跨批次引用一致性':1053 '跨模块交叉审阅':915,958 '路径':315,1388 '跳过代码级架构和技术债分析':772 '跳过本步骤':1032 '轻量汇总表':122 '输出':592 '输出一份数据驱动的':88 '输出格式':1055 '输出自包含':1363 '迁移':70 '运行脚本自动生成':1272 '运行预扫描脚本':93 '近':1238 '近一年提交频率':1210 '返回值约定是否统一':827 '这是对':226 '追加到该中间级的':910 '追加到预扫描数据之后':867 '适合中大型项目或工程聚合体':105 '适用场景':242 '适用语言':525 '选择精读文件':673 '逐个处理子项目':858 '递归生成子目录结构':146 '通信层':1180 '通信是否解耦':1202 '通信框架':1155 '遍历树中':1132 '遗留代码':1121 '遗留文件用':1112 '避免写':1124 '避免超长报告超出处理能力':886 '配对规则和横向对比机制':405 '释放认知负担':1000 '重塑提取':1215,1249 '重复模块':918,961 '重复轮子':1074 '重新生成规则见':1373 '重构行动优先级':925,997 '重要':1095 '铁律':1040 '链接':1186 '锁粒度':811 '错误处理':281,576,806,1350 '错误处理等':520 '错误检查密度':582 '错误码是否一致':808 '附录':1206,1430 '附录速查表':1083 '集成':86 '零':641 '零依赖':99 '需新架构下重写':1254 '需用引号包裹':1320 '需要验证是否遗漏了候选目录中的新能力':448 '音视频编解码':18 '顶层全局交叉审阅':874 '顶层刷新模式':368 '顶级目录分解':177 '项目':1387 '项目代码':172 '项目整体画像':928,1447 '项目概貌':1390 '首批优先覆盖体量最大':1042 '高性能网络通信':20 '高效分析策略':222 '默认':271,777","prices":[{"id":"63504875-a171-4195-b144-390556946415","listingId":"085da047-0985-4284-888c-bb39cc1ad79b","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"haibindev","category":"repo-scan","install_from":"skills.sh"},"createdAt":"2026-04-19T00:40:40.172Z"}],"sources":[{"listingId":"085da047-0985-4284-888c-bb39cc1ad79b","source":"github","sourceId":"haibindev/repo-scan","sourceUrl":"https://github.com/haibindev/repo-scan","isPrimary":false,"firstSeenAt":"2026-04-19T00:40:40.172Z","lastSeenAt":"2026-04-22T13:03:14.328Z"}],"details":{"listingId":"085da047-0985-4284-888c-bb39cc1ad79b","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"haibindev","slug":"repo-scan","github":{"repo":"haibindev/repo-scan","stars":16,"topics":["agent-skills","claude-code","code-audit","source-code-analysis"],"license":"mit","html_url":"https://github.com/haibindev/repo-scan","pushed_at":"2026-03-27T10:50:35Z","description":"Agent Skill: Architecture-level cross-stack source code asset scanner. Know what you have before you refactor. | 架构级跨技术栈源码资产扫描工具","skill_md_sha":"90eb6950bf90e46d18f22724ff255cb315ce50b0","skill_md_path":"SKILL.md","default_branch":"master","skill_tree_url":"https://github.com/haibindev/repo-scan"},"layout":"root","source":"github","category":"repo-scan","frontmatter":{"name":"repo-scan","description":"对指定项目源码目录执行全面资产审计，生成《全网模块与源码资产审计详细清单》。当用户要求\"审计源码\"、\"盘点代码资产\"、\"生成清单\"时自动触发。"},"skills_sh_url":"https://skills.sh/haibindev/repo-scan"},"updatedAt":"2026-04-22T13:03:14.328Z"}}