Marketplace error-resolver
Systematic error diagnosis and resolution using first-principle analysis. Use when encountering any error message, stack trace, or unexpected behavior. Supports replay functionality to record and reuse solutions.
git clone https://github.com/aiskillstore/marketplace
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/davila7/error-resolver" ~/.claude/skills/aiskillstore-marketplace-error-resolver && rm -rf "$T"
skills/davila7/error-resolver/SKILL.mdError Resolver
A first-principle approach to diagnosing and resolving errors across all languages and frameworks.
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:
- Paste the full error (including stack trace if available)
- Provide context (what were you trying to do?)
- 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
directory for language-specific patternspatterns/ - 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:
- Immediate fix - Get it working now
- Proper fix - The right way to solve it
- 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:
# Create solution record in project mkdir -p .claude/error-solutions # Solution file format: [error-type]-[hash].yaml
Solution Record Format
# .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:
- Generate error signature from the error message
- Search
for matching patterns.claude/error-solutions/ - If found, apply the recorded solution
- 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 undefinedTypeError: Cannot read property '{prop}' of undefined
Debug Commands
Useful commands during debugging:
Node.js
# 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
# Debug mode python -m pdb script.py # Check installed packages pip show [package-name] pip list
General
# 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:
- Comment out half the code
- If error persists, it's in the remaining half
- Repeat until you find the exact line
Pattern 2: Minimal Reproduction
Create the smallest code that reproduces the error:
- Start with empty file
- Add code piece by piece
- Stop when error appears
- That's your minimal repro case
Pattern 3: Rubber Duck Debugging
Explain the problem out loud (or to Claude):
- What should happen?
- What actually happens?
- What changed recently?
- What assumptions am I making?
Pattern 4: Git Bisect
Find which commit introduced the bug:
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
- Node.js common errorsnodejs.md
- Python common errorspython.md
- React/Next.js errorsreact.md
- Database errorsdatabase.md
- Docker/container errorsdocker.md
- Git errorsgit.md
- Network/API errorsnetwork.md
-
analysis/ - Analysis methodologies
- Stack trace parsing guidestack-trace.md
- Root cause analysis techniquesroot-cause.md
-
replay/ - Replay system
- Template for recording solutionssolution-template.yaml