bassclef
SkillsBuild
LitePhase BuildAlso useful in Test, ShipBody 10 sections · ~777 wordsUpdated 2026-10-02

/diagnose

Diagnose a defect before fixing. Reproduce the failure first (Step 0), then Is/Is Not, then Five Whys, then a Hypothesis. Run before writing any fix code. Lazy diagnosis ships brittle fixes.

Copy the command
/diagnose

Type it bare, or paste it with loose context after — Claude figures out the rest.

Solves

Bugs get fixed on guesses. The wrong cause gets patched. The class comes back a week later.

Payoff

A short trace from failure to root cause. You fix the class once instead of the instance three times.

Takes in

  • A failing test or error log
  • A bug ticket or screenshot

Returns

  • Reproduce step
  • Is/Is Not table
  • Five Whys chain
  • Hypothesis with a read-only test
Runs with
—
Needs first
—
Called by
—
Deep dive — 10 sections · ~777 words · original SKILL.mdScroll for tutorial ↓

What it does

Structured defect diagnosis. Run /diagnose before writing any fix code. I walk you through 7 steps:

The output separates "I fixed it" from a real cure. Without a repro, "I fixed it" has no counterpart. The repro is the surface every next step operates on.

Read the full skill

The complete instructions live at .claude/skills/diagnose/SKILL.md in your repo after bassclef-sync. Open with your editor for phases, rules, and worked examples.

Where in the SDLC

Also relevant in: Test, Ship.

Why this phase: Fires before writing any fix code. Any observed failure.

FAQ

Terms from bassclef vocabulary that appear on this page.

load-bearing
A part of the system that other parts depend on — remove it and downstream things break. Bassclef uses the word for artifacts that other artifacts read: a canvas is load-bearing when a spec cites it, a spec is load-bearing when Builder uses it. Plain equivalent: 'actually used' or 'counted on'.
hook
A shell script bassclef wires into Claude Code's tool-invocation lifecycle. Hooks fire at events like PreToolUse (before an Edit lands) or SessionStart (when a session opens). Hooks enforce rules mechanically — a rule says 'don't do X'; a hook fires and BLOCKs if X happens.
rule
A markdown file auto-loaded into every session's context. Rules pin discipline the agent applies to every response (plain-English writing, blocked-items protocol, temperance gates). Different from a hook — rules are steering; hooks are enforcement.
skill
A user-invocable command (like `/kiss` or `/temperance`) that runs a specific bassclef workflow. Every skill lives at `.claude/skills/<name>/SKILL.md` with frontmatter + procedure. Adopters type the slash command; Claude Code loads the skill and runs it.
bassclef-upstream
The private repo where bassclef substrate is authored. Ships to a public `bassclef` npm package + a public `bassclef-web` docs site. Adopters read the public tier; the operator maintains upstream.

Shipped by @kingofrock · Read the essays

On this page

© 2025–2026 Sunjay Pandey·Privacy·Apache-2.0 code