exa-prod-checklist
Ensure production readiness for Exa integrations by verifying security, error handling, and performance settings.
Install
mkdir -p .claude/skills/exa-prod-checklist && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/8581" && unzip -o skill.zip -d .claude/skills/exa-prod-checklist && rm skill.zipInstalls to .claude/skills/exa-prod-checklist
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Execute Exa production deployment checklist with pre-flight, deploy,Key capabilities
- →Verify production API key connectivity
- →Execute gradual canary rollouts
- →Perform production rollbacks
How it works
It provides a structured checklist and procedures for pre-flight verification, health monitoring, and rollback strategies for Exa integrations.
Inputs & outputs
When to use exa-prod-checklist
- →Review production readiness before launch
- →Implement secure API key handling
- →Set up error handling for API status codes
- →Create a production rollback strategy
About this skill
Exa Production Checklist
Overview
Complete checklist for deploying Exa search integrations to production. Covers API key management, error handling verification, performance baselines, monitoring, and rollback procedures.
Pre-Deployment Checklist
Security
- Production API key stored in secret manager (not env file)
- Different API keys for dev/staging/production
-
.envfiles in.gitignore - Git history scanned for accidentally committed keys
- API key has minimal scopes needed
Code Quality
- All tests passing (unit + integration)
- No hardcoded API keys or URLs
- Error handling covers all Exa HTTP codes (400, 401, 402, 403, 429, 5xx)
-
requestIdcaptured from error responses - Rate limiting/exponential backoff implemented
- Content moderation enabled (
moderation: true) for user-facing search
Performance
- Search type appropriate for latency SLO (
fast/auto/neural) -
numResultsminimized per use case (3-5 for most) -
maxCharactersset on text and highlights - Result caching enabled (LRU or Redis)
- Request queue with concurrency limit (respect 10 QPS default)
Monitoring
- Search latency histogram instrumented
- Error rate counter by status code
- Cache hit/miss rate tracked
- Daily search volume tracked (for budget)
- Alerts configured for latency > 3s, error rate > 5%
Deploy Procedure
Step 1: Pre-Flight Verification
set -euo pipefail
echo "=== Exa Pre-Flight ==="
# 1. Verify production API key works
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" \
-X POST https://api.exa.ai/search \
-H "x-api-key: $EXA_API_KEY_PROD" \
-H "Content-Type: application/json" \
-d '{"query":"pre-flight check","numResults":1}')
echo "API Status: $HTTP_CODE"
[ "$HTTP_CODE" = "200" ] || { echo "FAIL: API key invalid"; exit 1; }
# 2. Verify tests pass
npm test || { echo "FAIL: Tests failing"; exit 1; }
echo "Pre-flight PASSED"
Step 2: Health Check Endpoint
import Exa from "exa-js";
const exa = new Exa(process.env.EXA_API_KEY);
app.get("/health/exa", async (_req, res) => {
const start = performance.now();
try {
const result = await exa.search("health check", { numResults: 1 });
const latencyMs = Math.round(performance.now() - start);
res.json({
status: "healthy",
latencyMs,
resultCount: result.results.length,
timestamp: new Date().toISOString(),
});
} catch (err: any) {
res.status(503).json({
status: "unhealthy",
error: err.message,
errorCode: err.status,
latencyMs: Math.round(performance.now() - start),
});
}
});
Step 3: Gradual Rollout
set -euo pipefail
# Deploy canary (10% traffic)
kubectl apply -f k8s/production.yaml
kubectl rollout pause deployment/exa-service
echo "Canary deployed. Monitor for 10 minutes..."
echo "Check: /health/exa endpoint, error rates, latency"
# After monitoring, resume to full rollout
# kubectl rollout resume deployment/exa-service
Post-Deployment Verification
set -euo pipefail
# Verify production endpoint
curl -sf https://your-app.com/health/exa | python3 -m json.tool
# Check error rates (if Prometheus available)
curl -s "localhost:9090/api/v1/query?query=rate(exa_search_error[5m])" 2>/dev/null
Rollback Procedure
set -euo pipefail
# Immediate rollback
kubectl rollout undo deployment/exa-service
kubectl rollout status deployment/exa-service
echo "Rollback complete. Verify /health/exa endpoint."
Alert Thresholds
| Alert | Condition | Severity |
|---|---|---|
| API Down | 5xx errors > 10/min | P1 |
| Auth Failure | 401/403 errors > 0 | P1 |
| Rate Limited | 429 errors > 5/min | P2 |
| High Latency | P95 > 5000ms | P2 |
| Budget Warning | Daily searches > 80% of limit | P3 |
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Health check fails | API key not set in prod | Verify secret injection |
| Latency spike after deploy | Missing cache warm-up | Pre-populate cache |
| Rate limit on launch | Traffic spike | Enable request queue |
| Rollback needed | Error rate spike | kubectl rollout undo |
Resources
Next Steps
For version upgrades, see exa-upgrade-migration. For incident response, see exa-incident-runbook.
When not to use it
- →When testing in local development environments
- →When API keys are not secured
Prerequisites
Limitations
- →Requires secret management for API keys
- →Requires monitoring infrastructure for alerts
How it compares
It focuses on production-specific reliability and deployment safety rather than development or optimization.
Compared to similar skills
exa-prod-checklist side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| exa-prod-checklist (this skill) | 0 | 27d | Caution | Advanced |
| django-verification | 5 | 4mo | Review | Intermediate |
| deployment-validation-config-validate | 1 | 4mo | Review | Advanced |
| documenso-prod-checklist | 1 | 27d | Caution | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
django-verification
affaan-m
Verification loop for Django projects: migrations, linting, tests with coverage, security scans, and deployment readiness checks before release or PR.
deployment-validation-config-validate
sickn33
You are a configuration management expert specializing in validating, testing, and ensuring the correctness of application configurations. Create comprehensive validation schemas, implement configurat
documenso-prod-checklist
jeremylongshore
Execute Documenso production deployment checklist and rollback procedures. Use when deploying Documenso integrations to production, preparing for launch, or implementing go-live procedures. Trigger with phrases like "documenso production", "deploy documenso", "documenso go-live", "documenso launch checklist".
gh-actions-validator
jeremylongshore
Validate use when validating GitHub Actions workflows for Google Cloud and Vertex AI deployments. Trigger with phrases like "validate github actions", "setup workload identity federation", "github actions security", "deploy agent with ci/cd", or "automate vertex ai deployment". Enforces Workload Identity Federation (WIF), validates OIDC permissions, ensures least privilege IAM, and implements security best practices.
ideogram-multi-env-setup
jeremylongshore
Configure Ideogram across development, staging, and production environments. Use when setting up multi-environment deployments, configuring per-environment secrets, or implementing environment-specific Ideogram configurations. Trigger with phrases like "ideogram environments", "ideogram staging", "ideogram dev prod", "ideogram environment setup", "ideogram config by env".
perplexity-prod-checklist
jeremylongshore
Execute Perplexity production deployment checklist and rollback procedures. Use when deploying Perplexity integrations to production, preparing for launch, or implementing go-live procedures. Trigger with phrases like "perplexity production", "deploy perplexity", "perplexity go-live", "perplexity launch checklist".