mcpField
S
source-investigator

source-investigator

github.com/sjunepark开发147 次安装3 周前更新
代码仓库

关于 source-investigator

Source Investigator 是一套指导 Agent 检查项目源码的工作流程,适用于文档不足或问题依赖实际实现细节的调查。它强调隔离临时克隆、按问题拆分探索任务,并基于具体源码路径综合结论。

主要功能

  1. 01判断何时应优先检查源码
  2. 02在项目内创建隔离临时工作区
  3. 03克隆指定仓库及版本
  4. 04将探索拆分为聚焦任务
  5. 05依据路径和符号综合结论

适用场景

  1. 01确认配置默认值和边界行为
  2. 02调查特定版本的实现差异
  3. 03定位功能模块或错误原因
  4. 04在不污染项目的情况下检查仓库

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sjunepark/agent-scripts --skill source-investigator

安装后在 Claude Code 中输入/source-investigator确认已加载。

附带文件agents/openai.yaml

详细介绍

源码调查员

当检查真实源码是回答问题最可靠的方式时,就检查源码。让主线程专注于综合分析和决策,而不是承载大量原始源码。

工作流

  1. 判断是否需要检查源码。
  • 如果问题取决于实际控制流、默认值、边缘情况或特定版本的行为,优先查看源码,而不是文档。
  • 对于公共 API 概述或设置说明,优先查看文档。如果文档仍有帮助,让子 Agent 使用 find-docs,而不是将冗长文档加载到主线程。
  • 如果用户指定了特定仓库、库或框架版本,应将其视为需要检查确切源码的强烈信号。
  1. 在克隆前创建项目本地临时工作区。
  • 在当前项目根目录下操作。
  • 如果 .tmp/ 不存在,则创建它。
  • 创建或更新 .gitignore,确保 .tmp/ 被忽略。不要假设 .gitignore 文件已经存在。
  • 将临时调查克隆保存在 .tmp/repos/ 下。
  • 将生成的笔记或临时输出保存在 .tmp/work/ 下。
  1. 克隆所需的确切仓库和引用。
  • 克隆到名称明确的目录,例如 .tmp/repos/react 或 .tmp/repos/context7。
  • 如果当前源码足够,优先使用 git clone --depth 1。
  • 如果问题取决于某个分支、标签或提交,请检出该确切引用,并在回答中说明。
  • 保持克隆可随时丢弃。不要将其接入当前项目,也不要将其视为依赖项。
  1. 委派子 Agent 进行探索。
  • 除非只需查看非常短的本地代码片段,否则不要在主线程中检查大型仓库。
  • 向子 Agent 提出范围明确的问题,例如:
    • 入口点在哪里
    • 如何加载配置
    • 哪个模块实现了特定行为
    • 两个引用之间有哪些变化
    • 某个错误或默认值为何出现
  • 要求子 Agent 提供简洁的发现、相关文件路径,以及仅用于论证答案的最少引用代码。
  • 使用子 Agent 探索,避免占用主线程的上下文窗口。主线程应接收提炼后的发现,而不是原始仓库内容。
  • 如果文档很重要,请为子 Agent 提供 find-docs 技能,或让其阅读一手文档,同时由主线程专注于决策。
  1. 在主线程中综合答案。
  • 综合子 Agent 的发现,给出直接回答。
  • 引用具体的仓库路径、符号和引用,以便用户核实结论。
  • 区分直接观察与推断。
  • 聚焦用户所问的问题,不要罗列调查中发现的所有内容。

注意事项

  • 不要克隆到受版本控制的源码目录中。
  • 不要让临时目录处于未忽略状态。
  • 不要仅仅因为大型源码文件看起来相关,就将其粘贴到主线程中。
  • 不要在多个较小且范围明确的子 Agent 任务能让结果更清晰时,改用单个宽泛的子 Agent 任务。
  • 不要让子 Agent 代替主线程得出面向用户的最终结论;最终结论应由主线程综合得出。

示例触发语

  • “查明这个库如何解析配置默认值。克隆仓库并检查源码。”
  • “文档说得不清楚。检查实际实现,确认此行为。”
  • “调查这个框架在当前版本中如何处理流式响应。”
  • “使用临时克隆和子 Agent 了解此仓库的结构,同时避免污染主线程。”

评论

支持 Markdown