MCPInstall

diagnose

Use only when explicitly asked to run diagnose: investigate a bug through causal probes and recorded evidence.

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

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/legendapp/legend-skills --skill diagnose
  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 diagnose 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.

Diagnose

Use this workflow after an explicit diagnose or diagnose-fix-loop invocation. Ordinary bug reports and fix requests do not opt in.

Find and explain the cause of the requested symptom using discriminating evidence. Pursue stronger proof while a practical probe can change the conclusion; do not require a numeric confidence threshold before a credible, scoped fix.

Start from the user's concrete anchor: file, route, error, log, screen, branch, artifact, or reproduction step. Consult relevant architecture notes, ADRs, glossaries, and test docs. Inspect code, run safe tools or tests, and analyze existing artifacts.

Explicit invocation of Diagnose constitutes approval for behavior-neutral temporary instrumentation within the requested scope. Reuse authorization already present in the conversation or the diagnose-fix-loop invocation for scoped fixes. Ask only when a next action lacks that authorization or requires unavailable access or a material unresolved decision.

References

Load only what applies:

  • Browser or React web: browser-react.md
  • iOS, Android, React Native, macOS, TV, or physical device: app-device.md. macOS app sessions default to agent-device's native backend; read its setup and XCTest fallback before opening the app.
  • Logs, runtime probes, metrics, or debug hooks: instrumentation.md

Evidence Loop

  1. Locate likely causes. Inspect the code path and existing evidence around the user's anchor. Form the smallest useful set of likely areas and falsifiable candidate causes, including independent or contributing causes when applicable. Give each cause a distinguishing prediction and identify where those predictions diverge.

  2. Choose discriminating evidence. Use existing tests, traces, and logs first. When they cannot distinguish the leading causes, load instrumentation.md and add temporary structured probes at the relevant boundaries. Instrument competing causes together when one reproduction can distinguish them.

    Before reproducing, define the probe contract:

    • the exact trigger and visible symptom
    • the questions this run will answer
    • each candidate cause's distinguishing prediction
    • the events, fields, and correlation IDs that test those predictions
    • how the evidence will be tied to the exact visible failure
    • the intended process, build, window, document, and runtime identity when applicable

    A baseline reproduction may establish the symptom before instrumentation. Before treating a reproduction as causal evidence, ensure its observations distinguish the leading candidates and confirm the exact symptom.

  3. Reproduce the issue. Use the fastest deterministic signal that represents the reported symptom: focused test, script, browser test, trace replay, harness, repeat loop, profiler, app/device automation, or structured human reproduction. Run it when safe and observable. For intermittent failures, run enough repetitions to compare causes.

    When reproduction requires inaccessible state, credentials, devices, subjective interaction, or risky actions, first prepare the capture, exact steps, expected observation, and artifact to inspect. Ask the user to reproduce and reply done; confirm the returned evidence matches the reported failure.

    If the user corrects the trigger, affected component, lifecycle, or visible symptom, invalidate evidence and probes that target the previous interpretation. Return to cause location and instrumentation before reproducing again; do not continue with a nearby but mismatched reproduction.

  4. Collect and analyze. Collect the complete output, correlate events across boundaries, compare it with each prediction, and record evidence for and against every cause. If the logs are incomplete or ambiguous, identify how the likely areas or instrumentation must change before another reproduction.

  5. Determine confidence. Rank each cause by role (root, contributing, or alternative), 0-100% confidence, supporting and conflicting evidence, and the next evidence that could change its score or rank. Treat scores as qualitative judgments, not calibrated statistical probabilities. Assign 100% operational confidence only when:

    • the exact symptom is reproduced
    • the causal chain from trigger to failure is observed
    • controlling the suspected boundary reliably controls the symptom
    • the cause or combination of causes explains every relevant observation
    • plausible alternatives are falsified or included as contributing causes
    • intermittent behavior is repeated enough to distinguish causality from coincidence

    If proof is incomplete, choose the safest practical probe likely to add discriminating evidence and state which results would raise, lower, or redistribute confidence. Revise the likely areas or instrumentation and repeat the loop only while such a probe exists; do not repeat an equivalent pass without changing its inputs, boundary, or instrumentation.

    Stop probing when no available probe should increase confidence, a pass adds no evidence and no distinct boundary remains, or the needed evidence requires unavailable access, user action, unacceptable risk, or disproportionate effort. Report Supported if the available evidence justifies a credible cause and scoped fix; otherwise report Incomplete. Never label unresolved proof as proven.

Output

Lead with one status:

  • Proven — 100%: every applicable cause meets the proof standard with no unresolved plausible alternative.
  • Supported: evidence identifies a credible cause and scoped fix, with specific remaining uncertainty.
  • Incomplete: available evidence does not yet support a credible cause or fix.

For Proven or Supported, report the cause, causal chain, decisive evidence, code or runtime boundary, and any remaining uncertainty. For Incomplete, rank candidates, explain why evidence is insufficient, and identify the smallest useful next probe. Always name the validation signal. Confidence scores are judgments, not measured probabilities.

Temporary Diagnostics

Keep diagnostic logs until the user requests cleanup or they become durable diagnostics. If committing while temporary diagnostics remain, stage only intended durable changes and report what remains unstaged.

Delegation

Use subagents only when the user explicitly requests delegation, subagents, parallel work, or token optimization. Delegate bounded mechanical collection to faster or cheaper agents: known commands or repro loops, logs, screenshots, traces, profiles, extraction, or artifact comparison. Give each task a success condition, output format, runtime boundary, and no-edit instruction unless mutation is explicit.

Keep feedback-loop design, hypothesis ranking, confidence scoring, ambiguous interpretation, and the final diagnosis in the main thread. Verify delegated evidence and inspect the working tree and background processes before continuing.

FAQ

What does the diagnose skill do?

Use only when explicitly asked to run diagnose: investigate a bug through causal probes and recorded evidence.

How do I install diagnose?

Run npx skills add https://github.com/legendapp/legend-skills --skill diagnose 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/diagnose/ (personal) or .claude/skills/diagnose/ (project).

Which AI agents can use diagnose?

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 diagnose 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 diagnose?

It is published by legendapp in legendapp/legend-skills. It has 423 recorded installs.

More from legendapp/legend-skills

View all →

legend-list-best-practices

legendapp/legend-skills

Implement or audit @legendapp/list usage, including recycling, measurement, invalidation, and scroll anchoring.

legend-state-best-practices

legendapp/legend-skills

Open the skill to read its SKILL.md instructions.

react-coding-style

legendapp/legend-skills

Open the skill to read its SKILL.md instructions.

Frontend & Design466 installs

simplify

legendapp/legend-skills

Simplify the requested code or diff while preserving behavior and meaningful coverage.

Testing & QA456 installs

diagnose-fix-loop

legendapp/legend-skills

Use only when explicitly asked to run diagnose-fix-loop: repeat diagnosis, scoped fixes, and verification.

420 installs

commit

legendapp/legend-skills

Open the skill to read its SKILL.md instructions.

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.