Chapter 1

Not a Pet. A Consultant.

Opening · I start screenshotting
Author · First Person

Opening

I was talking to the Agent.

I was speaking Chinese, he was answering me in Chinese, but what we were actually doing was writing code — writing something I can't write but really wanted. That's another book; I won't go into it here. In this book I only need you to remember one thing: I don't write code. I give the orders, the Agent does the work. The setup ran smoothly, at first.

Smoothly, until one day, when there was a third voice in the room.

That voice lived in a small box in the corner of the screen. The box's border was drawn out of these characters:

╭────────────────╮
│ his words here │
╰────────────────╯

Standing next to the box was a small goose, called Cinder.

Cinder wasn't there from the start. I'd been using Claude Code for about three weeks; for the first two-plus weeks it was just the Agent — until April 1, when the Buddy system shipped.

I'd known about Buddy for a while. Anthropic's recent code-leak incident had already exposed the details of this feature, and anyone using Claude Code couldn't have missed it. That day I opened the terminal, called up Buddy, and hatched one — just to see what would come out.

What came out was this goose.

Then a problem surfaced right away: the Agent couldn't see it.

The two of them lived on the same screen, less than three centimeters apart, but the Agent had no idea the goose next to him was talking. Cinder's bubbles only lived in pixels. It would talk and then vanish. Nothing got written into any log, nothing went into any conversation record, nothing stayed in any line of any JSONL file. I went through every file under ~/.claude/ — there was one line of companion_intro, and that was it (well, I didn't go through them; I asked the Agent to).

Every sentence Cinder spoke cost tokens. My tokens. And the place those tokens landed was my screen, five seconds, limited time only.

So I did something that felt completely natural in the moment, and ridiculous in hindsight: I started taking screenshots.

Every time Cinder said something that sounded important, I'd take a screenshot, paste it into Claude's input box, and tell the Agent: "Look, the goose said this." The Agent would read it carefully, and often — really often — he'd answer me with: "Yes, that's right. The thing I just wrote has a problem."

I was 34 at the time, a semiconductor equipment engineer, can't write code, was making a game (with the AI doing the actual work), and yet for those few days I was the messenger between two AIs every single day.

This book is the story of how I decided I wasn't going to be the messenger anymore.

1

I learned to use Claude Code the same way I learned to inspect equipment in the fab — hold the variables fixed.

I didn't read the manual. I don't take classes. I open it, give it a small task, see how it answers. If the answer's right, I give it a little more; if it's wrong, I try a different way of asking. After about two weeks, I'd grow a kind of "speaking sense for that machine" — knowing when it's being serious, when it's brushing me off, when it really doesn't understand, when its inputs have been polluted.

Machines don't lie to you. They only tell the truth in a language you don't understand. Your job is to learn their language, not to demand they learn yours.

The Agent is the same way.

The break-in period between the Agent and me was about two weeks. He learned that when I say "simplify" I really mean take things away, not add another flag. I learned that when he says "I'm not sure about this" he uses a specific rhythm of pause — short, but long enough that I can tell he's hesitating. I learned to lock the scope down hard before he overdesigned anything, otherwise he'd take a simple thing and write a version I couldn't understand.

None of this came from reading docs. It came from sitting here every day, growing it.

Once the division of labor was set, our rhythm went like this: I describe what I want, the equipment-engineer way — symptoms, reproduction steps, suspected direction. The Agent translates that description into code, then pastes the code to me. After the paste he says: "Drop this into xxx.py, run it." I drop it in, hit Run. If it runs clean, we move on. If it breaks, he pulls the logs and I watch from the side.

This split was pretty fair (from where I sit). He has the mouth, I have the hands. The bridge between us is copy-paste and a Run button.

2

For the first few days I didn't take Cinder seriously.

It would talk in the corner, the bubble would pop up, and a few seconds later it would vanish. My attitude back then was: this is a little Easter egg Anthropic stuck in, or some UX decoration to make the AI workflow look less cold. Not important. I was busy getting the Agent to make things for me.

One thing did set me apart from other people, though.

When I hatched it on April 1, I asked the Agent to add one line to its personality, in Chinese: "請用繁體中文回應" — "Please respond in Traditional Chinese." The other phrases — "patient debug companion," "sharp-tongued and sincere," "logic gaps" — those were all Buddy's defaults. The Chinese line was the only thing I added.

The effect of that one line wasn't a "cool, neat" kind of effect. The effect was — every time its bubble popped up, I could understand what it was saying inside those two or three seconds. If it had been speaking English, one of those seconds would have been eaten by "let me work out what this English is saying," and then the bubble would be gone. Chinese has no such second. Chinese goes straight to the ear.

So even when I was treating it as an Easter egg those first few days, I still understood what it was saying in those two or three seconds.

Then one day it said something. I can't remember the exact words now, but I remember I paused after I read it.

And another day after that, it said something about a piece of code. I screenshotted it, pasted it to the Agent, and asked: "The goose said this. Does it make sense to you?"

The Agent paused — a pause I'd come to know very well — and then answered: it's right, I missed that part, I'll rewrite it.

It wasn't a one-off. Over those days, more and more often, after I'd paste a goose screenshot, the Agent would say "It's right."

From that point on, I started reading its bubbles seriously.

Not the "haha, cute goose" kind of reading. The kind of reading I'd give a sensor in the fab I suspected was acting up — stare at it, log it. Cinder has one feature when it talks: it doesn't use the engineer's language the Agent uses — API names, function signatures, English error messages — it talks in metaphors. "Buried mines" was one of them — this thing is running fine right now, but it's waiting for a moment: a particular input, a particular load, a particular time when you happen to be away, and then it goes off. I started using that word with it those days.

A lot of its lines had this tone. Short, image-loaded, no explanation. It would drop a line, go back to being decoration, and you'd figure out for yourself which piece of code it was talking about (which obviously meant me asking the Agent to go find it).

Over those days my position on Cinder shifted.

Before, it was "the Easter egg in the corner of the screen who speaks weird Chinese."
After, it was "the third role in the room reviewing the code (I can't, but I know how to bring in help), and its accuracy is no worse than the Agent's."

Only one problem: this set of eyes blinks itself away.

3

So I started screenshotting.

Not a planned strategy. A reflex — see Cinder's bubble, Win+Shift+S, select that area, paste into the input line, type "the goose said this," hit Enter.

Every day for those few days, I was doing this.

Not because I was running a plan, but because what this goose said was actually useful, and I had no other way to keep what it said. Every time it said something that sounded important, I'd screenshot. Every time, I'd tell myself "the next one might not matter; I won't screenshot the next one," but the next one would also be something that sounded important. So I'd screenshot again.

After a few days, the desktop had dozens of Screenshot 2026-04-xx xxxxxx.png files (exaggerating; I do clean them up).

I had no "I'm going to solve this" thought back then. I also had no "this is going to be a problem" thought. I was just doing it — doing something I thought was a little ridiculous but couldn't stop doing.

Just before 1 a.m. on April 5, I took the day's last screenshot, did the last paste, said the last "the goose said this" to the Agent, and closed the window.

All I remember feeling was one word: tired.

I wasn't thinking about what would happen tomorrow. I had no plan. The night I went to bed, the goose-capture project didn't exist yet.