К основному содержанию
скилл CX Codex

api-error-handling · aj-geddes — скилл для Claude Code

Скилл задаёт единый подход к ошибкам API: форматы ответов, логирование, повторы и валидацию. Пригодится при отладке и настройке восстановления после сбоев.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add aj-geddes/useful-ai-prompts --skill api-error-handling -a claude-code
Открыть на GitHub

Что делает api-error-handling

api-error-handling помогает привести ошибки API к единому формату на всех endpoint’ах. Он охватывает типизированные ошибки, коды HTTP, requestId и traceId, клиентские сообщения, логирование и отслеживание частоты ошибок. Валидация входных данных выполняется до основной обработки.

В каталоге скилла есть материалы в references/: карта ERROR_CODES и форматтер ответов для Node.js и Python, стратегии exponential backoff и circuit breaker, интеграция с Sentry, метрики, endpoint /metrics/errors, схемы валидации. Для Node.js описан класс ApiError.

Скилл советует не повторять неидемпотентные операции и ответы 4xx. Также ошибки 5xx следует писать на уровне ERROR, а 4xx — на уровне WARN; чувствительные данные в логах оставлять нельзя.

Какие задачи решает

  • унифицировать ответы об ошибках API
  • добавить requestId и трассировку запросов
  • настроить повторы с exponential backoff
  • проверять входные данные до обработки
  • отслеживать всплески ошибок через метрики

Примеры запросов агенту

  • Приведи ошибки всех endpoint’ов к единому формату и добавь requestId.
  • Настрой повторы для временных сбоев с exponential backoff и circuit breaker.
  • Проверь валидацию входных данных и подготовь обработку ошибок для Node.js API.

Как установить api-error-handling

1Через Skills CLI (Vercel)

npx skills add aj-geddes/useful-ai-prompts --skill api-error-handling -a claude-code

2Вручную: положить файлы

~/.claude/skills/api-error-handling/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/api-error-handling/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о api-error-handling

Как установить api-error-handling в Claude Code?

Выполните npx skills add aj-geddes/useful-ai-prompts --skill api-error-handling -a claude-code, затем используйте файл ~/.claude/skills/api-error-handling/SKILL.md.

Что делает api-error-handling?

Скилл помогает проектировать единые ответы API, типизированные ошибки, логирование, мониторинг, валидацию и стратегии восстановления с повторами или circuit breaker.

Какие материалы входят в api-error-handling?

В references/ описаны коды ошибок и форматирование ответов, retry-стратегии, мониторинг с Sentry и примеры валидации. Для части примеров используются Node.js и Python.

Исходный текст

SKILL.md · MIT
---
name: api-error-handling
description: >
  Implement comprehensive API error handling with standardized error responses,
  logging, monitoring, retry logic, and validation patterns. Use when building
  resilient APIs, debugging issues, improving error reporting, implementing
  retry logic, handling HTTP error codes, managing API timeouts, designing
  error response handling, or adding circuit breaker patterns.
---

# API Error Handling

## Table of Contents

- [Overview](#overview)
- [When to Use](#when-to-use)
- [Quick Start](#quick-start)
- [Reference Guides](#reference-guides)
- [Best Practices](#best-practices)

## Overview

Build robust error handling systems with standardized error responses, detailed
logging, error categorization, and user-friendly error messages. This skill
covers the full lifecycle from throwing typed errors through logging, monitoring,
and client-facing response formatting.

## When to Use

- Handling API errors consistently across endpoints
- Debugging production issues with request tracing
- Implementing error recovery strategies (retry, circuit breaker)
- Monitoring and alerting on error rates
- Providing meaningful, actionable error messages to clients
- Validating request inputs before processing
- Tracking error patterns over time

## Quick Start

Minimal standardized error response format:

```json
{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "Input validation failed",
    "statusCode": 422,
    "requestId": "req_abc123xyz789",
    "timestamp": "2025-01-15T10:30:00Z",
    "details": [
      { "field": "email", "message": "Invalid email format", "code": "INVALID_EMAIL" }
    ]
  }
}
```

Custom error class (Node.js):

```javascript
class ApiError extends Error {
  constructor(code, message, statusCode = null, details = null) {
    super(message);
    this.code = code;
    this.statusCode = statusCode || ERROR_CODES[code]?.status || 500;
    this.details = details;
    this.timestamp = new Date().toISOString();
  }
}

// Usage
throw new ApiError("NOT_FOUND", "User not found", 404);
throw new ApiError("VALIDATION_ERROR", "Missing fields", 422, fieldErrors);
```

## Reference Guides

Detailed implementations in the `references/` directory:

| Guide | Contents |
|---|---|
| [Error Codes & Response Format](references/error-codes-reference.md) | Complete `ERROR_CODES` map, response formatter, global middleware (Node.js + Python) |
| [Retry Strategies & Circuit Breaker](references/retry-strategies.md) | Exponential backoff, jitter, circuit breaker pattern |
| [Monitoring & Tracking](references/monitoring-patterns.md) | Sentry integration, error rate metrics, `/metrics/errors` endpoint |
| [Validation Patterns](references/validation-examples.md) | Input validation, schema guards, detecting bad responses before errors occur |

## Best Practices

### ✅ DO

- Use a consistent error response format across all endpoints
- Include `requestId` and `traceId` in every error for observability
- Log 5xx errors at `ERROR` level; log 4xx at `WARN` level
- Provide actionable error messages — tell the client what to fix
- Use standard HTTP status codes (4xx client errors, 5xx server errors)
- Implement retry with exponential backoff for transient failures
- Use circuit breakers to prevent cascade failures
- Validate inputs early and return all field errors at once
- Monitor error rates and alert on anomalous spikes

### ❌ DON'T

- Expose stack traces or internal implementation details to clients
- Return HTTP 200 for error responses
- Silently swallow errors
- Log sensitive data (passwords, tokens, PII)
- Use vague messages like "Something went wrong"
- Mix error handling logic with business logic
- Retry non-idempotent operations or client errors (4xx)
- Return different error shapes from different endpoints

© aj-geddes · MIT · aj-geddes/useful-ai-prompts

Похожие скиллы

Все скиллы по теме «Бэкенд и API» →

Сначала — api-error-handling от других авторов.

api-error-handling secondsky Скилл задаёт стандартный формат ответов об ошибках, класс ApiError и паттерн circuit breaker. Пригодится, когда API уходит в продакшен. CX Codex +1 440установок mcp-builder официальный anthropics Скилл проводит через создание MCP-сервера на TypeScript или Python: от изучения протокола до тестов и оценки качества. 130 949установок claude-api официальный anthropics Справочник по Anthropic SDK и API Claude для генерации кода без устаревших параметров и выдуманных методов. 74 198установок lark-im larksuite Скилл подключает Lark IM к агенту: он отправляет сообщения, ищет историю, управляет чатами и файлами. Подойдёт для задач вокруг командных коммуникаций. CX Codex +1 472 900установок lark-event larksuite Слушает события Lark/Feishu и отдаёт их потоком NDJSON. Подходит для ботов, обработчиков сообщений и долгих подписчиков. CX Codex +1 466 800установок caveman-discover JuliusBrussee Находит точки вызова LLM в репозитории и размечает их воркфлоу для Caveman Cloud, чтобы расходы на токены не сливались в одну общую кучу. CX Codex +1 104 400установок migration JuliusBrussee Скилл задаёт правила безопасных миграций схем, данных и API с обязательным откатом. Пригодится при изменениях, где нельзя терять данные или ломать совместимость. CX Codex +1 103 900установок

Из того же набора149

Exploratory Data Analysis Скилл для первичного разбора датасета: профилирование, распределения, корреляции и поиск выбросов на Python. Пригодится в начале проекта, до построения модели. CX Codex +1 513установок security-headers-configuration Настраивает HTTP-заголовки безопасности вроде CSP, HSTS и X-Frame-Options для веб-приложений. Защищает сервис от XSS, кликджекинга и MIME-сниффинга. CX Codex +1 512установок prometheus-monitoring Скилл для настройки Prometheus: конфиг скрейпинга, кастомные метрики приложений, правила алертов и service discovery. CX Codex +1 510установок frontend-testing Помогает настроить тесты интерфейса на базе Jest, Vitest, React Testing Library и Cypress. Пригодится при написании компонентных проверок и сквозных тестов. CX Codex +1 508установок interaction-design Скилл для проектирования взаимодействий: анимации, состояния загрузки и ошибок, отклик на нажатия. Пригодится, когда интерфейс работает, но ощущается сухим. CX Codex +1 505установок webhook-development Скилл для проектирования вебхуков: доставка событий, проверка подписи, ретраи и обработка недоставленных сообщений. CX Codex +1 504установок technical-debt-assessment Скилл помогает оцифровать техдолг, оценить трудозатраты на правки и расставить приоритеты перед рефакторингом или планированием спринта. CX Codex +1 504установок react-native-app Скилл ведёт агента по сборке кроссплатформенных мобильных приложений на React Native: навигация, состояние, запросы к API. CX Codex +1 503установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой