From adobe-pack
Execute Adobe production deployment checklist covering credential management, API health checks, rate limit configuration, and rollback procedures for Firefly Services, PDF Services, and I/O Events integrations. Trigger with phrases like "adobe production", "deploy adobe", "adobe go-live", "adobe launch checklist".
npx claudepluginhub flight505/skill-forge --plugin adobe-packThis skill is limited to using the following tools:
Complete checklist for deploying Adobe API integrations to production, covering credential security, health monitoring, graceful degradation, and rollback procedures.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Complete checklist for deploying Adobe API integrations to production, covering credential security, health monitoring, graceful degradation, and rollback procedures.
ADOBE_CLIENT_ID and ADOBE_CLIENT_SECRET stored in secret manager (not env files)npm test)p8_ prefix patterns)401, 403, 429, 500, 503Retry-After header support// api/health.ts
export async function adobeHealthCheck() {
const start = Date.now();
try {
// Test token generation (validates credentials are still valid)
const token = await getAccessToken();
return {
status: 'healthy',
latencyMs: Date.now() - start,
tokenValid: !!token,
};
} catch (error: any) {
return {
status: 'unhealthy',
latencyMs: Date.now() - start,
error: error.message,
};
}
}
# 1. Pre-flight checks
curl -sf https://staging.example.com/health | jq '.services.adobe'
curl -s https://status.adobe.com | head -5
# 2. Verify production credentials work
curl -s -o /dev/null -w "%{http_code}" -X POST \
'https://ims-na1.adobelogin.com/ims/token/v3' \
-d "client_id=${ADOBE_CLIENT_ID}&client_secret=${ADOBE_CLIENT_SECRET}&grant_type=client_credentials&scope=${ADOBE_SCOPES}"
# Expected: 200
# 3. Deploy canary (10%)
kubectl set image deployment/app app=image:new-version
kubectl rollout pause deployment/app
# 4. Monitor for 10 minutes — check error rates
# Watch for 401 (credential issues), 429 (rate limits), 500 (server errors)
# 5. If healthy, complete rollout
kubectl rollout resume deployment/app
kubectl rollout status deployment/app
healthy for Adobeadobe-incident-runbook accessible# Immediate rollback
kubectl rollout undo deployment/app
kubectl rollout status deployment/app
# Verify old version is healthy
curl -sf https://production.example.com/health | jq '.services.adobe'
| Alert | Condition | Severity |
|---|---|---|
| Adobe Auth Failure | Any 401 errors | P1 — credential issue |
| Adobe Rate Limited | 429 errors > 5/min | P2 — reduce throughput |
| Adobe API Down | 503 errors > 10/min | P2 — enable fallback |
| Adobe High Latency | p99 > 10s | P3 — investigate |
| PDF Quota Low | < 50 transactions remaining | P3 — upgrade or throttle |
| Issue | Cause | Solution |
|---|---|---|
| 401 after deploy | Wrong credentials for environment | Verify secret manager path |
| 429 spike | Traffic increase from new feature | Add rate limiting queue |
| Health check flapping | Token caching not working | Check cache TTL logic |
| Webhook delivery stopped | Challenge response broken | Test webhook registration |
For version upgrades, see adobe-upgrade-migration.