用途
Source Investigator 用于在文档不可靠或不完整时,直接检查外部库、框架和陌生仓库的真实源码。它适合回答依赖真实控制流、默认值、边界情况或特定版本行为的问题。当用户指定了具体的仓库、库或框架版本时,这被视为应当检查精确源码的强烈信号。
主要能力
- 判断何时应该查看源码而非文档:涉及真实控制流、默认值、边界情况或版本特定行为时优先源码;公共 API 概览或安装说明可优先文档。
- 在项目本地创建临时工作区:从当前项目根目录出发,创建 .tmp/(若不存在),并创建或更新 .gitignore 以忽略 .tmp/,不假设 .gitignore 已存在。
- 将一次性调查克隆放在 .tmp/repos/ 下,将生成的笔记或草稿输出放在 .tmp/work/ 下。
- 克隆精确的仓库和 ref:克隆到命名清晰的目录(如 .tmp/repos/react 或 .tmp/repos/context7);当前源码足够时优先使用 git clone --depth 1;若问题依赖分支、标签或提交,则检出该精确 ref 并在答案中报告。
- 将探索委托给子代理:不在主线程内联检查大型仓库,而是启动聚焦的子代理回答窄问题,例如入口点在哪里、配置如何加载、哪个模块实现特定行为、两个 ref 之间有何变化、为什么出现特定错误或默认值。
- 要求子代理返回简洁发现、支持性文件路径,以及仅用于证明答案所需的最少引用代码。
- 当文档重要时,给子代理 find-docs 技能,或让它阅读一手文档,同时主线程专注于决策。
- 在主线程综合答案:合并子代理发现,引用具体仓库路径、符号和 ref 以便用户验证,区分直接观察与推断,并保持答案聚焦于用户所问。
使用方式
- 判断是否值得查看源码。
- 在克隆前创建项目本地临时工作区:从当前项目根目录创建 .tmp/,并确保 .gitignore 忽略 .tmp/。
- 克隆所需仓库和 ref 到 .tmp/repos/ 下的清晰命名目录。
- 将探索委托给聚焦的子代理,让它们返回简洁发现、文件路径和最少必要代码。
- 在主线程综合答案,引用具体路径、符号和 ref,并区分观察与推断。
适用场景
- “弄清楚这个库如何解析配置默认值。克隆仓库并检查源码。”
- “文档很含糊。检查这个行为的实际实现。”
- “调查这个框架在当前版本中如何处理流式响应。”
- “使用临时克隆和子代理了解这个仓库的结构,而不污染主线程。”
限制与护栏
- 不要克隆到被跟踪的源码目录中。
- 不要留下未忽略的临时目录。
- 不要仅因为看起来相关就把大型源码文件粘贴到主线程。
- 当多个更小、范围明确的问题能让发现更清晰时,不要使用单个宽泛的子代理任务。
- 不要让子代理做出最终面向用户的结论,最终结论应由主线程综合。
- 保持克隆为一次性使用,不要将其接入当前项目或视为依赖。
暂未提供
关于该技能的收费、价格、平台支持、具体效果或安装命令,资料中暂未提供。