Skip to content
Development
Skill

/diagnose

Investigate unexpected behavior and mysterious bugs. Use when the cause of a problem is unknown and the user needs to understand WHY something is happening — symptoms like: sudden unexplained changes in metrics or behavior, works locally but not in staging/production,

From plugin
claude-prime
11917 skills

Claude Code

$ npx -y skills add avibebuilder/claude-prime --skill diagnose --agent claude-code

SKILL.md

diagnose.SKILL.md
name: diagnose
description: "Investigate unexpected behavior and mysterious bugs. Use when the cause of a problem is unknown and the user needs to understand WHY something is happening — symptoms like: sudden unexplained changes in metrics or behavior, works locally but not in staging/production, inconsistent or intermittent failures, correct code producing wrong results, operations succeeding but having no effect, environment-specific failures, duplicate executions, stale data, or any \"why did this change?\" or \"why is this happening?\" situation. Covers infrastructure anomalies (cache hit rates dropping, latency spikes, queue behavior shifts) as well as code bugs. The key signal is confusion about root cause, not a request to implement a known fix. Do NOT use for feature requests, known fixes, planning, or documentation tasks."
argument-hint: bug-description

Think harder.

Process

Check conversation context and skip completed steps.

1. Understand the symptom

  • Read the bug report, errors, logs, and surrounding code carefully
  • Clarify reproduction steps, expected behavior, and environment when they are unclear
  • **Separate confirmed facts from working assumptions.** List them explicitly:
  • `Fact (confirmed):` the server returns 200
  • `Assumption (unconfirmed):` the client receives the full HTML body

Misidentifying an assumption as a fact is the most common source of wasted investigation.

2. Build hypotheses

  • Form 2-4 plausible root-cause hypotheses that are **mechanistically distinct** — different failure layers (e.g., server render vs. client hydration vs. network layer), not variations of the same idea
  • Rank them by likelihood
  • For each hypothesis, state both sides:
  • `Confirm if:` [what observation would prove this is the cause]
  • `Eliminate if:` [what observation would rule this out]

A hypothesis you can't falsify in both directions is too vague to test.

3. Choose the lightest evidence method

Start with the cheapest source of truth that can kill hypotheses:

  • existing logs, traces, stack traces, metrics, and error output
  • static code inspection around the suspected path
  • config, environment, deploy, cache, queue, and permissions state that could explain the symptom
  • targeted reproduction in the relevant environment

Only add new instrumentation when existing evidence is insufficient.

  • If you need runtime probes, read `diagnose/references/runtime-debugging.md`
  • Use `#region agent log` / `#endregion` markers for any instrumentation you add
  • Tag each log point with the relevant `hypothesisId`
  • Log only the minimum fields needed to discriminate between hypotheses; never log secrets, tokens, passwords, cookies, or full sensitive payloads
  • If runtime probes require starting the local debug server, ask the user before launching it
  • For browser/UI bugs, combine with the `agent-browser` skill when reproduction or inspection needs it

4. Gather evidence and iterate

  • Use existing logs, traces, failing tests, or artifacts before asking for a fresh reproduction
  • When reproduction is needed, ask the user to trigger the bug — tie each request to the hypothesis it tests
  • Correlate each finding with the hypothesis it supports or eliminates; narrow based on evidence, not confidence
  • If ambiguity remains, refine hypotheses and add narrower probes — but stop and report when another round is unlikely to produce new discriminating evidence

5. Report the diagnosis

Output structured diagnosis:

## Diagnosis: [Issue Title]

### Symptoms
- [What was observed]

### Evidence
- [Finding] — `file:line` or runtime source — hypothesis X
- ...

### Root Cause
[Confirmed or most likely cause, with evidence]

### Hypotheses Tested
| # | Hypothesis | Confirm if | Eliminate if | Result |
|---|-----------|-----------|-------------|--------|
| A | ... | [what observation would prove this] | [what observation would rule this out] | Confirmed/Eliminated/Inconclusive |

### Recommended Next Steps
- [What to do next — usually hand off to `/fix` with this diagnosis]

### Active Instrumentation
- [List files with `#region agent log` blocks still in place, or `None`]

Constraints

  • NO fixing — investigation and diagnosis only. "Recommended Next Steps" hands off to `/fix` with the diagnosis; it does **not** prescribe specific parameter values, code snippets, or step-by-step implementation instructions.
  • Evidence over assumptions — if the code looks wrong but runtime evidence says otherwise, trust the runtime
  • If you add `#region agent log` blocks, leave them in place for `/fix` to verify the repair and call them out in the final report

Bug

<bug>$ARGUMENTS</bug>

Read more
@avibebuilder
Ships withclaude-prime

Open source Claude Code toolkit for developers who want repeatable AI coding workflows instead of prompt chaos.

Stars on GitHub

Momentum

stars in total
119
Star history of avibebuilder/claude-prime on GitHub, a chart by star-history.com

Other skills on claude-prime.

agent-browser

agent-browser

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling…

ask

ask

Answer questions about code, architecture, and technical decisions — no implementation. Trigger on questions asking 'why', 'what…

cook

cook

Implement, build, create, or add any feature, endpoint, page, component, or functionality. Use this skill whenever the user asks…

create-doc

create-doc

Use when the user wants to save knowledge as a file so others don't have to rediscover it — \"turn this into a doc\", \"write…

discuss

discuss

Brainstorms and debates approaches, then drives toward an actionable decision. Use whenever someone needs a thinking partner for…

docs-seeker

docs-seeker

Fetch up-to-date documentation for any library, framework, API, or service into context. Use when the user wants to look up API…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about diagnose.

Which coding agents can use diagnose?
diagnose installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.