一键导入
runbook
Use when writing manual steps a user must execute (clicks, keys) after bridges failed.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when writing manual steps a user must execute (clicks, keys) after bridges failed.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Selects and vets SaaS vendors, libraries, frameworks, build tools, local executables, and replacement dependencies through hard gates, source audits, validation, and scored comparison. Use when choosing, recommending, evaluating, vetting, replacing, or comparing technologies or vendors for this repo.
Use when investigating an external tool's behavior, bug, quirk, capability gap, or fix difficulty; proactively write the troubleshooting doc the moment you finish diagnosing or working around one, even when the user did not ask; also use when writing or updating a doc/troubleshooting/<topic>.md file. The write-up is a required completion step, not an offer.
Use when writing or reviewing tests in this monorepo using the module-test harness.
Review code according to project standards
Use when editing CSS, writing component styles, or reviewing CSS in this repo.
Use when writing or editing source files in non-TypeScript general-purpose languages.
| name | runbook |
| description | Use when writing manual steps a user must execute (clicks, keys) after bridges failed. |
Fires only after bridging paths have been tried and confirmed not to work. Never the first move. Walk this skill end-to-end whenever the task involves writing instructions for a user to execute UI clicks, key presses, file edits, or any other manual action that automation could not perform.
Other surface phrases that should trigger the skill: "you'll need to", "please open", "manually click", "write a runbook", "verification script", "steps for the user", "what should I tell the user to do". The earliest cue is the moment you catch yourself about to write "you'll need to" or "please open" in chat. If you have reached that moment without naming the bridges you tried, stop, try the bridges, then come back.
The skill encodes five pieces: required sections (Setup, Steps, What to check, Restore), element-level rules (bold UI elements, expected outcomes, exact strings), fresh-context completeness, the canonical example, and the cues that signal you are violating the rules.
Recorded dances (verified multi-step procedures kept beside this skill):
copilot-review-draft-pr.md:
getting a Copilot code review onto a PR that
must stay draft (Copilot skips drafts;
the ready window can be seconds).This skill is the fallback. Before reaching it, try at least one of:
agent-browser for web UIs;
most clicks have a backing HTTP/IPC endpoint or keyboard shortcut.xdotool,
wtype,
or ydotool for native UI clicks.expect for interactive auth flows.State the bridges you tried in the runbook's prelude so the user can tell an unconsidered handoff from a real obstacle.
See AGENTS. md "Before claiming inability" and "Handing off manual actions" lead paragraph for the broader rule: a capability claim about the whole toolset, not about any single tool.
Every runbook must work for a fresh machine, fresh person, fresh checkout, fresh credentials context, and no ambient memory from the agent session that produced it. Assume the reader has only the runbook and access they can legitimately obtain.
Encode every prerequisite directly in the runbook:
Do not rely on chat history, local shell history, previously opened tabs, existing build artifacts, already-authenticated CLIs, machine-specific paths, or the current user knowing why the procedure matters. If the runbook omits context because "the user already knows", it fails.
Every runbook has these four sections in this order. Status markers per section let the user interrupt and resume.
### Setup
Status:
TODO | DONE
What to bring up first.
Open the app, sign in, navigate to the screen that the steps assume.
### Steps
Status:
TODO | DONE
1. Numbered actions, one observable action per step.
2. Bold every UI element.
3. State the expected outcome after every state-changing step.
### What to check
Status:
TODO | DONE
Expected outcome with the exact strings to grep or filter for.
Use concrete strings, not paraphrases.
### Restore
Status:
TODO | DONE
How to undo any test state, return the system to its pre-runbook configuration,
or delete created resources.
The Status: marker per section,
with TODO | DONE on the line below it,
lets the user cross out TODO
and leave DONE to signal section completion.
The value sits on its own line because the repo's semantic-line-breaks lint requires a break after the colon;
keep it split rather than rejoining it onto the Status: line.
Multi-section runbooks survive interruption this way.
Each numbered step does exactly one observable thing. If a step bundles "open the menu and click Settings and then click Save", split into three steps. The reader scans by number; bundling defeats the scan.
Every keystroke,
menu label,
button label,
and tab name gets **bold**:
**F12**,
**Ctrl+L**,
**Shift+F6**.**Console**,
**Delete**,
**New File**.**Network**,
**Application**.Name both the key and the menu when both exist.
Write Open Chrome DevTools (**F12**),
not just open DevTools.
The bold visually anchors the eye to the exact thing to press or click.
After every step that changes state (click, key, type), state what the user should see:
No implied feedback. If the action has no visible feedback, that itself is the expected outcome ("no error appears in the console").
Use the exact string the user should see or filter for. Paraphrasing forces the user to re-derive the exact string when their eyes scan the output.
"type":"fileChanged",
not "the rename event".editord listening on port 4400,
not "the daemon should start".{ "zeroSize": 0, "zeroMatch": 0 },
not "the size check passes".Any runbook step (or direct action) that opens a PR follows this lifecycle:
gh pr create --draft ...).
Never open ready-for-review directly.gh pr ready <number>).A runbook whose Steps section opens PRs must encode all four stages,
including the expected outcome of the draft state
(gh pr view <number> --json isDraft prints {"isDraft":true})
and the final conversion.
A runbook (manual-step procedure) that spans the whole repo lives in doc/runbook/<topic>.md,
kebab-case,
with no prefix (the directory names the family).
A cross-session state handover lives in
doc/handover/<topic>.md.
A runbook or handover tied to one package stays beside that package's code
and keeps the HANDOVER.<topic>.md form,
where the prefix still namespaces it among source files.
package/desktop-daemon/editord/HANDOVER.chokidar-atomic-migration.md is the reference runbook.
Match its shape:
status markers per section,
what-this-proves intent at the top,
numbered steps with bold UI elements,
what-to-check with exact filter strings,
restore section.
The reference's section headers, copied verbatim so the skill is self-contained if the example file moves:
## What this proves
## Setup
Status:
TODO
## Steps
Status:
TODO
## What to check
Status:
TODO
## Restore
Status:
TODO
"type":"fileChanged").Each cue is a one-grep self-check after writing the runbook. Scan once before handing it to the user.
Status: TODO | DONE markers.If any item is unmet, do not hand the runbook off.