debugger

Debugging specialist for errors, test failures, and unexpected behavior. Use proactively when encountering any issues.

31,392 stars
Complexity: medium

About this skill

This `debugger` skill transforms the AI agent into a specialized expert for diagnosing and resolving software and system issues. It excels at tackling errors, analyzing test failures, and demystifying unexpected behavior. Operating proactively, the agent leverages its expertise in root cause analysis to provide comprehensive guidance. When invoked, it systematically clarifies the problem's goals, constraints, and required inputs, applies relevant debugging best practices, validates outcomes, and delivers actionable steps for resolution along with verification methods. For complex scenarios requiring detailed examples, the skill can access an internal `implementation-playbook` resource.

Best use case

Performing root cause analysis for software bugs. Troubleshooting system errors or application crashes. Analyzing failed test suites to pinpoint underlying issues. Developing debugging strategies and best practices. Seeking actionable steps to resolve unexpected system behavior.

Debugging specialist for errors, test failures, and unexpected behavior. Use proactively when encountering any issues.

A clear understanding of the reported issue, its context, and contributing factors. Application of relevant debugging best practices and methodologies. A structured set of actionable steps for diagnosing and resolving the problem. Guidance on verifying the proposed solutions. Identification of the likely root cause of the error or unexpected behavior.

Practical example

Example input

My Python script is failing with a `TypeError: 'NoneType' object is not callable` after trying to process data from an API. Can you help me debug this?

Example output

Certainly, let's debug this `TypeError: 'NoneType' object is not callable`.

**1. Clarify Goals & Constraints:**
*   **Goal:** Identify why a `NoneType` object is being called and resolve the script failure.
*   **Context:** Data processing from an API.
*   **Constraint:** Assume the error occurs after an API call.

**2. Apply Best Practices (Root Cause Analysis):**
This error typically means a variable that you expect to hold a function or method instead holds `None` at the point of invocation. This often happens if:
*   An API call failed to return data, or returned `null`/`None` for a critical field.
*   A function designed to return a callable object (like a method) returned `None` under certain conditions.
*   A variable was not correctly initialized before being used.

**3. Actionable Steps & Verification:**
1.  **Locate the call site:** Find the line in your Python script where the `TypeError` is raised. This will show you *what* is being called when it's `None`.
2.  **Inspect the variable:**
    *   Add `print()` statements or use a debugger (like `pdb`) immediately *before* the failing line to check the value of the variable being called.
    *   Example: `print(f"Value before call: {my_variable_expected_to_be_callable}")`
3.  **Trace its origin:**
    *   Work backward from where the `None` value appears. Did it come directly from the API response?
    *   Was it the result of a function call that might return `None` on failure or missing data?
    *   Specifically check the part of your code that handles the API response and assigns values.
4.  **Error Handling for API Calls:**
    *   Ensure your API fetching logic explicitly checks for successful responses (e.g., HTTP status codes like 200) *before* attempting to parse or use the data.
    *   Implement checks for `None` values or missing keys/fields in the API response dictionary/object before accessing them.
    *   Example:
        ```python
        api_data = fetch_data_from_api()
        if api_data is None:
            raise ValueError("API returned no data.")
        # ... further processing
        ```
5.  **Refactor (if necessary):** If a helper function is responsible for returning the callable, ensure it always returns a valid callable or raises an appropriate exception.

**Verification:**
*   Run your script with the added print statements or debugger breakpoints to confirm the value of the problematic variable.
*   Once you've implemented a fix, run your tests or execute the script again to ensure the `TypeError` is resolved and the script behaves as expected.

When to use this skill

  • When actively engaged in debugging tasks or workflows.
  • When encountering any type of error, test failure, or unexpected system behavior.
  • When needing expert guidance, best practices, or a structured checklist for debugging.
  • For proactive identification and resolution of potential issues.

When not to use this skill

  • When the task is entirely unrelated to debugging, troubleshooting, or root cause analysis.
  • When requiring tools or expertise in a domain outside the scope of debugging (e.g., pure code generation, design, marketing).

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/debugger/SKILL.md --create-dirs "https://raw.githubusercontent.com/sickn33/antigravity-awesome-skills/main/plugins/antigravity-awesome-skills-claude/skills/debugger/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/debugger/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How debugger Compares

Feature / AgentdebuggerStandard Approach
Platform SupportClaudeLimited / Varies
Context Awareness High Baseline
Installation ComplexitymediumN/A

Frequently Asked Questions

What does this skill do?

Debugging specialist for errors, test failures, and unexpected behavior. Use proactively when encountering any issues.

Which AI agents support this skill?

This skill is designed for Claude.

How difficult is it to install?

The installation complexity is rated as medium. You can find the installation instructions above.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

## Use this skill when

- Working on debugger tasks or workflows
- Needing guidance, best practices, or checklists for debugger

## Do not use this skill when

- The task is unrelated to debugger
- You need a different domain or tool outside this scope

## Instructions

- Clarify goals, constraints, and required inputs.
- Apply relevant best practices and validate outcomes.
- Provide actionable steps and verification.
- If detailed examples are required, open `resources/implementation-playbook.md`.

You are an expert debugger specializing in root cause analysis.

When invoked:
1. Capture error message and stack trace
2. Identify reproduction steps
3. Isolate the failure location
4. Implement minimal fix
5. Verify solution works

Debugging process:
- Analyze error messages and logs
- Check recent code changes
- Form and test hypotheses
- Add strategic debug logging
- Inspect variable states

For each issue, provide:
- Root cause explanation
- Evidence supporting the diagnosis
- Specific code fix
- Testing approach
- Prevention recommendations

Focus on fixing the underlying issue, not just symptoms.

Related Skills

moodle-external-api-development

31392
from sickn33/antigravity-awesome-skills

This skill guides you through creating custom external web service APIs for Moodle LMS, following Moodle's external API framework and coding standards.

Development ToolsClaude

mobile-developer

31392
from sickn33/antigravity-awesome-skills

Develop React Native, Flutter, or native mobile apps with modern architecture patterns. Masters cross-platform development, native integrations, offline sync, and app store optimization.

Development ToolsClaude

makepad-platform

31392
from sickn33/antigravity-awesome-skills

CRITICAL: Use for Makepad cross-platform support. Triggers on: makepad platform, makepad os, makepad macos, makepad windows, makepad linux, makepad android, makepad ios, makepad web, makepad wasm, makepad metal, makepad d3d11, makepad opengl, makepad webgl, OsType, CxOs, makepad 跨平台, makepad 平台支持

Development ToolsClaude

makepad-layout

31392
from sickn33/antigravity-awesome-skills

CRITICAL: Use for Makepad layout system. Triggers on: makepad layout, makepad width, makepad height, makepad flex, makepad padding, makepad margin, makepad flow, makepad align, Fit, Fill, Size, Walk, "how to center in makepad", makepad 布局, makepad 宽度, makepad 对齐, makepad 居中

Development ToolsClaude

makepad-font

31392
from sickn33/antigravity-awesome-skills

CRITICAL: Use for Makepad font and text rendering. Triggers on: makepad font, makepad text, makepad glyph, makepad typography, font atlas, text layout, font family, font size, text shaping, makepad 字体, makepad 文字, makepad 排版, makepad 字形

Development ToolsClaude

graphql-architect

31392
from sickn33/antigravity-awesome-skills

Master modern GraphQL with federation, performance optimization, and enterprise security. Build scalable schemas, implement advanced caching, and design real-time systems.

Development ToolsClaude

git-pr-workflows-pr-enhance

31392
from sickn33/antigravity-awesome-skills

You are a PR optimization expert specializing in creating high-quality pull requests that facilitate efficient code reviews. Generate comprehensive PR descriptions, automate review processes, and ensu

Development ToolsClaude

git-advanced-workflows

31392
from sickn33/antigravity-awesome-skills

Master advanced Git techniques to maintain clean history, collaborate effectively, and recover from any situation with confidence.

Development ToolsClaude

debugging-toolkit-smart-debug

31392
from sickn33/antigravity-awesome-skills

Use when working with debugging toolkit smart debug

Development ToolsClaude

conductor-setup

31392
from sickn33/antigravity-awesome-skills

Configure a Rails project to work with Conductor (parallel coding agents)

Development ToolsClaudeGitHub CopilotDeepSeek

comprehensive-review-pr-enhance

31392
from sickn33/antigravity-awesome-skills

Generate structured PR descriptions from diffs, add review checklists, risk assessments, and test coverage summaries. Use when the user says "write a PR description", "improve this PR", "summarize my changes", "PR review", "pull request", or asks to document a diff for reviewers.

Development ToolsClaude

bun-development

31392
from sickn33/antigravity-awesome-skills

Fast, modern JavaScript/TypeScript development with the Bun runtime, inspired by [oven-sh/bun](https://github.com/oven-sh/bun).

Development ToolsClaude