The real runbook for most services lives in Slack scrollback, shell history, and two engineers' heads.
Tier: Core · Workflow area: Runbooks, docs & knowledge
This playbook extracts it into durable runbooks with an LLM, validates each one by executing it in staging, and then sets up the second half almost everyone skips: a recurring AI-assisted freshness audit that diffs runbook steps against current IaC and tooling, because a stale runbook mid-incident is worse than none.
Skip AI when a vendor-maintained procedure already exists — link it; don't fork it into a document you now must keep fresh.
history output from responders, existing wiki fragments.Assemble one incident's artifacts per runbook. One directory: thread.txt (Slack export, secrets scrubbed), postmortem.md, commands.txt. Mixing incidents produces chimera runbooks that fit no real failure.
Draft against your template.
Draft a runbook from the attached incident artifacts using runbook-template.md.
Rules:
- Every command must appear in, or be directly derivable from, the artifacts.
Mark anything you inferred with [INFERRED - VERIFY].
- Include: trigger/symptoms, preconditions, diagnosis steps, remediation
steps, verification after each remediation step, rollback, escalation.
- Parameterize environment-specifics as variables ($CLUSTER, $NAMESPACE).
- List open questions the artifacts do not answer.
Execute-validate in staging. The named runbook owner runs every step in staging (or a game-day sim). Steps that can't run in staging get a human review sign-off recorded inline. Every [INFERRED - VERIFY] marker must be resolved — verified, corrected, or deleted. A runbook nobody has executed is a hypothesis.
Merge via PR with the owner named. Runbooks live in git next to the services they describe. The PR description links the source incident; the owner and a review date go in front-matter.
Set up the freshness audit. On a schedule (quarterly, or on major infra PRs), run a repo-aware assistant across runbooks + IaC:
Audit runbooks/ against the current state of infra/ (Terraform), helm/, and
.github/workflows/.
For each runbook, flag:
- Commands referencing resources that no longer exist in IaC (instance names,
ARNs, namespaces, DNS names).
- CLI invocations inconsistent with tool versions pinned in this repo.
- Steps contradicting current architecture (e.g. runbook says SSH, IaC shows
SSM-only; runbook scales an ASG that is now managed by Karpenter).
Output a table: runbook, line, finding, confidence, suggested fix.
Fix via PRs, never auto-apply. Turn high-confidence findings into small PRs (the assistant drafts them); the runbook owner reviews. Low-confidence findings become issues. Track a staleness metric: findings per audit should trend down.
Validation is execution, not review — the runbook is done when someone has run it in staging, and it stays done only as long as the freshness audit keeps passing.
[INFERRED - VERIFY] markers survive into main.key, token, Bearer, AKIA.For client environments under MSA restrictions (typical services-company delivery):
Ask for the client's AI policy in writing before the first export leaves their tenancy; "the other team already uses ChatGPT" is not authorization.