Best for
- Use when asked to find out why something happens, research a root cause, debug an issue, or investigate unexpected behavior.
Jamie-BitFlight/claude_skills/.claude/skills/find-cause/SKILL.md
Wraps investigation requests with evidence-chain discipline. Use when asked to find out why something happens, research a root cause, debug an issue, or investigate unexpected behavior. Transforms vague investigation requests into reproducible-proof investigations with a 5-step protocol — disambiguate, reproduce, read source, build evidence chain, present findings. Invoke with /find-cause followed by a description of what to investigate.
Decision brief
Rewrite the user's investigation request using the evidence-chain protocol below, then execute it. The user's original request is in .
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/Jamie-BitFlight/claude_skills --skill ".claude/skills/find-cause"Inspect the Agent Skill "find-cause" from https://github.com/Jamie-BitFlight/claude_skills/blob/a00194f25fec502d3d659b7d610369614967251e/.claude/skills/find-cause/SKILL.md at commit a00194f25fec502d3d659b7d610369614967251e. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Before investigating, discover what tools, servers, and agents are available. Execute these in parallel:
Before investigating, discover what tools, servers, and agents are available. Execute these in parallel:
Read the user's request in . Perform two tasks:
Before investigating, assess two things: what you need to know, and whether reproduction is safe.
For each unknown in the investigation:
Permission review
The documentation asks the agent to run terminal commands or scripts.
If the user ran a command, run that commandThe documentation asks the agent to read local files, directories, or repositories.
EVIDENCE: Read — [file:lines] show [quoted content]Evidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 96/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 64 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
<investigation_request>$ARGUMENTS</investigation_request>
Rewrite the user's investigation request using the evidence-chain protocol below, then execute it. The user's original request is in <investigation_request/>.
<evidence_chain_rules>
Every claim in the investigation output MUST have a corresponding evidence entry. Evidence is one of:
These are NOT evidence:
</evidence_chain_rules>
Before investigating, discover what tools, servers, and agents are available. Execute these in parallel:
command -v rg docker podman strace ltrace jq yq curl and any domain-relevant toolsListMcpResourcesTool or equivalent)~/.claude/agents/ and .claude/agents/ for specialized agents that could assistcommand -v docker podmanRecord the results as an investigation capability matrix:
AVAILABLE CAPABILITIES:
- System tools: [list]
- MCP servers: [server -> relevant tools]
- Agents: [agent -> specialization]
- Skills: [skill -> investigation protocols]
- Sandbox options: [docker/podman/temp dir/none]
This matrix informs which verification paths are fastest in Step 1.5 and which advanced tools to leverage in Steps 2-3.
Read the user's request in <investigation_request/>. Perform two tasks:
Formulate 2 or more distinct interpretations of what they are asking. Present these interpretations to the user using the AskUserQuestion tool so the user can select the correct one or provide their own clarification.
Each interpretation MUST be a concrete, falsifiable question — not a vague restatement. Frame each as "Are you asking X?" where X is specific enough to investigate.
Example for the request "find out why the tests fail":
Do NOT proceed until the user has confirmed which interpretation is correct or provided their own.
If the user selects "Other" and provides additional context, reformulate the interpretations and ask again. Only proceed when you have a single, unambiguous question to investigate.
For the confirmed interpretation, state what a conclusive answer looks like:
QUESTION: [confirmed interpretation]
SUCCESS CRITERIA:
- Reproduced the behavior with observed evidence
- Traced the mechanism from symptom to cause with file:line citations
- Can state root cause as: "[observable condition X] causes [observable behavior Y] because [mechanism Z]"
- All claims in the evidence chain are VERIFIED: yes
Present the success criteria to the user for confirmation. Adjust if the user's definition of "done" differs.
Do NOT proceed to Step 1.5 until both interpretation and success criteria are confirmed.
Before investigating, assess two things: what you need to know, and whether reproduction is safe.
For each unknown in the investigation:
If any unknown can be resolved by running the system, that verification MUST happen in Step 2 (reproduction), not through source reading or documentation research.
<reproduction_safety>
Determine whether the problem has bound or unbound constraints:
Bound constraints — You can see the full system and evaluate the risks yourself:
Action: Evaluate the risk. If safe, proceed to Step 2. If destructive or risky, establish precautions (temp directory, dry-run flag, backup) before reproducing. Do not ask the user further questions until you encounter something you cannot evaluate yourself.
Unbound constraints — You cannot see or evaluate the full system:
The operation involves systems you cannot inspect, infrastructure you do not have access to, credentials you do not possess, inputs/variables you cannot observe, or side effects you cannot predict.
Action: Before reproducing, batch ALL questions into a single AskUserQuestion interaction:
INVESTIGATION SAFETY CHECK — answering all questions lets me proceed autonomously.
1. DESTRUCTIVE OPERATIONS: Does this operation delete data, send messages, modify shared state, deploy code, or have irreversible side effects? If yes, what precautions exist (backups, dry-run, test env)?
2. SANDBOX: Which sandbox should I use? (Docker container / temp directory / CI pipeline / remote host / local VM / local execution is safe)
3. MISSING INPUTS: I have [list known inputs]. I need [list missing inputs with specific questions].
4. OVERSIGHT LEVEL:
- Before each step (high oversight)
- Only on unexpected findings (autonomous with exceptions)
- After investigation complete (fully autonomous)
5. BLIND SPOTS: What aspects of this system might I not see or misunderstand?
</reproduction_safety>
Based on the constraint classification:
Autonomous mode (bound constraints, or user selected autonomous oversight): Execute Steps 2-4 completely. Present findings in Step 5. Only interrupt if an unforeseen unbound constraint is encountered.
Check-in mode (unbound constraints, or user selected high oversight): Complete what you can with bound constraints. Document findings and gaps. Ask user before crossing any unbound boundary.
Mid-investigation constraint discovery: If you encounter an unbound constraint after starting autonomous execution — STOP. Document what you have verified so far. Use AskUserQuestion to batch: what access is needed, whether partial findings are acceptable, and whether an alternative verification path exists.
Do NOT proceed to Step 2 until: (bound) you have confirmed reproduction is safe, or (unbound) the user has provided the missing inputs and sandbox strategy.
Execute the same operation the user performed, end-to-end, while observing its complete behavior. Not adjacent diagnostic commands — the actual operation. Not reading about what should happen — watching what does happen.
Reproduction IS observation. You must see the failure mechanism, not just confirm the failure occurred.
Capture:
Anti-pattern: Running ls, env, grep to diagnose the environment before reproducing. Those are Step 3 activities (source reading). Step 2 is experiencing the failure firsthand.
Build evidence as you go:
CLAIM: [What the system did when reproduced]
EVIDENCE: Bash — executed [command], captured [output], exit code [N]
VERIFIED: yes
DEPENDS ON: none (reproduction — primary observation)
If reproduction diverges from the user's report (succeeds when it should fail, or vice versa), document what you did differently and what environmental differences might explain the divergence.
If you cannot reproduce the operation, state that and ask the user for reproduction steps.
Do NOT skip this step by relying on a transcript or description of the failure. Run it yourself.
Read the files involved in the failure. Cite file paths and line numbers for every relevant code path. Do not summarize — quote the specific lines that matter.
Leverage capabilities discovered in Step 0: use MCP servers for documentation lookup, specialized agents for domain analysis, and system tools (strace, network inspection) for runtime behavior that source reading alone cannot reveal.
Build evidence entries as you read:
CLAIM: [What the source code does at this point]
EVIDENCE: Read — [file:lines] show [quoted content]
VERIFIED: yes
DEPENDS ON: [claim numbers from Step 2 that led you to this code path]
Assemble claims from Steps 2-3 into a logical chain where each claim depends on prior claims and traces from observable symptom to root cause.
Chain structure follows this pattern:
SYMPTOM (what the user observed)
-> MECHANISM (what actually happened during reproduction)
-> PROXIMATE CAUSE (what code path or condition triggered the mechanism)
-> ROOT CAUSE (why that condition exists)
Entry format:
CLAIM: [What you assert]
EVIDENCE: [Tool] — [file:line or command:output]
VERIFIED: [yes/no]
DEPENDS ON: [Prior claim numbers that must be true for this claim to hold]
If a claim depends on documentation describing intended behavior, training data recall, inference from absence, or reasoning by analogy — mark it VERIFIED: no and state what direct observation would make it verifiable.
If a claim cannot be verified with available tools, mark it VERIFIED: no and state what verification step is missing.
Structure the output as:
QUESTION: [Restated from Step 1]
SUCCESS CRITERIA MET: [yes/partial/no — against criteria defined in Step 1B]
EVIDENCE CHAIN:
1. CLAIM: ...
EVIDENCE: ...
VERIFIED: yes
DEPENDS ON: none (symptom)
2. CLAIM: ...
EVIDENCE: ...
VERIFIED: yes
DEPENDS ON: 1
3. CLAIM: ...
EVIDENCE: ...
VERIFIED: yes
DEPENDS ON: 1, 2
ROOT CAUSE: [Single statement supported by the chain above]
DEPENDS ON: [claim numbers]
UNVERIFIED ITEMS: [List any claims marked VERIFIED: no, with what would make them conclusive]
Frequently asked questions
Rewrite the user's investigation request using the evidence-chain protocol below, then execute it. The user's original request is in .
The source record exposes this install command: npx skills add https://github.com/Jamie-BitFlight/claude_skills --skill ".claude/skills/find-cause". Inspect the command and pinned source before running it.
Static rules flagged exec-script, read-files in the source; the page lists the matching lines and excerpts.
Alternatives
coreyhaines31/marketingskills
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program
alirezarezvani/claude-skills
App Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklist
equinor/neqsim
Engineering deliverable quality — the nine analytical-depth moves (contributor ranking, adjudicating the source document, quantitative rule-outs, robustness crossover, conservatism direction, discriminating test), results.json schema, figure→discussion→linked_results traceability, evidence matrices, assumptions/gaps registers, citation conventions, KaTeX math formatting, units consistency, executive-summary structure, AACE class declaration. USE WHEN: producing a task report, a PEPR/M1/root-caus
JasonColapietro/suede-creator-skills
Suede-owned experimentation discipline for hypotheses, sample sizing, test duration, significance, and repeatable experiment programs. Use when comparing variants, deciding whether a result is reliable, or building an experiment backlog and cadence. NOT FOR: analytics instrumentation (use suede-analytics), post-click conversion diagnosis (use suede-site-alchemy), or writing the variant copy itself (use suede-copy).