Provides evidence-based debugging for World of Warcraft addons, focusing on Lua errors and runtime instrumentation.

Install

mkdir -p .claude/skills/s-debug && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9631" && unzip -o skill.zip -d .claude/skills/s-debug && rm skill.zip

Installs to .claude/skills/s-debug

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 and fix bugs using evidence-based investigation. Requires runtime evidence before fixes—never guess based on code alone. Covers hypothesis-driven debugging, instrumentation logging, Lua errors, taint issues, combat lockdown, and API failures. Triggers: error, bug, debug, fix, crash, taint, nil value, diagnose, hypothesis, runtime, evidence, instrumentation.
368 charsno explicit “when” triggerlonger than Claude Code's old 250-char listing cap (fine on current versions)
Advanced

Key capabilities

  • Parse Lua errors
  • Investigate combat lockdown
  • Analyze taint issues
  • Trace nil value errors

How it works

It uses hypothesis-driven investigation and runtime instrumentation to diagnose bugs.

Inputs & outputs

You give it
Runtime error logs
You get back
Root cause diagnosis

When to use s-debug

  • Identify root cause of Lua errors
  • Investigate combat lockdown failures
  • Debug taint issues
  • Validate API compatibility
  • Trace nil value errors

About this skill

Debugging WoW Addons

Systematic debugging and error recovery for WoW addons.

Related Commands

  • c-debug - Reload loop workflow for finding and fixing issues
  • c-review - Full code review (includes debug step)

MCP Tools (Use These First)

MANDATORY: ALWAYS use MCP tools directly instead of the shell.

TaskMCP Tool
Get All Outputaddon.output(agent_mode=true)
Lint Addonaddon.lint(addon="MyAddon")
Scan Deprecationsaddon.deprecations(addon="MyAddon")
Queue Lua Evallua.queue(code=["GetMoney()"])
Get Eval Resultslua.results()

Capabilities

  1. Evidence-Based Debugging — Hypothesis-driven investigation with runtime instrumentation and log proof
  2. Error Analysis — Parse Lua errors, identify root cause in stack traces
  3. Taint Investigation — Track secure/insecure code interaction and "Action blocked" issues
  4. Combat Issues — Debug lockdown-related failures and protected frame issues
  5. API Failures — Handle deprecated or changed APIs (Midnight 12.0 prep)

Routing Logic

Request typeLoad reference
Evidence-based debugging, hypothesis-drivenreferences/evidence-based-debugging.md
Lua errors, nil valuesreferences/error-patterns.md
Debug workflow, isolationreferences/debugging-strategies.md
Error tracking (BugGrabber)../../docs/integration/errors.md
Troubleshooting guide../../docs/integration/troubleshooting.md
Structured logging../../docs/integration/console.md
Frame inspection../../docs/integration/inspect.md

Debug Output Best Practice

CRITICAL: Use MechanicLib:Log() instead of print() for all debug output.

Featureprint()MechanicLib:Log()
Agent access❌ Requires screenshotaddon.output retrieves directly
Filtering❌ None✅ Source + category filters
Copyable❌ No✅ Yes, via Console export
-- ✅ Correct: Agent can see this in addon.output
local MechanicLib = LibStub("MechanicLib-1.0", true)
if MechanicLib then
    MechanicLib:Log("MyAddon", "Debug: value=" .. tostring(val), MechanicLib.Categories.CORE)
end

-- ❌ Avoid: Spams chat, requires screenshot
print("[MyAddon] Debug: value=" .. tostring(val))

Quick Reference

Get Addon Data (Compressed for AI)

Ask user to /reload and confirm, then:

addon.output(agent_mode=true)

Common Error Patterns

  • attempt to index nil value: API returned nil, check if unit exists or data is loaded.
  • Action blocked by Blizzard: You tried to call a protected function in combat.
  • Interface action failed: Taint has spread to a secure UI component.

Systematic Workflow

  1. Gather Evidence: Ask user to /reload, wait for confirmation, then addon.output(agent_mode=true)
  2. Isolate: Can you reproduce with minimal code?
  3. Hypothesis: "If X then Y because Z"
  4. Fix & Validate: Apply minimal fix, ask user to /reload and confirm, then verify with addon.output.

When not to use it

  • When guessing based on code alone
  • When runtime evidence is missing

Prerequisites

MechanicLib

Limitations

  • Requires runtime evidence

How it compares

It mandates evidence-based investigation rather than guessing based on code.

Compared to similar skills

s-debug side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
s-debug (this skill)07moReviewAdvanced
godot1,0445moReviewIntermediate
python-testing-patterns772moReviewIntermediate
error-handling-patterns352moNo flagsIntermediate

Try saying

Example prompts that trigger this skill in your AI assistant.

You might also like

godot

bfollington

This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.

1,0441,947

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

error-handling-patterns

wshobson

Master error handling patterns across languages including exceptions, Result types, error propagation, and graceful degradation to build resilient applications. Use when implementing error handling, designing APIs, or improving application reliability.

35170

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

unreal-engine-cpp-pro

sickn33

Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.

43117

python-performance-optimization

wshobson

Profile and optimize Python code using cProfile, memory profilers, and performance best practices. Use when debugging slow Python code, optimizing bottlenecks, or improving application performance.

27131

Search skills

Search the agent skills registry