Systematic problem investigation through hypothesis formation, evidence gathering, and elimination methodology. Use when diagnosing failures, investigating incidents, finding root causes, or when root-cause, diagnosis, investigate, or --rca are mentioned. Micro-skill loaded by debugging-and-diagnosis, codebase-analysis, and other investigation skills.
/plugin marketplace add outfitter-dev/agents/plugin install baselayer@outfitterThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Symptom → hypothesis formation → evidence gathering → elimination → root cause → verified fix.
<when_to_use>
NOT for: known issues with documented fixes, simple configuration errors, guessing without evidence </when_to_use>
<discovery_phase>
| Question | Why it matters |
|---|---|
| What's the symptom? | Exact manifestation of the problem |
| When did it start? | First occurrence, patterns in timing |
| Can you reproduce it? | Consistently, intermittently, specific conditions |
| What changed recently? | Deployments, config, dependencies, environment |
| What have you tried? | Previous fix attempts, their results |
| What are the constraints? | Time budget, what can't be modified, rollback options |
| Level | Discovery State | Action |
|---|---|---|
░░░░░ 0 | Symptom unclear | Keep gathering info, don't investigate yet |
▓░░░░ 1 | Symptom clear, can't reproduce | Focus on reproduction |
▓▓░░░ 2 | Can reproduce, context unclear | Gather environment/history |
▓▓▓░░ 3 | Good context, some gaps | Can start hypothesis phase |
▓▓▓▓░ 4+ | Clear picture | Proceed to investigation |
At level 3+, transition from discovery to hypothesis formation. Below level 3, keep gathering context. </discovery_phase>
<hypothesis_formation>
Good hypothesis:
Weak hypothesis:
Generate 2–4 competing theories:
<evidence_gathering>
Gather concrete data:
Distinguish:
Trace backwards from symptom:
<hypothesis_testing>
For each hypothesis:
Simplest first:
Highest probability first:
Elimination approach:
<elimination_methodology>
For large problem spaces:
Works for: finding breaking changes, isolating components, narrowing scope
Test one change at a time:
What it's NOT:
Systematically rule out possibilities until one remains. </elimination_methodology>
<time_boxing>
| Phase | Duration | Exit Condition |
|---|---|---|
| Discovery | 5–10 min | Questions answered, can reproduce |
| Hypothesis | 10–15 min | 2–4 testable theories ranked |
| Testing | 15–30 min per hypothesis | Confirmed or ruled out |
| Fix | Variable | Root cause addressed |
| Verification | 10–15 min | Fix confirmed, prevention documented |
If stuck in any phase beyond 2x estimate → step back, seek fresh perspective, or escalate. </time_boxing>
<audit_trail>
Log every step for replay and review:
[TIME] Checked evidence → found specific data
[TIME] Hypothesis: possible cause based on evidence
[TIME] Test: what was tried → result observed
[TIME] Hypothesis ruled out/confirmed, reason
[TIME] New hypothesis based on new evidence
Benefits:
<common_pitfalls>
Rationalizations that derail investigation:
| Thought | Why it's wrong |
|---|---|
| "I already looked at that" | Memory unreliable; re-examine with fresh evidence |
| "That can't be the issue" | Assumptions block investigation; test anyway |
| "We need to fix this quickly" | Pressure leads to random changes, not solutions |
| "The logs don't show anything" | Absence of evidence ≠ evidence of absence |
| "It worked before" | Systems change; past behavior doesn't guarantee current |
| "Let me just try this one thing" | Random trial without hypothesis wastes time |
When you catch yourself thinking these → pause, return to methodology.
Avoid:
Counter:
Avoid:
Counter:
At conclusion:
Extract patterns:
<confidence_calibration> High confidence (▓▓▓▓▓):
Moderate confidence (▓▓▓░░):
Low confidence (▓░░░░):
NEVER:
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.