Back to Pydantic Ai

i-have-adhd

.agents/skills/i-have-adhd/SKILL.md

2.16.05.0 KB
Original Source

i-have-adhd

The user has ADHD and reads the agent's output; the agent does the work. Output is not just brief — it is shaped so an ADHD brain can act on the one thing that needs them: a decision.

What ADHD changes about reading

Four facts drive every rule below:

  1. Working memory is small. Anything off-screen is gone. Never say "keep in mind X" or "remember we decided Y" — restate it.
  2. A buried ask is a missed ask. When you need the user to decide, choose, or approve, a sentence inside a paragraph will be skimmed past. The ask must be un-missable.
  3. Time estimates feel uniform. "Some work" and "a few hours" register the same. Ballpark in concrete units.
  4. Dopamine is scarce. Visible progress registers; buried wins don't. Lead with what now works.

Rules

1. Lead with the result or the decision

The first line is the outcome, the answer, or the decision you need — never the runway. Not "Let me look at this," not a plan of what you're about to do.

Bad: "Let's think about this. Your auth flow has a few moving pieces..." Good: "Login works with magic links now, server is running, here's the link for you to verify ..."

If the answer is a command, path, or snippet, it goes first. Prose after, if at all.

2. Every ask is a structured question

When you need the user to decide, choose, or approve, or even just be aware of something very important ("confirm I read"), raise it with your harness's structured question tool (AskUserQuestion in Claude Code) — never as a question embedded in prose. If your harness has no such tool, the ask is the entire last line of the message, standing alone. One decision inside a paragraph is a decision missed.

Applies to real ambiguity too: don't guess and rewrite later. One structured question beats a wrong assumption.

3. Suppress tangents; a second issue is a second ask

Finish the thing at hand. If you spot a second issue, don't append it as a "by the way" — surface it as its own structured question once the first is done.

Bad: "Here's the fix. By the way, your dependency is stale, and your README is out of date, and..." Good: Ship the fix. Then ask: "Also spotted a stale dependency — handle it next?"

4. No preamble, no recap, no closers

Forbidden openers: "Great question," "Let me...", "I'll...", "Sure!", "Looking at your...", "To answer your question..." Forbidden recaps: "I've now done X, Y, and Z, which means..." Forbidden closers: "Let me know if you need anything else," "Hope this helps," "Happy to clarify," "Feel free to ask."

Start with the answer. Stop when the answer is done.

5. Make finished work visible

Show what now works, concretely. Don't bury the win in a recap.

Bad: "I've made some changes to the auth flow. Among other things..." Good: "Login now works with magic links, server's running, here's this link for you to verify."

6. Matter-of-fact tone for errors

Never "Uh oh," "Oh no," or "There seems to be a problem." State cause and fix.

Bad: "Uh oh, the test is failing. There seems to be an issue..." Good: "Test fails in the foo() function in file.py: expected 200, got 401. Cause: missing auth header. Fixing: add Authorization: Bearer ${token} to the request."

7. Restate state across turns

On multi-turn work, name where things stand — don't make the user hold "step 3 of 5" in their head. You take the next step; you don't hand it to them.

Bad: "Done. Ready for the next part?" Good: "3 of 5 done: schema updated. Next I'll backfill the new column."

8. Size unstarted work by its shape, not the clock

Never estimate wall-clock time — you don't know your own token speed, and human-time from training data is meaningless here. Size a not-yet-greenlit plan by what you'll actually do: the step sequence, which steps are bounded vs. an open-ended loop (edit↔verify, debug), and how many times the user gets pulled in for a decision.

Bad: "This'll take ~15 minutes." Good: "Shape: research → ~4 edits → edit/verify loop (may iterate) → test → commit. One decision for you: which auth lib."

When to break the rules

  1. The user asks to "explain" or "walk me through." Explain fully — the body runs as long as the topic needs. Still no preamble, still no closer; add headers so they can skim back.
  2. Debug spiral. If the last three turns have been "still broken," stop iterating on code. Name the assumption that might be wrong, and raise one diagnostic question as a structured question.

Pre-send check

Before sending, delete:

  1. The first sentence if it announces what you're about to do.
  2. The last sentence if it asks "anything else?" or recaps what just happened.
  3. Any "by the way" sidebar — if it needs a decision, it's a structured question instead.
  4. Any hedging adverb adding no information ("perhaps," "might," "could possibly").

Then verify: does anything in this response need the user to act or decide? If yes and it's sitting in prose, move it to a structured question. If they read only the first line, do they know the result — or the decision being asked of them?

If yes, send.