From anthropic-pack
Executes production checklist for Anthropic Claude API integrations: auth/keys, error handling, rate limits/costs, reliability, observability. Use before launch.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin anthropic-packThis skill is limited to using the following tools:
Complete checklist for deploying Claude API integrations to production with reliability, observability, and cost controls.
Validates OpenRouter integration production readiness with checklists for security, reliability, observability, cost, and ops. Includes grep/curl verifications and config examples for launch reviews.
Provides production checklist for LangChain apps covering config, resilience, observability, performance, security, testing, and deployment readiness.
Executes Perplexity Sonar API production checklist: API config, code quality, performance caching, monitoring, cost controls for live deployments.
Share bugs, ideas, or general feedback.
Complete checklist for deploying Claude API integrations to production with reliability, observability, and cost controls.
authentication_error, invalid_request_error, rate_limit_error, api_error, overloaded_errormaxRetries set (recommended: 3-5 for production)request-id capturedmax_tokens set to realistic values (not inflated)timeout parameter, recommended 60-120s)async def health_check():
try:
# Use token counting as a cheap health probe (no generation cost)
count = client.messages.count_tokens(
model="claude-haiku-4-20250514",
messages=[{"role": "user", "content": "ping"}]
)
return {"status": "healthy", "tokens": count.input_tokens}
except Exception as e:
return {"status": "degraded", "error": str(e)}
import logging
import time
logger = logging.getLogger("anthropic")
def tracked_create(**kwargs):
start = time.monotonic()
try:
response = client.messages.create(**kwargs)
duration = time.monotonic() - start
logger.info(
"claude_request",
extra={
"request_id": response._request_id,
"model": response.model,
"input_tokens": response.usage.input_tokens,
"output_tokens": response.usage.output_tokens,
"duration_ms": int(duration * 1000),
"stop_reason": response.stop_reason,
}
)
return response
except Exception as e:
duration = time.monotonic() - start
logger.error("claude_error", extra={"error": str(e), "duration_ms": int(duration * 1000)})
raise
anth-incident-runbook)| Metric | Warning | Critical |
|---|---|---|
| Error rate (5xx) | > 1% | > 5% |
| p99 latency | > 10s | > 30s |
| 429 rate | > 5/min | > 20/min |
| Daily cost | > 80% budget | > 100% budget |
| Auth failures (401/403) | > 0 | > 0 (immediate) |
For version upgrades, see anth-upgrade-migration.