Code Investigate Skill
Trigger
- Keywords: investigate code, how feature works, trace implementation, dual confirmation, deep dive, how code works, what this code does, code research
When NOT to Use
- Just need quick lookup (use Grep/Glob directly)
- Code review (use codex-review)
- System verification (use feature-verify)
- Git history tracking (use git-investigate)
Core Principle
Codex must explore independently. Feeding Claude's conclusions to Codex is prohibited.
┌─────────────────┐ ┌─────────────────┐
│ Claude Explores │ │ Codex Explores │
│ Independently │ │ Independently │
│ (Phase 1-2) │ │ (Phase 3) │
└────────┬────────┘ └────────┬────────┘
│ │
▼ ▼
┌───────────┐ ┌───────────┐
│ Claude │ │ Codex │
│ Conclusion│ │ Conclusion│
└─────┬─────┘ └─────┬─────┘
│ │
└───────────┬───────────┘
▼
┌─────────────┐
│ Consolidated│
│ Report │
│ (Phase 4) │
└─────────────┘
Workflow
| Phase | Name | Action | Output |
|---|---|---|---|
| 1 | Claude Explore | Grep/Glob/Read to search code | Related files list |
| 2 | Claude Conclude | Analyze logic, form understanding | Initial conclusion (internal) |
| 3 | Codex Explore | Invoke Codex exec to explore independently | Codex analysis report |
| 4 | Integrate | Compare both perspectives, mark differences | Consolidated report |
Codex Invocation Rules
Dispatch Phase 3 per @skills/codex-code-review/references/codex-transport.md § Start with the template in references/prompts.md. The transport
pins the sandbox and the approval policy, and it derives the working directory from
git rev-parse --show-toplevel — none of the three is chosen here, and this skill no longer
restates them.
Bind every placeholder before writing prompt.md. The template is body-only, so nothing
evaluates an expression inside it: ${USER_QUESTION} and ${PROJECT_PATH} must carry real values
by the time the file is written.
Correct Approach
Code Investigation Task
Question
${USER_QUESTION}
Project Info
- Path: ${PROJECT_PATH}
- Tech Stack: ${TECH_STACK}
Please independently explore the codebase and answer:
- What files are related?
- How does the core logic work?
- What is the data flow?
- What are the key dependencies?
Please grep/read and explore on your own, then provide your analysis.
Prohibited Approaches
| Pattern | Problem | Example |
|---|---|---|
| Feeding conclusion | Claude's findings leak to Codex | Claude found these files: ${findings} |
| Leading question | Presupposes answer | I think the problem is in cache, verify |
| Scope restriction | Prevents independent exploration | Only look at src/service/ |
Output
## Investigation Report
- **Claude findings**: <independent analysis>
- **Codex findings**: <independent analysis>
- **Integrated conclusion**: <merged findings>
- **Confidence**: High / Medium / Low
Verification Checklist
| Check | Standard |
|---|---|
| Claude independent conclusion | Phase 2 forms conclusion, not output to user |
| Codex prompt is clean | Contains only question + project path, no Claude findings |
| Report perspectives separated | Claude / Codex conclusions presented separately |
| Integration is complete | Marks agreement, differences, possible gaps |
References
| File | Purpose | When to Read |
|---|---|---|
references/prompts.md |
Codex prompt templates | Before Phase 3 |
references/output-template.md |
Report format | During Phase 4 |
Examples
Feature Investigation
Input: Investigate how order processing works
Phase 1: Grep "processOrder" -> Read src/service/order/*.ts
Phase 2: Form understanding: Controller -> Service -> Repository write
Phase 3: Codex explores independently (only given question + path)
Phase 4: Consolidated report -> mark both perspectives
Mechanism Understanding
Input: How does the API caching mechanism work?
Phase 1: Grep "cache" + "portfolio" -> Read related files
Phase 2: Understand Redis TTL + fallback mechanism
Phase 3: Codex investigates independently
Phase 4: Compare differences -> output consolidated report
Problem Diagnosis
Input: Why is token price sometimes null?
Phase 1: Search price-related logic + error handling
Phase 2: Identify possible fallback paths
Phase 3: Codex diagnoses independently
Phase 4: Synthesize both findings -> list possible causes