s-debug
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.zipInstalls 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.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
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.
| Task | MCP Tool |
|---|---|
| Get All Output | addon.output(agent_mode=true) |
| Lint Addon | addon.lint(addon="MyAddon") |
| Scan Deprecations | addon.deprecations(addon="MyAddon") |
| Queue Lua Eval | lua.queue(code=["GetMoney()"]) |
| Get Eval Results | lua.results() |
Capabilities
- Evidence-Based Debugging — Hypothesis-driven investigation with runtime instrumentation and log proof
- Error Analysis — Parse Lua errors, identify root cause in stack traces
- Taint Investigation — Track secure/insecure code interaction and "Action blocked" issues
- Combat Issues — Debug lockdown-related failures and protected frame issues
- API Failures — Handle deprecated or changed APIs (Midnight 12.0 prep)
Routing Logic
| Request type | Load reference |
|---|---|
| Evidence-based debugging, hypothesis-driven | references/evidence-based-debugging.md |
| Lua errors, nil values | references/error-patterns.md |
| Debug workflow, isolation | references/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 ofprint()for all debug output.
| Feature | print() | MechanicLib:Log() |
|---|---|---|
| Agent access | ❌ Requires screenshot | ✅ addon.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
- Gather Evidence: Ask user to
/reload, wait for confirmation, thenaddon.output(agent_mode=true) - Isolate: Can you reproduce with minimal code?
- Hypothesis: "If X then Y because Z"
- Fix & Validate: Apply minimal fix, ask user to
/reloadand confirm, then verify withaddon.output.
When not to use it
- →When guessing based on code alone
- →When runtime evidence is missing
Prerequisites
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.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| s-debug (this skill) | 0 | 7mo | Review | Advanced |
| godot | 1,044 | 5mo | Review | Intermediate |
| python-testing-patterns | 77 | 2mo | Review | Intermediate |
| error-handling-patterns | 35 | 2mo | No flags | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by Falkicon
View all by Falkicon →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.
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.
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.
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.
unreal-engine-cpp-pro
sickn33
Expert guide for Unreal Engine 5.x C++ development, covering UObject hygiene, performance patterns, and best practices.
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.