Qué hace ADHD
Los agentes de codificación suelen anclarse en la primera respuesta plausible, perdiendo así mejores alternativas. ADHD es una habilidad que se integra fácilmente y fuerza una ideación amplia antes de la convergencia. Utiliza un proceso en dos fases:
- Divergencia: Varias ramas independientes generan ideas en paralelo, cada una usando un marco cognitivo diferente (por ejemplo, ingeniero de hardware, regulador, speedrunner). Las ramas no comparten contexto, lo que evita el anclaje.
- Enfoque: Un paso independiente puntúa todas las ideas según novedad, viabilidad y ajuste, identifica trampas, agrupa ideas y profundiza en las K mejores supervivientes.
El resultado es un análisis estructurado: una lista corta, una elección no obvia pero viable, una lista de trampas, bocetos profundizados con riesgos y próximos pasos, y una provocación. ADHD está diseñado para tareas de diseño abiertas como arquitectura, nombrado, refactorización e hipótesis de depuración.
Instalación
Instala ADHD con un solo comando: npx skills add UditAkhourii/adhd.
Esto detecta automáticamente tu agente (Claude Code, Cursor, etc.) y agrega la habilidad.
Para una instalación manual, descarga SKILL.md del repositorio y colócalo en el directorio de habilidades de tu agente.
Para Claude Code, usa ~/.claude/skills/adhd/SKILL.md; para Cursor, añade al archivo .cursorrules.
Para usar ADHD como CLI: npm install -g adhd-agent luego ejecuta adhd "tu problema".
Como biblioteca: npm install adhd-agent e importa run.
La configuración programática con el SDK del agente Claude añade la habilidad al mensaje del sistema.
Consulta el repositorio para más detalles.
Uso
Ejemplos de CLI:
adhd "diseña un limitador de tasa que sobreviva a una elección de líder"adhd "nombra esta función" --frames 3 --ideas 8 --top 2adhd "..." --json > result.json
Uso como biblioteca: Importa run de adhd-agent y llama con opciones como problem, framesPerRun, topK.
El objeto devuelto contiene shortlist, nonObviousPick, traps, y bocetos deepened.
Incrustación: Llama a run() en puntos de decisión dentro de un bucle de agente para ampliar el espacio de hipótesis cuando estés atascado o enfrentes alta incertidumbre.
Evaluaciones: Ejecuta npm run evals para comparar ADHD con una línea base en problemas abiertos.
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
Configuración y opciones
| Flag | Predeterminado | Descripción |
|---|---|---|
--frames N | 5 | Ramas de divergencia en paralelo |
--ideas N | 6 | Ideas por rama |
--top N | 3 | Ideas a profundizar después de la puntuación |
--concurrency N | 4 | Máximo de llamadas LLM en paralelo |
--context PATH | — | Inyectar archivo como contexto |
--model NAME | predeterminado del SDK | Anular modelo |
--no-code-mode | — | Desactivar el sesgo de ingeniería |
--json | — | Salida JSON legible por máquina |
--quiet | — | Suprimir eventos de progreso |
La API de la biblioteca refleja estas opciones en RunOptions. Se pueden añadir marcos cognitivos personalizados editando src/frames.ts; cada marco es un breve prompt de perspectiva con etiquetas. Los marcos integrados incluyen ingeniero de hardware, regulador, speedrunner, colonia de hormigas, y más.
Restricciones y best practices
Coste y latencia: Una ejecución por defecto implica ~10 llamadas LLM y tarda entre 30 y 90 segundos. Úsalo en puntos de decisión, no en bucles en tiempo real.
No adecuado para: Preguntas de consulta, correcciones de errores conocidos o problemas con una única respuesta correcta.
Best practices:
- Invoca ADHD cuando un ingeniero sénior se detendría a pensar de manera diferente.
- Mantén
codeMode: true(predeterminado) para tareas de ingeniería. - Inyecta contexto relevante mediante
--contexto la opcióncontext. - Trata el resultado como materia prima; alimenta los bocetos profundizados a agentes posteriores.
- Modifica los marcos para adaptarlos a tu dominio en usos recurrentes.
- Enmarca el coste: unos céntimos y un minuto frente a una decisión arquitectónica equivocada.
Procedimientos notables
Agregar un problema eval: Añade una entrada de 4 líneas a bench/problems.json y ejecuta npm run evals.
Instalación manual de la skill: Descarga SKILL.md y colócalo en el directorio de skills de tu agente.
Para Claude Code: ~/.claude/skills/adhd/SKILL.md.
Para Cursor: añade al final de .cursorrules.
Para otros agentes, pega el contenido en el prompt del sistema.
Instalación global: Usa npx skills add UditAkhourii/adhd -g para que la skill esté disponible en todos los proyectos.
Configuración programática del agente: Usa el SDK de Claude Agent para añadir la skill al prompt del sistema. Consulta el fragmento de código a continuación.
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"], }, })) { // … }



