关于 source-investigator
Source Investigator 是一套指导 Agent 检查项目源码的工作流程,适用于文档不足或问题依赖实际实现细节的调查。它强调隔离临时克隆、按问题拆分探索任务,并基于具体源码路径综合结论。
主要功能
- 01判断何时应优先检查源码
- 02在项目内创建隔离临时工作区
- 03克隆指定仓库及版本
- 04将探索拆分为聚焦任务
- 05依据路径和符号综合结论
适用场景
- 01确认配置默认值和边界行为
- 02调查特定版本的实现差异
- 03定位功能模块或错误原因
- 04在不污染项目的情况下检查仓库
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sjunepark/ agent-scripts --skill source-investigator安装后在 Claude Code 中输入/source-investigator确认已加载。
附带文件agents/openai.yaml
详细介绍
源码调查员
当检查真实源码是回答问题最可靠的方式时,就检查源码。让主线程专注于综合分析和决策,而不是承载大量原始源码。
工作流
- 判断是否需要检查源码。
- 如果问题取决于实际控制流、默认值、边缘情况或特定版本的行为,优先查看源码,而不是文档。
- 对于公共 API 概述或设置说明,优先查看文档。如果文档仍有帮助,让子 Agent 使用
find-docs,而不是将冗长文档加载到主线程。 - 如果用户指定了特定仓库、库或框架版本,应将其视为需要检查确切源码的强烈信号。
- 在克隆前创建项目本地临时工作区。
- 在当前项目根目录下操作。
- 如果
.tmp/不存在,则创建它。 - 创建或更新
.gitignore,确保.tmp/被忽略。不要假设.gitignore文件已经存在。 - 将临时调查克隆保存在
.tmp/repos/下。 - 将生成的笔记或临时输出保存在
.tmp/work/下。
- 克隆所需的确切仓库和引用。
- 克隆到名称明确的目录,例如
.tmp/repos/react或.tmp/repos/context7。 - 如果当前源码足够,优先使用
git clone --depth 1。 - 如果问题取决于某个分支、标签或提交,请检出该确切引用,并在回答中说明。
- 保持克隆可随时丢弃。不要将其接入当前项目,也不要将其视为依赖项。
- 委派子 Agent 进行探索。
- 除非只需查看非常短的本地代码片段,否则不要在主线程中检查大型仓库。
- 向子 Agent 提出范围明确的问题,例如:
- 入口点在哪里
- 如何加载配置
- 哪个模块实现了特定行为
- 两个引用之间有哪些变化
- 某个错误或默认值为何出现
- 要求子 Agent 提供简洁的发现、相关文件路径,以及仅用于论证答案的最少引用代码。
- 使用子 Agent 探索,避免占用主线程的上下文窗口。主线程应接收提炼后的发现,而不是原始仓库内容。
- 如果文档很重要,请为子 Agent 提供
find-docs技能,或让其阅读一手文档,同时由主线程专注于决策。
- 在主线程中综合答案。
- 综合子 Agent 的发现,给出直接回答。
- 引用具体的仓库路径、符号和引用,以便用户核实结论。
- 区分直接观察与推断。
- 聚焦用户所问的问题,不要罗列调查中发现的所有内容。
注意事项
- 不要克隆到受版本控制的源码目录中。
- 不要让临时目录处于未忽略状态。
- 不要仅仅因为大型源码文件看起来相关,就将其粘贴到主线程中。
- 不要在多个较小且范围明确的子 Agent 任务能让结果更清晰时,改用单个宽泛的子 Agent 任务。
- 不要让子 Agent 代替主线程得出面向用户的最终结论;最终结论应由主线程综合得出。
示例触发语
- “查明这个库如何解析配置默认值。克隆仓库并检查源码。”
- “文档说得不清楚。检查实际实现,确认此行为。”
- “调查这个框架在当前版本中如何处理流式响应。”
- “使用临时克隆和子 Agent 了解此仓库的结构,同时避免污染主线程。”
评论
支持 Markdown