Skip to main content
AIDiveForge AIDiveForge
🧯

Runbook Skeleton

Productivity & Ops · by AIDiveForge · Apr 20, 2026 · Intermediate

Turn a postmortem into an incident runbook with explicit verification gates.

Get detection, diagnosis, mitigation, recovery and escalation sections.

Free · 2 KB · SKILL.md, instructions and example files. Provide the incident record, supported environment and authorized operational actions.

A worked example

A small example to try before using your own data.

Input

Postmortem: queue latency rose after worker deployment v12. Rolling workers back to v11 restored throughput. Database and producer traffic were normal. No command syntax is recorded.

Expected result

Detect: sustained queue latency above the team’s defined threshold. Diagnose: check worker version, errors and throughput; confirm producer/DB health. Mitigate: use the approved deployment rollback procedure for workers. Verify: throughput and queue age recover. Escalate if rollback fails. Missing: threshold, commands and rollback owner.

What to check: Use the confirmed rollback outcome while leaving absent command syntax and thresholds unresolved.

Limits: A generated runbook is a draft until operators test it in the intended environment.

Worked example included. Model-specific performance and vendor compatibility have not been benchmarked.

Installation options and other formats

Install this skill

An agent skill starts with SKILL.md. The ZIP also includes its examples and any helper scripts. Drop the file into your tool of choice — or pick a different format if you use Cursor, Windsurf, Copilot, or something else.

Download SKILL.md
python3 - <<'ADF_SKILL_INSTALL'
import hashlib, io, os, stat, tempfile, urllib.request, zipfile
from pathlib import Path, PurePosixPath
folder = "runbook-skeleton"
root = Path(os.environ.get('ADF_SKILL_ROOT', str(Path.home() / '.claude' / 'skills'))).expanduser()
destination = root / folder
if destination.exists() or destination.is_symlink():
    raise SystemExit('An installation already exists. Back it up and merge the ZIP deliberately.')
root.mkdir(parents=True, exist_ok=True)
request = urllib.request.Request("https://aidiveforge.com/skill/runbook-skeleton.zip", headers={'User-Agent': 'AIDiveForge-Resource-Installer/1.0 (+https://aidiveforge.com/skills/)'})
with urllib.request.urlopen(request, timeout=30) as response:
    data = response.read(8 * 1024 * 1024 + 1)
if len(data) > 8 * 1024 * 1024 or hashlib.sha256(data).hexdigest() != "bbbf470b24df8fdcc78b321ba8b80a240465d8d351d02df46b802ab225966696":
    raise SystemExit('The download did not match this reviewed bundle. No files were installed.')
with zipfile.ZipFile(io.BytesIO(data)) as archive, tempfile.TemporaryDirectory(prefix='.adf-skill-', dir=root) as temporary:
    members = archive.infolist()
    if len(members) > 100 or sum(m.file_size for m in members) > 16 * 1024 * 1024:
        raise SystemExit('Unexpected archive size')
    for member in members:
        name = PurePosixPath(member.filename)
        if name.is_absolute() or '..' in name.parts or not name.parts or name.parts[0] != folder or '\\' in member.filename or stat.S_ISLNK(member.external_attr >> 16):
            raise SystemExit('Unsafe archive entry; nothing was installed')
        target = Path(temporary).joinpath(*name.parts)
        if member.is_dir():
            target.mkdir(parents=True, exist_ok=True)
        else:
            target.parent.mkdir(parents=True, exist_ok=True)
            with target.open('xb') as stream:
                stream.write(archive.read(member))
    staged = Path(temporary) / folder
    if not (staged / 'SKILL.md').is_file() or destination.exists() or destination.is_symlink():
        raise SystemExit('The skill could not be installed without replacing existing data')
    os.rename(staged, destination)
print('Installed the complete skill folder:', destination)
ADF_SKILL_INSTALL

Claude Code: ~/.claude/skills/runbook-skeleton/SKILL.md. Codex: ~/.codex/skills/runbook-skeleton/SKILL.md. Keep the complete ZIP folder when helper scripts are included.

🧠 Why it works

Use the confirmed rollback outcome while leaving absent command syntax and thresholds unresolved.

⚙️ How it works

  1. Extract the observed symptoms, affected systems, confirmed cause and effective recovery steps.
  1. Separate diagnostic reads from state-changing mitigation; name the target environment for commands.
  1. For each intervention state the trigger, expected effect, verification and rollback limit.
  1. Add escalation points for uncertainty, failed recovery or actions outside the operator’s authorization.
  1. Mark untested commands and missing details instead of inventing production-specific procedures.

Description

Get detection, diagnosis, mitigation, recovery and escalation sections.

Provide the incident record, supported environment and authorized operational actions.

Limits: A generated runbook is a draft until operators test it in the intended environment.

Recommended Use

Tools and workflow packs this skill pairs well with. Forge picks are auto-generated from category + capability signals; Community picks are added by people who've used the pairing.