Root Cause Analysis logo

Root Cause Analysis

CommunityPopular
rohitg00
root-cause-analysis

Performs systematic root cause analysis to identify the true source of bugs, errors, and unexpected behavior through structured investigation phases — not just treating symptoms. Use when a user reports a bug, crash, error, or broken behavior and needs to debug, troubleshoot, or investigate why something is not working; especially for complex or intermittent issues across multiple components. Applies the Five Whys method, hypothesis-driven testing, stack trace analysis, git blame/log evidence gathering, and causal chain documentation to isolate and confirm root causes before applying any fix.

Overview

Publisherrohitg00
Repositoryskillkit
Skill nameroot-cause-analysis
Stars
1.5K
Forks
147
Bundled files
Instructions only
LicenseApache-2.0
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • Self-contained

    Everything the model needs lives in the instructions — no extra files to sync.

  • Open source

    Published by rohitg00 on GitHub. Read the source before you install it.

Installation

Install the Root Cause Analysis AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/rohitg00/skillkit.git /tmp/skillkit
mkdir -p .claude/skills
cp -r /tmp/skillkit/packages/core/src/methodology/packs/debugging/root-cause-analysis .claude/skills/root-cause-analysis
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Root Cause Analysis in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Root Cause Analysis on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Root Cause Analysis is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Root Cause Analysis

You are performing systematic root cause analysis to find the true source of a bug. Do not apply fixes until you understand WHY the bug exists.

Core Principle

Never fix a symptom. Always find and fix the root cause.

The Five Whys Method

Ask "Why?" repeatedly to drill down to the root cause:

  1. Why did the API return an error? → The database query failed
  2. Why did the database query fail? → The connection pool was exhausted
  3. Why was the pool exhausted? → ROOT CAUSE: Missing finally block to close connections

Investigation Phases

Phase 1: Reproduce the Bug

Before investigating:

  1. Reproduce consistently - If you can't reproduce it, you can't verify a fix
  2. Document reproduction steps - Exact sequence of actions
  3. Note environment details - OS, versions, configuration
  4. Identify minimal reproduction - Smallest case that shows the bug

Questions to answer:

  • Does it happen every time or intermittently?
  • Does it happen in all environments?
  • When did it start happening? (recent changes)

Phase 2: Gather Evidence

Collect information before forming theories:

  • Error messages and stack traces
  • Log files (application, system, database)
  • Recent code changes (git log, blame)
  • User reports and reproduction steps
  • Monitoring data (metrics, APM)
  • Related issues (search issue tracker)

Do NOT:

  • Make changes while gathering evidence
  • Assume you know the cause without evidence
  • Ignore related symptoms

Phase 3: Form Hypotheses

Based on evidence, create ranked hypotheses:

PriorityHypothesisEvidenceTest Plan
1Connection leak in UserServiceStack trace shows connection poolAdd logging, check usage
2Query timeout too shortOccurs under loadTest with longer timeout
3Database server overloadCorrelates with peak hoursCheck DB metrics

For each hypothesis:

  • What evidence supports it?
  • What evidence contradicts it?
  • How can we test it?

Phase 4: Test Hypotheses

Test each hypothesis systematically:

  1. Start with highest probability
  2. Design a definitive test - Should clearly confirm or reject
  3. Make ONE change at a time
  4. Document results

If hypothesis is rejected:

  • Cross it off the list
  • Re-evaluate remaining hypotheses
  • Consider if new evidence suggests new hypotheses

Phase 5: Verify Root Cause

Before declaring root cause found:

  • Can you explain the full causal chain?
  • Does fixing it consistently prevent the bug?
  • Does it explain ALL observed symptoms?
  • Is there nothing earlier in the chain that could be fixed?

Common Root Cause Categories

  • Code Defects: logic errors, boundary conditions, race conditions, resource leaks, null/undefined handling
  • Design Issues: missing error handling, inadequate validation, poor state management, coupling
  • Environment: configuration errors, resource constraints, version mismatches, network issues
  • Data Issues: invalid input, data corruption, schema mismatches, encoding problems

Evidence Collection Commands

bash
# Recent changes to relevant files
git log --oneline -20 -- path/to/file

# Who changed this line
git blame path/to/file

# Changes since last working version
git diff v1.2.3..HEAD -- src/

# Search for related error handling
grep -r "catch\|error\|throw" --include="*.ts" src/

Red Flags - You Haven't Found Root Cause

  • "I'm not sure why, but this fix works"
  • "The bug went away after I restarted"
  • "I added a check to prevent this case"
  • "It's probably a race condition somewhere"

These suggest symptom treatment, not root cause resolution.

Documentation Template

When root cause is found, document:

markdown
## Bug: [Description]

### Root Cause
[Clear explanation of why the bug occurred]

### Evidence
- [Evidence 1]
- [Evidence 2]

### Causal Chain
1. [Initial trigger]
2. [Intermediate cause]
3. [Root cause]
4. [Observed symptom]

### Fix
[Description of the fix and why it addresses root cause]

### Prevention
[How to prevent similar issues in the future]

Integration with Other Skills

After finding root cause:

  • Use testing/red-green-refactor to write a test that exposes the bug
  • Use planning/verification-gates to validate the fix
  • Consider collaboration/structured-review for complex fixes

Frequently asked questions

What does the Root Cause Analysis AI skill do?

Performs systematic root cause analysis to identify the true source of bugs, errors, and unexpected behavior through structured investigation phases — not just treating symptoms. Use when a user reports a bug, crash, error, or broken behavior and needs to debug, troubleshoot, or investigate why something is not working; especially for complex or intermittent issues across multiple components. Applies the Five Whys method, hypothesis-driven testing, stack trace analysis, git blame/log evidence gathering, and causal chain documentation to isolate and confirm root causes before applying any fix.

Why use Root Cause Analysis on TypingMind?

Because you install it once and use it with any model. Root Cause Analysis is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Root Cause Analysis in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/rohitg00/skillkit/tree/main/packages/core/src/methodology/packs/debugging/root-cause-analysis. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Root Cause Analysis?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Root Cause Analysis?

As many as you like. As long as a model supports skills, you can use Root Cause Analysis with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Root Cause Analysis AI skill free?

Yes. It is published on GitHub by rohitg00 under the Apache-2.0 license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇