From adobe-pack
Runs production deployment checklist for Adobe Firefly Services, PDF Services, and I/O Events APIs, checking OAuth credentials, health endpoints, rate limits, code quality, and k8s rollout.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --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 triage, mitigation, and postmortem for Adobe Firefly, PDF Services, I/O Events outages using curl status checks, kubectl logs, and decision trees.
Executes Documenso production deployment checklist for integrations: auth/secrets, errors, performance, monitoring, webhooks, compliance, self-hosted PostgreSQL/K8s.
Runs automated production checklist for Apollo.io integrations, validating API auth, key management, rate limiting, gitignore, and API health via TypeScript scripts.
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.