# What my morning looks like

Published: 2026-07-23T00:00:00.000Z
Canonical: https://wow.pjh.is/journal/what-my-morning-looks-like

So what do my mornings look like? Well, here's today.

## Waking up

I'm not a *real* [AI maniac](https://wow.pjh.is/journal/ai-maniacs): my phone charges in another room, and almost all the apps are [blocked](https://appblock.app/) until 10am.

## Session 1

It's 08:45, I'm in the café. I start with the [daily briefing](https://github.com/HartreeWorks/skill--chief-of-staff/blob/main/SKILL.md):

![A terminal-based daily briefing showing the morning schedule, priorities and work sessions](https://wow.pjh.is/static/images/blog/mitl-1.jpeg)

No calls! Nice. OK, S1: write a blog post. But... I want to write a post about what my mornings look like. And I have a bunch of small tasks in-flight and overdue. That kind of work would be good material for this blog post. So... let's make S1 "clear smalls", take screenshots as I go, and then I'll blog it in S2.

What else is in the briefing?

![The second half of the daily briefing, with overdue tasks, weekly commitments and warnings about off-plan work](https://wow.pjh.is/static/images/blog/mitl-2.jpeg)

Right. Chief of Staff offers help with five tasks; I delegate four to new agent [panes](https://wow.pjh.is/journal/pane-skill):

![The end of the briefing: the chief of staff offers to start on five tasks, and launches four fresh Codex sessions](https://wow.pjh.is/static/images/blog/mitl-end-of-brief-actions.jpeg)

While they're getting to work, I review the tabs I left open from yesterday (ngh, so many).

OK, a couple of [TYPE III AUDIO](https://preview.type3.audio/) improvements in-flight. Let's get those moving:

![A terminal conversation planning how an audio pipeline should narrate a simple one-row table](https://wow.pjh.is/static/images/blog/mitl-4.jpeg)

![A terminal showing a generated narration correction report and the code paths behind it](https://wow.pjh.is/static/images/blog/mitl-5.jpeg)

I unblock some other threads to improve personal skills, utilities and my `AGENTS.md`. I typically make 5+ such improvements per day, as issues come up or ideas come to me. This compounds, and it's kind of my job to experiment with this stuff. But it can easily become a distracting waste of time—I'm still learning how to handle this. Writing now, I think: "huh, I should ask my `/recap` skill to help me spot the time-wasters"—it can see all my agent sessions, and could BOTEC the cost-benefit...

The remaining \~20 threads, split across another \~10 tabs, are things I don't want to think about right now.

So now I have about 10 agent sessions in progress. Some of them have [pinged](https://wow.pjh.is/journal/coding-agent-notifications) to say they're now waiting on me. Let's review\...

![Two terminal panes showing the day plan beside an accountant’s email and a drafted reply](https://wow.pjh.is/static/images/blog/mitl-3.jpeg)

Cool, so this accounting thread looks good. No revisions needed—I just type "send email".

Next, [podcatcher](https://wow.pjh.is/journal/the-podcatcher-ive-always-wanted). The Chief of Staff had written a decent handoff prompt:

![The Chief of Staff's handoff prompt for the podcatcher beta invitations](https://wow.pjh.is/static/images/blog/mitl-podcatcher-invitations.jpeg)

The CoS *really* wants me to get the podcatcher beta invites out this week. Fair enough: we did make that the number 2 goal in my week plan, and it's carried for several days.

![A Podcatcher production-readiness report with a go verdict, blocker checklist and draft tester invitation](https://wow.pjh.is/static/images/blog/mitl-10.jpeg)

The agent has reviewed the app and thinks we're ready. It's found the contact details of two people who registered for the beta and drafted emails to send.

OK... I'll come back to this in S3.

I review the other threads and wrap a bunch of them. A couple of TYPE III AUDIO updates are deployed to production. I skim-read the code changes before deployment, but I trust [ce:code-review](https://github.com/everyinc/compound-engineering-plugin) more than myself at this point.

OK, it's just past ten. I've lost track. What are my priorities for the morning again? I hit `CAPS LOCK + J` to bring up the briefing.[^1]

[^1]: I strongly recommend [Hyperkey app shortcuts](https://notes.pjh.is/Use+the+CAPS+LOCK+key+for+custom+keyboard+shortcuts).

![The morning plan rendered in Roughdraft as a table with sessions, outcomes and constraints](https://wow.pjh.is/static/images/blog/mitl-11.jpeg)

Got it? OK but what have I actually done so far? Back to Terminal (`CAPS LOCK + T`), and let's `/recap`:

![An intraday recap comparing planned sessions with 76 tracked minutes, 35 agent chats and completed work](https://wow.pjh.is/static/images/blog/mitl-12.jpeg)

The `/recap` output is good but not perfect—it omits an important TYPE III AUDIO deploy. The recap draws on many data sources: agent chats, Git commits, emails sent, Todoist tasks, screenshots that are taken every minute, and so on. But it somehow missed this, so I ask an agent to investigate.

![An off-plan review showing violated focus constraints, unfinished commitments and the morning’s nine commits](https://wow.pjh.is/static/images/blog/mitl-13.jpeg)

The recap agent is yelling at me for breaking two commitments on my "do not do" list. Fair point. And yeah, I was pretty scattered. And some of these completions are small potatoes, not obviously above the bar.

OK, well session 2 has a clear focus: write this blog post. So let's kick that off before I leave the café.

Codex hands off a `/blog-draft` task:

![Two terminal panes showing the full blog brief and a fresh Codex agent beginning the privacy-first image work](https://wow.pjh.is/static/images/blog/mitl-15.jpeg)

Last time I asked an AI to redact screenshots it failed hard. But that was a few months ago. Let's see how it goes.

I switch to my phone Wi-Fi hotspot so that Codex can [keep working while I walk home](https://wow.pjh.is/journal/dont-sleep).

Then PING, my [break reminder](https://wow.pjh.is/journal/so-break) hits me:

![Another break reminder over the terminal while the drafting agent continues working in the adjacent pane](https://wow.pjh.is/static/images/blog/mitl-16.jpeg)

I've used several break reminder apps over the years. None have been anything like as effective as this one, because I've refined it to be the *perfect fit for me*. Perhaps 4 hours of iterative development work, all-in, spread over a couple of weeks. Surprisingly large ROI—a regular schedule forces resets that keep me on track. And no—the app never fires when I'm on a call, etc.

Walking home I pick up some groceries and pet a very good boy. Codex continues drafting the blog post in my backpack.

![A friendly dog on a wet Reykjavík pavement beside my shopping bag](https://wow.pjh.is/static/images/blog/mitl-20.webp)

When I'm home, I open my laptop to this:

![The terminal showing the original post brief beside the agent’s completed draft and redaction verification report](https://wow.pjh.is/static/images/blog/mitl-17.jpeg)

![The local AI Wow preview showing the draft title, opening paragraphs and first screenshot](https://wow.pjh.is/static/images/blog/mitl-18.jpeg)

At a glance, the text looks *terrible*, but there might be a few details I can take. And the screenshots are correctly redacted! Nice.

OK but wait I'm really hungry. I make some food and proof-listen a TYPE III AUDIO episode that was regenerated during session 1.

![A LessWrong article playing a TYPE III AUDIO narration on my phone](https://wow.pjh.is/static/images/blog/mitl-21.png)

But huh, why is the audio player in dark mode when the LessWrong site is in light mode? I open ChatGPT on my phone but... the Codex connection hangs. Ugh, OK, I'll ask Hermes instead.

![Two phone screenshots side by side: the ChatGPT mobile app trying to reconnect to my Codex desktop session, and a Hermes agent session in Discord receiving a request to fix the LessWrong audio player](https://wow.pjh.is/static/images/blog/mitl-22-and-24.png)

There'll be a report on my desk shortly.

## Session 2

Brunch complete—back to my desk. My iPad autoconnects as a third screen, and desk lights switch on automatically—thanks to scripts an agent wrote last year. Four screens would be [better](https://wow.pjh.is/journal/llm-screen), but Reasons.

![My desk with the AI Wow preview on the monitor and the post source open on my laptop](https://wow.pjh.is/static/images/blog/mitl-25.webp)

OK, Hermes has delivered the LessWrong investigation, but forget that for now—it's blog post time!

The text is indeed terrible. I move it to a separate window, and start writing from scratch.

![The local article preview scrolled through its screenshot-and-narrative sequence](https://wow.pjh.is/static/images/blog/mitl-19.jpeg)

OK, I have a first draft. Time for a break. Before getting up, I check my phone. Notifications!

![Phone notifications showing an agent escalation in Slack, a completed Hermes fix, a Todoist reminder and an email from my accountant](https://wow.pjh.is/static/images/blog/mitl-26.webp)

What's going on here:

1. My TYPE III AUDIO watcher agent escalates a system alert it is concerned about.
2. Hermes still wants me to review the LessWrong audio player bug—actually, the notification suggests it already fixed it locally.[^2]
3. An AI-created task in Todoist reminds me to do something, with the prompt already written in the task description.
4. My accountant just replied.

[^2]: I'm confident it won't have *deployed* the fix, due to deterministic guardrails in my setup.

Let's get the agents on (1), (3) and (4).

A few minutes later:

![The accountant reply drafted and a Bunny CDN alert investigated](https://wow.pjh.is/static/images/blog/mitl-accountant-email-2-and-bunny-cdn.jpeg)

To be clear: the first two panels are one-shots. For the first, I typed `CMD+D` (new pane), `cx 7` (open Codex to my admin project) and prompted:

> looks like X has emailed again, plz can you review and sign the engagement letter? show me key details before signing

For the second, `CMD+D`, `cx 4`, and:

> plz handle the bunny cdn todoist task

The third is a debug thread: Cloudflare bot protection is blocking our crawler. We go back and forth for about five minutes, resolving an issue that would have taken at least an hour two years ago.

OK... session 2 is now overrunning—I need to publish this blog post and move on. I ask Codex to redact my latest screenshots and merge two phone screenshots into a single image. I run my [/blog-edit](https://wow.pjh.is/journal/publish-blog-post-claude-skill) skill, reviewing outputs in my fork of [Roughdraft](https://github.com/peterhartree/roughdraft).

![The /blog-edit review of this post open in Roughdraft, with my comments replying to the agent's numbered suggestions](https://wow.pjh.is/static/images/blog/mitl-blog-edit.jpeg)

I review Codex's suggestions and ask it to apply most of them. I re-read, and we do a second round of edits.

Looks good. Time to [/blog-publish](https://wow.pjh.is/journal/publish-blog-post-claude-skill).

The first version goes out. A few minutes later I get a ping with 5 candidate doge illustrations to use for the header and social cards. Hehe.

![Five candidate doge illustrations generated for the post's header and social cards](https://wow.pjh.is/static/images/blog/mitl-pick-cards.jpeg)

My agent adds the header image and checks it at several breakpoints: sometimes positioning details need to be tweaked, and sometimes it can get that right without my input.

Done.
