Operator Runbook
12 routines to copy.
1Track what people have promised me, and what I owe them
Every promise from email, texts and meetings, listed in one place with days waiting.
Details
It keeps the same list on me, and closes an item when the promised thing arrives.
Ask first
- Which sources may it read? (default your inbox, your texts, and notes from meetings if you keep them; ignore newsletters and automated mail)
- Who counts as someone you owe or who owes you? (default anyone who wrote to you personally in the last 60 days)
- When is a promise stale? (default 30 days, or 60 days if it has no date)
- Where should the list live? (default one page you open each morning)
Needs
- Read access to the sources
- One saved list with these fields for every item: title, who, direction (mine or theirs), source and link, date captured, due date if any, confidence (high or low), status (open, done or dropped) and why it closed
- A scheduler that can run every 15 minutes
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Every 15 minutes, read messages and notes added since the last run. Pick out sentences where someone commits to do something: "I will", "I'll send", "we'll have it by", "can you send me".
- Save each as one item with every field above. Mark confidence low if the commitment is vague or the date is a guess.
- When a later message in the same thread contains the promised thing (an attachment, a link, the words "here it is"), close the item and write why. Never close an item on silence.
- Mark an item stale after the stale limit and move it to a dropped list, never delete it.
- Show the list with days waiting, oldest first, amber after seven days. This one list is the source for every other run that needs promises: the morning brief reads its Due from you section from it, and the follow-up run adds each commitment it drafts to it.
Check
- Seed three promises in a test thread; confirm all three appear with the right direction and date
- Send the promised thing; confirm the item closes and says why
- Confirm a vague promise is marked low confidence and a stale one moves to the list of dropped items
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code on a 15-minute schedule, one list I open each morning; my morning brief and my follow-up run both read and write it
Built it? Tell Olly.
I owe
Send the revised pricing sheet to Dana Whitlock (email, asked 6d ago)
Others owe me
Intro to the finance lead, from Ravi Sandhu (email, asked 9d ago, amber)
Done this week
Reference notes from Mei Tanaka, closed because her email arrived
2Keep watching until the result is confirmed
Each watch wakes on an email event or hourly, records what it saw, and sends one private text when the result is confirmed.
Details
No still-waiting updates.
Ask first
- What exact result should count as done? (default: confirmed by the original source)
- Which sources may I check? (default: only those tied to this request)
- How often should I check? (default: source alerts, otherwise hourly)
- When should the watch stop? (default: on resolution or an agreed deadline)
- May I contact anyone or buy anything? (default: no; ask first)
Needs
- The original request
- Readable source messages or status access
- A saved last-known state
- An alert route and an agreed deadline
- If your assistant can only chat: paste each new status update; ask whether it meets your completion rule and what remains unverified
Build
- Define the exact resolution condition, the approved sources, the checking cadence and the deadline with the person.
- Read the current source evidence and compare it with the last saved state; a check with no change sends nothing.
- Decide whether the exact condition is met: issued is not received, an approval is not a payment, and tickets announced are not tickets booked.
- Deliver one resolution text with its source, then stop the watch. A blocker (lost access, a page that changed shape) or a deadline reached unresolved gets one separate text with the last verified state; it never claims success.
- Get approval of the recipient and final words before contacting anyone; get separate approval before any purchase or booking.
Check
- Supply a fictional pending update and a confirmed update; request a dry run that resolves only the second and sends nothing.
- Quiet run: supply the same pending update twice; the second check sends nothing.
- Supply an "issued" update for a refund: it stays open until received.
In my version
- Four watches: an invoice payment, a reimbursement, event tickets and a start wave, and a school portal
- Each wakes on an email event or hourly, records what it saw, and texts once when resolved, with the evidence
- No automatic purchase and no outbound chase
Built it? Tell Olly.
Olly's assistant · Refund confirmed
The seller's receipt shows the refund was issued today
Bank arrival is still pending
Source: receipt link
3Brief me on my day and my accounts
One page before I open my laptop: what is on today, what needs a reply from me, what moved overnight in the accounts I care about, and what I have promised that is due.
Details
Ask first
- What time should it arrive? (default 7am on weekdays, your time zone)
- Which calendars and inboxes count? (default your work calendar and work inbox)
- Which accounts or customers should it watch? (default any that wrote to you in the last 30 days)
- Where should it land? (default a page you open, or a message from your assistant)
Needs
- Read access to your calendar and inbox
- A short list of accounts to watch, or a way to infer them from recent mail
- The promises list, if you keep one. If you have none, build it by pulling "I will" and "I'll send" lines from your last 14 days of sent mail, or paste one in
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Each weekday before the set time, read today's events, unanswered mail from the last three days, and any change in the watched accounts since yesterday.
- Write one page with four parts: Today, Needs you, Moved overnight, Due from you. Read Due from you straight from the promises list; do not rebuild it from mail. Keep each part to at most five lines.
- If a part is empty, leave it out.
- Put the page where you read it. Never send anything on your behalf.
Check
- Run it once now and confirm each line names a person or an account, not a general remark
- Confirm nothing on the page is more than three days old unless it is a promise
- Confirm Due from you matches the promises list
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code on a weekday schedule at 7am, written to one page I open in the browser
Built it? Tell Olly.
Tuesday
Today10:00 investor call, 2:00 hiring sync, 4:30 free.
Needs youPriya asked for the revised terms (sent Friday, no reply). The accountant needs the Q3 numbers by Thursday.
Moved overnightBrightwell paid the invoice; Lumen opened our proposal twice.
Due from youintro to Marco, promised Monday.
4Show what moved in my numbers this week, and why
A one-page read of the metrics I own: what moved more than usual, the most likely reason from what else changed that week, and the one thing worth checking.
Details
Quiet weeks say so.
Ask first
- Which metrics do you own? (default the five you look at most)
- What counts as unusual? (default beyond 15% of the four-week average)
- Where do the numbers live and what changed log should it read? (a sheet, an analytics tool; a launch or campaign calendar)
Needs
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
- Read access to the numbers, and a record of what shipped or ran each day
- If your assistant cannot read one of these, paste it into the chat when it asks. A thinner version still works
Build
- Each Monday, pull the last week and the four-week average for each metric.
- Flag any beyond the limit. For each, look at what else changed that week and name the most likely cause, marking it a guess.
- For each likely cause you guessed, write one line saying what would show the guess was wrong, and by when, so the guess can be checked later. Do this only for a metric beyond the limit, never on a quiet week.
- End with one thing to check. If nothing moved, say so in one line.
Check
- Run it on a past week where you know why a number moved; the likely cause matches
- Confirm a guess is labelled as a guess
- Say whether the writing step ran for real or on sample text. Check that every quote and link on the page matches its source, and drop any that does not
In my version
- Claude Code on a Monday schedule, a note in my docs and a message
Built it? Tell Olly.
Week of 12 Oct
Signups 412, up 18% on the four-week average. Likely cause: the webinar on Wednesday (118 came from its link).
Trial to paid 9.1%, down from 11%. Check: the pricing page changed Tuesday.
Everything else within the usual range.
5Run the weekly ops review
One page for the Monday meeting: what shipped, what slipped and why, what is blocked, and the three decisions needed this week.
Details
Ask first
- Which trackers? (a task tool, a spreadsheet)
- Who attends the meeting?
Needs
- Read access to the trackers
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Each Monday, list what changed status last week.
- Mark anything late with its reason from the tracker.
- List what is blocked and who owns the block.
- Name the three decisions needed.
Check
- Run it on last week; every item is in the tracker
- Confirm a late item shows who owns it
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code on a Monday schedule, a page in my docs
Built it? Tell Olly.
Ops, week of 12 Oct
Shippedvendor onboarding, new invoice flow.
Slippedwarehouse labels (waiting on legal).
Blockedtwo items, both waiting on finance.
Decisionsapprove the labelling vendor; confirm the November hiring plan; move the Q4 audit.
6Track vendor and contract renewals
Every contract with a renewal date in the next 90 days: who, how much, how to cancel and by when, so nothing auto-renews unnoticed.
Details
Ask first
- Where is your contracts list?
- How far ahead? (default 90 days)
Needs
- Read access to the contracts list, or a pasted list
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Each Monday, list renewals within the window.
- Work out the cancel-by date from the notice period.
- Mark any whose cancel-by date is within 14 days.
- Say if a notice period is missing. Put each cancel-by date inside 14 days on your calendar.
Check
- Run it with a seeded contract; the cancel-by date is correct
- Confirm a missing notice period is flagged
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code on a Monday schedule, a message
Built it? Tell Olly.
Renewals, next 90 days
Analytics tool$9,600 a year, renews 20 Nov, cancel by 20 Oct (notice: 30 days).
Office leaserenews 31 Dec.
Action this weekdecide on the analytics tool.
7Explain budget variance
Where actual spend departed from the budget, the size of each gap, and the likely reason, with the three that matter.
Details
Ask first
- Where are the budget and the actuals?
- What counts as a variance? (default over 10% or $1,000)
Needs
- Read access to both, or paste them in
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- On the 5th, compare last month's actual to budget by line.
- List lines beyond the limit with the gap in dollars and percent.
- Give a reason only where a transaction shows it; otherwise say unexplained.
- Pick the three biggest.
Check
- Run it on last month; every gap is arithmetic you can check
- Confirm an unexplained gap is labelled so
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code monthly, a page in my docs
Built it? Tell Olly.
Variance, September
Oversoftware $4.1k (budget $3.0k), two new seats and an annual prepay.
Undertravel $1.2k (budget $3.5k), a trip was cancelled.
Watchcontractor spend, up 22% three months running.
8Digest what is blocked across teams
Everything blocked across teams in one list: what is waiting, on whom, and for how long, oldest first, so I can unstick it.
Details
Ask first
- Which trackers?
- What counts as blocked? (default marked blocked or no change in a week)
Needs
- Read access to the trackers
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Each Wednesday, list items marked blocked or unchanged for a week.
- Name who each one waits on and how long.
- Sort by age, oldest first.
- If nothing is blocked, say so in a line.
Check
- Run it on a week you know; every item is real
- Confirm age is counted from the first block
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code on a Wednesday schedule, a message
Built it? Tell Olly.
Blocked, Wed
9 days: warehouse labels, waiting on legal.
6 days: November hiring plan, waiting on finance.
3 days: new vendor contract, waiting on a signature.
9Find the work three people each do by hand
Spot recurring work that several people do separately by hand, and propose one shared run for it with who would use it and how many hours it would give back.
Details
Ask first
- Which trackers and channels? (a task tool, a team chat)
- What counts as repeated? (default the same task by at least three people in a month)
Needs
- Read access to trackers and team messages, or paste what people say they repeat
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Each month, read task titles and messages for tasks that recur.
- Group the same task done by different people.
- For each group, count people and hours from the records. Say if hours are a guess.
- Propose one shared run, an owner and the next step. Never change anything.
Check
- Run it on last month; one group is a task you already knew was duplicated
- Confirm hours are labelled estimates where records are missing
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code monthly, a page in my docs
Built it? Tell Olly.
Repeated by hand, October
Weekly vendor invoice checkthree people (finance, ops, procurement), about 90 minutes each. Same steps in each case.
Proposedone run that checks invoices against purchase orders every Monday, and flags mismatches.
Ownerops. Saves about 4 hours a week.
Nextask the three whether they agree.
10Spot the handoffs that drop work between teams
Work that was handed from one team to another and has had no movement for a week, with who passed it, who should have picked it up, and the last message about it.
Details
Ask first
- Which trackers and channels?
- What counts as dropped? (default no movement for seven days after a handoff)
Needs
- Read access to trackers and team messages
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Each Thursday, find items reassigned or mentioned as handed over in the last 30 days.
- Check each for movement since the handoff.
- List those with none for seven days, with who passed it, who received it and the last message.
- Suggest one nudge for each. Never send it.
Check
- Run it on last month; one item is a handoff you know fell through
- Confirm an item that moved is not listed
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code on a Thursday schedule, a message
Built it? Tell Olly.
Dropped handoffs, Thu
New vendor contractlegal passed it to finance on 7 Oct; no reply since. Last message: "Can you take a look?" (7 Oct).
Warehouse labelsops to design on 3 Oct; design says it never arrived.
Askone nudge each.
11Summarise long docs and threads before I read them
Each long email, attachment or thread gets a short card: what it is, what it asks of me, any date I must meet, and what I would push back on.
Details
I read the card first and the original only if it matters.
Ask first
- What counts as long? (default over 400 words or any attachment)
- Which sources? (default your inbox and one shared folder)
- Where should the card land? (default a page you open)
Needs
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
- Read access to mail, attachments and the folder
- Somewhere to write a card per item with a link back
- If your assistant cannot read one of these, paste it into the chat when it asks. A thinner version still works
Build
- Every 15 minutes, look for new long items you have not summarised, skipping any marked handled by another run, and read each fully.
- Write a card: what it is, what it asks of you, dates, and what you would push back on. Under 80 words.
- Link the original. Mark anything with a date in the next seven days.
- Never reply or forward.
Check
- Run it on a document you know well; every date on the card is in the document
- Confirm a short email is skipped
- Say whether the writing step ran for real or on sample text. Check that every quote and link on the page matches its source, and drop any that does not
In my version
- Claude Code on a schedule, cards written to a page I open each morning
Built it? Tell Olly.
Fromschool office. PDF, 6 pages.
So whatthe trip is Thursday 14 Nov; a permission slip and £18 are due by Friday.
Asks of mesign the slip, pay online.
DatesFri 8 Nov.
Would push back onnothing; the packed-lunch rule is new.
12Turn my scattered notes and threads into one clear guide
I name a topic.
Details
It gathers my notes, the chat threads and the half-finished documents on it, removes what is out of date or repeated, and writes one self-contained page that someone new could follow, with every step traced to where it came from.
Ask first
- What is the topic? (a plain name, such as vendor onboarding)
- Where should it look? (default your notes, your team chat and the folder for that topic)
- Who is the guide for? (default someone new to it, with no background)
Needs
- Read access to the notes, threads and documents on the topic, or paste them in
- A place to save one page
- If your assistant cannot read one of these, paste it when it asks. A thinner version still works
- Any password or token is entered by you into your device's secure store, never pasted into a chat or saved in a plain file
Build
- Collect every note, thread and document that mentions the topic, with its date and where it came from.
- Group them into steps in the order someone would do them. Where two sources disagree, keep the newer one and list the conflict.
- Drop anything marked out of date, repeated, or about a different topic. List what was dropped and why.
- Write one page a newcomer could follow without asking anyone. Put the source and date after every step.
- Leave the page in your docs. Never share it.
Check
- Run it on a topic you know well; every step is something you would agree with and has a source
- Confirm a step with no source is marked unsourced and not written as fact
- Confirm the conflicts you know about are listed
- Say whether the writing step ran for real or on sample text. Check that every figure, quote and link matches its source, and drop any that does not
In my version
- Claude Code on demand, one page in my docs
Built it? Tell Olly.
Guideonboarding a new vendor
1Ask for the tax form and the bank letter before anything is signed (from the finance thread, 3 Sept).
2Add them to the vendor list with the renewal date (from your notes, 14 Sept).
3Send the access request to IT (from the old README).
Left outtwo steps marked out of date (the paper form, the old portal).
Conflictthe thread says 30 days to pay; the old README says 45. Check which is current.