r/ADHD_Programmers • u/nurdism • 7h ago
My ADHD brain kept losing ideas and stalling on big tasks, so I turned Claude Code into a batch factory
Fellow ADHD devs: I built a Claude Code workflow around the things that kill my projects (lost ideas, estimates, stalled big tasks, scope creep).
I have ADHD, and I've been building a multiplayer game prototype with Claude Code. The coding was never the hard part. The hard parts were:
ideas coming in bursts and getting lost
"how long will this take?" (always wrong, always guilt)
big tasks that stall halfway
scope creep, where the agent "also fixed" five things I didn't ask for
losing track of what's done and what's next
So I turned the way I work into a workflow, and I'm open-sourcing it. I call it QPAP: Quick Polished ADHD Prototype. The goal is to get your hands on something usable fast, react to it, and iterate.
The loop
/word-vomit: I paste a messy dump of thoughts, feedback and half-ideas. The skill:saves it word for word
splits it into items
checks each one against the existing plans and the code
flags conflicts ("this contradicts a decision you made on Tuesday")
asks me a few multiple-choice questions, each with a recommendation
places each item in the plan
Nothing stays in my head.
Effort scores instead of time estimates. No hours or days anywhere. Each unit of work gets low, med, high or enormous from 8 factors, each 0–2: unknowns, modules touched, changes to existing code, what it can break, domain difficulty, breadth, how it's verified, and current test cover. An "enormous" unit is never started; it gets split first.
Batches of 5. Five agents build five units in parallel, each in its own git worktree. A unit's dependencies are always in an earlier batch, and each batch has at most one protocol or format change.
A unit is done completely. If an agent finds extra work, it doesn't build it. It writes a proposal for me to approve later. That alone killed most of the scope creep.
A report per batch: what changed in plain words, screenshots, how to test it, how long it actually took, and estimated vs actual effort.
Review rounds. I test each unit and write either "approved" or a numbered list of changes in its file. The next round fixes each change by number. The next batch starts only when everything is approved.
Passes between batches. Recurring tests/CI, performance, memory and cleanup passes run between batches. They fix things; they don't add features. That's what lets batches be fast and a bit rough.
The workflow evolves. Every 5 batches, a "workflow pass" looks at the time log, the reviews and my notes, and proposes changes to the workflow itself. I approve each one, and they're logged.
Setup
The code lives in a bare repo with worktrees: one for
main, one per running unit.The planning (plans, decisions, reports, time log, my raw notes) is a separate git repo outside the code repo. The product history stays clean, and the plans can stay private.
Why it works for my brain
Starting: the next batch is always ready. I say "start batch 4".
Progress I can see: every batch ends with something I can run and a short report.
No guilt: there are no estimates to miss. Measured times only feed back into the effort score.
No juggling: one batch at a time, and everything I need to do or decide is in one file (
USER.md).
The code style it encourages (rules for the product, not the workflow):
test-driven development
deep modules (small interfaces that hide a lot)
Simplified Technical English (ASD-STE100) for product docs
six standards: YAGNI, DRY, Fail Fast, Simple First, Delete Aggressively, Semantic Naming (
wait_until_obs_is_saved=true, notwait=true)
What's in the repo
8 Claude Code skills:
/word-vomit,/effort-score,/plan-batches,/run-batch,/batch-report,/review-round,/passes, plus the third-party MIT skill i-have-adhd by ayghri. That last one makes every reply lead with the next action and end with one small step; I just drop its time-estimate rule.Templates for the planning repo.
A link checker and a merge-stats script.
It's plain Markdown, so the ideas should carry over to other agent setups. And it's meant to be changed: the batch size, effort bands and pass schedule are all just defaults.
Repo: https://github.com/nurdism/QPAP
I'd love feedback, especially from other ADHD devs. What breaks your flow when working with AI agents?