ix-debug
Root cause analysis — trace execution path to a failure, narrow candidates, read minimal source only at suspected failure points.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Root cause analysis — trace execution path to a failure, narrow candidates, read minimal source only at suspected failure points.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Analyze system design — structure, coupling, code smells, and high-risk hotspots. Purely graph-based, no code reads.
Generate narrative-first, importance-weighted documentation for a repo, system, or subsystem with a selective reference layer. Use --full for deeper module/class/method coverage.
Route to the right Ix skill or command for your task
Change risk analysis — blast radius, affected systems, and what to test. Depth scales with risk level; low-risk targets stop early.
Deep dive into a symbol, feature, or bug. Graph-first, minimal code reads, early stopping when sufficient evidence found.
Generate a risk-ordered implementation plan for a set of targets. Assesses blast radius per target, finds data flows between them, and produces a safe change sequence.
| name | ix-debug |
| description | Root cause analysis — trace execution path to a failure, narrow candidates, read minimal source only at suspected failure points. |
| argument-hint | <symptom, failing function, or suspected component> |
Check command -v ix first. If unavailable, use Grep + Read as fallback.
Read the session briefing context. If it reports stale: true:
[stale graph].low regardless of how clean individual symbol lookups appear.Do not skip this check. A fresh-looking symbol response does not mean the graph is current.
Answer: where in the execution path is this likely failing, and why? Stop once you have 1-3 root cause candidates with supporting evidence.
ix locate $ARGUMENTS --format llm
If $ARGUMENTS is a symptom description rather than a symbol name, also run:
ix text "$ARGUMENTS" --limit 10 --format llm
Identify the most likely entry point (where the failure originates or first manifests).
Qualified member lookup rule: If you attempt ix locate <Class.method> and it fails to resolve, stay scoped to the parent class — do NOT retry with just the method name as a bare symbol. Bare member names resolve to unrelated entities and produce noisy, misleading evidence.
ix explain <entry-point> --format llm
Extract: role, callers, callees, confidence. Identify whether this is:
Stop if: the explanation makes the failure source obvious -> skip to Output.
ix trace <entry-point> --downstream --format llm
Walk the downstream path. At each step, look for:
Narrow: Identify the 1-3 nodes most likely to contain the bug.
Stop if: trace reveals an obvious candidate -> proceed to Phase 5.
ix callers <entry-point> --limit 10 --format llm
Check whether the fault is in how this is called rather than in its own logic.
For each root cause candidate (max 2):
ix read <candidate-function> --format llm
Use ix read <candidate-function> — never a native read of the whole file.
If ix read <symbol> returns ambiguous or unresolved:
ix locate: ix read <path-from-locate> --format llmWhole-file read ceiling: At most one whole-file read is permitted per run, and only when absolutely no symbol-level path succeeded. Once a whole-file read has occurred, do NOT issue additional whole-file reads for downstream collaborators or related files. Synthesize from available graph + source evidence and reduce confidence instead.
Look for:
Hard limit: 2 source reads maximum (symbol-level or path-level). Whole-file reads count against this limit. If still ambiguous after the limit, surface the candidates and uncertainty to the user.
## Debug: [entry point]
**Execution path:**
[entry-point] -> [step] -> [step] -> [suspected failure point]
**Root cause candidates:**
1. [function/file] — [reason: what assumption might be wrong]
2. [function/file] — [reason]
**Evidence:**
- [what graph data supports each candidate]
- [what code read revealed, if any]
**Confidence:** [high / medium / low] — [why; if graph was stale or any read was whole-file, explain the penalty]
**Next steps:**
- Add logging at [specific point] to confirm
- Check [specific edge case] in [function]
- Run `ix-investigate <X>` to understand [unclear component] more deeply