error-debugger

from jackspace/claudeskillz

ClaudeSkillz: For when you need skills, but lazier

8 stars2 forksUpdated Nov 20, 2025
npx skills add https://github.com/jackspace/claudeskillz --skill error-debugger

SKILL.md

Error Debugger

Purpose

Context-aware debugging that learns from past solutions. When an error occurs:

  1. Searches memory for similar past errors
  2. Analyzes error message and stack trace
  3. Provides immediate fix with code examples
  4. Creates regression test via testing-builder
  5. Saves solution to memory for future

For ADHD users: Eliminates debugging frustration - instant, actionable fixes. For SDAM users: Recalls past solutions you've already found. For all users: Gets smarter over time as it learns from your codebase.

Activation Triggers

  • User says: "debug this", "fix this error", "why is this failing"
  • Error messages containing: TypeError, ReferenceError, SyntaxError, ECONNREFUSED, CORS, 404, 500, etc.
  • Stack traces pasted into conversation
  • "Something's broken" or similar expressions

Core Workflow

1. Parse Error

Extract key information:

{
  error_type: "TypeError|ReferenceError|ECONNREFUSED|...",
  message: "Cannot read property 'map' of undefined",
  stack_trace: [...],
  file: "src/components/UserList.jsx",
  line: 42,
  context: "Rendering user list"
}

2. Search Past Solutions

Query context-manager:

search memories for:
- error_type match
- similar message (fuzzy match)
- same file/component if available
- related tags (if previously tagged)

If match found:

šŸ” Found similar past error!

šŸ“ 3 months ago: TypeError in UserList component
āœ… Solution: Added null check before map
ā±ļø Fixed in: 5 minutes
šŸ”— Memory: procedures/{uuid}.md

Applying the same solution...

If no match:

šŸ†• New error - analyzing...
(Will save solution after fix)

3. Analyze Error

See reference.md for comprehensive error pattern library.

Quick common patterns:

  • TypeError: Cannot read property 'X' of undefined → Optional chaining + defaults
  • ECONNREFUSED → Check service running, verify ports
  • CORS errors → Configure CORS headers
  • 404 Not Found → Verify route definition
  • 500 Internal Server Error → Check server logs

4. Provide Fix

Format:

šŸ”§ Error Analysis

**Type**: {error_type}
**Location**: {file}:{line}
**Cause**: {root_cause_explanation}

**Fix**:

```javascript
// āŒ Current code
const users = data.users;
return users.map(user => <div>{user.name}</div>);
// āœ… Fixed code
const users = data?.users || [];
return users.map(user => <div>{user.name}</div>);

Explanation: Added optional chaining and default empty array to handle case where data or data.users is undefined.

Prevention: Always validate API response structure before using.

Next steps:

  1. Apply the fix
  2. Test manually
  3. I'll create a regression test

### 5. Save Solution

After fix confirmed working:

```bash
# Save to context-manager as PROCEDURE
remember: Fix for TypeError in map operations
Type: PROCEDURE
Tags: error, typescript, array-operations
Content: When getting "Cannot read property 'map' of undefined",
         add optional chaining and default empty array:
         data?.users || []

Memory structure:

# PROCEDURE: Fix TypeError in map operations

**Error Type**: TypeError
**Message Pattern**: Cannot read property 'map' of undefined
**Context**: Array operations on potentially undefined data

## Solution

Use optional chaining and default values:

```javascript
// Before
const items = data.items;
return items.map(...)

// After
const items = data?.items || [];
return items.map(...)

When to Apply

  • API responses that might be undefined
  • Props that might not be passed
  • Array operations on uncertain data

Tested

āœ… Fixed in UserList component (2025-10-17) āœ… Regression test: tests/components/UserList.test.jsx

Tags

error, typescript, array-operations, undefined-handling


### 6. Create Regression Test

Automatically invoke testing-builder:

create regression test for this fix:

  • Test that component handles undefined data
  • Test that component handles empty array
  • Test that component works with valid data

## Tool Persistence Pattern (Meta-Learning)

**Critical principle from self-analysis**: Never give up on first obstacle. Try 3 approaches before abandoning a solution path.

### Debugging Tools Hierarchy

When debugging an error, try these tools in sequence:

**1. Search Past Solutions (context-manager)**
```bash
# First approach: Check memory
search memories for error pattern

If no past solution found → Continue to next approach

2. GitHub Copilot CLI Search

# Second approach: Search public issues
copilot "Search GitHub for solutions to: $ERROR_MESSAGE"

If Copilot doesn't find good results → Continue to next approach

3. Web Search with Current Context

# Third approach: Real-time web search
[Use web search for latest Stack Overflow solutions]

If web search fails → Then ask user for more context

Real Example from Meta-Analysis

What happened: Tried GitHub MCP → Got a

...

Read full content

Repository Stats

Stars8
Forks2
LicenseMIT License