skills/error-resolver/SKILL.md
Use when encountering any error message, stack trace, exception, or unexpected behavior during development. Use when debugging build failures, runtime crashes, test failures, dependency conflicts, configuration errors, or permission errors. NEVER for performance optimization without an error present, feature requests, code review tasks with no error, or general refactoring work.
npx skillsauth add sharkitect-solutions/sharkitect-claude-toolkit error-resolverInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A first-principle approach to diagnosing and resolving errors across all languages and frameworks.
Execute all five steps in sequence. Do not skip steps based on apparent familiarity with the error.
| File | Purpose | Load When | |------|---------|-----------| | patterns/nodejs.md | Node.js and npm error patterns | Error involves Node.js, npm, or JavaScript runtime | | patterns/python.md | Python error patterns | Error involves Python, pip, or virtualenv | | patterns/react.md | React and Next.js error patterns | Error involves React, JSX, or Next.js | | patterns/database.md | Database error patterns | Error involves SQL, ORM, or DB connections | | patterns/docker.md | Docker and container error patterns | Error involves Docker, containers, or images | | patterns/git.md | Git error patterns | Error involves git commands or repository state | | patterns/network.md | Network and API error patterns | Error involves HTTP, ECONNREFUSED, or API calls | | patterns/go.md | Go error patterns | Error involves Go compilation or runtime | | patterns/rust.md | Rust error patterns | Error involves Rust compilation or cargo | | analysis/stack-trace.md | Stack trace parsing methodology | Stack trace is present and needs systematic parsing | | analysis/root-cause.md | Root cause analysis techniques | 5 Whys analysis is needed for complex failures | | replay/solution-template.yaml | Template for recording solutions | A new solution has been confirmed and should be recorded | | replay/README.md | Replay system overview | Looking up or recording solution patterns |
| 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, elevated privileges needed | | Dependency | ModuleNotFound, Cannot find module | Missing package, version mismatch | | Configuration | Config error, env missing | Wrong settings, missing environment variables | | Database | Connection refused, query error | DB down, wrong credentials, malformed query | | Memory | OOM, heap out of memory | Memory leak, oversized data processing |
Identify the error category by examining:
Extract all key information before proceeding:
Load analysis/stack-trace.md if a stack trace is present.
Check the relevant patterns/ file for the detected language or error category. Check replay/ for previously recorded solutions matching this error signature. If a match is found, apply the recorded solution and verify before closing.
Apply the 5 Whys technique (load analysis/root-cause.md for complex cases):
Do not stop at the first plausible cause. Continue until the systemic origin is identified.
Produce all three resolution layers:
Produce this structure for every error resolution:
Classification: [Category] / [Severity] / [Scope]
Error Signature:
[Explanation of why this error occurred]
Contributing Factors:
[Quick steps to resolve]
[Specific code to add/modify]
[How to verify the fix works]
[How to prevent this error in the future]
Record confirmed solutions using replay/solution-template.yaml in .claude/error-solutions/.
| Pattern | When to Use | Method | |---------|-------------|--------| | Binary Search | Error location is unclear | Comment out half the code; if error persists it is in the remaining half; repeat | | Minimal Reproduction | Cannot isolate the cause | Build from an empty file, add code until the error appears | | Rubber Duck | Assumptions may be wrong | State what should happen, what actually happens, what changed, and what assumptions exist | | Git Bisect | Regression with unknown origin | Use git bisect to binary-search commits between last-known-good and current |
| Rationalization | Why It Is Wrong | |-----------------|-----------------| | I already know what this error means -- I can skip to the fix | Pattern recognition is unreliable without parsing; similar error messages have different root causes across contexts | | This is a simple error, the full workflow is overkill | Simple-looking errors frequently mask systemic issues; skipping analysis produces fixes that recur | | The stack trace tells me everything I need | Stack traces show where an error surfaced, not why it originated; root cause analysis is always required | | The user has already described the cause, I just need to fix it | User diagnosis is a hypothesis, not a root cause; verify before prescribing a solution | | I have seen this exact error before, I know the solution | Prior solutions apply to prior contexts; environment, versions, and code state change the answer | | The fix is obvious from the error message | Error messages are written for humans and are frequently misleading; classification and parsing validate the obvious interpretation | | Checking patterns/ is unnecessary for common errors | The patterns directory contains language-specific edge cases and version-dependent behaviors not held in general knowledge | | I can skip Step 3 because I did not write replay files | Replay files may exist from prior sessions or teammates; always check before treating an error as new |
Check for these signs that the skill is being violated:
| Prohibition | Why | |-------------|-----| | NEVER skip directly to a code fix without completing Classify and Parse | Fixes applied to misclassified errors introduce new bugs and waste time | | NEVER present a single-layer solution (immediate fix only) | Without the proper fix and prevention layers the error will recur | | NEVER accept the first plausible root cause without applying 5 Whys | Surface causes mask systemic issues; stopping early produces recurring failures | | NEVER omit Verification from the output | An unverified fix is a guess; the resolution is not complete until the fix is confirmed | | NEVER apply a replay solution without verifying it matches the current context | Environments and versions differ; a past solution can be wrong or harmful in a new context | | NEVER diagnose based on the error message alone without reading the stack trace | Error messages are human-readable summaries; stack traces reveal the actual execution path | | NEVER treat missing context as sufficient reason to skip steps | If context is missing, ask for it before proceeding -- do not assume and continue |
development
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions 'PPC,' 'paid media,' 'ad copy,' 'ad creative,' 'ROAS,' 'CPA,' 'ad campaign,' 'retargeting,' or 'audience targeting.' This skill covers campaign strategy, ad creation, audience targeting, and optimization.
testing
--- name: using-sharkitect-methodology description: Use when starting any conversation in a Sharkitect workspace OR before any task involving NEW pricing, positioning, proposal, strategy, plan-execution, or schema-design work — mandates invocation of Sharkitect-specific methodology skills (pricing-strategy, marketing-strategy-pmm, smb-cfo, hq-revenue-ops, executing-plans, brainstorming) under the same anti-rationalization discipline as using-superpowers. Documentation has failed 4 times across H
testing
Use when user says 'end session', 'wrap up', 'stop for the day', 'done for today', 'close out', 'save session', 'wrapping up', or invokes /end-session. Runs the full 9-step end-of-session protocol: resource audit, MEMORY.md update, lessons capture, plan status, pending items, workspace checklist, .tmp/ audit, git commit+push, Supabase brain sync, session brief, summary. Final step schedules a detached self-kill of the current session ONLY (3s delay) so the window closes cleanly. Other claude.exe processes (active workspaces) are NOT touched -- orphan cleanup is handled separately by Claude-Orphan-Cleanup-Hourly with proper age safeguards. Do NOT use for: mid-session quick saves (use session-checkpoint), skill syncing (use sync-skills.py), brain memory queries (use supabase-sync.py pull), document freshness reviews (use document-lifecycle), resource gap detection (use resource-auditor).
testing
Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, passive voice, negative parallelisms, and filler phrases.