Skill

issue-analyze

Install
1
Install the plugin
$
npx claudepluginhub sd0xdev/sd0x-dev-flow --plugin sd0x-dev-flow

Want just this skill?

Add to a custom plugin, then install with one command.

Description

GitHub Issue and PR review thread deep analysis with Codex blind verdict. Use when: analyzing issue root cause, classifying problems, investigation planning, triaging PR review comments for actionability. Not for: fixing bugs (use bug-fix), code exploration (use code-explore). Output: classified analysis + verdict assessment + investigation strategy.

Tool Access

This skill is limited to using the following tools:

ReadGrepGlobBash(git:*)Bash(gh:*)mcp__codex__codex
Supporting Assets
View in Repository
references/classification.md
references/report-template.md
Skill Content

Issue Analyze Skill

Trigger

  • Keywords: analyze issue, investigate problem, problem analysis, root cause, root cause analysis, triage review, review thread analysis

Input Types

TypeSourceExample
GitHub IssueIssue number, URL, or description/issue-analyze 123
Review Threadfile: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

ModeInput TypePhases ExecutedUse Case
Full (default)Issue or Thread1 → 2 → 2.5 → 3 → 4Deep analysis with investigation
Triage (--triage)Review Thread2 → 2.5 onlyLightweight classification + verdict (thread data provided inline)
Triage (--triage)GitHub Issue1 → 2 → 2.5Fetch 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

ToolPurposeSpeedDepth
/code-exploreQuick code explorationFastSingle
/git-investigateTrack change historyMediumSingle
/code-investigateDual confirmationSlowDual-view
/codex-brainstormExhaust possibilitiesSlowestAdversarial

Phase 2.5: Verdict Assessment

After classification, run Codex blind verification to independently assess actionability.

Codex call requirements (same as /seek-verdict pattern):

RequirementDetail
ThreadFresh mcp__codex__codex (never reuse existing thread)
Sandboxread-only
Approval policynever
Anti-anchoringNever 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):

VerdictConfidenceEvidence RefsResult
NON_ACTIONABLE>= 0.80 (normal) / >= 0.85 (heightened)>= 2 (normal) / >= 3 (heightened)Skip Phase 3 investigation (DISMISS_VERIFIED)
ACTIONABLE>= 0.70anyProceed to Phase 3 (FIX_REQUIRED)
UNCERTAIN / lowanyanyProceed 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: <file>:<line> (or issue title)
- **Category**: <classification>
- **Verdict**: ACTIONABLE / NON_ACTIONABLE / UNCERTAIN
- **Confidence**: 0.XX
- **Reasoning**: <brief justification>
- **Evidence**: <file:line references>

Verification

  • Issue / review thread content fully extracted
  • Problem type correctly classified
  • Verdict assessment executed (Codex blind verification)
  • Codex prompt contains no Claude conclusions (anti-anchoring)
  • Fresh Codex thread used (not reusing existing thread)
  • Investigation strategy reasonably selected (or skipped if NON_ACTIONABLE)
  • Report includes root cause analysis + verdict
  • Contains specific fix recommendations
  • --triage mode: outputs classification + verdict only

References

  • references/classification.md — Detailed problem classification guide (includes Review Thread dimensions)
  • references/report-template.md — Report template (includes Triage Report)
  • @skills/seek-verdict/references/verdict-prompt.md — Codex blind verification prompt pattern (source of truth)
  • @skills/seek-verdict/references/policy-mapping.md — Verdict thresholds + audit format (source of truth)

Examples

Regression Issue

Input: /issue-analyze 123
Phase 1: gh issue view 123 -> "API returns 500 after update"
Phase 2: Classification = Regression
Phase 3: /git-investigate -> find introducing commit
Phase 4: Report + fix recommendation

Intermittent Error

Input: /issue-analyze 456
Phase 1: gh issue view 456 -> "Random timeout occurrences"
Phase 2: Classification = Complex root cause (intermittent)
Phase 3: /code-investigate -> Claude + Codex dual-view
Phase 4: Consolidated report -> ranked possible causes

Unknown Feature

Input: /issue-analyze 789
Phase 1: gh issue view 789 -> "Why does it behave this way?"
Phase 2: Classification = Unfamiliar feature
Phase 2.5: Verdict = ACTIONABLE (confidence 0.75) -> proceed
Phase 3: /code-explore -> trace execution path
Phase 4: Report + flow diagram + verdict

Review Thread Triage

Input: /issue-analyze --triage "src/service.ts:42 — Use early return instead of nested if"
Phase 2: Classification = nit
Phase 2.5: Verdict = NON_ACTIONABLE (confidence 0.85)
  Codex found: current nested pattern follows project convention in 12 other files
Output: Triage report — skip suggested
Stats
Stars90
Forks12
Last CommitMar 16, 2026
Actions

Similar Skills