Narrate the deploy as it runs and keep a runbook that matches the terminal.

Every team has the same runbook: the one nobody wrote. The steps live in a chat thread, a half-updated wiki page, and the memory of the engineer who did the last three deploys. Dictating deployment runbooks is not about writing faster; it is about correctness, because a runbook written from memory a week after the deploy is a runbook written from a story. Narrative memory smooths over the check you ran, the flag you typed, and the ninety seconds you waited for the health check. Speaking the run as it happens records the truthful version, and that is a difference you measure at three in the morning. The narration is the difference between a document that describes a release and one that describes what actually happened, and the second is the one you want beside you at 2 a.m.
Nobody writes the runbook because the deploy is the reward and the document is the paperwork. After a successful release, the team celebrates and closes the ticket; after a failed one, the team fixes and forgets. There is no natural moment that says now write it down, so the runbook becomes an aftershave of every release, and within three releases it is describing a system that no longer exists. Narration removes the ceremony: the moment you run the next deploy, open the runbook and talk. The document writes itself during the thing you were going to do anyway, and the awkward truth is that the release that just went well is the best moment to record the process, while the release that just went wrong is the best moment to record the failure mode.
The cost of the missing runbook shows up in the worst place: the middle of an incident. A page is down, the original engineer is asleep, and the fix is a sequence known only to one person, its existence, its order, its one dangerous step. The second engineer improvises from the chat history and makes it worse. A runbook is not memory for the routine; it is a reusable record for the day the routine becomes a fire. You cannot reconstruct that record during the fire, but you can dictate it during the calm, on any ordinary Tuesday release. When it is written, the next incident is shorter, and the engineer who reads it at 2 a.m. is the same one who will update it at nine, which is the loop that keeps it honest.
Plan to narrate the second run, not the first. Run a release once on staging to see where the snags are, then run it again and narrate the whole thing: the pre-checks, the commands, the waits, the verification, and the warnings. The second run is where your hands anticipate and your mouth can explain, and that is the run worth recording. If you skip straight to the live deploy, you will narrate while your attention is on the outage window, and the result will be both slower and less complete than the runbook you produced the week before. If staging is unavailable, run the first live release of the week as your narration pass and accept a few extra minutes at the keyboard.
Set up before you speak: open the runbook doc beside the terminal, decide on one place for it, and start Voiskey with the cursor in the doc. Then run the deploy exactly as you normally would, and narrate each action in the order you take it, including the things you consider too obvious to say. Name the command you are about to type, the environment, the flag, and what you expect to see: running migrate, this will take about forty seconds, I am looking for the schema check line. Voiskey writes the words into the doc while your hands stay on the keyboard, because it is a voice keyboard and the terminal stays yours.
Say the pauses and the waits out loud, because they are the part of a runbook that a transcript of commands never contains. The deploy restarts the service; we wait for the health check, about sixty seconds. The migration holds a lock; do not run the second job until it clears. If you do not speak them, the next operator will sit and reload with no idea how long to wait, or worse, will not wait at all. Dictating the wait keeps the human reality, the pacing, the patience, in the document, and pacing is what makes a runbook feel like the person who knows it.
Describe the outputs, not just the commands. Every step of a deploy is a dialogue with a system, and the value of the runbook is knowing which reply means go and which means stop. Say if you see command completed and no errors, continue; if you see a lock timeout, stop and check the cron jobs. Name the exact strings you look for, the line that says migration succeeded, and the account that is safe to ignore. The operators who will read this are not you, and a runbook that says run the migrate step without saying what the expected output looks like is a runbook with no signal.
Narrate around the edges of the deploy, where the real decisions live: how you got the version number, where you confirmed the build, who you pinged to announce the window, and what you did when the alerting dashboard reconfigured. Mention the session you kept open, the creds you needed, and the config branch you used, permissions and branch names without the secrets themselves. The tricky part of most deploys is not the commands, it is the context that surrounds them, and narration captures that context for free because you say it while you are living it. The names belong in the runbook; the values stay in the vault.
Turn each narrated step into a gate with three parts: the action, the expected result, and the failure path. Before you start, say what have you checked; during the run, say what you expect; at each boundary, say what you do if the expectation fails. A gate is not a checkbox; it is a decision with a named consequence. When you narrate a deploy, these gates appear naturally as if this check shows the wrong count, stop and call the DBA, and when you write the runbook, keep them at the step they belong to rather than in an appendix, because the place the check is needed is the place the check lives.
Rollbacks belong next to their gates, not at the end of the document. The reason is simple: when the release goes wrong, the operator is already three steps deep and a rollback section on page four is a section they may never reach. Dictate the reversal in the moment you would run it: if the new version fails health checks after the restart, we restore the previous image and revert the config, and the command is on the line below. Keep the rollback in the operator's path, put the restore-and-revert command directly under the step it undoes, and keep the whole pair on the same screen so a tired operator never has to scroll to find the way out.
Practice the rollback by narrating it on staging. Run the happy path, then deliberately break the check, then run the rollback you just wrote while talking through what you see. This is the single highest-value exercise in runbook work, because it converts the rollback from prose into a procedure that has actually executed. You will discover what you omitted: the database snapshot that must exist first, the config that does not revert automatically, the alert that will fire and needs an acknowledgment. Speak those findings into the runbook the same day, and the doc becomes a tested story, not a hopeful description.
Make the checklist the artifact, not the prose around it. A deploy checklist should fit on one screen: ten to fifteen lines, each a complete check with its expected output and its stop condition, plus the rollback for the two most dangerous steps. The narrative paragraphs can live one level down; the checklist is what a tired operator reads at 2 a.m., so it must be skimmable and exact. Dictating the list is how it stays exact: when you run the deploy, you say the checks in the order you actually run them. The checklist becomes a faithful record of what you do, not an aspirational list of what should be done.
After an incident, the runbook has a narrow window of usefulness: the next twenty-four hours, while the memory is hot and the details are still awkward. Dictate the incident timeline first, what the symptom was, what you checked, what you believed, what actually fixed it, and what you would look at first next time. Do not write the postmortem essay; write the sequence, because a timeline is what the next person needs. Then open the runbook and make the changes the incident implies: add the check that would have caught it, move the warning up, add the failure to the list of known signatures.
Investigate the gap, not the blame. When the incident happened, was the step documented but skipped, or was it not documented at all? The fix differs: the first case is a checklist problem, the second is a runbook problem. Before the meeting, pause and decide which one the story supports. If the missing step was in nobody's runbook and the details are still fresh, narrate the new step into the runbook before the postmortem starts, so the meeting discusses a concrete fix rather than a feeling. Voice dictation is the difference between a memo and a correction: it lands while the year's old details are still in your hands.
Update the runbook in the same session you identify the change, not the same week. Within a week, the incident details dissolve into impressions, and the runbook update becomes a chore with vague notes. If the release process changed, or a new alert was added, or the config route moved, narrate the changed step in the moment, move the old one into a history note, and bump the version. The runbook should be the fastest document to update in your whole system, because an outdated runbook is not merely stale, it is a trap that closes on the next operator who trusts it.
After the incident is closed, run a light check on every failure path your runbook claims to cover: the migration abort, the lock timeout, the health check fail. Make a table of the claimed paths and the tested ones, and fill in the gaps one per week so it is never a burden. A runbook that knows it is incomplete is honest, and a mark of tested is worth more than any claim of completeness. The result is a runbook with evidence behind it, and evidence is what makes an on-call engineer reach for the doc instead of the phone.
Runbooks drift the way all documents do: quietly, one change at a time. The environment gets a new version, a flag is deprecated, the dashboard moves, and the runbook still describes the release as it was last spring. The only reliable counter is a rhythm: every quarter, block an hour and walk the runbook in staging while someone reads it out loud and you execute. The moment the reader says a command that no longer exists, or a check that never happens, pause and re-dictate that step on the spot. This is why narration beats editing: you fix the doc in its own language the minute the gap appears.
Dogfood the runbook on a routine release. The humbling reality is that the person alongside you will spot the missing steps that nobody else sees; the operator on call will spot the steps that don't exist anymore. Use the runbook for a deploy you know by heart, and the friction you feel where it mismatches reality is the signal. Mark each mismatch, then re-dictate the correct order and place the update at the top of the next release's checklist so that the fix is verified quickly. In three months, the runbook stops being a reference and becomes a tool; in a year, it is the manual of truth.
Give the runbook a named owner and a change log. Names are the difference between a document and a responsibility: when a release changes the deploy process, the owner is pinged, not the whole team, and the update happens that day. The change log is a date, a one-line reason, and a keeper of the when and the why, which is exactly the record you wanted when a strange behavior emerges months later. Voice dictation makes this easy: the owner dictates the updated step the day the change ships, and the change log line is a breath of narration, not a meeting.
The end state is not a perfect runbook; it is a routine of runbooks that stay current, and second-nature reading. When the routine becomes habitual, the real failure is the quiet one: the runbook you never open because you already know the steps. That is the moment the drift machine quietly starts again. Answer the honest question each quarter: can the on-call engineer to the left of you run your release cold at 3 a.m., with only the pages you have written? If yes, you are done. If no, the runbook has a job to do, and the routine is what gives it the chance: every deploy is a chance to verify a line, and every incident is a chance to add one.
Narrate a staging run before the live one, so your attention is free to explain. During the live deploy, your review focus belongs to the release window. If you must capture a live run, narrate the pre-checks and verification while you wait, then dictate the core steps immediately after. The goal is a truthful record, not an audio log of a tense half hour.
Yes. Voiskey picks up softer speech, so you can dictate in a low voice at a shared desk or in a war room without announcing the whole procedure to the room. If even a quiet narration feels too exposed, narrate a minute after each step instead of during it; the sequence stays accurate and the room stays quiet.
No. Voiskey types into the document you place your cursor in. You keep typing the commands into the terminal yourself, and you only speak them into the runbook text. The terminal is not a document, and the person at the keyboard remains you. The narration holds the description and reasoning; the fingers hold the commands.
Quarterly at minimum, and any time the environment changes: a platform upgrade, a renamed flag, a new alert, a new team member on call. Run a walk with the runbook in staging, re-dictate anything that fails to match, and record the verification date. After an incident, verify the changed paths immediately, while the details are still clear.
Narrate the names and locations of things, never the values. Say the config file path and which field you rotate, not the credential itself; say which vault holds the keys, not what they contain. Dictate the procedure as a shape, not a secret. The same rule that protects the repo protects the runbook, and Voiskey's typed text honors it.

Choose a real task, follow the steps, and review the results with your team before expanding the rollout.
Use it across macOS, Windows, iOS, and Android