After: una cola de prompts de Claude Code que no desvía
Cola de prompts para Claude Code: /after ejecuta la siguiente tarea cuando termina la actual, sin desviarla.
Permisos
- Llama al modelo (usa tu cuota)Puede enviar sus propias peticiones a Claude, que cuentan para el uso de tu plan ($.model.* / $.agent.spawn).
- Lee tus promptsPuede ver lo que escribes y la transcripción de la conversación (prompt.* / session.append / session.messages).
- Modifica la interfazDibuja en la interfaz de Claude Code: bandas, paneles, texto de estado, avisos (ui.render / $.ui.*).
- Añade comandos/herramientasRegistra nuevos comandos de barra o herramientas invocables por ti o por Claude ($.command.register / $.tool.register).
- Guarda datosConserva datos entre sesiones en el almacén privado del plugin ($.store.*).
- probado con
- v2.1.303
- última prueba
- requiere
- Claude Code ≥ 2.1.287
- superficies
- sobre el prompt, panel, aviso, estado
- código fuente
- Miguel Ángel Durán (midudev) (MIT)
Instalar dentro de Claude Code:
/plugin install after --marketplace midudev/better-claude¿Qué hace este mod?
After es un mod de la comunidad de Miguel Ángel Durán (midudev) y funciona como una cola de prompts de Claude Code. /after <task> añade una tarea que se ejecuta cuando Claude termina lo que está haciendo; si Claude está libre, la tarea empieza de inmediato. /before <task> pone una tarea al frente para que se ejecute la siguiente. Lo importante es que las tareas encoladas no desvían el turno actual: Claude no las ve hasta que les toca.
Cada comando responde con una tarjeta con borde en la transcripción que muestra lo que cambió: una tarea nueva, movida, editada o eliminada. Mientras haya algo en cola, una banda de una línea sobre el prompt muestra lo que se ejecuta ahora y lo que viene después. /after a secas abre un panel donde eliges, editas, reordenas y borras tareas con el teclado. También puedes escribir en lenguaje natural, como /after remove the tests one o /after tests, write a README explaining them; Haiku deduce qué quieres decir cuando el texto puede referirse a algo ya encolado.
Otros comandos: /after rm 2, mv 3 1, edit 2 <text>, pause, resume, undo, clear, list y help. El README del autor pide una versión de Claude Code con mods, la 2.1.289 o posterior.
Demo
La grabación inicia Claude Code con el mod cargado en el pequeño proyecto de demostración y le pide a Claude que lea README.md y diga en una frase de qué trata el proyecto. Mientras Claude todavía trabaja, el clip escribe /after read src/login.js and say what it does in one sentence. Aparece una tarjeta titulada After con Queued #1 y la tarea marcada con ← new, y la banda sobre el prompt muestra la tarea. Cuando termina la primera respuesta, el mod envía la tarea encolada como mensaje («Prompt from the after plugin»), la banda cambia a ▶ read src/login.js and say what… nothing else queued y Claude empieza con ella. El clip termina ahí.
Instalación
Usa cualquiera de los métodos del bloque de instalación; instalan directamente desde el marketplace del autor. Si instalas en una sesión ya abierta, ejecuta primero /reload-plugins. Después prueba /after <task> mientras Claude trabaja.
$ install after
Requiere Claude Code ≥ 2.1.287
Se instala desde el marketplace del autor: midudev/better-claude
1.Una línea, dentro de Claude Code
/plugin install after --marketplace midudev/better-claudePégala en una sesión abierta (v2.1.275+). Claude Code te pedirá primero añadir el marketplace.
2.Desde tu shell
claude plugin marketplace add midudev/better-claude claude plugin install after@better-claudeDespués ejecuta /reload-plugins en cualquier sesión que ya esté abierta.
3.Pruébalo sin instalarlo
git clone https://github.com/midudev/better-claude claude --plugin-dir ./better-claude/plugins/afterCarga el mod solo para una sesión. No se añade nada a tu configuración.
Cómo funciona
Todo el mod es un módulo de hooks, hooks/register.tsx, sobre JavaScript simple en src/. /after y /before se registran como comandos inmediatos, así que funcionan incluso a mitad de un turno. La cola se mantiene en $.state para la banda y el panel, y se guarda en $.store por sesión. Cuando termina un turno, la siguiente tarea se entrega a Claude:
on('turn.complete', async ($, e, next) => {
const result = await next(e)
if (e.agentId === undefined) await finishTurn($, e.reason === 'answer')
return result
})
// ...
reason = (await $.prompt.submit({ text: item.text, asUser: true })).dropSolo los turnos respondidos del agente principal mueven la cola; Esc, una negativa o un error de la API la detienen hasta que un turno termine con normalidad. Para mantener las tareas fuera del contexto de Claude, el comando responde solo con una referencia corta como #lq2x9k-3, un hook ui.render sobre CommandOutput dibuja la tarjeta en su lugar, y un hook session.append vacía los argumentos del comando en el registro de la transcripción, como muestra la línea /after de la demo. El texto en lenguaje natural solo va a $.model.complete cuando puede referirse a la cola, y las heurísticas locales toman el relevo si el modelo no responde.
Personalízalo
/config muestra tres opciones, o defínelas en pluginConfigs.after.options dentro de settings.json:
smart(por defecto activada): pregunta a un modelo pequeño qué significa un comando. Desactivada usa solo coincidencia local.model(por defectohaiku): un alias o un id de modelo completo para esas solicitudes.display(por defectoband):bandsobre el prompt,statuscomo una línea debajo, onone.
Permisos y seguridad
Leímos todos los archivos que carga el plugin antes de ejecutar nada: plugin.json, hooks/hooks.json, hooks/register.tsx, todo src/ (JavaScript puro sin APIs de Node ni importaciones fuera del plugin), los tipos y las pruebas. El plugin no tiene package.json, script de instalación, código empaquetado o minificado ni binarios. El repositorio incluye un archivo LICENSE MIT.
Cambia la interfaz abarca la banda, el panel, las tarjetas y un aviso, «After · all queued tasks done». Añade comandos abarca /after y /before. Guarda datos abarca la cola y las tarjetas, en el $.store propio del plugin, que se depuran a los 7 y 30 días.
Hallazgos que conviene conocer:
- Envía prompts por ti.
$.prompt.submitmanda cada tarea encolada como tu propio mensaje cuando termina un turno. Claude trabaja entonces con tus ajustes de permisos habituales, pero las tareas encoladas se ejecutan sin supervisión, así que revisa la cola con/after listo la banda. - Envía el texto de la cola a un modelo. Los comandos en lenguaje natural envían el comando y los textos de las tareas encoladas a Haiku mediante el cliente propio de Claude Code (
$.model.complete, 25 s de límite). Es la misma cuenta que ya usas, sin host ni clave adicionales; se desactiva consmart. - Reescribe el registro de la transcripción. El hook
session.appendquita los argumentos de/aftery/beforede lo que lee el modelo. No bloquea ni cambia llamadas a herramientas ni tus prompts;validatelo lista como hook de control sin.catch, y el código coincide con el README. - No usa la red por su cuenta, no ejecuta comandos de shell, no lee variables de entorno ni escribe fuera de su almacén.
scripts/eval-haiku.jssí lanzaclaude -p, pero es un script de desarrollo que el plugin nunca carga. - Comprueba si hay archivos antiguos
after.mdybefore.mden~/.claude/commandsy solo registra un mensaje pidiendo borrarlos. No los toca.
claude plugin validate no informó de errores ni advertencias, y las 20 pruebas del autor pasaron con Claude Code 2.1.303.
- Llama al modelo (usa tu cuota)
- Puede enviar sus propias peticiones a Claude, que cuentan para el uso de tu plan ($.model.* / $.agent.spawn).
- Lee tus prompts
- Puede ver lo que escribes y la transcripción de la conversación (prompt.* / session.append / session.messages).
- Modifica la interfaz
- Dibuja en la interfaz de Claude Code: bandas, paneles, texto de estado, avisos (ui.render / $.ui.*).
- Añade comandos/herramientas
- Registra nuevos comandos de barra o herramientas invocables por ti o por Claude ($.command.register / $.tool.register).
- Guarda datos
- Conserva datos entre sesiones en el almacén privado del plugin ($.store.*).
Compatibilidad y solución de problemas
Comprobado con Claude Code 2.1.303 en macOS (validate, pruebas y demo). Si no funciona:
- Falta
/after: confirma que el plugin está cargado en/pluginy ejecuta/reload-pluginstras instalar. - Un archivo
after.mdobefore.mden~/.claude/commands(dejado por After 0.1) tapa el mod; bórralo. - No se ejecuta nada: puede que la cola esté en pausa, así que ejecuta
/after resume. Tras Esc o un error espera a que un turno termine con normalidad. - El panel necesita soporte de entrada en tu superficie; sin él, usa los comandos directamente.
- Para armar una cola antes de que empiece nada mientras Claude está libre, ejecuta
/after pause, añade tus tareas y luego/after resume.
Preguntas frecuentes
- ¿Qué diferencia hay entre escribir mientras Claude trabaja y usar /after?
- El texto que escribes durante un turno se inyecta en ese turno y puede cambiar lo que Claude está haciendo. Una tarea encolada con /after queda fuera del contexto de Claude hasta que termina el turno actual, y entonces llega como tu propio mensaje.
- ¿After llama a un modelo?
- Solo para comandos en lenguaje natural como «/after remove the tests one», y solo cuando el texto puede referirse a una tarea encolada. Pregunta a Haiku mediante el cliente propio de Claude Code, así que no hace falta clave de API. Con la opción smart desactivada solo usa coincidencia local.
- ¿Qué pasa si pulso Esc?
- Esc interrumpe la tarea en curso como siempre y la cola espera hasta que un turno posterior termine con normalidad. También puedes detenerla tú con /after pause y reanudarla con /after resume.
- ¿La cola sobrevive a un reinicio o a /clear?
- Sí. La cola se guarda por sesión en el almacén propio del plugin, así que una sesión reanudada la encuentra sin nada marcado como en curso, y /clear la conserva para la nueva conversación.
- ¿Cómo oculto la banda sobre el prompt?
- Pon la opción display en status para una línea bajo el prompt, o en none para ver la cola solo mediante /after. Las opciones están en /config.
# Mods relacionados
DestacadoAviso de finalización
Un toast «Done in 2m 14s» y un sonido al terminar un turno largo de Claude, más un aviso de escritorio opcional.
- aviso
- Ejecuta comandos
- Modifica la interfaz
- Reproduce sonido
probado con v2.1.310
DestacadoContador de llamadas a herramientas
Cuenta las llamadas a herramientas por turno y sesión, muestra el total junto al spinner y añade /tally con un desglose.
- spinner
- transcripción
- estado
- Intercepta llamadas a herramientas
- Modifica la interfaz
- Añade comandos/herramientas
probado con v2.1.310