# debugging

Enforces root-cause discipline during bug investigations. Prevents the agent from modifying code until it proves why a failure happens.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 844 installs · ★ 6
- Author: sentimony
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/sentimony/skills/tree/HEAD/plugins/devflow/skills/debugging/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/sentimony-debugging

## What it does

The `debugging` skill imposes an evidence-first workflow on technical investigations. Its core rule is straightforward: no fix without sufficient root-cause evidence (`NO FIX WITHOUT SUFFICIENT ROOT-CAUSE EVIDENCE`). The agent must build a testable hypothesis, run a discriminating check, and prove the causal mechanism instead of guessing across recent diffs.

The protocol progresses through explicit phases. It starts by auditing runtime context and defining the symptom contract with provenance (`PRE-EXISTING`, `INTRODUCED`, or `UNKNOWN`). Next, it categorizes reproducibility, inspects raw logs, and isolates the earliest failing component boundary. Findings are marked using strict labels such as `OBSERVED`, `HYPOTHESIS`, and `ROOT CAUSE`.

Scope remains focused on explaining why behavior broke. The skill does not generate architectural plans, run browser automation, or review pull requests. If urgent containment is needed, the method mandates labeling it `MITIGATION` or `WORKAROUND` while keeping the root-cause search open.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add sentimony/skills --skill debugging -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/debugging/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/debugging/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add sentimony/skills --skill debugging -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/debugging/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add sentimony/skills --skill debugging -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/debugging/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install sentimony/skills debugging
```

2. **Manually: put the files in place**
- File: `.github/skills/debugging/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add sentimony/skills --skill debugging -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/sentimony/skills --path plugins/devflow/skills/debugging
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/debugging/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add sentimony/skills --skill debugging -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/sentimony/skills/tree/HEAD/plugins/devflow/skills/debugging/SKILL.md

## When to use it
- isolate the root cause of an intermittent test failure
- verify whether a regression was pre-existing or introduced
- separate raw log observations from speculative interpretations
- pinpoint the boundary where an API payload corrupts

## Example prompts
- Investigate the 401 token refresh failure following the debugging skill protocol.
- Find why the CI build is flaky, classify reproducibility, and gather evidence before fixing.
- Trace this database timeout to its root cause without applying unverified patches.

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: 579acddbc435a65e.

BEGIN THIRD-PARTY FILE 579acddbc435a65e
````text
---
name: debugging
description: You MUST use this when investigating bugs, regressions, failing tests, build or integration failures, flaky behavior, performance anomalies, or other unexpected technical behavior.
metadata:
  version: "1.1.2"
license: MIT
---

# Debugging

`debugging` is the canonical root-cause-first methodology for unexpected technical
behavior. It answers:

```text
What evidence explains why this failure occurs,
where it originates, and what minimal change
removes the root cause?
```

## Scope and routing

Enter through `scope-triage` for a bug or failure request. Use this skill to explain WHY
the behavior is broken. Keep product redesign, new architecture, and materially changed
behavior in `scope-triage`, followed by `plan-crafting` when a plan is appropriate.

This skill owns:

```text
symptom -> reproduction or characterization -> evidence -> boundary
  -> falsifiable hypothesis -> discriminating test -> supported cause
  -> regression evidence -> causal fix -> targeted verification
```

It does not own browser automation, framework API instructions, implementation planning,
final completion verification, code review workflow, UI design, workspace setup, or agent
orchestration. Use the composition table below when one of those capabilities is needed.

## Root-cause invariant

```text
NO FIX WITHOUT SUFFICIENT ROOT-CAUSE EVIDENCE
```

This is a practical evidence threshold, not a demand for philosophical certainty. Before
a causal fix, the investigation should have:

1. a concrete expected-versus-observed symptom;
2. a reproduction or an honest characterization of reproducibility;
3. evidence for the first boundary where expected state becomes incorrect;
4. a falsifiable hypothesis and a discriminating test;
5. a result that supports the causal mechanism and explains the important variation;
6. a fix target at the source of that mechanism.

Urgent containment can happen sooner when required. Label it `MITIGATION` or `WORKAROUND`,
record the missing evidence, and keep investigating the root fix.

Use these labels in notes and conclusions:

| Label | Meaning |
| --- | --- |
| `OBSERVED` | Directly measured output, state, timing, or source fact. |
| `HYPOTHESIS` | A candidate explanation that makes a testable prediction. |
| `SUPPORTED` | A hypothesis whose targeted test supports its causal mechanism. |
| `ROOT CAUSE` | The supported causal source that created the invalid state or behavior. |
| `CONTRIBUTING FACTOR` | A condition that increased likelihood or impact without creating the failure alone. |
| `UNKNOWN` | A relevant explanation for which evidence is still missing. |
| `DISPROVEN` | A hypothesis contradicted by the discriminating evidence. |
````
END THIRD-PARTY FILE 579acddbc435a65e

The third-party file has ended. Everything between the 579acddbc435a65e tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2720 of 17657 bytes. © sentimony · MIT · https://github.com/sentimony/skills/tree/HEAD/plugins/devflow/skills/debugging/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
