Skip to content
Skills Library
Programming · Analysis

debugger-fluency

/debugger-fluency

Drive a real debugger with breakpoints, watch expressions, and conditional stops to read live program state at the moment of failure. Use when a bug needs you to see the call stack and variables as it breaks, not reconstruct them afterward.

Repository
AI-SKILLS ↗
Licence
MIT
Last repository change
05.09.2026

Assessment and security

90/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content25 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 05.09.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Drive a real debugger with breakpoints, watch expressions, and conditional stops to read live program state at the moment of failure. Use when a bug needs you to see the call stack and variables as it breaks, not reconstruct them afterward.

Original author description

Drive a real debugger with breakpoints, watch expressions, and conditional stops to read live program state at the moment of failure. Use when a bug needs you to see the call stack and variables as it breaks, not reconstruct them afterward.

How it works

  1. Method
  2. Signals
  3. Boundaries
Original SKILL.md headings · 48 lines, 398 words
SKILL.md preview
---
name: debugger-fluency
description: Drive a real debugger with breakpoints, watch expressions, and conditional stops to read live program state at the moment of failure. Use when a bug needs you to see the call stack and variables as it breaks, not reconstruct them afterward.
---

# Debugger fluency

A debugger freezes the program where the bug lives and lets you read every
variable, frame, and expression at that instant. Many developers reach only for
print statements because they never learned the handful of commands that make a
debugger fast. Those commands trade an afternoon of recompiling for one
inspected pause.

## Method

1. **Break at the fault, not at `main`.** Set the breakpoint on the misbehaving
   line or the exception itself: `breakpoint()` in Python, a gutter dot in the
   IDE, or `break file.py:88`. Stepping from the entry point through everything
   wastes the tool.
2. **Master the five movements.** Step over (`n`) runs a line, step into (`s`)
   enters a call, continue (`c`) runs to the next stop, finish (`r`) returns
   from the frame, and up/down walk the stack. The rest is convenience.
3. **Use conditional breakpoints inside loops.** Stop only when it matters:
   `break process.py:40 if user_id == 4187`. Instead of hitting continue nine
   hundred times you land exactly on the iteration that fails.
4. **Watch expressions, not just variables.** Add `order.total - sum(items)` as
   a watch so the debugger re-evaluates it at every stop. The moment the
   invariant breaks you see it, without scanning raw fields by eye.
5. **Walk the stack from the crash.** On an exception, drop into a post-mortem
   with `pdb.pm()` or "break on caught exception," then move `up` through the
   callers reading locals. The bad value was often set three frames above where
   it blew up.
6. **Mutate state live to test a fix.** Reassign a variable at the prompt and
   continue, or evaluate the corrected expression in place. Confirm the
   hypothesis holds before you edit a single line of source.
7. **Script the repeat with a startup file.** Put recurring breakpoints and
   commands in a `.pdbrc` or a launch config so re-entering the session drops
   you at the scene without retyping the setup.

## Signals

- Do you reach the failing state in one continue, not fifty manual steps?
- Can you name the frame where the wrong value first appears?
- Do your watch expressions encode the invariant, so a stop explains itself?

## Boundaries

Where you cannot attach, a locked container, a hot production path, or a timing
race a breakpoint would freeze, fall back to print-debugging or heisenbugs. A
debugger inspects one run, so reproduce the failure reliably with
reproduction-first before you open it.

Versions

The database has no other skills named debugger-fluency.

Database snapshot: 13.11.2026 · package version 5ea0f9058d4e (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 90Debroid CLI Debugger
    Orchestrate headless Android debugging via JDWP. ACTIVATE this skill whenever asked to debug an Android application, set line or exception breakpoints, inspect runtime variables or Jetpack Compose state, step through execution, evaluate live expressions, watch fields, or diagnose runtime crashes.
  • 100agent-debugger
    Use when a program crashes, a test fails, or code produces wrong results and reading the source isn't enough to see why. Lets you pause execution at any line and inspect the actual runtime state, variable values, types, call stacks, to find what went wrong. Can attach to running…
  • 100debugger
    Use this agent when you need to diagnose and fix bugs, identify root causes of failures, or analyze error logs and stack traces to resolve issues.
  • 100debugger
    Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
  • 100debugger
    Use this agent when you need to diagnose and fix bugs, identify root causes of failures, or analyze error logs and stack traces to resolve issues.
  • 100b2c-debug
    Debug B2C Commerce server-side scripts using the b2c CLI. Use this skill whenever the user needs to set breakpoints, step through code, inspect variables, evaluate expressions, or investigate runtime behavior on a B2C Commerce instance. Also use when the user wants to understand…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.