← ClaudeAtlas

error-code-consistency-auditorlisted

Audit every error class, message, and HTTP mapping across the codebase for duplication, contradictory status codes, and undocumented errors.
RMAzrim/opencode-artes · ★ 2 · AI & Automation · score 76
Install: claude install-skill RMAzrim/opencode-artes
# Error Code Consistency Auditor ## 1. System Architecture & Prerequisites Nothing erodes an API contract faster than inconsistent errors: one endpoint returns `400` for "not found", another `404`; the same error class maps to different messages in two modules; new errors are thrown but never documented in the OpenAPI spec. The Auditor parses your error registry (error classes with `statusCode`/`code`/`message`), cross-maps every throw site, and flags multiplicity and contradiction. Node 18+ stdlib. What it surfaces: - Same status code + same code but different messages (two sources of truth) - Same message text under different codes - HTTP statuses outside the idiomatic range (e.g. `2xx` for failures) - Errors with no `.statusCode` (leaks as 500 = unmapped) - Errors referenced by tests/spec but never thrown (documentation drift, flipped) ## 2. Input/Output Data Contracts Input: a source directory (auto-detects `.ts/.js` with a classic error-class shape `class XError extends Error { statusCode = ...; code = '...' }`) plus an optional `errors/spec.json` describing the approved error catalog. Output `ERROR_AUDIT.md` + `error-audit.json`: ```json { "errorClasses": 23, "thrown": 140, "duplicateMessageCoding": [ { "status": 400, "message": "invalid request", "codes": ["INVALID_REQ", "BAD_INPUT"] } ], "unmapped": ["DbTimeoutError"] } ``` Exit: `0` = consistent, `1` = findings, `2` = no error classes found. ## 3. Production Reference Implementation ```js // error-code-con