Help us improve
Share bugs, ideas, or general feedback.
From meridian
Audits code for silent error swallowing, degraded fallbacks, backwards compatibility shims, and UI failing to show errors to users. Finds and fixes all occurrences in specified scope.
npx claudepluginhub markmdev/meridianHow this skill is triggered โ by the user, by Claude, or both
Slash command
/meridian:error-auditThe summary Claude sees in its skill listing โ used to decide when to auto-load this skill
The core principle: **every error belongs to the user**. Not to a catch block, not to a console, not to a null return. Scan the specified code, fix every violation, report what changed.
Detects silent degradation patterns where operations succeed but produce empty results due to unmet preconditions. Scans JS/TS, Python, Go, Rust code for missing checks, silent skips, and misleading success messages.
Guides error handling best practices to prevent silent failures, preserve context, and log effectively in try-catch blocks, propagation, and Result patterns.
Systematic code review across security, performance, maintainability, error handling, testing, and accessibility with severity-ranked findings and specific fixes.
Share bugs, ideas, or general feedback.
The core principle: every error belongs to the user. Not to a catch block, not to a console, not to a null return. Scan the specified code, fix every violation, report what changed.
Before fixing anything, identify how this app surfaces errors to users โ toast notifications, error banners, error boundaries, returned error states, alert dialogs, inline messages. Use these patterns exclusively. Don't invent a new one.
Silent error swallowing โ backend/logic layer:
catch(e) {}catch(e) { console.error(e) } with execution proceeding normally.catch(() => {}) on promisesnull, undefined, or empty defaults on failure instead of throwingSilent error swallowing โ UI layer:
try/catch in a loader or server action that swallows the error and returns partial/empty dataFallbacks to degraded alternatives:
Backwards compatibility shims:
if (legacyFormat) or if (oldVersion) branchesConfig defaults that hide misconfiguration:
process.env.X || 'fallback' for required values โ missing required config is a startup crash, not a defaultOptional chaining hiding missing required data:
user?.profile?.name ?? 'Guest' when profile must always exist โ the absence is a bug, not an edge case to handle silentlyreferences/error-patterns.md โ Concrete anti-patterns with structural descriptions, bad/good code examples, and false positive notes. Read this before starting the audit.After fixing, summarize by file: what was found, what the fix was. Be specific โ file paths and the pattern removed.