Cosa fa ADHD
Gli agenti di coding spesso si ancorano alla prima risposta plausibile, perdendo alternative migliori. ADHD è una skill drop-in che forza un'ampia ideazione prima della convergenza. Utilizza un processo a due fasi:
- Divergenza: Più rami indipendenti generano idee in parallelo, ciascuno usando una diversa cornice cognitiva (ad es. ingegnere hardware, regolatore, speedrunner). I rami non condividono il contesto, impedendo l'ancoraggio.
- Focalizzazione: Un passaggio separato valuta tutte le idee in base a novità, fattibilità e aderenza, identifica le trappole, raggruppa le idee e approfondisce le migliori K sopravvissute.
L'output è un'analisi strutturata: una shortlist, una scelta non ovvia ma praticabile, un elenco di trappole, schizzi approfonditi con rischi e passi successivi, e una provocazione. ADHD è progettato per compiti di progettazione aperti come architettura, naming, refactoring e ipotesi di debugging.
Installazione
Installa ADHD con un solo comando: npx skills add UditAkhourii/adhd.
Questo rileva automaticamente il tuo agente (Claude Code, Cursor, ecc.) e aggiunge la skill.
Per l'installazione manuale, scarica SKILL.md dal repository e posizionalo nella directory delle skill del tuo agente.
Per Claude Code, usa ~/.claude/skills/adhd/SKILL.md; per Cursor, aggiungi in fondo a .cursorrules.
Per usare ADHD come CLI: npm install -g adhd-agent poi esegui adhd "il tuo problema".
Come libreria: npm install adhd-agent e importa run.
La configurazione programmatica con Claude Agent SDK aggiunge la skill al prompt di sistema.
Consulta il repository per i dettagli.
Utilizzo
Esempi CLI:
adhd "progetta un rate limiter che sopravviva a un'elezione del leader"adhd "nomina questa funzione" --frames 3 --ideas 8 --top 2adhd "..." --json > result.json
Uso come libreria: Importa run da adhd-agent e chiamalo con opzioni come problem, framesPerRun, topK.
L'oggetto restituito contiene shortlist, nonObviousPick, traps e schizzi deepened.
Integrazione: Chiama run() nei punti decisionali di un loop agente per ampliare lo spazio delle ipotesi quando sei bloccato o affronti alta incertezza.
Valutazioni: Esegui npm run evals per confrontare ADHD con una baseline su problemi aperti.
import { run, renderText } from "adhd-agent"; const result = await run({ problem: "How should we shard this queue under bursty load?", context: readFileSync("./queue.ts", "utf8"), framesPerRun: 6, ideasPerFrame: 8, topK: 3, onEvent: (e) => console.error(e), }); console.log(renderText(result)); // result.shortlist, result.nonObviousPick, result.traps, result.deepened
Configurazione e Opzioni
| Opzione | Predefinito | Descrizione |
|---|---|---|
--frames N | 5 | Rami di divergenza paralleli |
--ideas N | 6 | Idee per ramo |
--top N | 3 | Idee da approfondire dopo la valutazione |
--concurrency N | 4 | Numero massimo di chiamate LLM parallele |
--context PATH | — | Inietta un file come contesto |
--model NAME | default SDK | Sovrascrivi il modello |
--no-code-mode | — | Disabilita il bias ingegneristico |
--json | — | Output in formato JSON leggibile da macchina |
--quiet | — | Sopprime gli eventi di avanzamento |
L'API della libreria rispecchia queste opzioni in RunOptions.
Cornici cognitive personalizzate possono essere aggiunte modificando src/frames.ts — ogni cornice è un breve prompt di prospettiva con tag.
Le cornici integrate includono ingegnere hardware, regolatore, speedrunner, colonia di formiche e altro.
Vincoli e Best Practices
Costo e latenza: Un'esecuzione predefinita comporta circa 10 chiamate LLM e richiede 30–90 secondi. Usala nei punti decisionali, non in loop in tempo reale.
Non adatto per: Domande di consultazione, bug noti o problemi con una sola risposta corretta.
Best practices:
- Invoca ADHD quando un ingegnere senior si fermerebbe a pensare in modo diverso.
- Mantieni
codeMode: true(predefinito) per attività di ingegneria. - Inietta il contesto pertinente tramite
--contexto l'opzionecontext. - Tratta l'output come materiale grezzo; alimenta gli schizzi approfonditi negli agenti a valle.
- Modifica i frame per adattarli al tuo dominio per un uso ricorrente.
- Inquadra il costo: pochi centesimi e un minuto contro una decisione architetturale sbagliata.
Procedure degne di nota
Aggiunta di un problema di valutazione: Aggiungi una voce di 4 righe a bench/problems.json ed esegui npm run evals.
Installazione manuale della skill: Scarica SKILL.md e posizionalo nella directory delle skill del tuo agente.
Per Claude Code: ~/.claude/skills/adhd/SKILL.md.
Per Cursor: aggiungi a .cursorrules.
Per altri agenti, incolla il corpo nel prompt di sistema.
Installazione globale: Utilizza npx skills add UditAkhourii/adhd -g per rendere la skill disponibile in ogni progetto.
Configurazione programmatica dell'agente: Utilizza l'SDK Claude Agent per aggiungere la skill al prompt di sistema. Vedi lo snippet di codice qui sotto.
import { query } from "@anthropic-ai/claude-agent-sdk"; import { readFileSync } from "node:fs"; const skill = readFileSync("./skills/adhd/SKILL.md", "utf8"); for await (const m of query({ prompt: "design a retry strategy for a CLI whose LLM hangs for 90s", options: { systemPrompt: { type: "preset", preset: "claude_code", append: skill }, allowedTools: ["Task"], }, })) { // … }



