runbook
Skill4 starsChanged 20 days agoMITView on GitHub
Write an interactive bash runbook that guides a person through actions only they can take, such as copying credentials from a third-party dashboard, configuring CI secrets, or approving a migration or cutover. Use when a task is blocked on manual steps in someone's browser or accounts; not for steps the agent can run itself.
25 other projects use a version of this.
Adopted by
Most recently taken up by
- seayniclabs/homelab-infra-mcptheir own version, first seen Nov 8, 2026
- nisarth/claude-skills-storetheir own version, first seen Nov 8, 2026
- AsiaOstrich/EngramGraphtheir own version, first seen Nov 8, 2026
- jocarrd/crux-agentstheir own version, first seen Nov 8, 2026
- AsiaOstrich/universal-dev-standardstheir own version, first seen Nov 1, 2026
- Big-LAORE/Biblioth-que-de-skillstheir own version, first seen Nov 1, 2026
Used with
Projects with it also use incident, discover and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
JkudjoSkillincident
Production incident response — structured triage, hypothesis tree, safe remediation, incident record
Also in 4 projects that use this
anombyte93Skilldiscover
Phase 1 of the prd-taskmaster pipeline: brainstorm-driven discovery. Delegates to superpowers:brainstorming in Interactive Mode (one adaptive question at a time), or self-brainstorms in Autonomous Mode when no user is present. Intercepts before the brainstorming chain hands off to writing-plans — this skill owns the exit. Extracts constraints, calibrates scale (Solo / Team / Enterprise), and advances the pipeline to GENERATE.
Also in 4 projects that use this
asterkinSkilladr
Create Architecture Decision Records (ADRs) following project standards. Guides template usage, process, and best practices for documenting architecturally significant decisions.
Also in 5 projects that use this
OpenAISkillobservability
Vercel Observability expert guidance — Drains (logs, traces, speed insights, web analytics), Web Analytics, Speed Insights, runtime logs, custom events, OpenTelemetry integration, and monitoring dashboards. Use when instrumenting, debugging, or optimizing application performance and user experience on Vercel.
Also in 4 projects that use this
SentrySkille2e
Run E2E tests for Sentry JavaScript SDK test applications
Also in 3 projects that use this
OpenAISkillaudit
Audit or critique a product flow, journey, workflow, funnel, onboarding path, checkout path, settings path, screen, or multi-step product experience by capturing screenshots first, then reporting UX, design, and accessibility findings inline from that evidence. Use Figma only when the user explicitly asks for a board. Use when the user asks to audit, review, critique, inspect, assess, analyze, evaluate, or give feedback on a product experience.
Also in 4 projects that use this
Other versions25 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 25
- anthropics/knowledge-work-plugins★ 35ksame name
- suboss87/FDEOps★ 940same name
- sd0xdev/sd0x-dev-flow★ 192same name
- sd0xdev/sd0x-harness★ 192same name
- AsiaOstrich/universal-dev-standards★ 84same name
- NotHarshhaa/devops-skills★ 8same name
- AsiaOstrich/EngramGraph★ 4same name
- jocarrd/crux-agents★ 4same name
- gmanch94/claude-code-aidlc-template★ 2same name
- renathoaz/arsyn★ 2same name
15 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository39 other files it gives its agents.
- AGENTS.mdAGENTS.md
- authoringSkill
- chrome-devtoolsSkill
- gamificationSkill
- imagegenSkill
- improve-architectureSkill
- instructionsSkill
- monorepoSkill
- reverse-engineerSkill
- security-reviewSkill
- setup-harnessSkill
- skillsSkill
- unslopSkill
- video-reportSkill
- youtube-transcriptSkill
- code-reviewSkill
- debugSkill
- interviewSkill
- prototypeSkill
- researchSkill
- workSkill
- adsenseSkill
- astryxSkill
- cloudflare-cliSkill
- dokploy-best-practicesSkill
- extract-themeSkill
- nextjsSkill
- payload-cmsSkill
- shadersSkill
- swrSkill
- tanstack-querySkill
- tanstack-routerSkill
- tanstack-startSkill
- tanstack-storeSkill
- tauriSkill
- vite-plusSkill
- web-assets-optimizationSkill
- web-extensionSkill
- zodSkill
The file
We split this skill into the rules it gives an agent
12 rules. 0 are common, 4 are distinctive, and 8 are very specific to this project.
0
Common
Most of the 22 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
8
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 15
Start from template.sh. It has three sections:
- Distinctive: line 43
Done: every value has a source, a destination, and a secrecy decision.
- Distinctive: line 53
Done: every stage has a confirmed route or an explicit warning.
- Very specific: line 87
Call open_url before the steps that use the page.
- Very specific: line 88
Put every URL, command, or value to copy in open_url or code, never inside wrapped text, so it stays whole.
- Very specific: line 90
Read every secret with ask_secret.
- Very specific: line 92
Use set_secret and set_var only for names CI reads.
- Distinctive: line 100
Done: every planned value is collected and reaches its destination.
- Very specific: line 104
Run these checks with the user's bash.
- Very specific: line 116
Check that each set_secret name matches a secrets.* reference in CI, and each set_var name a vars.* reference.
- Distinctive: line 120
Done: every check passes.
- Very specific: line 121
Pending: if bash is unavailable to you, report checks 1, 2, and 4 as not run, then hand off with the bash path marked unverified and chmod …
“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Runbook
A runbook is a bash script the user runs to finish a procedure that needs their hands: it opens the right page, numbers each action, collects the values they copy, stores them (env file, GitHub secrets or variables), asks before irreversible commands, and ends with a summary of what was saved and what is left to do. It covers only what needs the user's hands or accounts: do everything else yourself before or after it.
Start from template.sh. It has three sections:
| Section | Your part |
LIBRARY | Leave unchanged, so every runbook behaves the same |
TEXT | Translate the interface strings into the user's communication language |
STAGES | Write this procedure |
The user's communication language is the one their instructions set for conversation, otherwise the language they write to you in. Everything the runbook displays uses it; code, comments, variable names, and commands stay in the project's code language.
A runbook is disposable unless the user wants a repeatable path: write it to a
scratch location or the project's scripts/ folder, as they prefer.
1. Plan the stages
- Collect the facts from the project before asking anything:
- setup work: env files and their examples, the README, container and
framework configuration, and CI workflows, whose
secrets.*andvars.*references name values the runbook must produce; - a migration or cutover: where the system stands, where it must end up, and every irreversible command on the way.
- setup work: env files and their examples, the README, container and
framework configuration, and CI workflows, whose
- Order the stages by dependency, and settle for each the value it produces, its destination (env file, GitHub secret or variable, a command, or none), and whether it is secret. Ask the user only what the project cannot settle.
Done: every value has a source, a destination, and a secrecy decision.
2. Trace each stage
For each stage, write the route a person follows: the page to open, the
controls to use, where the value appears, and the variable it fills. Take the
route from the provider's current documentation or from the user. When neither
can confirm it, describe the goal instead of guessing controls, mark the stage
with warn saying the interface may differ, and list it in the handoff.
Done: every stage has a confirmed route or an explicit warning.
3. Write the runbook
- Copy
template.shto the chosen path. - Unless the communication language is English, translate every
TXT_*value. Strings containing%sare printf formats: keep each%sin the order its comment gives and each\n, write a literal%as%%, and phrase the string so it reads correctly whatever fills%s. Use the language's yes answer inTXT_YES_NOand theTXT_YESregex (French:[o/N],^[OoYy]). KeepTXT_SECRETSandTXT_VARSshort: the summary aligns on the longest label. - Replace the example stages, in dependency order, with text in the same
language. Quote third-party interface labels exactly as displayed, even in
another language.
TOTAL_STAGESmust equal the count ofstagecalls; givebannera title and a one-sentence purpose.
| Helper | Effect |
stage "Name" | New screen with progress and the stage name |
say "..." | Short explanation of why the stage matters |
step "..." | One numbered action |
note "..." / warn "..." | Secondary detail / something not to miss |
code "..." | A URL, command, or value to copy, on its own unwrapped line |
open_url URL | Opens the page the following steps use |
ask KEY "Label" / ask_secret KEY "Label" | Reads a visible / hidden value into $KEY; on a re-run, Enter keeps the saved value |
write_env KEY "$KEY" | Saves the value to the env file |
set_secret NAME "$VALUE" / set_var NAME "$VALUE" | Sets a GitHub Actions secret / variable, or lists it for manual follow-up |
run CMD [ARG...] | Shows and runs a command; a dry run only shows it |
confirm "Question" | Yes/no gate that defaults to no |
pause ["Message"] | Waits for Enter |
Rules:
- Call
open_urlbefore the steps that use the page. - Put every URL, command, or value to copy in
open_urlorcode, never inside wrapped text, so it stays whole. - Read every secret with
ask_secret; save withwrite_envonly what the project uses locally. - Use
set_secretandset_varonly for names CI reads. - Execute every command with side effects through
run, so--dry-runstays harmless. - Precede each irreversible
runwithconfirm, worded so that no is the safe answer. - Give each stage one task and end it with
pause; the nextstageclears the screen.
Done: every planned value is collected and reaches its destination.
4. Check the script
Run these checks with the user's bash; on Windows, that is the Git Bash
executable (usually C:\Program Files\Git\bin\bash.exe).
bash -n <script>, plusshellcheck <script>when installed.- Rehearse: from an empty temporary folder, pipe one line per prompt into
bash <script> --dry-run, including a blank line for each Enter (everypause, and the banner's). Input that ends early stops the runbook. A dry run opens no browser, saves nothing, skips GitHub, and runs noruncommand. Check that each answer reaches the intended prompt (piped answers are echoed in the transcript; secrets show only their length) and that the summary lists the expected names. Only the user runs the runbook without--dry-run. - Check that each
set_secretname matches asecrets.*reference in CI, and eachset_varname avars.*reference. chmod +x <script>.
Done: every check passes.
Pending: if bash is unavailable to you, report checks 1, 2, and 4 as not
run, then hand off with the bash path marked unverified and chmod +x added
for the user.
5. Hand off
Give the user, in their language, one complete command to paste unchanged: the
real run, since your rehearsal already previewed every screen. The command
first moves to the project root, since the env file path is relative to it,
then calls the script by absolute path. On Windows, call the Git Bash
executable you verified rather than bash, which PowerShell often resolves to
WSL, and stop if the folder change fails:
Set-Location -LiteralPath "C:\path\to\project" -ErrorAction Stop; & "C:\Program Files\Git\bin\bash.exe" "C:\path\to\project\scripts\setup-runbook.sh"Also list any stage marked with warn in step 2. For a disposable runbook,
tell the user to delete it after the real run, or offer to delete it once they
confirm it is done. For a repeatable one, offer to link it from the README.
Done: the user has the command and the list of unverified stages.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

