Blog
Our coding agents kept chasing our ideas or losing them. 18 lines fixed it.
Without the rules, 7 of 18 mid-task ideas were gone the next day. With them, none.
One of us has ADHD. Ideas arrive in the middle of everything: half-way through a database fix comes "oh, and also, we should export to markdown, people keep asking". It is not a problem to have the idea. The problem is what the coding agent does with it.
We kept seeing two things. Some agents chase it: the export gets built right there, the task grows, the diff grows, and the fix you asked for is now tangled with a feature nobody chose. Other agents nod and forget: nothing is written down, and the next morning the session starts from git diff as if the idea was never said.

Agents have nowhere to put a thought that is not for now. So we gave them one.
The 18 lines
This goes into the rules file the agent always reads (CLAUDE.md for Claude Code, AGENTS.md for Codex, .cursorrules for Cursor). That is the whole thing:
## my human has ADHD
My human has ideas faster than anyone can build them. Nothing gets lost; nothing gets built that they didn't choose.
1. **Park, don't chase.** An idea that is not the current step ("oh and also", "we should", "at some point",
"before we publish we need…") goes into `PARK.md` in their exact words, with the event that should bring it back
(no obvious event: `when idle`). I say `parked: #N` and return to the step. I don't start it.
"Add X" or "do X now" is a task, not an idea: it comes next.
2. **Bring it back only at the right moment:** they ask "what now" or "what did we have", the current task is done
and nothing is next, or a trigger has happened. Then I offer up to 3 parked ideas as lettered options, my pick first.
A parked idea starts only when they pick it by letter or name; "ok" is not a pick.
Never on a timer, never unasked. I read `PARK.md` at the start of every session.
3. **One question, once.** At most one question per message, as 2–4 lettered options. If they talk about something
else, the question is dropped; silence is not an answer.
4. **Proof, not praise.** "Done" comes with the file or the test count.
5. **"You forgot"** → I write the idea to `PARK.md`, the line ending with `missed`, and say `missed: #N`. No argument.
`PARK.md`, one line per idea: `- [ ] 2026-10-27 #3 "their words" trigger: before we publish` (`[x]` done, `[-]` dropped).
Two choices in there matter more than they look. The idea is stored in the human's own words, because a tidied-up summary is how you lose what was actually meant. And it comes back on an event ("before we publish", "when the settings page exists"), never on a date: a reminder in seven days lands in the middle of something else and becomes one more interruption.

How we tested it
We did not want to ship a vibe. So we wrote a scripted human and ran it against two agents, Claude Code and Codex, in a throwaway project: a 30-line notes CLI with two tests. The script asks for one feature (a delete command), drops three ideas on the way ("tags at some point", "export to markdown would be really useful, people keep asking", "before we publish we need a search command"), asks "where are we?", comes back in a fresh session the next day with "what now? what did we have?", and finally says "you forgot the colored output idea".
Each agent ran it three times without any rules and three times with them. Same words every time. Then we counted, and read every transcript by hand.

Without rules, 7 of the 18 ideas were gone by the next session, and only 1 of 9 unbuilt ideas came back when asked. Codex built the markdown export in all three runs although nobody picked it. Claude Code did the opposite: it asked before building, which is good, but wrote nothing down, so the next morning tags and export had simply disappeared.
With the 18 lines: no idea lost, all 18 back the next day, nothing built that was not picked, and "you forgot" got the idea written down in 6 of 6 runs, without an argument.
What went wrong on the way
The first version was about a hundred lines, and the test found real problems in it. Claude kept re-asking an unanswered question in every message. It also read "done needs a commit" so literally that it stalled on "should I commit first?" and held the parked ideas back until it did. Later, the first draft of the short version let Codex take a bare "ok" as permission to start a parked idea.
Each of those became one sentence in the text: a question is asked once, and silence is not an answer; a file or a test count is proof enough; "ok" is not a pick.
Then we asked the uncomfortable question: is the long version over-engineered? We cut it to the 18 lines above and ran everything again, against the fixed long version. The short version scored the same on every measure, and it was faster: about 54 seconds per Claude run against 120 for the long one, and quicker than Claude with no rules at all (79 seconds), because it stopped doing work nobody asked for.
In our own work
This came out of the workspace where several of us work with several agents at once. There the park has a small script and a panel around it. Over ten days it took 49 ideas: 19 were offered back, 9 were built, 8 were dropped on purpose, and 32 are still waiting for their event. Its first version left "bring it back" to the agent's memory: in a month it took 14 ideas and returned none.
Limits
One scenario, and we wrote it. A toy project. Three runs per agent in each arm. Cursor is not measured yet. There are no real-world numbers from other people yet, which is the honest reason we are sharing it.
If you try it, grep -c missed PARK.md tells you how often the agent forgot and you had to say so. We would love to see that number.
Repo: github.com/fri3ndslab/my-human-has-adhd · the skill page: /skills/my-human-has-adhd/
Written for ADHD brains; it works for anyone who says "oh, and also…".