Agent Skills: Error Handling Standards

Cross-cutting standards for error design, response shapes, error codes, and boundary placement. (triggers: **/*.service.ts, **/*.handler.ts, **/*.controller.ts, **/*.go, **/*.java, **/*.kt, **/*.py, error handling, exception, try catch, error boundary, error response, error code, throw)

UncategorizedID: hoangnguyen0403/agent-skills-standard/common-error-handling

Install this agent skill to your local

pnpm dlx add-skill https://github.com/HoangNguyen0403/agent-skills-standard/tree/HEAD/.agent/skills/common/common-error-handling

Skill Files

Browse the full folder contents for common-error-handling.

Download Skill

Loading file tree…

.agent/skills/common/common-error-handling/SKILL.md

Skill Metadata

Name
common-error-handling
Description
"Cross-cutting standards for error design, response shapes, error codes, and boundary placement. (triggers: **/*.service.ts, **/*.handler.ts, **/*.controller.ts, **/*.go, **/*.java, **/*.kt, **/*.py, error handling, exception, try catch, error boundary, error response, error code, throw)"

Error Handling Standards

Priority: P1 (OPERATIONAL)

πŸ— Error Architecture

  • API Layer: Map domain errors to HTTP responses globally.
  • Domain Layer: Throw pure business errors. NO HTTP status codes here.
  • Infra Layer: Wrap 3rd-party exceptions. Do NOT leak raw DB errors to API.
  • Standard Shape: APIs must return a standardized JSON envelope (code, message, traceId).

πŸ“¦ Error Mechanics

  • Wrap: Add context (fmt.Errorf("process: %w", err), new Error('msg', { cause })).
  • Replace: Only when original error leaks sensitive details.
  • Error Codes: Use SCREAMING_SNAKE_CASE IDs (ORDER_PAYMENT_FAILED).

🚫 Anti-Patterns

  • Swallowing Errors: Never catch(e) {} without logging or re-throwing.
  • Stack Traces: Never expose stack traces in API responses.
  • Generic 500s: Use 400 with specific details for validation instead of 500.

References