Error Resolver
Legacy error-resolution reference archive retained for migration. Do not route user tasks here; use systematic-debugging for active bug, stack-trace, and root-cause work.
MCP get_skill({ skillId: "error-resolver-dcbbc0b4" })Use this skill with your agent
Create a free account and connect via MCP
# Error Resolver
Legacy reference archive for first-principle error diagnosis across languages and frameworks.
## Routing Status
This directory is retained because it contains substantial analysis, pattern, and replay material. It is not an active `code-quality` route owner. Route user-facing bug, stack-trace, and root-cause tasks to `systematic-debugging`.
## Core Philosophy
**The 5-step Error Resolution Process:**
```
1. CLASSIFY -> 2. PARSE -> 3. MATCH -> 4. ANALYZE -> 5. RESOLVE
| | | | |
What type? Extract key Known Root cause Fix +
information pattern? analysis Prevent
```
## Quick Start
When you encounter an error:
1. **Paste the full error** (including stack trace if available)
2. **Provide context** (what were you trying to do?)
3. **Share relevant code** (the file/function involved)
## Error Classification Framework
### Primary Categories
| Category | Indicators | Common Causes |
|----------|------------|---------------|
| **Syntax** | Parse error, Unexpected token | Typos, missing brackets, invalid syntax |
| **Type** | TypeError, type mismatch | Wrong data type, null/undefined access |
| **Reference** | ReferenceError, NameError | Undefined variable, scope issues |
| **Runtime** | RuntimeError, Exception | Logic errors, invalid operations |
| **Network** | ECONNREFUSED, timeout, 4xx/5xx | Connection issues, wrong URL, server down |
| **Permission** | EACCES, PermissionError | File/directory access, sudo needed |
| **Dependency** | ModuleNotFound, Cannot find module | Missing package, version mismatch |
| **Configuration** | Config error, env missing | Wrong settings, missing env vars |
| **Database** | Connection refused, query error | DB down, wrong credentials, bad query |
| **Memory** | OOM, heap out of memory | Memory leak, large data processing |
### Secondary Attributes
- **Severity**: Fatal / Error / Warning / Info
- **Scope**: Build-time / Runtime / Test-time
- **Origin**: User code / Framework / Third-party / System
## Analysis Workflow
### Step 1: Classify
Identify the error category by examining:
- Error name/code (e.g., `ENOENT`, `TypeError`)
- Error message keywords
- Where it occurred (compile, runtime, test)
### Step 2: Parse
Extract key information:
```
- Error code: [specific code if any]
- File path: [where the error originated]
- Line number: [exact line if available]
- Function/method: [context of the error]
- Variable/value: [what was involved]
- Stack trace depth: [how deep is the call stack]
```
### Step 3: Match Patterns
Check against known error patterns:
- See `patterns/` directory for language-specific patterns
- Match error signatures to known solutions
- Check replay history for previous solutions
### Step 4: Root Cause Analysis
Apply the **5 Whys** technique:
```
Error: Cannot read property 'name' of undefined
Why 1? -> user object is undefined
Why 2? -> API call returned null
Why 3? -> User ID doesn't exist in database
Why 4? -> ID was from stale cache
Why 5? -> Cache invalidation not implemented
Root Cause: Missing cache invalidation logic
```
### Step 5: Resolve
Generate actionable solution:
1. **Immediate fix** - Get it working now
2. **Proper fix** - The right way to solve it
3. **Prevention** - How to avoid in the future
## Output Format
When resolving an error, provide:
```
## Error Diagnosis
**Classification**: [Category] / [Severity] / [Scope]
**Error Signature**:
- Code: [error code]
- Type: [error type]
- Location: [file:line]
## Root Cause
[Explanation of why this error occurred]
**Contributing Factors**:
1. [Factor 1]
2. [Factor 2]
## Solution
### Immediate Fix
[Quick steps to resolve]
### Code Change
[Specific code to add/modify]
### Verification
[How to verify the fix works]
## Prevention
[How to prevent this error in the future]
## Replay Tag
[Unique identifier for this solution - for future reference]
```
## Replay System
The replay system records successful solutions for future reference.
### Recording a Solution
After resolving an error, record it:
```bash
# Create solution record in project
mkdir -p .claude/error-solutions
# Solution file format: [error-type]-[hash].yaml
```
### Solution Record Format
```yaml
# .claude/error-solutions/[error-signature].yaml
id: "nodejs-module-not-found-express"
created: "2024-01-15T10:30:00Z"
updated: "2024-01-20T14:22:00Z"
error:
type: "dependency"
category: "ModuleNotFound"
language: "nodejs"
pattern: "Cannot find module 'express'"
context: "npm project, missing dependency"
diagnosis:
root_cause: "Package not installed or node_modules corrupted"
factors:
- "Missing npm install after git clone"
- "Corrupted node_modules directory"
- "Package not in package.json"
solution:
immediate:
- "Run: npm install express"
proper:
- "Check package.json has express listed"
- "Run: rm -rf node_modules && npm install"
code_change: null
verification:
- "Run the application again"
- "Check express is in node_modules"
prevention:
- "Add npm install to project setup docs"
- "Use npm ci in CI/CD pipelines"
metadata:
occurrences: 5
last_resolved: "2024-01-20T14:22:00Z"
success_rate: 1.0
tags: ["nodejs", "npm", "dependency"]
```
### Replay Lookup
When encountering an error:
1. Generate error signature from the error message
2. Search `.claude/error-solutions/` for matching patterns
3. If found, apply the recorded solution
4. If new, proceed with full analysis and record the solution
### Error Signature Generation
```
signature = hash(
error_type +
error_code +
normalized_message + # remove specific values
language +
framework
)
```
Example transformations:
- `Cannot find module 'express'` -> `Cannot find module '{module}'`
- `TypeError: Cannot read property 'name' of undefined` -> `TypeError: Cannot read property '{prop}' of undefined`
## Debug Commands
Useful commands during debugging:
### Node.js
```bash
# Verbose error output
NODE_DEBUG=* node app.js
# Memory debugging
node --inspect app.js
# Check installed packages
npm ls [package-name]
# Verify package.json
npm ls --depth=0
```
### Python
```bash
# Debug mode
python -m pdb script.py
# Check installed packages
pip show [package-name]
pip list
```
### General
```bash
# Check file permissions
ls -la [file]
# Check port usage
lsof -i :[port]
netstat -an | grep [port]
# Check environment variables
env | grep [VAR_NAME]
printenv [VAR_NAME]
# Check disk space
df -h
# Check memory
free -m # Linux
vm_stat # macOS
```
## Common Debugging Patterns
### Pattern 1: Binary Search
When the error location is unclear:
1. Comment out half the code
2. If error persists, it's in the remaining half
3. Repeat until you find the exact line
### Pattern 2: Minimal Reproduction
Create the smallest code that reproduces the error:
1. Start with empty file
2. Add code piece by piece
3. Stop when error appears
4. That's your minimal repro case
### Pattern 3: Rubber Duck Debugging
Explain the problem out loud (or to Claude):
1. What should happen?
2. What actually happens?
3. What changed recently?
4. What assumptions am I making?
### Pattern 4: Git Bisect
Find which commit introduced the bug:
```bash
git bisect start
git bisect bad # current commit is bad
git bisect good [last-known-good-commit]
# Git will checkout commits for you to test
git bisect good/bad # mark each as good or bad
git bisect reset # when done
```
## Reference Files
- **patterns/** - Language-specific error patterns
- `nodejs.md` - Node.js common errors
- `python.md` - Python common errors
- `react.md` - React/Next.js errors
- `database.md` - Database errors
- `docker.md` - Docker/container errors
- `git.md` - Git errors
- `network.md` - Network/API errors
- **analysis/** - Analysis methodologies
- `stack-trace.md` - Stack trace parsing guide
- `root-cause.md` - Root cause analysis techniques
- **replay/** - Replay system
- `solution-template.yaml` - Template for recording solutionsRelated Skills
More skills in Design, Media & Creative
Ableton Lom
Ableton Live Object Model (LOM) API reference for Python Remote Scripts and control surface development.
Accessibility Compliance
Implement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.
Adobe Illustrator Scripting
Write, debug, and optimize Adobe Illustrator automation scripts using ExtendScript (JavaScript/JSX). Use when creating or modifying scripts that manipulate documents, layers, paths, text frames, colors, symbols, artboards, or any Illustrator DOM objects. Covers the complete JavaScript object model, coordinate system, measurement units, export workflows, and scripting best practices.
🎬 AI Cinema Director Skill
Direct high-fidelity cinematic video with AI — translates creative intent into technical cinematographic directives for Veo3, Kling, and Luma video models via muapi.ai
AI Clipping
Turn a long video into N viral-ready short clips with a single managed API call. Wraps muapi.ai's `/ai-clipping` endpoint, which handles transcription, highlight ranking through a virality framework (hook / emotional peak / opinion bomb / revelation / conflict / quotable / story peak / practical value), overlap dedupe, and vertical face-tracking auto-crop server-side. No local Whisper, no local LLM, no GPU.
AI Workflow Builder
Build, run, and visualize multi-step AI generation workflows. The AI architect translates natural language descriptions into connected node graphs — chain image generation, video creation, enhancement, and editing into automated pipelines.
Explore Other Categories
Skills from other categories with shared topics
/math - Unified Math Capabilities
Unified math capabilities - computation, solving, and explanation. I route to the right tool.
Biopython: Computational Molecular Biology in Python
Primary retained Python toolkit for molecular biology sequence work. Preferred for sequence manipulation, FASTA/FASTQ/GenBank parsing, Bio.Entrez, BLAST workflows, alignments, structures, and phylogenetics. For biological database evidence lookup, use bio-database-evidence. For single-cell workflows use scanpy. For direct literature REST API, use pubmed-database.
cancel-ralph
Codex-compatible cancel command for Ralph loop state, preserving the original command name.