From errandd
Explicitly dismiss/resolve a Datadog On-Call page after confirming the underlying monitor has recovered. Use when an incident-response agent has fixed the problem and needs to close out the page rather than leave it for a human or rely on auto-resolve. Trigger phrases include "resolve the page", "dismiss the alert", "close the page", "clear the alert", "mark resolved", "the fix worked resolve it", "dismiss the datadog page".
How this skill is triggered — by the user, by Claude, or both
Slash command
/errandd:datadog-resolve-pageThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Explicitly close out a page once the problem is fixed. Pages should be
Explicitly close out a page once the problem is fixed. Pages should be
explicitly dismissed, not left to time out — but only after recovery is
confirmed. Runs after datadog-recheck-recovery returns recovered.
datadog-recheck-recovery reported overall_state: OK and the metric is healthy for ≥2 consecutive checks. Never dismiss a
page whose monitor is still Alert/Warn/No Data.datadog-escalate-page), do not auto-resolve it — the human owns it.
Resolving out from under on-call hides a real incident.If any precondition fails → stop; keep working or escalate instead.
page_id (UUID, Datadog On-Call) and/or monitor_id from the payload.DD_SITE, DD_API_KEY, DD_APP_KEY.Bodyless POST; returns 202 Accepted:
curl -sf -X POST \
-H "DD-API-KEY: $DD_API_KEY" -H "DD-APPLICATION-KEY: $DD_APP_KEY" \
"https://api.$DD_SITE/api/v2/on-call/pages/$PAGE_ID/resolve"
(There is also .../pages/$PAGE_ID/acknowledge — use ack, not resolve, if you're
actively working an issue and want to stop re-notification without closing it.)
Host note: served on
api.$DD_SITE. If that 404s for/api/v2/on-call/*, retry against the regional On-Call cell host inDD_ONCALL_HOST(*.oncall.datadoghq.com).
A monitor-driven alert with no standalone page auto-resolves the instant the
monitor returns to OK (already confirmed by precondition 1). Make the closure
explicit and auditable with a resolution event — do not substitute monitor
mute (mute only silences a still-firing monitor and hides real problems):
curl -sf -X POST \
-H "DD-API-KEY: $DD_API_KEY" -H "DD-APPLICATION-KEY: $DD_APP_KEY" \
-H "Content-Type: application/json" \
"https://api.$DD_SITE/api/v1/events" \
-d "{\"title\":\"✅ Resolved: $ALERT_TITLE — recovered after L1 remediation\",\"text\":\"Monitor https://app.$DD_SITE/monitors/$MONITOR_ID is back to OK. Fix: $SUMMARY_OF_FIX${PR:+ (PR #$PR)}. Verified overall_state=OK + metric healthy for 2 checks.\",\"alert_type\":\"success\",\"tags\":[\"source:errandd\",\"resolution:auto\",\"monitor_id:$MONITOR_ID\"]}"
Summarize: which page/monitor, the confirmed recovery evidence, the fix (link the PR), and that the page was explicitly dismissed (HTTP 202).
npx claudepluginhub northisup/errandd --plugin erranddGuides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.