/diagnosing-bugs
Find the cause of a reported failure by first building a command that reproduces it. Use when the user reports something broken, failing, throwing, hanging, or slower than it was, or points at a red CI, pipeline, or lint job.
Claude Code
$ npx -y skills add bendrucker/claude --skill diagnosing-bugs --agent claude-code
Codex
$ npx skills add bendrucker/claude --skill diagnosing-bugs -a codex -y
Cursor
$ npx skills add bendrucker/claude --skill diagnosing-bugs -a cursor -y
Gemini CLI
$ npx skills add bendrucker/claude --skill diagnosing-bugs -a gemini-cli -y
GitHub Copilot
$ npx skills add bendrucker/claude --skill diagnosing-bugs -a github-copilot -y
OpenCode
$ npx skills add bendrucker/claude --skill diagnosing-bugs -a opencode -y
Windsurf
$ npx skills add bendrucker/claude --skill diagnosing-bugs -a windsurf -y
SKILL.md
diagnosing-bugs.SKILL.mdname: diagnosing-bugs
description: Find the cause of a reported failure by first building a command that reproduces it. Use when the user reports something broken, failing, throwing, hanging, or slower than it was, or points at a red CI, pipeline, or lint job.
argument-hint: "[<what is broken>]"
Diagnosing Bugs
Diagnose the failure in `$ARGUMENTS`, or the one the user just reported.
Reproduce
Build one command that fails on this bug: it drives the real code path and produces the reported symptom. Read and grep as needed to find how to invoke that path.
For a failing CI or pipeline job, that command already ran. Get its logs with `github:actions-monitor` or `gitlab:ci-monitor`.
When nothing you try reaches the bug, stop. Name what you tried and what each attempt could not reach, then ask for an environment where it reproduces, a captured artifact, or permission to add instrumentation.
Find the Cause
Change one thing per run. A cause is established when changing it turns the command green.
Report one cause. When none is established, say what you ruled out and how, then ask.
Hand Off
With the cause established and the fix clear, enter plan mode and map out the implementation. When the user asked for diagnosis without changes, stop at the cause and the plan.
Confirm
Once a fix is in, re-run the original reproduction, not a smaller case built along the way. Report it fixed only after that command passes, and quote the run.
Read more
name: diagnosing-bugs description: Find the cause of a reported failure by first building a command that reproduces it. Use when the user reports something broken, failing, throwing, hanging, or slower than it was, or points at a red CI, pipeline, or lint job. argument-hint: "[<what is broken>]"
Diagnosing Bugs
Diagnose the failure in `$ARGUMENTS`, or the one the user just reported.
Reproduce
Build one command that fails on this bug: it drives the real code path and produces the reported symptom. Read and grep as needed to find how to invoke that path.
For a failing CI or pipeline job, that command already ran. Get its logs with `github:actions-monitor` or `gitlab:ci-monitor`.
When nothing you try reaches the bug, stop. Name what you tried and what each attempt could not reach, then ask for an environment where it reproduces, a captured artifact, or permission to add instrumentation.
Find the Cause
Change one thing per run. A cause is established when changing it turns the command green.
Report one cause. When none is established, say what you ruled out and how, then ask.
Hand Off
With the cause established and the fix clear, enter plan mode and map out the implementation. When the user asked for diagnosis without changes, stop at the cause and the plan.
Confirm
Once a fix is in, re-run the original reproduction, not a smaller case built along the way. Report it fixed only after that command passes, and quote the run.
Other skills on claude.
cli
Type-safe CLI argument parsing with commander and @commander-js/extra-typings, the standard parser for this repo's Bun scripts.…
prose-lab
Turn the user's labels on repo prose, or their notes from reviewing a document in Plannotator, into calibrated Vale rules.
activity
Report real device usage from ActivityWatch. Covers per-app time, window titles, and active vs idle spans. Use when asked "what…
agent-team
Orchestrating Claude Code agent teams. Use when creating teams, spawning teammates, assigning tasks, configuring teammate modes,…
handoff
Hand the current conversation off to a fresh background agent that picks up the work immediately, so you can step away and track…
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
Questions about diagnosing-bugs.
- Which coding agents can use diagnosing-bugs?
- diagnosing-bugs 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.

