run() at decision points inside a larger planning, coding, or review agent, and feed the deepened sketches back into the agent’s context.
Good moments to call it
- An agent stuck after N attempts on a bug — widen the hypothesis space with new hypothesis classes
- A planning agent at a branch point with high uncertainty
- A code-review agent asked “what could go wrong here”
- A refactor agent picking which abstraction to introduce
- A test-generation agent generating adversarial inputs (the inversion frame is built for this)
Programmatic skill injection (Agent SDK)
You can also inject the skill itself into a Claude Agent SDK session, letting the agent run the loop with its own Task tool instead of via the library:Which shape to pick
Library run() call
Minimal token substrate — each branch carries only the problem + frame prompt. Structured
RunResult back. Best for batch and embedding in pipelines.Skill inside a session
The agent orchestrates the frames itself with fresh-context Task calls. Zero extra dependencies, but every branch re-loads the session’s base context — see the cost model.
Real-world integrations
Projects have wired ADHD into their own loops in several shapes — mesh-orchestrator peers (repowire), a marketplacethink plugin (mstack), an anchoring-bias pre-pass before review (zk-flow-oss), and a codebase-onboarding explanation engine (wtfismyrepo). See Adopters for the full list.