audit-error-handling
Sweep a codebase for error-handling defects — swallowed errors, bare catch-alls, and critical calls with no failure path — and surface each as a finding.
Skill by krixon
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/krixon-audit-error-handling
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/audit-error-handling
What's inside
- Skill name
audit-error-handling- Description
- Sweep a codebase for error-handling defects — swallowed errors, bare catch-alls, and critical calls with no failure path — and surface each as a finding. Static-first, no linter required. Use when the user wants to find swallowed errors, check error handling, hunt empty catch blocks, or asks "what happens when this fails?".
- License
- MIT
- Instructions
- 50 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Error-Handling Audit Find where the code **drops, masks, or ignores a failure**, and surface each as a finding. Run the shared audit method in [../AUDIT-METHOD.md](../AUDIT-METHOD.md) with the lens, sub-dimensions, and dimension below. The aim is *risk-weighted* error-handling quality, not a lint dump — target sites where an unhandled failure does real damage. **Scope vs `audit-coverage`.** This judges error-handling *quality* — whether a failure is caught, surfaced, and recovered — not whether a path is *tested*. A swallowed error is a finding here even with a passing test suite; a missing test for an otherwise-sound handler belongs to `audit-coverage`. Do not duplicate test-gap findings. ## Risk lens (step 1) Rank catch/except sites and failure-prone calls by the **blast radius of an unhandled failure**: - **Critical paths** — money, auth, data-loss/integrity, irreversible external side effects. A swallowed failure here corrupts state or loses data silently. - **Failure-prone calls** — I/O, network, deserialisation, subprocess, third-party APIs: calls that *will* fail in production. - **Churn** — frequently changed code (`git log`) accretes hasty `try`/`catch` that drifts from sound handling. ## Current state: trace the failure path (step 2) For each suspect site, confirm the error is **genuinely swallowed** before it counts — not logged, not rethrown, not handled by an upstream or downstream boundary. A handler existing *elsewhere* does not make this site safe: trace whether it reaches. - Does an outer boundary catch it — middleware, an error decorator, a supervising caller, a framework default? - Is the error surfaced to someone who can act — logged with context, returned, raised — or does control continue as if nothing failed? - Is the catch scoped to what it can handle, or does it absorb everything including bugs it never anticipated? A site whose failure is caught and acted on by a boundary that provably covers it is not a finding. ## Sub-dimensions to sweep (step 3) - **Swallowed errors** — empty catch/except, catch-and-continue, errors logged-then-ignored where the caller proceeds on corrupt state, discarded return-code/error values. - **Bare catch-alls** — `catch (Exception)` / bare `except:` / `catch (Throwable)` that masks failures it cannot handle, hiding bugs and making the system unobservable. - **No failure path** — a critical call with no handling at all where an exception unwinds to an unsafe place (partial write, held lock, half-applied transaction), or a failure-prone call whose error is structurally impossible to observe. Drop low-confidence noise — a deliberately-ignored error with a comment saying why, or a catch-all at a legitimate top-level boundary, is not a finding. ## Dimension (step 4) - **Dimension** — `error-handling` (the sub-dimension goes in the title/evidence, e.g. "swallowed error in …", "bare catch-all masks …" — never as a new top-level dimension) - **Suggested category** — `enhancement` (this is hardening a fragile path); a swallowed error that already produces wrong behavior or silent data loss is a `bug` - **Where** — the swallowing module / type / function - **Evidence** — the dropped/masked failure, the blast radius if it fires, and confirmation that no reachable boundary handles it ## Handover Per [../AUDIT-METHOD.md](../AUDIT-METHOD.md) → *Handover*. - **artifact:** findings (in [../contracts/finding.md](../contracts/finding.md) shape) - **default:** `capture` — dedups against open issues, culls, files survivors as `needs-triage` - **alternatives:** stop (review the findings yourself first)
From krixon/skills, MIT.
More from krixon/skills
- 0.502score
auto
krixon
Run a skill workflow unattended — walk the handover chain taking the recommended hop at each step, without asking.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-observability
krixon
Sweep a codebase for critical paths that run blind — no log, metric, or trace at any layer — and surface each as a finding.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-performance
krixon
Sweep a codebase for performance hazards on hot paths — N+1 data access, per-iteration allocation or IO in loops, unbounded reads, missing caching or…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-resource-leak
krixon
Sweep a codebase for resource-leak sites — acquired handles, connections, contexts, or locks with no guaranteed release on every path — and surface each as a…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-coverage
krixon
Audit a codebase for high-risk untested paths and surface them as findings.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-dead-code
krixon
Sweep a codebase for dead code — unreachable branches, never-called functions, orphaned modules — and surface each as a finding.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-debt
krixon
Harvest in-code debt markers (TODO/FIXME/HACK/XXX and known shortcuts) from a codebase and surface each as a finding, clustered by area.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-docs
krixon
Audit a codebase for documentation that has drifted out of sync with the code — stale vocabulary, violated decisions, README/behavior claims the code no…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-security
krixon
Sweep a codebase for security exposure and surface each as a finding.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-deps
krixon
Sweep a codebase for unhealthy third-party dependencies — outdated majors on load-bearing deps, versions with known advisories, abandoned upstreams, and…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
deepen
krixon
Find deepening opportunities in a codebase, informed by the project's established domain language and recorded decisions.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
discover
krixon
Grill the user about a product idea before any technical design — challenge that the problem is real, sharpen who it serves, weigh its value against the cost…
SkillCFreshness: C★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 11
- Last commit (this folder)
- Jun 7, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/krixon/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from krixon
- 0.502score
auto
krixon
Run a skill workflow unattended — walk the handover chain taking the recommended hop at each step, without asking.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-performance
krixon
Sweep a codebase for performance hazards on hot paths — N+1 data access, per-iteration allocation or IO in loops, unbounded reads, missing caching or…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-resource-leak
krixon
Sweep a codebase for resource-leak sites — acquired handles, connections, contexts, or locks with no guaranteed release on every path — and surface each as a…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-coverage
krixon
Audit a codebase for high-risk untested paths and surface them as findings.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-dead-code
krixon
Sweep a codebase for dead code — unreachable branches, never-called functions, orphaned modules — and surface each as a finding.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
audit-observability
krixon
Sweep a codebase for critical paths that run blind — no log, metric, or trace at any layer — and surface each as a finding.
SkillCFreshness: C★ 1Claude Code +9
Cite this page
audit-error-handling skill. Agent Mart. https://agentmart.dev/skills/krixon-audit-error-handling (last updated 2026-10-24)