Skillshub common-error-handling
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)
install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/HoangNguyen0403/agent-skills-standard/common-error-handling" ~/.claude/skills/comeonoliver-skillshub-common-error-handling && rm -rf "$T"
manifest:
skills/HoangNguyen0403/agent-skills-standard/common-error-handling/SKILL.mdsource content
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
IDs (SCREAMING_SNAKE_CASE
).ORDER_PAYMENT_FAILED
🚫 Anti-Patterns
- Swallowing Errors: Never
without logging or re-throwing.catch(e) {} - Stack Traces: Never expose stack traces in API responses.
- Generic 500s: Use
with specific details for validation instead of 500.400