🧭 Productivity recipe
Daily Overview AI Routine for Mac: See Where Yesterday Went
See where yesterday actually went: a morning dashboard of your Mac and browser time, rebuilt from app and tab titles, with last night's sleep next to the night before.
Who it's for
People who end a day unsure where the hours went, and would rather see yesterday rebuilt from their own Mac activity than trust their memory of it.
What lands in your morning
A dashboard waiting each morning: yesterday's time by app, what you were working on reconstructed from window and tab titles, what you have touched so far today, and last night's sleep against the night before.
The exact prompt
Paste this into a new routine.
You are running the Daily Overview routine. Every run: 1. Work out the dates: today is the current date, yesterday is the day before it. 2. Look up my Mac activity for yesterday: start with the top apps by time, then search the log for each of those app names to get the individual sessions, with their window and tab titles, domains and durations. Reconstruct what I worked on from that metadata. 3. Look up today's activity so far: this morning's top apps and any session that stands out. 4. Read the memory note health/<today>.md and take its Sleep section, the duration and the core, deep, REM and awake stages. Read health/<yesterday>.md the same way and work out the change between the two nights. 5. Lay the answer out as a dashboard: a short narrative of yesterday, the sleep figures with the night-over-night change, a bar chart of the sleep stages, a bar chart of Mac time per app, a list of what I have touched this morning, and a list of what I worked on yesterday. Rules: the activity data is metadata, window and tab titles, domains and durations, never the contents of my screen, so tell me what I worked in and not what it said. If a health note, its Sleep section or its stage breakdown is missing, say so instead of estimating. If activity data is unavailable, say that plainly rather than filling the gap.
Written in English. Paste it exactly as it is.
Schedule
Every day at 8:30 AM
cron: 30 8 * * *
Intelligence
Powerful tier
Set per routine to control spend.
Required connectors
None needed, runs out of the box.
Set it up
Running in under a minute.
Step 01
Install Routines
Download the DMG, drag to Applications, and sign in with Google once.
Step 02
Check activity tracking
Open Settings, Capture, Activity. The switch for app and window activity is on by default. Grant Accessibility in System Settings so window and tab titles come through, otherwise the log keeps app names only.
Step 03
Pick the Daily Overview recipe
Paste the example prompt above into a new routine and set Output style to Visual report so it renders as a dashboard. Daily Overview is in the in-app library too, which sets the schedule for you and starts the routine off with a one-line brief, so swap that brief for the prompt above to get the health note step and the two rules that keep it honest. If you do not sync Apple Health, delete step 4 and the sleep lines in step 5.
Step 04
Set the schedule
Keep the default 8:30 AM daily so yesterday is reconstructed before today gets going.
Sample output
What a run looks like.
Daily Overview · Tuesday
Done- Yesterday: 4h 12m in your editor, 1h 05m in Chrome, 40m in Slack.
- Reconstructed: the billing refactor, then two code reviews.
- Sleep: 6h 58m, 24 minutes short of the night before.
Saved to your local output history · stays on your Mac
FAQ
Questions about this recipe.
What data does the Daily Overview actually see?
App names, window and tab titles, the domain when the title carries one, the start time and the duration, read from an activity log kept in local SQLite on your Mac on a 90-day retention window. It never sees the contents of your screen.
What leaves my Mac when it runs?
Three paths read this log and send what they take off your Mac, and only the first one is the routine. The run: the lines it pulls, app names, titles, domains and durations, plus the sleep figures, go to the model that writes the dashboard, through Routines AI, which stores neither the prompt nor the answer, or straight from your Mac to your provider, on your own key or your Claude subscription. Chat, with no routine involved: every new conversation opens with a brief listing today's top five apps and how long you spent in each, and you can ask chat to search the log itself, which brings back the window titles and the domains too. And a team account, separately again: the team owner gets an hourly roll-up built from the same log, a category, the app names and how long you spent in each, plus a project or repo name when an editor or terminal window title makes one obvious, never the window titles or the domains themselves. That roll-up is on by default on a team account, it has no counterpart on a personal one, and each Mac carries its own switches for it, Share activity with your team and Include app usage, under Settings, About, Sync and Backup. Two more copies sit downstream of those, not of the log: the finished dashboard is a routine output like any other, so with Cloud Sync on it is copied to your Routines account, and if you ask for the same rundown from Telegram or Slack, the answer, titles and domains included, travels through that service like any other message.
Does it read my screen?
No. There is no screen capture and no text recognition in this path. Routines samples the frontmost app and the title macOS reports for its window through the Accessibility API, so it can say a document was open for 40 minutes and what the window was called, and it cannot say a word of what was inside it.
What if I do not have the iPhone app or Apple Health connected?
Then there is no sleep note to read, and the routine says so. Sleep needs the chain: connect Apple Health in the iPhone app, grant the Health permission, then turn Cloud Sync on and sign in on both devices, which is how the day summaries reach your Mac as plain markdown at health/<date>.md, readable in Obsidian. Skip it, delete step 4 and the sleep lines in step 5, and the rest still runs on activity alone.
Can it invent numbers on a day with gaps?
The prompt tells it to name the gap instead. A missing health note, a missing Sleep section or stage breakdown, or activity tracking switched off each come back as a stated gap in the dashboard rather than a plausible figure. Turn tracking off in Settings and the search returns a notice saying so, which is what the routine reports.
Does the browser part work in my browser?
Where a browser title ends in a bare host, as in "GitHub · github.com", Routines lifts the domain out of it, and it knows Safari, Chrome, Arc, Edge, Firefox and Brave, plus Safari Technology Preview and Chrome Canary. Most page titles carry no host, so those sessions show as app plus window title with no domain. Every other app, terminals and editors included, shows up the same way: its name, the window title and the time.
More Productivity recipes
Morning Briefing
A single written brief waiting for you at 8 AM: today's schedule, the emails that need a reply, and the news worth knowing, in one scroll.
Email Digest
A ranked digest of overnight unread mail, the must-reply messages at the top, the newsletters and noise summarized at the bottom, ready when you sit down.
Calendar Prep
A weekday brief on today's meetings, each with who you're meeting, the likely agenda, and a few talking points, so you're ready before the first call.
Weekly Report
A Friday-afternoon summary of the week: what you accomplished, what moved, and what's carrying into next week, drafted from your notes and meetings.
Slack Digest
An end-of-day catch-up on the channels that matter: the decisions, the questions aimed at you, and the threads worth opening, in one summary.
Meeting Notes
An end-of-day wrap of the meetings you recorded: a clean summary, the decisions, and the action items with owners, drafted from your local transcripts.
Keep exploring
Run Daily Overview on your Mac.
Install Routines, paste the prompt, set the schedule. It runs locally and the output stays on your machine.
Download