用途
Code Investigate 是一个双视角代码调查技能(Skill),用于在需要深度代码分析时,同时获得 Claude 与 Codex 两个独立视角的结论。它适用于回答“某个功能如何工作”“某段实现的调用链是怎样的”“这段代码到底做了什么”等需要追踪实现、深入理解机制的问题。
主要能力
该技能通过四个阶段的流程组织调查工作:
- 阶段 1 Claude Explore:使用 Grep/Glob/Read 检索代码,产出相关文件列表。
- 阶段 2 Claude Conclude:分析逻辑并形成初步结论(内部保留,不输出给用户)。
- 阶段 3 Codex Explore:通过 Codex exec 让 Codex 独立探索代码库,产出 Codex 分析报告。
- 阶段 4 Integrate:对比两种视角的结论,标注一致点、差异与可能缺口,输出整合报告。
最终输出格式为 Investigation Report,包含 Claude findings、Codex findings、Integrated conclusion 与 Confidence(High / Medium / Low)四项内容。
使用方式
触发关键词包括:investigate code、how feature works、trace implementation、dual confirmation、deep dive、how code works、what this code does、code research。
在调用 Codex 阶段时,需遵循 Codex Invocation Rules:阶段 3 的分发依据 @skills/codex-code-review/references/codex-transport.md 进行,并从 references/prompts.md 中的模板开始。传输层会固定沙箱与审批策略,并通过 git rev-parse --show-toplevel 推导工作目录,这三项不在本技能中另行指定,技能也不再重复说明。
在写入 prompt.md 之前,必须为所有占位符绑定真实值,因为模板为纯正文(body-only),不会对其中表达式求值:${USER_QUESTION} 与 ${PROJECT_PATH} 必须在文件写入时携带真实值。
正确的提示词包含:调查任务、Question(${USER_QUESTION})、项目信息(Path: ${PROJECT_PATH}、Tech Stack: ${TECH_STACK}),并要求 Codex 独立探索代码库,回答相关问题(如相关文件、核心逻辑、数据流、关键依赖),最终自行 grep/read 探索后给出分析。
被禁止的做法包括:
- 喂结论(Feeding conclusion):Claude 的发现泄漏给 Codex,例如“Claude 找到了这些文件:${findings}”。
- 诱导性提问(Leading question):预设答案,例如“我认为问题在缓存,请验证”。
- 限制范围(Scope restriction):阻止独立探索,例如“只看 src/service/”。
适用场景
技能的示例场景包括:功能调查(如调查订单处理如何工作)、机制理解(如 API 缓存机制如何运作)、问题诊断(如 token 价格为何有时为 null)。
限制
以下情况不应使用本技能:
- 仅需快速查找:直接使用 Grep/Glob。
- 代码审查:使用 codex-review。
- 系统验证:使用 feature-verify。
- Git 历史追踪:使用 git-investigate。
验证清单
技能附带核对清单,标准包括:Claude 独立结论在阶段 2 形成且不输出给用户;Codex 提示词干净,仅含问题与项目路径、不含 Claude 的发现;报告中两种视角分别呈现;集成完整,标注一致点、差异与可能缺口。
参考资料
- references/prompts.md:Codex 提示词模板,在阶段 3 之前阅读。
- references/output-template.md:报告格式,在阶段 4 期间阅读。