diagnose

Guide debugging from reproduction through regression testing for software issues.

32|5|Updated Oct 6, 2024
One-click install
npx skills add https://github.com/gilesknap/tpi-k3s-ansible --skill diagnose-gilesknap
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: diagnose
Source: https://github.com/gilesknap/tpi-k3s-ansible/tree/main/.claude/skills/diagnose
Command: npx skills add https://github.com/gilesknap/tpi-k3s-ansible --skill diagnose-gilesknap

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Disciplined diagnosis loop for hard bugs and performance regressions. Reproduce → minimise → hypothesise → instrument → fix → regression-test. Use when user says "diagnose this" / "debug this", reports a bug, says something is broken/throwing/failing, or describes a performance regression.

Core Features & Use Cases

  • Phase-guided debugging workflow covering reproduction, hypothesis generation, instrumentation, and regression testing.
  • Use domain glossaries and ADRs to maintain a shared mental model when exploring code.
  • Real-world scenarios include debugging stubborn bugs, performance regressions, and flaky issues across software projects.

Quick Start

Describe the bug and run through Phase 1 to build a reproducible loop, generate hypotheses, instrument, implement a fix, and verify with regression tests.

Frequently Asked Questions about diagnose

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What is a structured debugging loop for hard bugs and performance regressions?

A structured debugging loop guides you from reproduction to regression testing through distinct phases: reproduce, minimise, hypothesise, instrument, fix, and regression-test. It enforces discipline when diagnosing hard bugs or performance regressions across software projects.

How do I debug a flaky performance regression using a phased workflow?

Start by reproducing the performance regression in a controlled loop, then generate hypotheses and instrument the code to gather data. Apply a targeted fix and verify the resolution using regression testing to ensure the issue does not reappear.

When do I need regression testing during bug-hunting?

Regression testing is needed during bug-hunting after implementing a fix to verify the resolution. It confirms the original hard bug or performance regression is resolved and prevents future regressions from reintroducing the same issue.

Can I use domain glossaries and ADRs to guide debugging investigations?

Yes, domain glossaries and ADRs maintain a shared mental model when exploring code during debugging. They provide context and architectural decisions to guide your investigation through the hypothesis and instrumentation phases.

What's the best way to minimise a reproducible test case for a stubborn bug?

Minimising a reproducible test case involves systematically stripping away irrelevant code and conditions while confirming the bug still triggers. This isolates the exact variables needed to generate accurate hypotheses for instrumentation.