PluginBench
Skill
Pass
Audit score 90

investigate-first

juliusbrussee/caveman

Diagnose ambiguous failures by gathering evidence before editing code.

What is investigate-first?

A systematic investigation methodology for unknown causes, intermittent behavior, performance regressions, and other ambiguous failures. Use this skill to separate observed symptoms from inferred causes, trace execution paths, and rank hypotheses by evidence before making any code changes.

  • Separate observed symptom from inferred cause
  • Trace inputs, state transitions, ownership boundaries, and failure output
  • Rank hypotheses by evidence and cheap falsification value
  • Avoid editing until one credible mechanism explains the evidence
  • Stop exploration when evidence is sufficient to name the cause or exact blocker

How to install investigate-first

npx skills add https://github.com/juliusbrussee/caveman --skill investigate-first
Claude Code
Cursor
Windsurf
Cline

How to use investigate-first

  1. 1.Describe the observed symptom clearly without assumptions about cause
  2. 2.Trace the execution path: inputs, state changes, boundaries crossed, and failure output
  3. 3.List all plausible hypotheses that could explain the evidence
  4. 4.Rank hypotheses by how much evidence supports each and how cheaply you can test them
  5. 5.Test or gather evidence for the highest-ranked hypothesis first
  6. 6.Stop when you have sufficient evidence to name the cause or identify the exact blocker
  7. 7.Report the cause and proof; do not edit code unless the task explicitly authorizes implementation

Use cases

Good for
  • Diagnosing intermittent bugs with unclear root causes
  • Investigating performance regressions to identify the actual bottleneck
  • Tracing failures across system boundaries to find ownership and responsibility
  • Evaluating multiple competing hypotheses for a single symptom
  • Gathering proof before proposing a fix to stakeholders
Who it's for
  • Backend engineers debugging production issues
  • Full-stack developers investigating cross-layer failures
  • Performance engineers analyzing regressions
  • QA engineers documenting failure mechanisms
  • Technical leads reviewing root-cause analyses

investigate-first FAQ

When should I use investigate-first instead of just fixing the bug?

Use it when the cause is unclear, the failure is intermittent, multiple hypotheses seem plausible, or the fix could have unintended side effects. Skip it only when the cause is obvious and the fix is low-risk.

How do I know when I have enough evidence to stop investigating?

Stop when you can name the specific cause or identify the exact blocker that explains all observed symptoms. You do not need to implement the fix—just prove what is broken and why.

What does 'cheap falsification value' mean?

It means testing hypotheses that are quick and easy to rule out first, before spending time on expensive or time-consuming tests. Prioritize tests that can quickly eliminate wrong answers.

Should I always report findings even if I do not fix the issue?

Yes. Report the cause and proof so that the task owner or another engineer can decide whether to implement a fix. Your job is diagnosis, not necessarily implementation.

How do I trace across system boundaries?

Follow the data and control flow across service calls, API boundaries, database queries, and inter-process communication. Document which component owns each state change and where failures occur relative to those boundaries.

Full instructions (SKILL.md)

Source of truth, from juliusbrussee/caveman.


name: investigate-first description: Diagnose ambiguous failures before editing. Use for unknown causes, intermittent behavior, performance regressions, or investigations needing evidence-ranked hypotheses.

Investigate first

Gather evidence before changing product code.

  • Separate observed symptom from inferred cause.
  • Trace inputs, state transitions, ownership boundaries, and failure output.
  • Rank hypotheses by evidence and cheap falsification value.
  • Do not edit until one credible mechanism explains evidence.
  • Stop exploration when evidence is sufficient to name cause or exact blocker.

Report cause and proof. Make no fix unless task authorizes implementation.