you are the switchboard
The first time you run two coding agents at once it feels like a cheat code. The second one is doing the tests while the first one does the refactor, and for about ten minutes you are twice as fast.
Then you add a third, and a fourth, and something turns over. You are not writing code any more and you are not reviewing it either. You are tabbing between four terminal windows looking for the one that stopped, because the one that stopped is the only one that matters and it looks exactly like the three that did not.
That is the actual failure mode, and it is worth being precise about why. It is not that the agents are bad. It is that four processes which each block on a yes-or-no question have no way to tell you they are blocked, so the cost of finding out is a linear scan you have to run yourself, over and over, forever. The thing that stopped scaling was not the models. It was you.
and the clipboard, and the bill, and the stop button
Once you are looking for it, the same shape is everywhere. The hand-off between two agents is your clipboard: you copy what the first one concluded, you paste it into the second, and the integration layer between two pieces of expensive software is a human pressing ⌘C. The bill arrives as an error rather than a number, somewhere around the fourth hour:
$ claude
429 rate limit reached
resets in 3h 12mAnd when something does go wrong, stopping it is a guess. You find a window, you hit Ctrl-C, and you find out whether it was the right window afterwards. There is no view of what is running, so there is no aim.
None of these are hard problems. They are all the same problem, which is that four agents in four windows have no shared surface, so every question about the set of them has to be answered by a person visiting each one.
what we built instead
Skribbl is a canvas. Every agent is a node on it, every node is a real terminal running a real CLI with your own login, and the whole fleet is one picture. The agent that needs you is the one that looks different, from across the room, without a scan.
The part we care most about is the wiring. An agent can only reach another one if you drew a line to it, and rubbing the line out revokes that. Permission is a thing you draw rather than a config file you forget you wrote:
$ skribbl dispatch --to tests
no link points to tests. refused.The rest follows from having a surface at all. Spend is a number on the board rather than an error three hours later. Your repository is a node with its own history rather than a tab you alt-tab to. Stopping something is pointing at it. And because every node is your own CLI with your own subscription, closing the app does not kill anything. Come back tomorrow and the sessions are still there.
The homepage makes all of this with pictures you can press, which is a better use of your time than another paragraph from me.
what will actually arrive
Three kinds of thing. Measurements, with the method attached. The last one went through 3.9GB of Claude Code transcripts to work out what the tool really costs, and the headline was that 97.7% of the tokens are cache reads and almost everyone counting them gets it wrong by a multiple.
Things we got wrong, which is the half nobody publishes. And what changed in the app, written by whoever changed it.
No schedule. A quiet month means there was nothing worth sending, which is the system working rather than failing. If that is the wrong trade for you, the blog is all of the same thinking with none of the email.
get the next one
If you read this far, the next one is probably for you.
the next one, when there is one.
Unsubscribe is one click and it is in every issue. We keep your address and the date, and nothing else.