MCPInstall

bmad-investigate

Forensic bug and issue triage. Produces a graded investigation case file: symptoms, evidence (graded A/B/C by confidence), ranked hypotheses, suspected components, and a recommended planning response. INVESTIGATES and DOCUMENTS only — does NOT fix code, run tests, or implement. Hands off as a story to an external dev tool. Use when the user says: - "investigate this bug" / "triage this issue" / "debug triage" - "what's causing [symptom]" / "why is [feature] broken" - "something's wrong with [component]" / "users are reporting [problem]" - "figure out what happened" / "root cause this" - "I need a bug report" / "create an investigation case file" - "forensic analysis" / "diagnose this" - "error triage" / "issue investigation" - "what do we know about [incident/issue]" Three intents: Create (new case file), Update (add evidence to open case), Validate (check draft for completeness before handoff). Output lands in bmad-output/; a fix story is drafted on handoff.

Installs
94
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/aj-geddes/claude-code-bmad-skills --skill bmad-investigate
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads bmad-investigate automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

BMAD Investigate

Forensic triage — plan the fix, don't apply it.

This skill builds a structured, evidence-graded investigation case file so that whoever picks up the story has a clear picture of what is known, what is suspected, and exactly what needs verifying before any code changes. It deliberately stops before implementation; the result of every investigation is a story handed off to an external dev tool.

Persona flavor: Mary (Business Analyst) frames the user impact; Winston (Architect) maps the component topology. The skill is a workflow, not a character.


Scope Law (read first)

This skill PLANS. It reads planning artifacts and existing code to gather evidence. It does NOT write application code, run tests, lint, build, or review diffs. The last artifact it emits is either an updated planning document or a story file marked status: ready-for-dev. If tempted to "fix the bug", "run the suite", or "apply the patch" — STOP. Investigate and hand off.


Inputs (load these first)

SourceWhy
bmad-output/project-context.mdProject constitution — architecture, stack, ownership
bmad-output/architecture.mdComponent boundaries, module responsibilities
bmad-output/prd.md or tech-spec.mdRequirements the broken behavior should satisfy
bmad-output/decision-log.mdPrior decisions that may relate to the issue
User-provided symptom descriptionPrimary input — what is failing, when, how
Logs / error messages the user pastes inRaw evidence to grade and analyze
Existing story files in bmad-output/stories/Check for duplicate or related work

If project-context.md does not exist, ask the user to describe the stack and affected area before proceeding.


Three Intents

Ask which intent applies if ambiguous.

  • Create — new investigation case file from scratch.
  • Update — add new evidence to an existing case file, re-rank hypotheses.
  • Validate — check a draft case file for completeness against the case-file contract.

Workflow — Create

Use TodoWrite to track progress through these steps.

Step 1 — Clarify the Symptom

Before investigating, confirm exactly what is observable. Ask (or infer from context):

  1. Symptom — what behavior is wrong? What is the expected behavior?
  2. Trigger — when does it occur? Every time? Intermittently? Under load?
  3. Scope — which users, environments, or configurations are affected?
  4. First seen — when was the issue introduced or first noticed?
  5. Severity — data loss, service outage, degraded UX, cosmetic?

Record these as the "Symptom Summary" — this is the anchor for all grading later.


Step 2 — Load Context

Read all available inputs listed above. Extract:

  • Affected components — which modules/services does the symptom implicate? (Cross-reference architecture.md for component responsibilities.)
  • Related requirements — which FR or NFR does the broken behavior touch? (Search prd.md for the area.)
  • Recent decisions — any ADR or decision-log entry touching the suspected area?
  • Similar stories — any existing story file referencing the same component?

Step 3 — Gather and Grade Evidence

Collect all available evidence. Assign each item an evidence grade:

GradeMeaning
ADirectly observed, reproducible, or confirmed by multiple independent sources. High confidence.
BSingle-source, inferred from logs, or plausible but not yet reproduced. Medium confidence.
CSpeculative, based on code reading only, or pattern-matched without direct confirmation. Low confidence.

Evidence types to gather:

  • Error messages and stack traces (paste verbatim; mark as grade A if directly from logs)
  • Reproduction steps (grade A if reliably reproduced; B if intermittent)
  • Code paths identified via Grep/Glob (grade B — code reading is inference, not proof)
  • Configuration or environment differences (grade B unless confirmed in both envs)
  • Historical changes — recent commits or PRs that touched the area (grade C without reproduction confirmation)
  • User reports or support tickets (grade B — external, non-reproducible by default)

Use Grep and Glob to search the codebase for error strings, function names, or file paths the user mentions. Read code files to trace call paths. Do NOT run the code — read it.


Step 4 — Form Hypotheses

Based on all grade-A and grade-B evidence, draft 2–5 hypotheses. For each:

  • Hypothesis — a concise statement of the suspected root cause.
  • Supporting evidence — which evidence items support it (cite grade).
  • Contradicting evidence — anything that argues against it.
  • Plausibility rank — High / Medium / Low (derived from weight of A+B evidence).
  • Verification step — what a dev agent would need to do to confirm or refute this.

Order hypotheses from most to least plausible.


Step 5 — Map Suspected Components

For each top-2 hypothesis, list:

  • Component — the module, service, or file suspected.
  • Why suspected — evidence linkage (grade + description).
  • Blast radius — what else could be affected if this hypothesis is correct?
  • Confidence — derived from the highest-grade evidence linking to this component.

Step 6 — Write the Case File

Fill the template:

${CLAUDE_PLUGIN_ROOT}/skills/bmad-investigate/templates/investigation.template.md

Save to: bmad-output/investigation-<issue-slug>-<date>.md

Use Write. Fill every {{placeholder}} from your analysis.


Step 7 — Recommend the Planning Response

After completing the case file, determine the planning response:

Option A — Create a fix story: Draft a story file using the standard story contract from bmad-epics-and-stories. The story Dev Notes MUST cite the investigation case file. Status: ready-for-dev. Naming: {epic}.{story}.{slug}.story.md in bmad-output/stories/.

Option B — Update an existing backlog story: If a related story exists in backlog, recommend updating its Dev Notes and ACs to incorporate the investigation findings. Do NOT edit the story yourself unless asked; describe what needs updating.

Option C — Escalate to planning: If the investigation reveals a systemic issue touching multiple epics, recommend that the user run /bmad-planning-orchestrator:bmad-prd or /bmad-planning-orchestrator:bmad-architecture (Update intent) before a story is created.

Tell the user which option applies and why. If creating a fix story (Option A), draft it now unless the user says otherwise.


Step 8 — Log the Decision

Append to bmad-output/decision-log.md:

## Investigation: [Issue Slug] — [Date]
- Symptom: [one sentence]
- Primary hypothesis: [one sentence]
- Primary suspected component: [name]
- Case file: bmad-output/investigation-<slug>-<date>.md
- Recommended response: [Option A/B/C + story ID if created]

Workflow — Update

  1. Read the existing case file.
  2. Ask: what new evidence has arrived?
  3. Add new evidence items with grades; re-rank hypotheses if the weight shifts.
  4. Increment the case file version in the header.
  5. If the primary hypothesis has changed, note it in the decision-log.

Workflow — Validate

Check the draft case file against this contract checklist:

  • Symptom Summary is concrete and testable (not vague)
  • Every evidence item has a grade (A / B / C)
  • At least two hypotheses are present
  • Each hypothesis has: supporting evidence, contradicting evidence, plausibility rank, verification step
  • Suspected Components section maps each component to specific evidence
  • Recommended Action is stated (Option A / B / C)
  • If Option A: a story draft exists or is clearly specified
  • Decision-log entry exists

Report pass/fail per item. Do not edit unless asked.


Evidence Grading Summary

GradeLabelTypical Sources
AConfirmedDirect logs, reproducible steps, two-source corroboration
BProbableSingle logs, code-read inference, intermittent reproduction, user reports
CSpeculativeEducated guess, pattern match, untested hypothesis only

Never promote a C to an A in the case file — the external dev agent needs to know what is solid and what is guesswork before they start.


Subagent Strategy

For large-scale investigations spanning multiple suspected components, fan out parallel read-only agents:

Agent 1 — Evidence Collector

Read the investigation brief at bmad-output/investigation-scratch/brief.md.
Search the codebase with Grep/Glob for error strings, function names, and file
paths listed. Collect stack-trace context. Write findings (verbatim excerpts +
file paths + line numbers) to bmad-output/investigation-scratch/evidence.md.
Do NOT modify any source files. Grade each item A/B/C.

Agent 2 — Component Mapper

Read bmad-output/architecture.md and the brief at
bmad-output/investigation-scratch/brief.md. For each suspected component,
extract its responsibilities, dependencies, and API contracts.
Write findings to bmad-output/investigation-scratch/components.md.

After agents complete, synthesize evidence.md + components.md into the final case file using the template. Delete scratch files after synthesis.


Reference

  • templates/investigation.template.md
  • bmad-output/decision-log.md — threaded decision record
  • bmad-output/project-context.md — project constitution
  • /bmad-planning-orchestrator:bmad-epics-and-stories — creates the fix story
  • /bmad-planning-orchestrator:bmad-readiness-check — if investigation reveals systemic planning gaps before the fix story is safe to hand off

Part of the BMAD Planning & Orchestrator plugin — a Claude Code harness for the BMAD Method by the BMAD Code Organization (https://github.com/bmad-code-org/BMAD-METHOD). Implements the spirit of bmad-investigate. All methodology credit belongs to the BMAD Code Organization.

FAQ

What does the bmad-investigate skill do?

Forensic bug and issue triage. Produces a graded investigation case file: symptoms, evidence (graded A/B/C by confidence), ranked hypotheses, suspected components, and a recommended planning response. INVESTIGATES and DOCUMENTS only — does NOT fix code, run tests, or implement. Hands off as a story to an external dev tool. Use when the user says: - "investigate this bug" / "triage this issue" / "debug triage" - "what's causing [symptom]" / "why is [feature] broken" - "something's wrong with [component]" / "users are reporting [problem]" - "figure out what happened" / "root cause this" - "I need a bug report" / "create an investigation case file" - "forensic analysis" / "diagnose this" - "error triage" / "issue investigation" - "what do we know about [incident/issue]" Three intents: Create (new case file), Update (add evidence to open case), Validate (check draft for completeness before handoff). Output lands in bmad-output/; a fix story is drafted on handoff.

How do I install bmad-investigate?

Run npx skills add https://github.com/aj-geddes/claude-code-bmad-skills --skill bmad-investigate in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/bmad-investigate/ (personal) or .claude/skills/bmad-investigate/ (project).

Which AI agents can use bmad-investigate?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is bmad-investigate safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains bmad-investigate?

It is published by aj-geddes in aj-geddes/claude-code-bmad-skills. It has 94 recorded installs.

More from aj-geddes/claude-code-bmad-skills

View all →

business-analyst

aj-geddes/claude-code-bmad-skills

Product discovery and requirements analysis specialist. Conducts stakeholder interviews, market research, problem discovery, and creates product briefs. Use for product brief, brainstorm, research, discovery, requirements gathering, problem analysis, user needs, competitive analysis, and setting foundation before product planning. Hands off to product manager when analysis complete.

Business & Finance2.2K installs

product-manager

aj-geddes/claude-code-bmad-skills

Product requirements and planning specialist. Creates PRDs and tech specs with functional/non-functional requirements, prioritizes features using MoSCoW/RICE frameworks, breaks down epics into user stories, and ensures requirements are testable and traceable. Use for PRD creation, requirements definition, feature prioritization, tech specs, epics, user stories, and acceptance criteria.

system-architect

aj-geddes/claude-code-bmad-skills

Designs system architecture, selects tech stacks, defines components and interfaces, addresses non-functional requirements. Trigger words - architecture, system design, tech stack, components, scalability, security, API design, data model, NFR, patterns, microservices, monolith

ux-designer

aj-geddes/claude-code-bmad-skills

Designs user experiences, creates wireframes, defines user flows, ensures accessibility. Trigger keywords - UX design, wireframe, user flow, accessibility, WCAG, mobile-first, responsive, UI design, user journey, interface design, user experience, design system, component design, interaction design

Frontend & Design717 installs

creative-intelligence

aj-geddes/claude-code-bmad-skills

Facilitates structured brainstorming sessions, conducts comprehensive research, and generates creative solutions using proven frameworks. Trigger keywords - brainstorm, ideate, research, SCAMPER, SWOT, mind map, creative, explore ideas, market research, competitive analysis, innovation, problem solving, feature generation

Media & Creative589 installs

scrum master

aj-geddes/claude-code-bmad-skills

Sprint planning and agile workflow specialist. Breaks epics into user stories, estimates complexity using story points, plans sprint iterations, and tracks velocity. Trigger keywords - sprint planning, user story, story points, velocity, backlog, sprint, epic breakdown, estimation, burndown, agile planning.

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.