# Writing this book

*Personal, real, mine*

From "Field Notes from a Centaur" by Michell Zappa. Canonical: https://www.michellzappa.com/field-notes/writing-this-book
Cite as: Michell Zappa, "Writing this book", Field Notes from a Centaur, https://www.michellzappa.com/field-notes/writing-this-book

---

I made this book in one long session with Claude Code (a coding agent that works in my files and my terminal).

## Finding the book's material in my chat history

> **Me:** help me work on publishing a book around our field notes from a centaur ;;
> **AI:** I checked the repo. The plan is in place and nothing has started yet. […] The edit work can't make the route decision for you.
> **Me:** Decide the route

> **Me:** So most of my conversations are actually with ChatGPT. How can I extract those insights or real experiences from my GPT? Is it something you can help me with by looking at the ChatGPT client on device?
> **AI:** Yes, I can help. The ChatGPT app is not the way in, though. You already have a better source on this Mac. […]
> **Me:** Yes, mine it

> **Me:** help me ask gpt for such examples for book via prompt
> **AI:** Paste this into ChatGPT. […]

ChatGPT sent back fifteen episodes from my history, and the agent checked them against my export.

> **AI:** Lead with this: the book's current text began as ChatGPT guessing how you use it. […] The same day you compared its entries with your own newsletter text, and the newsletter text was better. […] Not found: "everyone a builder" […]

> **Me:** since 90% of my ai work is with YOU claude code how can we learn from that to inform the book meaningfully
> **AI:** Short answer: right now the book under-uses this, and fixing that is the most meaningful lever left. […] So the book tells mostly the chat-era story, while your actual practice moved to agents.
> **Me:** Yes, include [my Mac mini]

Most of my side of the session looks like this. The agent ends each step with one question and a button, and I press it.

> **Me:** Yes, draft it
> **Me:** Good, put it live
> **Me:** Yes, do Creating
> **Me:** Yes, draft it
> **Me:** Yes, put it live
> **Me:** Yes, do Building
> **AI:** I've started five searches for Building cases: three over your ChatGPT history, one over your Claude sessions and repo rules, and one over the newsletter […]

Over the whole session the agent started more than fifty other agents, many of them searches through my old chats.

## Making the book's text my own words

> **Me:** where can i see these, how do we make the whole writing personal, real, mine
> **AI:** […] the prose is built from sentences you already wrote or said: newsletter text, your talks and calls […], and your own chat messages. My words appear only where the text needs a join, marked [with double brackets] in the draft so you can see every one. […] Honest point about chapters 1 to 3: they are live, but the prose is mine, with your quotes inside it.

In my local preview the marked lines show in grey, so I see at a glance which words are not mine.

> **Me:** "The newsletter issues from 120 on are excluded, because ChatGPT co-drafted them." not true for all where did u learn that?
> **AI:** I overreached. The evidence I had was narrower […] Nothing at all supports "from 120 on". I made that up as a rule.

Then it checked every passage against my old chats, to see who wrote it first.

> **AI:** Lead with this: some text I had treated as yours turned out to be ChatGPT's. […] the issue 120 opener ("This newsletter began as an attempt…") first appears in a ChatGPT reply, so it's cut.

The same check ran on the notes for my talk.

> **AI:** The agent found that much of your […] slide notes was ChatGPT's clean-up. It used none of that text. It used your raw talk, which you had pasted into ChatGPT, instead.

## Choosing images for the book

> **Me:** imagery: how do we enliven it
> **Me:** real artefacts get boring. generated images can look generic. artistic svgs are difficult to look good. what cna we consider if anything.
> **AI:** On imagery: you've named the three usual traps. What's left is imagery made from what only this book has: your words, your data and your own type. […]
> **Me:** Conversation shapes + Octa

Octa is the Envisioning typeface. The shapes drew each chat as bars, my turns above a line and the model's below it.

> **Me:** oh dear the expanding titles in octa 100% dont work
> **Me:** and i meant 1 illustration per chapter, not one per example
> **Me:** the examples need to look more like chat exchanges tho
> **Me:** i dont like the octa font here
> **AI:** Octa is out. Chapter and card titles are back in the site's own Ubuntu Mono, as before. […]
> **Me:** Yes, merge it
> **Me:** the 'graphs' dont add anything, conceptually, imo
> **Me:** the histograms up/down dont teach me anything, nor are they distinguishable
> **AI:** Agreed, and the shapes are gone. […] The chat exchanges stay.

> **Me:** cover: yeah help me design smth pertinent as code. think stripe books imprint.
> **Me:** hmm, good start with cover but too terse imo, think business books. but IT'S GOOD.
> **AI:** I redid the covers in a business-book layout. […] The title is the cover.
> **Me:** cover: dots: make variations of it. idk about all colors switching on the same column maybe vary it
> **Me:** and delete the other cover directions plz
> **AI:** […] ragged: each row switches at its own column, so the edge is uneven.
> **Me:** dots-ragged is the one

> **Me:** the 'book cover' bleeds into the background deosnt look like a book cover tbh
> **AI:** The cover's ink colour is the same as the site's dark background, so it melts in.

## Removing lines that sound like AI

> **Me:** these subtitles are so claudish i dont want them "Who wrote it, how it was made, and who to thank"
> **Me:** this is claudish "This chapter is about coding agents: what I handed over, in what order, and what I kept."
> **AI:** Card subtitles are gone from all chapters and both drafts: all 85 of the agent-written morals under the card titles, like "When it disagrees, listen." […] Delegating still has 57 lines an agent wrote, and they'll keep reading like that.
> **Me:** Yes, strip them
> **AI:** I stripped them. The Delegating draft is now only your words, with no [marked] lines left. It went from 3,322 to 2,027 words.
> **Me:** lets augment with my talk later but keep claudisms as containt as possible for now. leave an issue for me.

## Keeping only the best conversations

> **Me:** how do we 'simulate' epub/kindle to get a sense for how ready the book is? its too short i think.
> **AI:** You're right, it's short. […] As a short read it holds up. As a full book it is thin.
> **Me:** more cards: even them out yes

> **Me:** ok, for the book... what makes it good and useful for people? […] how do we show just hte best convos not SO many
> **AI:** […] You're right: 12 cards per chapter plus the chats in each essay is too many. My earlier move to even them out solved the wrong problem.
> **Me:** Yes, rank them
> **Me:** Yes, apply it
> **AI:** […] The book is now about 12,700 words, roughly 50 pages. That's honest: it's the best material, not the most.

> **Me:** and chapter for Principles: dont make it 7, make it open, and help me find more idiosyncracies about how i work (liek not spelling properly)
> **AI:** The chapter is now called Principles, with no number […]
> **Me:** feel to include many
> **Me:** the 'principles' are undercooked. have a subagent review them, give each example a descirpiotn paragraph, a good/consistent title, togetier with the chat examples? so each principle is a principle/block?
> **AI:** […] It will also merge entries that are really the same principle […] and drop weak ones.

### Field exercise

Ask the agent to mark every sentence it writes in double brackets. Read only the marked sentences and cut each one you would not say yourself. When the agent states a fact about your own work, ask where it learned it. Before you publish, check who wrote each passage first.

## More field notes

### Publishing the cards breaks other files

> **Me:** Yes, put them live
> **AI:** Something went wrong first: when I published the cards, my copy step overwrote the private marked copies of chapters […]. Those files recorded which lines in the essays an agent wrote before you approved them. I couldn't recover them.
> **AI:** I found a bug from my earlier publish: a leftover "Spares" heading from the candidate files went live in 7 chapters.
> **AI:** One slip first: while the image agent was still working, my fix for the stray "Spares" headings swept its unfinished image files into a commit.

### A bad edit mangles the chapters

> **Me:** Yes, fold them in
> **AI:** My regex let the vignette title run across lines, so the first pass mangled the files. […] The content is all there. […] Restored. Now the correct pass, with the title held to one line […]

> **AI:** First, a slip: another session added a rule to the site's CLAUDE.md: no headless Chrome on your laptop, because it makes the Dock jump. I broke it several times today with the cover renders and image checks. I've stopped.
> **Me:** Yes, fold it in

### Removing dates from the stories

> **Me:** dont overindex on dates/years, nobody caresa bout that
> **AI:** Done. […] I removed the 15 date openers. Cases now open with the action […]. I kept only the timings that matter to the story […]

### The agent adds exclamation marks I never wrote

> **Me:** why all exclamations? Iterate! Throw it out! Do it again!
> **AI:** […] the principle heading "Iterate! Throw it out! Do it again!" was mine. I had capitalised your bracket "(iterate! throw it out! do it again!)" into a heading. It now reads "Throw it out and do it again".

### Hiding private details in the conversations

> **Me:** and the exchanges, while true, reveal too much about us imo. how can we make it general enough and not private? ('who can we pitch [our tool] to')
> **AI:** Generalize the specifics. Your words and typos stay, and identifying details become brackets, e.g. "who here should i try pitching [our tool] to?". […]
> **Me:** some of the [our tool] ruin the flow tbh
> **AI:** […] In your chat lines I removed the product name, so nothing is bracketed […]

### Showing where one chat ends and the next begins

> **Me:** this looks like 1 convo but they wre differnent ones
> **AI:** Separate chats. When two exchanges follow each other with only a blank line between them, a thin "another chat" line now sits between them. That covers your […] example, which was four different chats.

### Showing part of the AI's reply

> **Me:** after that message presumably there was a response/summary, even if we dont show, it, show that there was one?
> **AI:** […] When two of your messages come in a row, a small grey "···" bubble now sits between them on the model's side.
> **Me:** "..." as response from ai: shud we not fill in SOME of the response? its weird to have purely ... imo
> **AI:** […] If it can't find the real reply, the "···" stays, so nothing gets invented.

### Looking for a better book title

> **Me:** what are alternative titles for the book
> **AI:** […] The current one was first suggested by ChatGPT. These come from your own lines in the book: […] I Will Do Nothing by Hand […]

### Adding a chapter on how the book was made

> **Me:** lets do a chapter/section of 'how this book was written' as examples of real descriptions of how we're writing it
> **AI:** An agent is drafting a new chapter 9, "Writing this book", after Delegating. The source is this session itself […]
