Investigate Bug logo

Investigate Bug

Community
danielvm-git
investigate-bug

Investigate a bug or issue by exploring the codebase to find root cause, then write a TDD-based fix plan to specs/bugs/BUG-*.md. Use when user reports a bug, wants to investigate a problem, mentions "triage", or wants to plan a fix.

Overview

Publisherdanielvm-git
Repositorybigpowers
Skill nameinvestigate-bug
Stars
206
Forks
18
Bundled files
Instructions only
LicenseMIT
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 danielvm-git on GitHub. Read the source before you install it.

Installation

Install the Investigate Bug 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/danielvm-git/bigpowers.git /tmp/bigpowers
mkdir -p .claude/skills
cp -r /tmp/bigpowers/skills/investigate-bug .claude/skills/investigate-bug
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Investigate Bug 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 Investigate Bug 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 Investigate Bug 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.

Investigate Bug

Boundary: End-to-end bug entry point — history check → RCA (via diagnose-root) → fix approach → TDD plan → bug file. Delegates the 4-phase RCA to diagnose-root; does not re-implement it.

Investigate a reported problem, find its root cause, and write a TDD fix plan to specs/bugs/BUG-*.md. This is a mostly hands-off workflow — minimize questions to the user.

Process

0. Read previous bug history

Before starting diagnosis:

  1. Read specs/bugs/registry.yaml (if it exists) — check for prior bugs in the same scope or with similar symptoms.
  2. If a relevant prior bug is found, read the corresponding specs/bugs/BUG-*.md file to understand previous root cause analysis and fix approach.
  3. Note in your investigation whether this is a recurrence, a related issue, or novel.

1. Capture the problem

Get a brief description of the issue from the user. If they haven't provided one, ask ONE question: "What's the problem you're seeing?"

Do NOT ask follow-up questions yet. Start investigating immediately.

Security-impact assessment — After capturing the problem, assess and document: Security impact: NONE / LOW / MEDIUM / HIGH / CRITICAL. If HIGH or CRITICAL, assign bug severity HIGH and document the exploit path in findings. If MEDIUM+, include exploit path in the bug file. Document "no security exploit path identified" for NONE/LOW.

2. Explore and diagnose (4-phase RCA)

Run the 4-phase root-cause analysis via the diagnose-root skill (Reproduce → Isolate → Hypothesize → Verify). That skill is the canonical RCA engine — do not re-implement the phases here.

Also look at:

  • Recent changes to affected files (git log --oneline <file>)
  • Existing tests (what's tested, what's missing)
  • Similar patterns elsewhere in the codebase that work correctly

HARD GATE — Do NOT proceed to Step 3 (Fix Approach) until diagnose-root Phase 4 produces a verified root cause. "It probably is X" is not verified.

3. Identify the fix approach

Based on your investigation, determine:

  • The minimal change needed to fix the root cause
  • Which modules/interfaces are affected
  • What behaviors need to be verified via tests
  • Whether this is a regression, missing feature, or design flaw
  • Risk level: Low / Medium / High

4. Design TDD fix plan

Create a concrete, ordered list of RED-GREEN cycles. Each cycle is one vertical slice:

  • RED: Describe a specific test that captures the broken/missing behavior
  • GREEN: Describe the minimal code change to make that test pass

Rules:

  • Tests verify behavior through public interfaces, not implementation details
  • One test at a time, vertical slices (NOT all tests first, then all code)
  • Each test should survive internal refactors
  • Include a final refactor step if needed
  • Durability: Only suggest fixes that would survive radical codebase changes. Tests assert on observable outcomes (API responses, UI state, user-visible effects), not internal state.

5. Write the bug file

Save the investigation and fix plan to specs/bugs/BUG-NNN-slug.md. Create the specs/bugs/ directory if it doesn't exist.

After writing, append a row to specs/bugs/registry.yaml with: bug_id (same timestamp), date, severity, priority, scope, summary, and file path. Create specs/bugs/registry.yaml if it doesn't exist.

BUG-YYYY-MM-DDTHHMMSS: [short title]

Problem

A clear description of the bug or issue, including:

  • What happens (actual behavior)
  • What should happen (expected behavior)
  • How to reproduce (if applicable)

Root Cause Analysis

Describe what you found during investigation:

  • The code path involved
  • Why the current code fails
  • Any contributing factors
  • Risk level: Low / Medium / High

Do NOT include specific file paths, line numbers, or implementation details that couple to current code layout. Describe modules, behaviors, and contracts instead.

TDD Fix Plan

A numbered list of RED-GREEN cycles:

  1. RED: Write a test that [describes expected behavior] GREEN: [Minimal change to make it pass] verify: [runnable command]

  2. RED: Write a test that [describes next behavior] GREEN: [Minimal change to make it pass] verify: [runnable command]

REFACTOR: [Any cleanup needed after all tests pass]

Acceptance Criteria

  • Criterion 1
  • Criterion 2
  • All new tests pass
  • Existing tests still pass

Resolution

After writing the bug file, print a one-line summary of the root cause and suggest running kickoff-branch next to create a fix branch.

References

Frequently asked questions

What does the Investigate Bug AI skill do?

Investigate a bug or issue by exploring the codebase to find root cause, then write a TDD-based fix plan to specs/bugs/BUG-*.md. Use when user reports a bug, wants to investigate a problem, mentions "triage", or wants to plan a fix.

Why use Investigate Bug on TypingMind?

Because you install it once and use it with any model. Investigate Bug 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 Investigate Bug in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/danielvm-git/bigpowers/tree/main/skills/investigate-bug. TypingMind reads its SKILL.md and installs it as a skill you can enable per chat.

Which AI models can use Investigate Bug?

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 Investigate Bug?

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

Is the Investigate Bug AI skill free?

Yes. It is published on GitHub by danielvm-git under the MIT 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 👇