
Simon Willison published a small fix this morning for agent-written pull request descriptions, and I expect it to spread. This is a Field Note on what the fix collapses along with the noise.
The short version
- Simon Willison's November 9 post says most of his changes now arrive as PRs opened by Claude Code or Codex, that agent-written descriptions are accurate and comprehensive, and that his reaction is still "I'm not reading all of that."
- His fix: fold the agent's essay inside a details element labeled with the model and effort level, and put a short human-chosen opener above it.
- By his own list the essay holds the problem, the solution, and the steps taken to verify, so the verification is now under the fold, and all five of his example openers say what changed and none says what was checked.
- In this repository 343 of 401 commits since September 1 carry an agent co-author line, the median agent commit message is 192 characters, and the real essays are the run reports: last week's five creator scan digests ran 66,349 to 82,798 characters, with the list of what was not read starting as late as character 74,764.
- The opener needs three lines: what changed, what was not checked, and what the reader is deciding. Line two comes from the run's record, and for a scheduled run the notification is the opener.
What Willison changed
The post is short and practical. Most of the changes he makes to his projects now come as PRs opened for him by Claude Code or Codex. The PR is his unit of work. And the agents are great at writing PR descriptions.
Too great. An agent-written description is "accurate and comprehensive." It covers the problem, the detailed solution, and the steps taken to verify it. His reaction to that much text: "I'm not reading all of that." He says this holds even when the driving author is him. "It's not necessarily slop, but it reads like slop!"
What he wants is human editorial judgement. So the opening paragraph of his PRs is now "the shortest text a human can read that will help get them up to speed," sometimes with a screenshot. The full agent essay goes inside a details element, which GitHub renders collapsed, and the summary line is the model name and often the effort level. Then the promise: "My promise to the reader is that the short opener will represent my human judgement as to what is definitely worth their time."
He lists five recent PRs with their openers. One, from datasette, explains that a 220KB script was loaded on every table, row, and database page even for users who could not edit anything, and is now loaded only for users who can.
The mechanism is right. Labeling the fold with the model and effort level is a good detail, because it tells the reader what kind of author is under there.
What went under the fold
Read the five openers as he quotes them. Each one says what changed. None says what was checked.
Now reread his list of what the agent writes: the problem, the solution, and the steps taken to verify it. The verification is in the essay. The essay is collapsed. So the fold hides the noise and it hides the one section a reviewer's decision depends on.
For Willison this costs nothing. He ran the session. He knows what was tested because he watched it, and on his own projects the first reader is often him.
That is not the queue most teams are getting. In Ramp's Non-Engineers Shipped 7,000 PRs in a Quarter. The PM's Day Is Decisions Now. I used two reported numbers: more than 7,000 pull requests from Ramp's non-engineers in a quarter, and about 11% of PostHog's merged PRs in October opened by its own product. The reviewer in that queue did not run the session. Often nobody did. A good first paragraph about what changed, sitting on top of a collapsed block, is exactly the shape that gets approved on the paragraph.
The field note under his post is this. Agent descriptions got better than the reader's patience. Accuracy stopped being the constraint and attention took its place. Whatever sits above the fold is now the whole review for most readers, so what sits there has to be the part they cannot afford to skip.
My own fold
I counted mine before writing this. As of this morning the repository behind this site had 401 commits since September 1, and 343 of them carry an agent co-author line. The commit messages are fine. The median agent-written one is 192 characters.
343 of 401
The essays are the run reports. The creator scan that feeds this blog wrote five of them last week. They ran from 66,349 to 82,798 characters, 9,579 to 11,807 words. Each ends with a notes section that says which sources were read in full, which only to a paywall, and which were not opened. Across the five, that section started between character 62,735 and character 74,764.
On November 6 it started at 74,764 of 82,798. Nine tenths of the way down. That is the same day I published Nielsen Says a Map Beats a Babysitter. Write the Map for the Next Run., which says the evidence state is the line that keeps an unread source out of a published post. I wrote that sentence and filed the evidence state under 74,000 characters of other text.
No fold needed. Length did the hiding.
Three lines above the fold
Keep Willison's mechanism and change what the opener is for. The AI Product Management argument is that producing got cheap and deciding did not, so the opener should serve the decision.
What changed. His line, as he writes it.
What was not checked. Tests that did not run. Sources not opened. The paywall where the read stopped. If everything was checked, say so in five words.
What you are deciding. Merge, pick between two options, approve a spend. Or "nothing, for the record," which is a legitimate opener and saves the reader the search for an ask that is not there.
Fold everything else, and label the fold with the model and the effort level the way he does.
Two rules go with it. Line two is not prose the agent composes. An agent asked to summarize what it did not check tends to write a reassuring sentence. The line should be built from the run's own record: which checks executed, which files were read to the end. And when no person ran the session, there is nobody to keep Willison's promise, so the promise moves to the format. For a scheduled run, the notification that reaches a phone is the opener.
Today's creator scan report is the first one that opens its ideas section with what it did not read.
One count to keep: how often anyone opens the fold. If the answer over a month is never, what is under it is an archive, and the three lines above it are the entire review.
This week, take the last agent-opened PR you approved and find the sentence that says what was not tested. Time how long it takes. Then put that sentence second.
Related answer: What should the first lines of an agent-written PR description say?
Sources: Simon Willison, "Hide your slop PR descriptions behind details-summary," simonwillison.net, November 9, 2026, read in full; the title as published carries the two HTML tags, and his five example openers are read as he quotes them in the post, not from the pull requests themselves. The Ramp and PostHog figures are as reported in "Ramp's Non-Engineers Shipped 7,000 PRs in a Quarter. The PM's Day Is Decisions Now.." The 401 and 343 commits, the 192-character median, and the digest sizes and offsets are counts of this repository taken on the morning of November 9, 2026.
Frequently asked
What is Simon Willison's fix for agent-written PR descriptions?+
In a November 9, 2026 post he describes putting the agent's full description inside an HTML details element, which GitHub Markdown renders as a collapsed section, with the model name and often the effort level as the summary line, for example Claude Opus 5.5 Medium. Above it he puts a short opener, sometimes with a screenshot, chosen as the shortest text a human can read to get up to speed. His promise to the reader is that the opener represents his human judgement of what is worth their time.
Why does he say agent descriptions are a problem if they are accurate?+
Because they are too good at describing the work. By his account an agent-written description is accurate and comprehensive, covering the problem, the detailed solution, and the steps taken to verify it, and his instant reaction to that much text is that he is not reading all of it, even when he drove the session himself. It is not slop, he writes, but it reads like slop.
What does the fold hide?+
The verification. The agent's essay is where the steps taken to verify the change are written, and it is the part that gets collapsed. All five of the example openers Willison quotes describe what changed, and none says what was checked or left unchecked. For an author reviewing his own project that is fine. For a reviewer deciding on a change someone else's agent opened, the unchecked part is the line the decision depends on.
What three lines belong above the fold?+
What changed, which is Willison's opener. What was not checked: tests not run, sources not opened, the point where a read stopped. And what the reader is being asked to decide, or a plain statement that nothing is being asked. Everything else folds, labeled with the model and effort level as he does.
Who writes the opener when no person ran the session?+
The agent writes line one, but line two should come from the run's own record, not from prose the agent composes: the list of checks that ran and did not run, the sources read in full, in part, or not at all. For a scheduled run, the notification is the opener. On falkster.com the November 9, 2026 creator scan digest is the first to open its ideas section with that evidence state instead of leaving it in the notes at the end.
What did the same check show in this repository?+
As of the morning of November 9, 2026 the repository had 401 commits since September 1 and 343 carried an agent co-author line. The median agent-written commit message was 192 characters, so commits were not the problem. The five creator scan digests written November 2 to 6 ran 66,349 to 82,798 characters each, and the notes section saying what was not read began between character 62,735 and character 74,764.

Sign in with LinkedIn to leave a comment.
Sign in with LinkedIn