Issue Analyze Skill
Trigger
- Keywords: analyze issue, investigate problem, problem analysis, root cause, root cause analysis, triage review, review thread analysis
Input Types
| Type | Source | Example |
|---|---|---|
| GitHub Issue | Issue number, URL, or description | /issue-analyze 123 |
| Review Thread | file:line + reviewer comment | /issue-analyze --triage "src/foo.ts:42 — Use early return" |
When input is a Review Thread:
- Phase 1 skips
gh issue view, uses provided thread data directly - Phase 2 classification uses Review Thread dimensions (see
references/classification.md)
Modes
| Mode | Input Type | Phases Executed | Use Case |
|---|---|---|---|
| Full (default) | Issue or Thread | 1 → 2 → 2.5 → 3 → 4 | Deep analysis with investigation |
Triage (--triage) | Review Thread | 2 → 2.5 only | Lightweight classification + verdict (thread data provided inline) |
Triage (--triage) | GitHub Issue | 1 → 2 → 2.5 | Fetch issue first, then classify + verdict |
When NOT to Use
- Known root cause, fix directly (use
/bug-fix) - Pure feature development (use
/feature-dev) - Only need code review (use
/codex-review)
Workflow
┌─────────────────────────────────────────────────────────────────┐
│ Phase 1: Read Issue / Review Thread │
├─────────────────────────────────────────────────────────────────┤
│ GitHub Issue: gh issue view <number> --json ... │
│ Review Thread: use provided { path, line, reviewer, comment } │
│ Extract: symptoms, reproduction steps, error messages, files │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Phase 2: Problem Classification │
├─────────────────────────────────────────────────────────────────┤
│ GitHub Issue: Determine problem type → investigation strategy │
│ Review Thread: Determine category → actionability │
│ │
│ ┌────────────────┬──────────────────────────────────┐ │
│ │ Type │ Investigation Strategy │ │
│ ├────────────────┼──────────────────────────────────┤ │
│ │ Unfamiliar │ /code-explore │ │
│ │ Regression │ /git-investigate │ │
│ │ Complex root │ /code-investigate (dual view) │ │
│ │ Multiple cause │ /codex-brainstorm (exhaustive) │ │
│ │ Composite │ Combine multiple strategies │ │
│ └────────────────┴──────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Phase 2.5: Verdict Assessment (NEW) │
├─────────────────────────────────────────────────────────────────┤
│ Codex blind verification: ACTIONABLE / NON_ACTIONABLE / UNCERTAIN│
│ Fresh mcp__codex__codex thread, read-only, anti-anchoring │
│ Pattern: @skills/seek-verdict/references/verdict-prompt.md │
│ Thresholds: @skills/seek-verdict/references/policy-mapping.md │
│ │
│ ⚠️ Never send Claude's classification to Codex │
│ --triage mode: stop here, output verdict + classification │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Phase 3: Execute Investigation │
├─────────────────────────────────────────────────────────────────┤
│ Skip if verdict = DISMISS_VERIFIED (per policy-mapping thresholds) │
│ Otherwise: invoke corresponding investigation command │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Phase 4: Consolidated Report │
├─────────────────────────────────────────────────────────────────┤
│ Synthesize investigation results + verdict, produce report │
└─────────────────────────────────────────────────────────────────┘
Problem Classification Decision Tree
Issue Symptoms
│
├─ "It used to work, now it doesn't" ───→ /git-investigate
│ (find introduction point)
│
├─ "Don't know how this feature works" ─→ /code-explore
│ (quick understanding)
│
├─ "Has error message / stack trace"
│ │
│ ├─ Clear error ────────────────→ /code-explore
│ │ (trace path)
│ │
│ └─ Vague / intermittent ───────→ /code-investigate
│ (dual-view confirmation)
│
├─ "Many possible causes" ────────────→ /codex-brainstorm
│ (exhaustive analysis)
│
└─ Composite / uncertain ─────────────→ Start with /code-explore
then choose based on results
Investigation Tool Comparison
| Tool | Purpose | Speed | Depth |
|---|---|---|---|
/code-explore | Quick code exploration | Fast | Single |
/git-investigate | Track change history | Medium | Single |
/code-investigate | Dual confirmation | Slow | Dual-view |
/codex-brainstorm | Exhaust possibilities | Slowest | Adversarial |
Phase 2.5: Verdict Assessment
After classification, run Codex blind verification to independently assess actionability.
Codex call requirements (same as /seek-verdict pattern):
| Requirement | Detail |
|---|---|
| Thread | Fresh mcp__codex__codex (never reuse existing thread) |
| Sandbox | read-only |
| Approval policy | never |
| Anti-anchoring | Never send Claude's Phase 2 classification to Codex |
Prompt construction: follow @skills/seek-verdict/references/verdict-prompt.md pattern, adapting input:
- GitHub Issue input: provide issue title, body, labels as finding context
- Review Thread input: provide file path, line, reviewer comment as finding context
- Always include Standard Research Block (git status, git diff, grep, cat)
Codex output (all fields required):
- codex_verdict: ACTIONABLE | NON_ACTIONABLE | UNCERTAIN
- confidence: [0.0 - 1.0]
- evidence_refs: [files/lines/commands used]
- reasoning: [why this verdict]
Policy mapping: follow @skills/seek-verdict/references/policy-mapping.md thresholds (normal state; heightened thresholds apply after [DISMISS_PATTERN_WARN] — see policy-mapping.md Anti-Abuse Guard):
| Verdict | Confidence | Evidence Refs | Result |
|---|---|---|---|
| NON_ACTIONABLE | >= 0.80 (normal) / >= 0.85 (heightened) | >= 2 (normal) / >= 3 (heightened) | Skip Phase 3 investigation (DISMISS_VERIFIED) |
| ACTIONABLE | >= 0.70 | any | Proceed to Phase 3 (FIX_REQUIRED) |
| UNCERTAIN / low | any | any | Proceed to Phase 3 (NEED_HUMAN) |
--triage mode: stop after Phase 2.5, output classification + verdict only.
Graceful degradation: if Codex call fails, log warning and proceed to Phase 3 without verdict.
Output
Full Report (default)
## Issue Analysis: <title>
- **Classification**: <problem type>
- **Verdict**: ACTIONABLE / NON_ACTIONABLE / UNCERTAIN (confidence: 0.XX)
- **Root cause hypothesis**: <analysis>
- **Investigation strategy**: <tools + plan>
- **Priority**: P0 / P1 / P2
Triage Report (--triage mode)
## Triage: