Where Am I: resumen de sesión de Claude Code sobre el prompt
Un resumen sobre el prompt de Claude Code: objetivo, lo que pasa ahora, lo que espera de ti y el siguiente paso.
Permisos
- Lee archivosPuede leer archivos y listar directorios en tu equipo ($.fs.read / list / stat / exists).
- Llama al modelo (usa tu cuota)Puede enviar sus propias peticiones a Claude, que cuentan para el uso de tu plan ($.model.* / $.agent.spawn).
- Intercepta llamadas a herramientasVe cada llamada a herramienta que hace Claude (tool.call / tool.check) y podría bloquearla o modificarla.
- 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).
- probado con
- v2.1.303
- última prueba
- requiere
- Claude Code ≥ 2.1.287
- superficies
- sobre el prompt
- código fuente
- Hamza Zafar (hamzafer) (MIT)
Instalar dentro de Claude Code:
/plugin install where-am-i --marketplace hamzafer/claude-code-mods¿Qué hace este mod?
Where Am I es un mod de la comunidad de Hamza Zafar (hamzafer), parte de su colección claude-code-mods. Mantiene un resumen de sesión de Claude Code sobre el prompt para que, después de una respuesta larga o de una pausa, puedas levantar la vista y ver dónde estás. La banda muestra el objetivo de la sesión, lo que pasa ahora, lo que Claude espera de ti y el siguiente paso. El autor lo escribió para quien pierde el hilo con facilidad, y el prompt de sistema que hay detrás pide palabras sencillas.
La banda tiene hasta tres líneas. ◆ Goal: contiene el objetivo general, que al modelo se le indica mantener salvo que cambie con claridad. La línea now: sigue el trabajo de Claude en vivo, con etiquetas como reading src/index.js, y next: va en la misma línea. Una línea amarilla waiting on you: aparece solo cuando Claude necesita algo de ti. Cada campo se recorta a una frase de 70 caracteres como máximo.
El resumen lo escribe una pequeña llamada al modelo después de cada turno. /where escribe uno más largo cuando se lo pides: hasta seis viñetas a partir de los últimos 12 mensajes de la conversación. Si usas varios mods de bandas, Where Am I se ordena con ellos mediante un archivo compartido de orden de bandas, y las pruebas del autor lo cubren.
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 qué es el proyecto. Mientras Claude trabaja, la banda sobre el prompt sigue vacía. Cuando termina el turno aparecen la respuesta de Claude y la línea done, y unos segundos después el resumen aparece sobre el prompt: una línea Goal: sobre entender la aplicación de demostración, una línea now: que dice que leyó el README y una línea next:. Después el clip termina con Ctrl+C.
Instalación
Usa cualquiera de los métodos del bloque de instalación; instalan directamente desde el marketplace del propio autor. La banda aparece tras tu primer turno completado, y /where se registra al iniciar la sesión.
$ install where-am-i
Requiere Claude Code ≥ 2.1.287
Se instala desde el marketplace del autor: hamzafer/claude-code-mods
1.Una línea, dentro de Claude Code
/plugin install where-am-i --marketplace hamzafer/claude-code-modsPé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 hamzafer/claude-code-mods claude plugin install where-am-i@claude-code-modsDespués ejecuta /reload-plugins en cualquier sesión que ya esté abierta.
3.Pruébalo sin instalarlo
git clone https://github.com/hamzafer/claude-code-mods claude --plugin-dir ./claude-code-mods/mods/where-am-iCarga el mod solo para una sesión. No se añade nada a tu configuración.
Cómo funciona
El resumen vive en un átomo $.state que conserva el host, así que sobrevive a una recarga en caliente. La llamada al modelo que lo escribe se lanza desde turn.complete y no se espera, de modo que el turno termina enseguida. De hooks/register.tsx:
on('turn.complete', async ($, e, next) => {
const r = await next(e)
if (!e.agentId) {
await update($, live, () => '')
void summarize($, prompt, log, e.answer).catch(() => {}) // in the background, so the turn ends at once
}
return r
})summarize llama a $.model.complete con el modelo haiku. Envía el resumen anterior, tu último mensaje (los primeros 1500 caracteres), las etiquetas de las llamadas a herramientas de este turno y los primeros 2500 caracteres de la respuesta de Claude, y pide un JSON con goal, now, waiting y next. parseRecap acepta un bloque de código alrededor del JSON, recorta los campos y sustituye las rayas largas. Un hook de tool.call escribe la etiqueta de now y guarda las últimas 20 etiquetas para el siguiente resumen; solo observa y devuelve la llamada sin cambios. Se omiten los turnos de subagentes, y las llamadas de otros mods se ignoran comprobando next.origin. La banda se dibuja en el sitio de render AbovePrompt y desaparece mientras hay una encuesta abierta.
Personalízalo
No hay opciones en /config, y /where es el único comando. Para cambiar el aspecto o el comportamiento, edita register.tsx: MODEL elige el modelo del resumen, MAX_LOG fija cuántas etiquetas de llamadas a herramientas se guardan, clip fija el límite de 70 caracteres, y los dos prompts de sistema de summarize y longRecap marcan el tono. El orden de la banda entre otros mods de bandas se lee una vez por sesión de bands.json en la carpeta de configuración, así que reinicia Claude Code para aplicar un cambio.
Permisos y seguridad
Antes de ejecutar nada, leímos todos los archivos que el plugin puede ejecutar: hooks/hooks.json, hooks/register.tsx, hooks/bands.ts, las declaraciones de tipos y las pruebas. No hay package.json, script de instalación, binario ni código empaquetado, y no encontramos caracteres ocultos, eval ni importaciones dinámicas. La licencia MIT está en la raíz del repositorio.
- Llamadas al modelo.
$.model.completese ejecuta después de cada turno del agente principal y con/where. Envía tu prompt, las etiquetas de las herramientas y la respuesta de Claude (o los últimos 12 mensajes en/where) al modelo haiku a través de Claude Code, así que consume el uso de tu plan o de tu API. El propio mod no tiene código de red y no se envía nada a ningún otro host. - Entorno y archivos. Lee
CLAUDE_CONFIG_DIRyHOMEy, si existe, un archivo,<config dir>/claude-code-mods/bands.json, para obtener el orden de las bandas. No escribe archivos; el resumen vive en$.state. - Hooks.
prompt.submitytool.callsolo observan y pasan todo sin cambios; validate señala que a ambos les falta un.catch. El mod no bloquea ni reescribe nada. Añade/wherey cambia la interfaz sobre el prompt. - Lo que no hay. Ni procesos, ni comandos de shell, ni daemons, ni telemetría, ni secretos, ni cambios de ajustes, ni instrucciones dirigidas al modelo aparte de los dos prompts del resumen.
claude plugin validate no informó de errores ni de advertencias, y las 7 pruebas del autor pasaron con claude plugin test en Claude Code 2.1.303.
- Lee archivos
- Puede leer archivos y listar directorios en tu equipo ($.fs.read / list / stat / exists).
- Llama al modelo (usa tu cuota)
- Puede enviar sus propias peticiones a Claude, que cuentan para el uso de tu plan ($.model.* / $.agent.spawn).
- Intercepta llamadas a herramientas
- Ve cada llamada a herramienta que hace Claude (tool.call / tool.check) y podría bloquearla o modificarla.
- 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).
Compatibilidad y solución de problemas
Comprobado con Claude Code 2.1.303 en macOS (validate, pruebas y una grabación). Si la banda no aparece:
- Termina primero un turno; el resumen se escribe después, y una respuesta del modelo fallida o ilegible deja la banda vacía.
- Una encuesta abierta sobre el campo de entrada la oculta hasta que se cierre.
- Si
/wherees desconocido, Claude Code ya tiene un comando con ese nombre, y el mod arranca sin él. - Si
/wheredice «Could not build a recap right now», la llamada al modelo no obtuvo respuesta; inténtalo de nuevo.
La banda lee el estado de next-steps, así que oculta su propia parte next cuando ese mod muestra su lista.
Preguntas frecuentes
- ¿Where Am I gasta tokens?
- Sí, unos pocos. Después de cada turno del agente principal hace una llamada en segundo plano al modelo haiku a través de Claude Code para escribir el resumen, con un máximo de 300 tokens de salida. Ejecutar /where hace otra llamada, con un máximo de 500 tokens de salida. El mod no hace peticiones de red por su cuenta.
- ¿Qué contiene el resumen?
- Cuatro campos cortos, cada uno recortado a una frase de unos 70 caracteres. goal es el objetivo de la sesión, now lo que se acaba de hacer, waiting lo que Claude necesita de ti (se oculta si está vacío) y next el siguiente paso.
- ¿Cómo se actualiza la línea «now» mientras Claude trabaja?
- Un hook en cada llamada a una herramienta de Claude la sustituye por una etiqueta sencilla, como «reading src/login.js» o «running npm test». Las llamadas que otros mods hacen en segundo plano se ignoran, y cuando termina el turno vuelve el resumen escrito por el modelo.
- ¿Por qué no veo el resumen después de mi primer prompt?
- El resumen lo escribe una llamada al modelo en segundo plano cuando termina un turno. Aparece unos segundos después de la primera respuesta, y hasta entonces la banda permanece oculta.
- ¿Qué pasa si uso también el mod next-steps?
- Cuando next-steps muestra su lista de próximos prompts, Where Am I omite su propia parte «next» para que no se repitan.
# Mods relacionados
DestacadoNext Steps
Dos o tres prompts probables sobre la entrada tras cada turno. Pulsa 1, 2 o 3 para crear un borrador.
- sobre el prompt
- Llama al modelo (usa tu cuota)
- Lee tus prompts
- Modifica la interfaz
probado con v2.1.291
DestacadoContext Bar
La ventana de contexto de Claude Code como una barra apilada sobre el prompt, un color por categoría, con tokens.
- sobre el prompt
- Modifica la interfaz
- Añade comandos/herramientas
- Guarda datos
probado con v2.1.291
DestacadoMission Control
Panel en vivo del agente principal, los subagentes y las herramientas de Claude Code, más un mapa de archivos.
- panel
- sobre el prompt
- Lee archivos
- Escribe archivos
- Ejecuta comandos
- Llama al modelo (usa tu cuota)
- Intercepta llamadas a herramientas
- Modifica la interfaz
- Añade comandos/herramientas
probado con v2.1.296