Overboard
Plugin de Claude Code + servidor MCP en stdlib-Python que observa las sesiones de Claude Code en todos tus repos y mantiene un panel local actualizado: commits, revisiones de trabajo reciente a partir de diffs, diagramas de arquitectura y esquemas, y banderas de revisión. Sin clave API; funciona con tu suscripción de Claude. MIT.
Documentación

Overboard es un plugin de Claude Code que observa cada sesión de Claude Code en
todos tus repositorios e informa lo que se envió — en la suscripción de Claude que ya
tienes. Una sesión de /overboard se convierte en tu asistente: mantiene un panel
de control en el navegador actualizado y señala las pocas cosas que necesitan tu atención. Muestra actividad de commits, visualizaciones de arquitectura y esquemas de base de datos (Mermaid), los prompts reales de LLM de tus proyectos, tarjetas de Trabajo reciente
destiladas de los diffs reales, y — en vivo — los datos clave de "requiere revisión"
de tus Claudes en funcionamiento. Sin claves por diseño: solo biblioteca estándar de Python (sin
venv, sin pip install), y toda la IA se ejecuta en tu suscripción de Claude Code —
sin ANTHROPIC_API_KEY.

El panel de control tiene una franja de paneles delgada en el extremo izquierdo — Proyectos ·
Programador · Plugins, con Configuración fijada en la parte inferior (teclas 1 2 3; el
hash de la URL enlaza profundamente a cada panel: #/projects/<name>, #/scheduler,
#/scheduler/run/<id>, #/plugins, #/settings/<page>).
Proyectos es el tablero de tres paneles: una barra lateral izquierda condensada lista cada
proyecto con una cuadrícula de actividad estilo calendario (cada fila una semana, lun→dom,
semana más reciente arriba — las últimas ~5 semanas) y cualquier bandera "⚑ N para revisar"; el centro
se convierte en el detalle del proyecto seleccionado — resumen, informe de tu asistente,
tarjetas de revisión de Trabajo reciente, actividad reciente, y análisis de arquitectura /
prompts / forma de datos por repositorio; y una barra lateral derecha plegable es donde
configuras el lanzamiento/hito del proyecto (tipo, acción, fecha objetivo,
metas — con historial de rechazos) y visión/dirección. El asistente /overboard
lee ese contexto para afinar sus informes y señalar lanzamientos que se retrasan.
Programador y Plugins ocupan todo el ancho (abajo).
Instalar el plugin en Claude Code
Desde el marketplace Productive Mark:
/plugin marketplace add mrieck/claude-plugins
/plugin install overboard@productive-mark
O desde un clon local de este repositorio (incluye su propio marketplace):
/plugin marketplace add /path/to/overboard-plugin
/plugin install overboard@overboard-marketplace
Reinicia Claude Code (un cierre/relanzamiento completo, no solo /reload-plugins) para que
lance el servidor MCP con la configuración actual. Verifica que /mcp muestre
overboard ✔ conectado. Requiere python3 3.9+ en tu PATH (macOS estándar
y cualquier Linux reciente califican).
Ejecutarlo
Desde Claude Code, /overboard abre el panel de control y ejecuta pasadas de actualización
hasta que la acumulación se drene, luego se detiene — ejecútalo de nuevo cuando quieras un
barrido fresco. Para ejecutar el panel de control directamente:
python3 -m overboard.app # serve dashboard, open browser (native window if pywebview present)
python3 -m overboard.app --once # headless refresh, print, exit
Sirve un panel de control en el navegador en http://localhost:8787. En el primer lanzamiento, un
breve asistente de incorporación elige tus fuentes; los clones locales se descubren
y analizan automáticamente. Lo bueno (resúmenes, tarjetas de Trabajo reciente, prompts reales,
informes de arquitectura) se completa una vez que /overboard se ha ejecutado.
Actualizar vuelve a extraer commits; Reescanear redescubre clones locales.
Programador
El panel Programador ejecuta sesiones recurrentes y desatendidas de Claude Code —
"triaje nocturno a las 2am", "cada 2h entre 9–18", "una vez, esta noche a las 11" —
sin la app de Mac. Está dispuesto como el de la app de Mac: una agenda de 10 días a la
izquierda (cada disparo próximo, haz clic en uno para abrir su agente), Agentes | Historial
en el medio, y un editor permanente a la derecha (o el detalle de la ejecución elegida).
Cada agente (una ranura) tiene un nombre, un comando/prompt, una carpeta de trabajo
(o un espacio de trabajo de tarea vinculado), un horario simple (diario / semanal / cada N horas
/ una vez — deliberadamente más simple que cron), un tiempo de espera y un interruptor de habilitación. El
campo de prompt completa /slash-commands (tuyos, del proyecto, los comandos y habilidades de cada
plugin instalado) y rutas de ~/ ./ /, y advierte cuando el
comando del plugin no está habilitado en esa carpeta — con un botón Habilitar.
Las ejecuciones se lanzan dentro de Herdr (macOS y Linux) como
claude --permission-mode auto, un espacio de trabajo por proyecto (nombrado según la
carpeta del proyecto) con una pestaña por ejecución nombrada según la tarea, para que puedas ver
o tomar el control de cualquier ejecución en la propia interfaz de Herdr. Cada ejecución se identifica por su propia
sesión de Claude (capturada del hook SessionStart), por lo que una sesión tuya en
la misma carpeta nunca se confunde con ella; cuando el hook Stop de la ejecución se dispara — y
ningún subagente que haya generado sigue trabajando — el programador captura el mensaje
de cierre y la transcripción, luego cierra el panel. Un claude fresco en una
carpeta nunca confiada se bloquea en el diálogo de confianza de carpeta; el programador responde
ese único diálogo (una vez por ejecución) y nada más — cualquier otro prompt se muestra como
esperando entrada. Tomar el control enfoca la sesión en Herdr y deja de
gestionarla (sin auto-/exit, el panel sigue siendo tuyo). Historial muestra lo que cada
ejecución informó — el mensaje de cierre como prosa — con la captura de terminal cruda
detrás de una divulgación; oculta, elimina o limpia ejecuciones. Un agente una vez se deshabilita
a sí mismo después de dispararse. Ejecuciones concurrentes (1–8) y el tiempo de espera predeterminado están en
Configuración ▸ Varios; un agente nunca se superpone a su propio próximo disparo. Las ejecuciones en cola
sobreviven a un reinicio del panel de control (una ejecución que esperó más allá de su ventana de 30 minutos se
omite, no se ejecuta obsoleta). El estado vive en ~/.cache/overboard/scheduler/.
Despachador
Arriba a la izquierda del panel Programador: escribe qué debería hacerse ("agrega una
entrada de changelog al proyecto X para los commits de esta semana") y presiona Despachar. Una
sesión de /overboard:dispatch de corta duración lee la solicitud, determina el
proyecto (a través del list_projects del plugin), el prompt y el tiempo, y
responde con una tarea — el programador la ejecuta (ahora, o como un agente una vez para
más tarde), y el resultado (el trabajador escribe un result.json en una carpeta de tarea
otorgada a través de --add-dir: resumen, archivos, enlaces) aterriza en la fuente de
Despachos recientes, cada uno con un #id. El despachador también puede reply del
registro de tareas ("¿qué está corriendo?") o reject una no-tarea. Los seguimientos ("hazlo más
corto") reconstruyen el contexto de la tarea en una sesión fresca. Necesita un
directorio de ejecución de Overboard (Configuración ▸ Varios) — tu raíz de espacio de trabajo, donde
se pueden crear nuevas carpetas de proyecto. El estado vive en ~/.cache/overboard/dispatch/.
Despachar desde tu teléfono (Telegram, Slack próximamente) es una característica de Overboard para Mac; el despachador del panel de control es solo para navegador por diseño.
Pruebas: python3 -m unittest discover -s tests (solo stdlib). Para ejecutar el
panel de control contra una copia del estado de otra persona sin tocar el tuyo,
apúntalo a otra carpeta: OVERBOARD_STATE_DIR=/path python3 -m overboard.app.
Las ranuras se disparan solo mientras el servidor del panel de control está en ejecución. En una caja Linux siempre encendida, ejecútalo como un servicio de usuario systemd:
# ~/.config/systemd/user/overboard.service
[Unit]
Description=Overboard dashboard + scheduler
[Service]
ExecStart=/usr/bin/python3 -m overboard.app --serve --no-open
WorkingDirectory=%h/.claude/plugins/overboard # wherever the plugin checkout lives
Restart=on-failure
[Install]
WantedBy=default.target
systemctl --user enable --now overboard
loginctl enable-linger $USER # keep it running when you're logged out
Configuración
De fábrica, el modo solo local no necesita credenciales en absoluto — lee
commits directamente de los clones de git en tu máquina con git log. Agrega un
token de GitHub (clásico con alcance repo, o de grano fino con repositorio
contenido + metadatos, lectura) o un token de API de Bitbucket (espacio de trabajo +
correo de Atlassian) en Configuración ▸ Fuentes para incluir también commits que empujaste desde
otras máquinas — cada fuente se fusiona en el mismo tablero.
Los tokens se guardan en ~/.cache/overboard/credentials.json (modo 0600,
local a la máquina) y nunca se envían de vuelta al navegador. La ventana de commits (cuántos
días de inactividad antes de que un repositorio desaparezca del tablero) es ajustable en Configuración
también. Los valores predeterminados no secretos de la aplicación están en overboard/projects.json —
refresh_interval_minutes, commit_window_days, y local_roots opcional
(los valores predeterminados incluyen ~/projects, ~/code, ~/Developer, …) para dónde se
descubren los clones locales. Otros archivos bajo ~/.cache/overboard/: state.json
(commits, análisis, actividad), ai.json (los resúmenes e
informes del asistente), context.json (tus lanzamientos + visión), events.jsonl
(registro de actividad de solo anexo). Elimina cualquiera para restablecer esa pieza.