协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
klaviyo-incident-runbook【开发与工程】Execute Klaviyo incident response procedures with triage, mitigation, and postmortem. Use when responding to Klaviyo-related outages, investigating API errors (401/403/429/5xx), or running post-incident reviews for Klaviyo integration failures on an on-call rotation. Trigger with phrases like "klaviyo incident", "klaviyo outage", "klaviyo down", "k…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: klaviyo-incident-runbook description: | Execute Klaviyo incident response procedures with triage, mitigation, and postmortem.
Use when responding to Klaviyo-related outages, investigating API errors (401/403/429/5xx), or running post-incident reviews for Klaviyo integration failures on an on-call rotation.
Trigger with phrases like "klaviyo incident", "klaviyo outage", "klaviyo down", "klaviyo on-call", "klaviyo emergency", "klaviyo broken". allowed-tools: Read, Bash(curl:), Bash(kubectl:), Bash(npm:*) version: 1.7.0 license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Rapid incident response for Klaviyo API outages and integration failures: quick triage, decision trees, mitigation steps, and postmortem templates. Use this skill to move from "Klaviyo is broken" to a classified severity, an applied mitigation, and a written postmortem — without improvising under pressure.
The heavy content (full triage script, per-error remediation blocks, and the
communication + postmortem templates) lives in references/ so this file stays
a fast high-level runbook you can follow end-to-end, then drill into for depth.
KLAVIYO_PRIVATE_KEY exported in the shell (a private API key, pk_...).curl and python3 available for the triage and monitoring commands.revision header value your app ships (this runbook pins 2024-10-15,
a dated stable API version — Klaviyo requires the header on every request).| Level | Definition | Response Time | Example |
|---|---|---|---|
| P1 | Complete outage | <15 min | All Klaviyo API calls returning 5xx |
| P2 | Degraded service | <1 hour | 429 rate limiting, high latency |
| P3 | Minor impact | <4 hours | Webhook delays, single endpoint errors |
| P4 | No user impact | Next business day | Monitoring gaps, deprecation warnings |
Work the incident in five steps. Each step points at the reference file that carries the full, copy-paste-ready detail.
Following this runbook produces:
Triage first (always run this before anything else):
# Is Klaviyo itself down, or is it us?
curl -s "https://status.klaviyo.com/api/v2/status.json" \
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d['status']['description'])"
Then classify by the auth HTTP code:
curl -s -w "\nHTTP %{http_code}\n" -o /dev/null \
-H "Authorization: Klaviyo-API-Key $KLAVIYO_PRIVATE_KEY" \
-H "revision: 2024-10-15" \
"https://a.klaviyo.com/api/accounts/"
# 401 → key problem · 429 → rate limited · 5xx → Klaviyo server error
For the complete triage script and decision tree see references/triage.md; for the full per-error remediation commands see references/remediation.md; for the Slack/status-page templates and the postmortem template see references/communication-and-postmortem.md.
| Issue | Cause | Solution |
|---|---|---|
| Can't reach status page | Network issue | Use mobile or check Twitter @klaviyo |
| Metrics unavailable | Prometheus down | Check direct API with cURL |
| Key rotation panic | No backup key | Always have a rotation procedure documented |
| Alert fatigue | Too many false alarms | Tune thresholds based on baseline |
klaviyo-data-handling skill.