writing-skills
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
klaviyo-prod-checklistExecute Klaviyo production deployment checklist and validation procedures. Use when deploying Klaviyo integrations to production, preparing for launch, or implementing go-live procedures for email/SMS marketing. Trigger with phrases like "klaviyo production", "deploy klaviyo", "klaviyo go-live", "klaviyo launch checklist", "klaviyo prod ready".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: klaviyo-prod-checklist description: 'Execute Klaviyo production deployment checklist and validation procedures.
Use when deploying Klaviyo integrations to production, preparing for launch,
or implementing go-live procedures for email/SMS marketing.
Trigger with phrases like "klaviyo production", "deploy klaviyo",
"klaviyo go-live", "klaviyo launch checklist", "klaviyo prod ready".
' allowed-tools: Read, Bash(curl:), Bash(npm:), Grep version: 1.7.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Complete checklist for deploying Klaviyo integrations to production, with health checks, rollback procedures, and validation against real Klaviyo API endpoints. Work the pre-deployment checklist below, run the pre-flight script, then verify the live health endpoint before declaring the deploy done.
pk_*)Follow these steps in order. Steps 1–2 are read-only audits of the codebase and config; steps 3–5 exercise the live API and health surface.
Grep/grep -r "pk_" src/ to catch
leaks, and Read the deployment manifest to verify scopes. See the
Pre-Deployment Checklist below.scripts/preflight-klaviyo.sh) to validate the
status page, API auth, rate-limit headroom, and pinned SDK version.healthy.Health check, pre-flight script, and rollback code are in references/implementation.md.
KLAVIYO_PRIVATE_KEY stored in secret manager (not env file)KLAVIYO_WEBHOOK_SIGNING_SECRET) configuredKLAVIYO_PUBLIC_KEY) set for client-side tracking (if used)grep -r "pk_" src/)klaviyo-api SDK (not raw HTTP)package.json (not ^ or *)revision header set to 2024-10-15 (or current supported revision)createOrUpdateProfile (upsert, not create)uniqueId for deduplication where applicable+15551234567)Retry-After headerWorking through this skill produces:
0 with all four gates green (status page, API
auth 200, rate-limit headroom, pinned SDK version) — see
references/examples.md./health endpoint that returns healthy with sub-500ms latency and
the resolved accountId.kubectl rollout undo).A go-live is "prod ready" only when the checklist is complete, pre-flight is
green, and the health endpoint reports healthy.
Map each failure to the correct severity and response. Full alert-threshold table:
| Alert | Condition | Severity |
|---|---|---|
| API Auth Failure | Any 401/403 | P1 -- key may be revoked |
| API Unreachable | 5xx > 10/min | P1 -- check status page |
| Rate Limited | 429 > 5/min | P2 -- reduce request volume |
| High Latency | P95 > 5s | P2 -- check network/Klaviyo load |
| Webhook Signature Invalid | Any rejection | P2 -- verify signing secret |
403/401): the key is revoked or under-scoped.
Rotate/repair before deploying — do not proceed (see Example 2 in
references/examples.md).degraded: Klaviyo returned 429. Back off; honor
Retry-After and confirm the request queue caps at 75 req/s.down: Klaviyo unreachable (5xx) — check
status.klaviyo.com and trip the circuit breaker.Read the full endpoint on a live integration to confirm health before sign-off:
curl -s localhost:3000/health | python3 -m json.tool
# → { "status": "healthy", "services": { "klaviyo": { "status": "healthy", "latencyMs": 142, ... } } }
Four worked runs — green pre-flight, a blocked 403, reading the health
endpoint, and an instant feature-flag rollback — are in
references/examples.md.
For version upgrades, see klaviyo-upgrade-migration.