From evernote-pack
Runbook for Evernote API incidents: triage status with curl/grep, handle rate limits/auth/sync failures, apply circuit breakers and mitigations.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin evernote-packThis skill is limited to using the following tools:
Step-by-step procedures for responding to Evernote integration incidents including API outages, rate limit escalations, authentication failures, data sync issues, and quota exhaustion.
Adds Prometheus metrics, JSON logging, OpenTelemetry tracing, health checks, and alerts to JavaScript Evernote API integrations.
Provides production readiness checklist for OneNote Graph API integrations, verifying auth resilience, rate limits, SharePoint thresholds, and failure modes.
Provides structured incident runbook for OpenEvidence SaaS, with severity levels, triage steps like status checks and curl tests, mitigation strategies, and resources for API downtime.
Share bugs, ideas, or general feedback.
Step-by-step procedures for responding to Evernote integration incidents including API outages, rate limit escalations, authentication failures, data sync issues, and quota exhaustion.
| Severity | Symptoms | Response Time |
|---|---|---|
| P1 - Critical | All Evernote API calls failing, data loss risk | 15 minutes |
| P2 - High | Persistent rate limits, auth failures for multiple users | 1 hour |
| P3 - Medium | Intermittent errors, degraded sync performance | 4 hours |
| P4 - Low | Single user issues, non-critical feature affected | Next business day |
Check Evernote's status page first. If Evernote is down, activate the circuit breaker and wait.
# Check Evernote service status
curl -sf https://status.evernote.com/api/v2/status.json | jq '.status'
# Check your API connectivity
curl -sf -H "Authorization: Bearer $EVERNOTE_TOKEN" \
https://www.evernote.com/shard/s1/notestore | head -20
# Check error rate in logs (last 15 min)
grep -c 'EDAMSystemException' /var/log/evernote-app.log
If rate limits are persistent: reduce API call frequency, increase delays between batch operations, and contact Evernote developer support for a rate limit increase.
For auth failures: verify tokens are not expired (edam_expires), check that production credentials match the production endpoint (sandbox: false), and test with a fresh Developer Token to isolate the issue.
For sync issues: compare local USN with server USN via getSyncState(). If gap is too large, reset to full sync from USN 0. Verify data integrity after re-sync.
For the complete diagnostic scripts, mitigation implementations, and communication templates, see Implementation Guide.
| Incident Type | Diagnostic | Mitigation |
|---|---|---|
| API outage | Check status.evernote.com | Activate circuit breaker, serve cached data |
| Rate limit storm | Check evernote_rate_limits_total metric | Reduce batch sizes, increase delays |
| Mass auth failure | Verify token expiration dates in DB | Trigger re-auth flow for affected users |
| Sync data loss | Compare local vs server note counts | Full re-sync from USN 0 |
For data handling best practices, see evernote-data-handling.
API outage response: Alert fires, on-call checks status page, confirms Evernote outage, activates circuit breaker, posts status update to internal Slack, monitors for recovery, then gradually re-enables API calls.
Rate limit recovery: Persistent RATE_LIMIT_REACHED errors detected. Reduce batch size from 100 to 10, increase delay to 500ms, clear the request queue, and contact Evernote support if limits continue after 1 hour.