关于 codebase-exploration
这项技能通过系统化搜索,帮助开发者探索陌生代码库、定位实现并追踪模式与组件关系,并提供不同深度的探索方法。
主要功能
- 01基于模式的代码搜索
- 02跨文件关系追踪
- 03架构与目录映射
- 04快速、中等和深入探索
- 05搜索工具选择建议
适用场景
- 01查找功能的具体实现位置
- 02追踪组件间的数据流
- 03定位 API 的全部用法
- 04熟悉陌生代码库
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ 404kidwiz/ claude-supercode-skills --skill codebase-exploration安装后在 Claude Code 中输入/codebase-exploration确认已加载。
附带文件EXAMPLES.mdREFERENCE.md
详细介绍
代码库探索
目的
专注于系统地探索和发现代码库。运用高级搜索技术、模式识别和代码分析,快速了解陌生代码、定位特定实现、梳理架构模式,并回答有关代码位置的问题。
适用场景
- 首次探索陌生代码库
- 需要查找特定功能的实现位置
- 查找代码库中某种模式的示例
- 了解组件之间如何交互
- 定位特定 API 或模式的所有用法
- 梳理架构组织方式
- 在项目中查找相似代码
- 回答“X 在哪里?”“哪个文件包含 Y?”“查找实现 Z 的代码”等问题
快速开始
在以下情况下调用此技能:
- 首次探索陌生代码库
- 需要查找特定功能的实现位置
- 查找代码库中某种模式的示例
- 了解组件之间如何交互
- 回答“X 在哪里?”“哪个文件包含 Y?”“查找实现 Z 的代码”等问题
以下情况下不要调用:
- 调试已知 Bug(使用 debugger-skill)
- 重构代码(使用 refactoring-specialist-skill)
- 审查代码质量(使用 code-reviewer-skill)
- 从头编写新代码(使用相应的开发者技能)
彻底程度
快速(迅速了解大致情况)
- 文件结构概览
- 高层次模式匹配
- 目录组织
- 主要入口点
- 约 30 秒
中等(深度适中)
- 详细检查文件
- 跨文件发现模式
- 梳理架构
- 分析常见模式
- 约 2-3 分钟
非常彻底(深入分析)
- 全面分析代码
- 复杂模式匹配
- 追踪依赖关系
- 发现边缘情况
- 约 5-10 分钟
决策框架
搜索策略选择
| 问题类型 | 搜索策略 |
|---|---|
| “用户身份验证在哪里?” | 搜索身份验证关键词和登录模式 |
| “数据流如何运作?” | 查找模型、服务、控制器模式 |
| “哪个文件处理 X API?” | 搜索端点和路由定义 |
| “查找所有数据库查询” | 搜索 ORM 模式和 SQL 关键词 |
| “定位错误处理” | 查找 try-catch 和错误类 |
工具选择
| 工具 | 最适合的场景 | 示例 |
|---|---|---|
grep/rg | 文本模式匹配 | rg "function handleAuth" |
find/fd | 文件名/路径匹配 | fd -e ts auth |
ast-grep | 代码结构匹配 | ast-grep --pattern "class $NAME" |
| LSP 工具 | 查找符号和引用 | lsp_find_references |
git log | 了解历史背景 | git log --name-only |
按问题类型选择方法
“X 是在哪里实现的?”
- 按名称搜索 X:
rg "X|x" - 搜索相关词语:
rg "related|terms" - 检查显而易见的位置:
ls src/X/ - 查看测试:
rg "X" tests/
“Y 是如何运作的?”
- 找到 Y 的定义
- 找到 Y 的用法
- 追踪执行流程
- 了解依赖关系
“哪些文件使用了 Z?”
- 搜索对 Z 的导入
- 使用 LSP 查找引用
- 搜索对 Z 的方法的调用
核心能力
搜索策略
基于模式的搜索
- 按命名约定查找
- 按代码模式定位
- 按架构标记发现
- 按文件组织方式识别
上下文感知搜索
- 了解代码关系
- 梳理依赖关系
- 追踪执行流程
- 查找相关组件
多角度发现
- 按功能搜索
- 按结构搜索
- 按命名搜索
- 按模式搜索
探索工作流
第 1 步:了解情况
- 我们要找什么?
- 为什么需要它?
- 需要什么详细程度?
- 适合选择哪种彻底程度?
第 2 步:梳理结构
- 确定顶层组织方式
- 查找关键标记(入口点、配置文件)
- 留意目录命名模式
第 3 步:执行搜索
- 选择合适的工具
- 从多个角度搜索
- 记录发现
步骤 4:分析与综合
- 串联线索
- 识别模式
- 确定发现的优先级
最佳实践
先广后窄
- 首先:了解整体情况(
tree -L 2、ls -la src/) - 其次:识别模式(
fd -e ts、rg -c "class|function") - 最后:聚焦特定区域
使用多种搜索角度
- 按名称搜索:
fd auth - 按内容搜索:
rg "authentication" - 按结构搜索:
ast-grep --pattern "class $NAME" - 按符号搜索:
lsp_workspace_symbols
顺着线索追查
- 检查导入,查找依赖项
- 使用 LSP 查找引用
- 查看文件位置,寻找架构线索
- 查看 git 历史,了解背景
随时记录
# Authentication Flow
1. Entry: src/middleware/auth.ts
2. Token validation: src/services/jwt.service.ts
3. User lookup: src/repositories/user.repository.ts
4. Guards: src/guards/auth.guard.ts
反模式
- 不要在缺少背景信息时搜索:先弄清楚要查找什么
- 不要忽略文件结构:务必检查目录组织方式
- 不要依赖单一搜索方法:使用多种方法
- 不要忘记测试:搜索测试文件,了解实际用法
- 不要跳过配置文件:尽早检查配置
相关技能
- 如果探索过程中发现错误,请使用 [[debugger-skill]]
- 使用 [[architect-reviewer-skill]] 评估发现的模式
- 使用 [[refactoring-specialist-skill]] 改进发现的代码
- 对于复杂的架构问题,请使用 [[technical-advisory-skill]]
其他资源
- 详细技术参考:参见 REFERENCE.md
- 代码示例与模式:参见 EXAMPLES.md
评论
支持 Markdown