DI

Systematically debugs and resolves software regressions.

Install

mkdir -p .claude/skills/diagnose-tr3kkr && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/16512" && unzip -o skill.zip -d .claude/skills/diagnose-tr3kkr && rm skill.zip

Installs to .claude/skills/diagnose-tr3kkr

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Diagnose Yuzu bugs and performance regressions with a disciplined reproduce-minimize-hypothesize-instrument-fix-regression-test loop. Use when the user says `/diagnose`, "debug this", reports a failure, flake, broken behavior, or performance regression.
253 chars✓ has a “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Reproduce Yuzu bugs and performance regressions
  • Minimize test cases to sharpen failure signals
  • Formulate falsifiable hypotheses for debugging

How it works

The skill follows a disciplined loop: reproduce the failure, minimize the test case, hypothesize potential causes, instrument the code to test hypotheses, fix the issue, and verify with regression tests. It emphasizes creating a fast, deterministic signal for reproduction.

Inputs & outputs

You give it
Reported Yuzu bug, failure, flake, broken behavior, or performance regression
You get back
Reproduced symptom, winning hypothesis, fix, regression test, and validation commands

When to use diagnose

  • Debug a production regression
  • Reproduce a flaky test
  • Fix a reported bug

About this skill

Diagnose

Build a feedback loop before guessing. Read CONTEXT.md and relevant ADRs so hypotheses use Yuzu's domain vocabulary.

Loop First

Create the fastest deterministic signal that reproduces the user-visible failure:

  • focused unit or integration test
  • scripts/start-UAT.sh plus REST/gRPC/CLI probe
  • gateway EUnit/CT/Dialyzer command
  • replayed log, request, proto payload, or DB fixture
  • reduced harness around a store, handler, plugin, or gateway module
  • repeated stress loop for flakes
  • perf measurement before changing code

If no loop is possible, stop and ask for the missing artifact or environment. Do not proceed on vibes.

Phases

  1. Reproduce: confirm the loop shows the same symptom the user reported.
  2. Minimize: reduce the input, fixture, test, or command until the signal is sharp.
  3. Hypothesize: list 3-5 ranked falsifiable hypotheses and the prediction each makes.
  4. Instrument: probe one hypothesis at a time. Use debugger/REPL first, targeted logs second.
  5. Fix: add the regression test at the correct seam before the fix when possible.
  6. Verify: run the original loop, the regression test, and the relevant targeted suite.
  7. Cleanup: remove temporary probes and [DEBUG-...] logs; delete throwaway harnesses unless intentionally kept under a debug path.

Yuzu Checks

  • For Erlang failures, source scripts/ensure-erlang.sh; remember rebar3 eunit --module is not isolation.
  • For build/test selection, invoke $yuzu-build.
  • For Meson/proto/plugin/Windows boundaries, invoke the matching Yuzu skill.
  • For performance, use measurement scripts such as scripts/test/perf-gate.sh or a narrow harness before and after. Perf gates are measure-only unless the specific test enforces a threshold.

Final Report

State the reproduced symptom, the hypothesis that won, the fix, the regression test, exact validation commands, and any architectural gap that prevented a clean regression test.

When not to use it

  • When no deterministic signal can be created to reproduce the failure
  • When the task is outside the Yuzu domain
  • When the user wants to proceed on 'vibes' without a reproducible loop

Limitations

  • Requires a reproducible loop for diagnosis
  • Specific to Yuzu bugs and performance regressions
  • Does not proceed without a reproducible loop or missing artifacts

How it compares

This skill applies a rigorous, structured debugging process with a strong emphasis on reproducible loops and falsifiable hypotheses, providing a systematic approach to fixing Yuzu bugs and regressions unlike ad-hoc debugging.

Compared to similar skills

diagnose side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
diagnose (this skill)02moNo flagsAdvanced
python-testing-patterns772moReviewIntermediate
chrome-devtools417moReviewIntermediate
bats97moReviewIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

python-testing-patterns

wshobson

Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development. Use when writing Python tests, setting up test suites, or implementing testing best practices.

77204

chrome-devtools

mrgoonie

Browser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.

41157

bats

OleksandrKucherenko

Bash Automated Testing System (BATS) for TDD-style testing of shell scripts. Use when: (1) Writing unit or integration tests for Bash scripts, (2) Testing CLI tools or shell functions, (3) Setting up test infrastructure with setup/teardown hooks, (4) Mocking external commands (curl, git, docker), (5) Generating JUnit reports for CI/CD, (6) Debugging test failures or flaky tests, (7) Implementing test-driven development for shell scripts.

991

browser-daemon

noiv

Persistent browser automation via Playwright daemon. Keep a browser window open and send it commands (navigate, execute JS, inspect console). Perfect for interactive debugging, development, and testing web applications. Use when you need to interact with a browser repeatedly without opening/closing it.

587

performance-profiling

davila7

Performance profiling principles. Measurement, analysis, and optimization techniques.

633

obsidian-local-dev-loop

jeremylongshore

Configure Obsidian plugin development with hot-reload and fast iteration. Use when setting up development workflow, configuring test vaults, or establishing a rapid development cycle. Trigger with phrases like "obsidian dev loop", "obsidian hot reload", "obsidian development workflow", "develop obsidian plugin".

328

Search skills

Search the agent skills registry