Agent skill

Runbook

by testdouble in testdouble/han

Create or update a runbook for an operational scenario — an incident an alert fires for, a recurring scheduled task, or a known failure mode on a live service — using a consistent template.

MITAuto-check passedDevOps & Cloud

Install Runbook

skills CLI
$ npx skills add testdouble/han --skill runbook -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install testdouble/han runbook --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/testdouble/han.git skills-src && mkdir -p .claude/skills && cp -r skills-src/han-documentation/skills/runbook .claude/skills/runbook && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
runbook
GitHub stars
279
Token cost
~4.3k tokens
SKILL.md length
2,236 words
Files
2 (incl. references)
Skills in repo
54
Repo updated
First seen
Licence
MIT

At a glance

Create or update a runbook for an operational scenario — an incident an alert fires for, a recurring scheduled task, or a known failure mode on a live service — using a consistent template.

  • Works in 8 steps: Determine Mode → Apply the YAGNI Preflight → Discover Project Structure → …
  • Updating a runbook for an alert
  • SKILL.md covers Operating Principles, Project Context, Step 1: Determine Mode and Step 2: Apply the YAGNI…, plus 6 more sections
  • Calls git and bash

What it does

Runbook is an agent skill from testdouble/han. Create or update a runbook for an operational scenario — an incident an alert fires for, a recurring scheduled task, or a known failure mode on a live service — using a consistent template. Use when writing, drafting, authoring, or updating a runbook for an alert, incident, on-call procedure, scheduled maintenance, or operational SOP. Applies a YAGNI preflight requiring the scenario to be real before producing the runbook. Does not produce feature or system documentation — use project-documentation. Does not…

Its SKILL.md is about 4.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/runbook-template.md`).

It sits in DevOps & Cloud, covering Runbooks and postmortems and Code quality. The repository describes itself as: Han: AI skills and agents for "Solo" product engineers and small teams. The licence is MIT.

When your agent uses it

  • Updating a runbook for an alert
  • On-call procedure
  • Scheduled maintenance
  • Operational SOP

Example prompts

  • “/runbook”

Requirements

  • Pre-approved tools (allowed-tools): Read, Write, Edit, Glob, Bash(git config *), Bash(whoami), Bash(date *), Bash(mkdir *), Bash(find *), Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Determine Mode
  2. Apply the YAGNI Preflight
  3. Discover Project Structure
  4. Gather Context
  5. Write the Runbook
  6. Integration
  7. Verification
  8. Readability Self-Check

What it can do on your machine

Read from SKILL.md and the folder at commit abba73a. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Glob
    • Bash(git config *)
    • Bash(whoami)
    • Bash(date *)
    • Bash(mkdir *)
    • Bash(find *)
    • Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • bash

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Runbook loads about 4.3k tokens when it runs, and up to ~6.2k if it reads all its reference files. Until then it costs about 161 tokens; SKILL.md has 2,236 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~161
When it runs · the whole SKILL.md, loaded when a task matches
~4.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from testdouble/han at commit abba73a, republished under its MIT licence (© testdouble). 2,236 words, ~4,311 tokens.

Download SKILL.mdSave it as .claude/skills/runbook/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
runbook
description
Create or update a runbook for an operational scenario — an incident an alert fires for, a recurring scheduled task, or a known failure mode on a live service — using a consistent template. Use when writing, drafting, authoring, or updating a runbook for an alert, incident, on-call procedure, scheduled maintenance, or operational SOP. Applies a YAGNI preflight requiring the scenario to be real before producing the runbook. Does not produce feature or system documentation — use project-documentation. Does not record architectural decisions — use architectural-decision-record. Does not create coding standards — use coding-standard.
allowed-tools
Read, Write, Edit, Glob, Bash(git config *), Bash(whoami), Bash(date *), Bash(mkdir *), Bash(find *), Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh")
argument-hint
[topic or scenario, or path to existing runbook to update]

Create or Update Runbook

Operating Principles

  • YAGNI applies to runbooks themselves. Apply the evidence-based YAGNI rule from ../../references/yagni-rule.md. A runbook is worth writing only when the scenario is grounded in something real: an alert that has actually fired, a documented incident, a recurring task that exists, or a known failure mode on a service that receives production traffic. Runbooks for hypothetical alerts, "best practice says we should have one," or "we'll need this someday" are YAGNI candidates and the runbook should be deferred until the scenario actually occurs. The canonical anti-pattern from project history: Sentry runbooks for staging-only Sentry where data isn't reaching production — alerts that will never fire because no signal flows. The user always wins; the rule's job is to make the cost of speculative runbooks visible.
  • The companion evidence rule applies to the runbook's supporting evidence. Apply the evidence rule from ../../references/evidence-rule.md to the citations that ground the scenario: name the trust class of each piece of evidence (alert history, incident report, on-call rotation pattern); cite the actual artifact (dashboard URL, ticket ID, log query) rather than paraphrased recollection; and surface single-source claims as such rather than presenting them as settled.
  • One runbook per invocation. The skill produces a single runbook file. Multi-runbook batches conflate scope; rerun the skill per scenario.
  • Imperative commands with expected output. The template requires every step to show the exact command and what success looks like. Prose paragraphs in place of commands are an authoring failure the skill prompts against.
  • Staleness is the failure mode. The template requires owner, last-validated, last-edited, and a change-history entry so decay is visible rather than hidden. The skill does not enforce a review cadence — that is a team-level workflow concern — but the metadata fields make the cadence auditable.
  • Readability standard. Source the standard by invoking han-communication:readability-guidance and apply it as you write the runbook. Hold its default audience frame: a capable reader who did not do this work and lacks the author's context — here, the operator following the runbook during an incident.

Project Context

  • Git user: !git config user.name || echo unset (!git config user.email || echo unset)
  • OS username: !whoami
  • Today's date: !date +%Y-%m-%d
  • CLAUDE.md: !find . -maxdepth 1 -name "CLAUDE.md" -type f
  • project-discovery.md: !find . -maxdepth 3 -name "project-discovery.md" -type f
  • personal config directory: !bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh" 2>/dev/null || echo "$HOME/.claude"
  • project .han/config.md: !cat .han/config.md 2>/dev/null || echo ""

As your first action, use the Read tool on .han/config.md inside the personal config directory path above. A read that returns no file is no personal configuration: continue silently. When that file or the project .han/config.md probe supplies content, apply it per config-rule.md, which governs precedence between the two files, relative-path resolution, and what to do with a file that reads but cannot be used.

Step 1: Determine Mode

Determine which mode to operate in based on the user's request:

ModeWhenThen
Creating newDrafting a runbook for a scenario the project does not yet have one for→ Step 2
Updating existingModifying an existing runbook (new step, validation date refresh, escalation change)Read the existing runbook → Step 4
Validating existingUser says they ran the procedure end-to-end and wants to refresh Last validated and add a change-history entryRead the existing runbook → Step 4 (update mode, validation entry only)

Step 2: Apply the YAGNI Preflight

Before discovering structure or gathering context, gate the work. Ask the user (or confirm from their request) which of the following describes the scenario:

  1. An alert that has actually fired — name the alert, link the firing incident or alert manager record.
  2. A documented incident or post-mortem — link it.
  3. A recurring scheduled task that the team performs (weekly index rebuild, monthly cert rotation, etc.) — name the cadence and where the schedule lives.
  4. A live failure mode on a service that receives production traffic, where the failure has occurred or is expected to occur with current measured pressure — name the service and the failure mode.
  5. Customer report or stakeholder commitment requiring this procedure to be documented now — link it.

If none of these applies, recommend deferring the runbook. Surface the recommendation to the user with the trigger that would justify revisiting:

"I don't see a current trigger forcing this runbook. Per the project's YAGNI rule, runbooks for alerts that have never fired are an anti-pattern. Recommend deferring until {trigger — first alert fires, first occurrence of the failure mode, first run of the recurring task, customer commitment lands}. Override and proceed anyway?"

The user always wins. If they override, record the override in the runbook's Origin field as "override: written preventively at user request on {date} — {reason}" so future readers can see the runbook was written without standard evidence.

If the scenario does pass the preflight, capture the evidence — the user will be asked again at Step 4 to drop the link or reference into the runbook's Origin metadata field.

Step 3: Discover Project Structure

  1. Resolve project config. Read CLAUDE.md's ## Project Discovery section for documented runbook and docs directories. Fall back to project-discovery.md. Fall back to Glob defaults (docs/runbooks/, runbooks/, docs/). Continue without any keys that remain unfound.

  2. Determine the runbooks directory. Use the runbooks directory if found; otherwise use {docs-dir}/runbooks/ if a docs directory was found; otherwise default to docs/runbooks/. Run mkdir -p on the resolved directory to ensure it exists.

  3. Enumerate existing runbooks. Use Glob to find existing .md files in the runbooks directory and any service subdirectories. Read filenames to detect whether the project organizes runbooks flat (docs/runbooks/{scenario}.md), per-service (docs/runbooks/{service}/{scenario}.md), or alert-keyed (docs/runbooks/alerts/{AlertName}.md).

  4. Resolve author information. If git user or email is empty or reads unset in the project context above, ask the user for their name and email.

  5. Check existing runbook format. If existing runbooks were found, read one to understand the project's format. If it differs from runbook-template.md, ask the user whether to match the existing format or use this skill's template. Default to matching the existing format when the project already has more than two runbooks — consistency is the larger value.

Step 4: Gather Context

From the arguments, conversation, and YAGNI preflight in Step 2, capture:

  • Title — the symptom-first title per the template's title rule. Lead with the observable failure or operation, not the system name. Good: Postgres primary unreachable: connections time out. Bad: Database failover.
  • Severity — the org's severity scheme. If the alert uses a different name (P1/P2), record both.
  • Triggers — the alert name (with link to alert definition or monitoring), the schedule, the upstream runbook, or "manual".
  • Reversibility — yes, partial, no — wait it out, no — data loss possible. This sets the front-door signal so the engineer knows before they commit whether they can back out.
  • Origin — the link or reference captured in Step 2. Required.
  • Owner — team or person paged at 2am for this runbook's freshness.
  • Prerequisites — access groups, VPN, kubectl context, CLI tools with minimum versions, on-call privileges. "None — workstation only" is a valid answer; blank is not.
  • Symptoms — what the engineer sees that brings them to this runbook.
  • The procedure — for each step, the exact command (or non-command action), what success looks like, and what to do if the output differs. Use imperative voice.
  • Verification — how to confirm the original symptom is gone (separate from per-step expected output).
  • Escalation — for each escalation step, the condition (time-box or specific failure), the recipient, and the channel (PagerDuty service, Slack room, phone).
  • Rollback — how to undo the fix, or the explicit alternative if rollback is not possible.

If any of these are unclear, use AskUserQuestion to clarify before writing. Ask only for what is genuinely missing; do not re-ask for values present in the user's request.

When the user gives you a recent incident, post-mortem, or alert as the scenario, read it to extract the symptoms, the procedure that worked, and the verification — do not re-derive these from the model's understanding.

Show full SKILL.md (937 more words)Show less

Step 5: Write the Runbook

  1. Copy the template from runbook-template.md.

  2. File name and location. Place the file in the runbooks directory from Step 3.

    • Slug: kebab-case, lead with the scenario or symptom, not the system name. postgres-primary-unreachable.md, not failover.md.
    • Per-service subdirectory: when the project already organizes runbooks per-service (detected in Step 3), place the file under the matching service directory: docs/runbooks/{service}/{scenario}.md. Reuse an existing service directory when one fits; only introduce a new service directory when no existing one applies.
    • Alert-keyed: when the project organizes by alert name (detected in Step 3), use the alert name as the file name: docs/runbooks/alerts/{AlertName}.md.
    • Flat default: when the project has no convention yet, place the file at docs/runbooks/{slug}.md.
    • If the project has more than one reasonable placement, ask the user before writing.
  3. Fill the metadata block with Severity, Triggers, Reversible, Last validated (today's date and the validating party — if the procedure has not been run end-to-end, leave Last validated empty and note in change history that it has not yet been validated), Last edited (today's date), Owner, and Origin (from the YAGNI preflight in Step 2).

  4. Fill each required section following the template's HTML comments for guidance:

    • Symptoms — what the engineer sees.
    • Prerequisites — required access and tools. Write "None — workstation only" if nothing is required; do not leave blank.
    • Resolve — numbered steps with exact commands and expected output. One logical action per step.
    • Verify the fix landed — concrete checks that the original symptom is gone.
    • Escalate — condition → recipient → channel.
    • Rollback — steps to undo, or explicit "Not applicable — {reason and alternative}".
    • Live links — operational surfaces used during the incident.
    • Change history — start with the creation entry citing the Origin reference.
  5. Fill applicable optional sections and delete the headings for any optional section that does not apply. The optional sections are: Likely cause, Not this — try instead, Background, Quick fix, If a step fails, If the problem comes back, What didn't work and why, Background and related. An empty heading reads as "this runbook is incomplete" — delete rather than leave blank.

  6. Delete the author guidance comment block at the top of the template once the file is filled in.

  7. Readability. Invoke han-communication:readability-guidance to surface the shared readability standard into your context, then as you write the prose regions apply it: lead each section with its main point, use descriptive headings, keep one idea per paragraph with the first sentence carrying it, number the procedure's steps and bullet non-sequential items, and reveal detail in layers. Do not duplicate the rule text. A runbook's procedures are already numbered steps, which aligns with the rule.

  8. If updating an existing runbook: edit the existing file in place. Append a new change-history entry on top with the date, your name, what changed and why, and the validation status. Update Last edited to today; update Last validated only if you actually ran the procedure end-to-end against production or a faithful staging environment.

Step 6: Integration

  1. If the project's CLAUDE.md or AGENTS.md has a section that lists runbooks (or that references operational documentation by name), add a one-line entry pointing to the new runbook. Follow the pattern of existing entries; do not invent a new convention.
  2. If the runbook closes a procedure documented in an incident report, post-mortem, or related ADR, add a cross-reference from that document back to the runbook.
  3. If the runbook's Triggers field names an alert that has a definition file in the repository (Prometheus rule, monitoring-as-code config), add a comment in the alert definition pointing to the runbook path.

Step 7: Verification

Read back the runbook file and confirm:

  1. All metadata fields are filled — no {placeholder} values remain in Severity, Triggers, Reversible, Owner, Origin. Last validated is either a real date with the validating party or explicitly noted as not yet validated in change history.
  2. The Origin field contains a real link or reference per the YAGNI preflight. If the user overrode the preflight, the override is recorded explicitly.
  3. The Symptoms section is concrete (alert text, error message, log line, or user-visible behavior) rather than generic prose.
  4. Every step in Resolve has either an exact command with expected output, or a non-command action with the equivalent "what success looks like" signal.
  5. Verify the fix landed lists at least one concrete check that the original symptom is gone, distinct from per-step expected output.
  6. Escalate entries lead with a condition (when), then the recipient, then the channel.
  7. Rollback is either filled with steps or explicitly marked not applicable with an alternative.
  8. Optional sections that do not apply have been deleted entirely — no empty headings remain.
  9. The author guidance comment block at the top of the template has been removed.
  10. Change history has at least one entry — the creation entry citing Origin.

Fix any issues found before presenting the runbook to the user.

Step 8: Readability Self-Check

Run the standardized readability self-check (the shared standard is in your context from han-communication:readability-guidance) over the runbook's prose regions only — never inside code fences, command blocks, diagram bodies, or citation identifiers. This skill runs no rewrite pass, so this self-check is the fidelity guard on the output; the fidelity criterion is not optional. Confirm each criterion and fix any failure before presenting:

Run the readability rule's standardized self-check, which is already in your context from the readability-guidance invocation above. Correct every failure before presenting. Its fidelity criterion is not optional: the standard governs how the content is said, and drops a required fact only when the reader asked for less and losing it would not change what they do next.

© testdouble, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in han-documentation/skills/runbook of testdouble/han.

  • SKILL.md
  • references/runbook-template.md

Open the folder on GitHubat commit abba73a

Compare with similar skills

Runbook next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Runbook compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Runbook this skilltestdouble/han279—~4.3kAutomated safety check: PassMIT
Code Assessmentadobe/skills195—~2.8kAutomated safety check: PassApache-2.0
Repo Hygiene Scan and FixQwenLM/qwen-code28k—~1.7kAutomated safety check: PassApache-2.0
Trader Memory Coretradermonty/claude-trading-skills3k2 repos~4.3kAutomated safety check: PassMIT
Author Migrationnrwl/nx29k—~12kAutomated safety check: NotesMIT
Write Notes Like Deepseekczm15053/write-notes-like-deepseek477—~1.9kAutomated safety check: PassNone

Similar skills

  • Code Assessment

    adobe/skills

    Detect, review, and fix code-quality and correctness issues in an AEM as a Cloud Service project — locally, with no external services or network calls.

    195 GitHub stars~2.8k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Scheduled CI skill that scans a repository for small, certain docs, test and code hygiene issues and fixes them on one branch with a commit per finding.

    28k GitHub stars~1.7k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Trader Memory Core

    tradermonty/claude-trading-skills

    Track investment theses across their lifecycle — from screening idea to closed position with postmortem.

    3k GitHub starsUsed in 2 repos~4.3k tokens
    DevOps & CloudAuto-check passed
  • Author or scope a first-party Nx migration. An agent skill from nrwl/nx.

    29k GitHub stars~12k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Write Notes Like Deepseek

    czm15053/write-notes-like-deepseek

    A skill your agent uses when a change is non-trivial by DSH standards (behavior, architecture, cross-file contracts, process/tooling, testing strategy, or on-disk/wire/config formats), when choosing…

    477 GitHub stars~1.9k tokensUpdated 15 days ago
    DevOps & CloudAuto-check passed
  • OpenRig Upgrade Procedure

    mvschwarz/openrig

    Walks an agent through upgrading the OpenRig CLI and daemon one observed step at a time, keeping live seats alive and reconciling managed plugin files.

    5.5k GitHub stars~2.9k tokensUpdated yesterday
    DevOps & CloudAuto-check passed

More from testdouble/han

All 54 skills in this repo
  • HTML Summary

    testdouble/han

    Convert a stakeholder summary markdown file into a single self-contained HTML executive report — bottom line and decision asks up front, supporting detail later — styled with a Test Double-derived…

    279 GitHub stars~2.9k tokensUpdated 6 days ago
    Auto-check passed
  • Update Han plugin documentation so every skill, agent, guidance doc, index, and cross-reference is current and accurate.

    279 GitHub stars~3.4k tokensUpdated 6 days ago
    Auto-check passed
  • Guidance

    testdouble/han

    Authoritative guidance for building Claude Code skills, agents, and plugins, plus init and update steps that install and refresh the plugin-building skills in the current repository.

    279 GitHub stars~1.8k tokensUpdated 6 days ago
    Auto-check passed
  • Han Release

    testdouble/han

    Cut a Han release: update CHANGELOG.md with the changes since the last release, bump and tag every plugin that changed as {plugin-name}--v{version} so a version-constrained dependency can resolve…

    279 GitHub stars~8.6k tokensUpdated 6 days ago
    Auto-check passed
  • Plan Implementation

    testdouble/han

    Builds a feature implementation plan from an existing feature specification (or equivalent context) through a facilitated team conversation.

    279 GitHub stars~9.5k tokensUpdated 6 days ago
    Auto-check passed
  • Refactor

    testdouble/han

    Restructure existing code without changing its behavior, through a test-gated refactoring loop: a named target, a green suite over that target before any edit, a planned sequence of small named…

    279 GitHub stars~3.1k tokensUpdated 6 days ago
    Auto-check passed

Categories

Questions about Runbook

What does Runbook do?

Create or update a runbook for an operational scenario — an incident an alert fires for, a recurring scheduled task, or a known failure mode on a live service — using a consistent template. Runbook is an agent skill from testdouble/han. Create or update a runbook for an operational scenario — an incident an alert fires for, a recurring scheduled task, or a known failure mode on a live service — using a consistent template.

When should I use Runbook?

Runbook fits situations like: updating a runbook for an alert; on-call procedure; scheduled maintenance; operational SOP.

How do I install Runbook in Claude Code?

Run `npx skills add testdouble/han --skill runbook -a claude-code`. Or copy the skill folder (han-documentation/skills/runbook in testdouble/han) into .claude/skills/runbook in your project. Claude Code loads it when a task matches its description.

How do I install Runbook in Codex?

Run `npx skills add testdouble/han --skill runbook -a codex`. Or copy the skill folder (han-documentation/skills/runbook in testdouble/han) into .agents/skills/runbook in your project. Codex loads it when a task matches its description.

Can I use Runbook in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add testdouble/han --skill runbook -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/runbook, .gemini/skills/runbook, .github/skills/runbook and .opencode/skills/runbook in your project.

What does Runbook need to run?

Going by SKILL.md and its folder, Runbook needs the command-line tools its instructions call (git and bash). Its frontmatter pre-approves these tools: Read, Write, Edit, Glob, Bash(git config *), Bash(whoami), Bash(date *), Bash(mkdir *), Bash(find *), Bash(bash "${CLAUDE_PLUGIN_ROOT}/scripts/han-config-dir.sh").

Does Runbook access the network?

SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Runbook safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Runbook use?

Runbook is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Runbook use?

About 4.3k tokens (SKILL.md is roughly 17k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.9k tokens, read only when the agent opens those files.

What are the alternatives to Runbook?

Skills that share tags, products or a category with Runbook: Code Assessment (adobe/skills, 195 stars), Repo Hygiene Scan and Fix (QwenLM/qwen-code, 28k stars), Trader Memory Core (tradermonty/claude-trading-skills, 3k stars) and Author Migration (nrwl/nx, 29k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Runbook?

testdouble (a GitHub organization) maintains it in testdouble/han, which has 279 GitHub stars. The repository holds 54 skills in this directory. The repository was last updated on October 1, 2026.

Source: testdouble/han on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.