Overboard

Plugin do Claude Code + servidor MCP stdlib-Python que monitora sessões do Claude Code em todos os seus repositórios e mantém um painel local atualizado: commits, revisões de trabalho recentes a partir de diffs, diagramas de arquitetura e esquema, sinalizações de revisão. Sem chave de API; roda na sua assinatura do Claude. MIT.

Documentação

Overboard — Too many agents to manage? You need to go Overboard.

Overboard é um plugin do Claude Code que observa todas as sessões do Claude Code em todos os seus repositórios e relata o que foi entregue — na assinatura do Claude que você já tem. Uma única sessão /overboard vira seu assistente: ela mantém um painel no navegador atualizado e sinaliza as poucas coisas que precisam de você. Ele mostra atividade de commits, visualizações de arquitetura e esquema de banco de dados (Mermaid), os prompts reais de LLM dos seus projetos, cartões de Trabalho recente destilados dos diffs reais e — ao vivo — os principais avisos de "precisa de revisão" dos seus Claudes em atividade. Sem chave por design: apenas biblioteca padrão do Python (sem venv, sem pip install), e toda a IA roda na sua assinatura do Claude Code — sem ANTHROPIC_API_KEY.

The Overboard dashboard — project list with activity grids on the left, the selected project's report and Recent work cards in the center, launch/vision context on the right

O painel tem uma faixa de painéis fina à extrema esquerda — Projetos · Agendador · Plugins, com Configurações fixadas na parte inferior (teclas 1 2 3; o hash da URL faz deep-link em cada painel: #/projects/<name>, #/scheduler, #/scheduler/run/<id>, #/plugins, #/settings/<page>).

Projetos é o quadro de três painéis: uma barra lateral esquerda condensada lista cada projeto com uma grade de atividade em estilo calendário (cada linha é uma semana, Seg→Dom, com a semana mais recente no topo — as últimas ~5 semanas) e quaisquer sinalizações "⚑ N para revisar"; o centro mostra os detalhes do projeto selecionado — resumo, relatório do seu assistente, cartões de revisão de Trabalho recente, atividade recente e análise de arquitetura / prompts / formato de dados por repositório; e uma barra lateral direita recolhível é onde você define o lançamento/marco do projeto (tipo, ação, data-alvo, metas — com histórico de adiamentos) e visão/direção. O assistente /overboard lê esse contexto para aprimorar seus relatórios e sinalizar lançamentos em atraso. Agendador e Plugins ocupam a largura total (abaixo).

Instale o plugin no Claude Code

Do marketplace Productive Mark:

/plugin marketplace add mrieck/claude-plugins
/plugin install overboard@productive-mark

Ou de um clone local deste repositório (ele inclui seu próprio marketplace):

/plugin marketplace add /path/to/overboard-plugin
/plugin install overboard@overboard-marketplace

Reinicie o Claude Code (um encerramento/relançamento completo, não apenas /reload-plugins) para que ele inicie o servidor MCP com a configuração atual. Verifique se /mcp mostra overboard ✔ conectado. Requer python3 3.9+ no seu PATH (macOS padrão e qualquer Linux recente são compatíveis).

Execute

Pelo Claude Code, /overboard abre o painel e executa passadas de atualização até que o backlog seja drenado, então para — execute novamente sempre que quiser uma nova varredura. Para executar o painel diretamente:

python3 -m overboard.app          # serve dashboard, open browser (native window if pywebview present)
python3 -m overboard.app --once   # headless refresh, print, exit

Ele serve um painel no navegador em http://localhost:8787. No primeiro lançamento, um breve assistente de integração escolhe suas fontes; clones locais são então descobertos e analisados automaticamente. O conteúdo bom (resumos, cartões de Trabalho recente, prompts reais, textos de arquitetura) é preenchido depois que /overboard é executado. Atualizar busca novos commits; Revarrer redescobre clones locais.

Agendador

O painel Agendador executa sessões recorrentes e não supervisionadas do Claude Code — "triagem noturna às 2h", "a cada 2h entre 9–18", "uma vez, hoje à noite às 23h" — sem o app do Mac. Ele é organizado como o do app do Mac: uma agenda de 10 dias à esquerda (cada disparo futuro, clique em um para abrir seu agente), Agentes | Histórico no meio e um editor permanente à direita (ou o detalhe da execução escolhida). Cada agente (um slot) tem um nome, um comando/prompt, uma pasta de trabalho (ou um espaço de trabalho de tarefa vinculado), uma agenda simples (diária / semanal / a cada N horas / uma vez — deliberadamente mais simples que cron), um tempo limite e um interruptor de ativação. O campo de prompt completa /slash-commands (os seus, os do projeto, os comandos e habilidades de todos os plugins instalados) e caminhos ~/ ./ /, e avisa quando o plugin do comando não está ativado naquela pasta — com um botão Ativar.

As execuções iniciam dentro do Herdr (macOS e Linux) como claude --permission-mode auto, um espaço de trabalho por projeto (nomeado conforme a pasta do projeto) com uma aba por execução nomeada conforme a tarefa, para que você possa assistir ou assumir qualquer execução na própria interface do Herdr. Cada execução é identificada pela sua própria sessão do Claude (capturada pelo hook SessionStart), então uma sessão sua na mesma pasta nunca é confundida com ela; quando o hook Stop da execução dispara — e nenhum subagente que ela gerou ainda está trabalhando — o agendador captura a mensagem de encerramento e a transcrição, então fecha o painel. Um novo claude em uma pasta nunca confiável bloqueia na caixa de diálogo de confiança da pasta; o agendador responde a essa única caixa de diálogo (uma vez por execução) e nada mais — qualquer outro prompt aparece como aguardando entrada. Assumir foca a sessão no Herdr e para de gerenciá-la (sem /exit automático, o painel continua seu). Histórico mostra o que cada execução relatou — a mensagem de encerramento como prosa — com a captura bruta do terminal atrás de uma divulgação; oculte, remova ou limpe execuções. Um agente uma vez se desativa após disparar. Execuções concorrentes (1–8) e o tempo limite padrão estão em Configurações ▸ Diversos; um agente nunca se sobrepõe ao seu próprio próximo disparo. Execuções na fila sobrevivem a um reinício do painel (uma execução que esperou além de sua janela de 30 minutos é pulada, não executada obsoleta). O estado fica em ~/.cache/overboard/scheduler/.

Despachante

No canto superior esquerdo do painel Agendador: digite o que deve ser feito ("adicione uma entrada de changelog ao projeto X para os commits desta semana") e pressione Despachar. Uma sessão /overboard:dispatch de curta duração lê a solicitação, descobre o projeto (via list_projects do plugin), o prompt e o horário, e responde com uma tarefa — o agendador a executa (agora, ou como um agente uma vez para depois), e o resultado (o trabalhador escreve um result.json em uma pasta de tarefa concedida via --add-dir: resumo, arquivos, links) chega no feed de Despachos recentes, cada um com um #id. O despachante também pode reply do registro de tarefas ("o que está rodando?") ou reject uma não-tarefa. Acompanhamentos ("deixe mais curto") reconstroem o contexto da tarefa em uma nova sessão. Ele precisa de um diretório de execução do Overboard (Configurações ▸ Diversos) — a raiz do seu espaço de trabalho, onde novas pastas de projeto podem ser criadas. O estado fica em ~/.cache/overboard/dispatch/.

Despachar do seu celular (Telegram, Slack em seguida) é um recurso do Overboard para Mac; o despachante do painel é somente navegador por design.

Testes: python3 -m unittest discover -s tests (apenas stdlib). Para executar o painel contra uma cópia do estado de outra pessoa sem tocar no seu, aponte-o para outra pasta: OVERBOARD_STATE_DIR=/path python3 -m overboard.app.

Os slots disparam apenas enquanto o servidor do painel está em execução. Em uma máquina Linux sempre ligada, execute-o como um serviço de usuário do 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

Configuração

Fora da caixa, o modo somente local não precisa de nenhuma credencial — ele lê commits diretamente dos clones git na sua máquina com git log. Adicione um token do GitHub (clássico com escopo repo, ou de granularidade fina com conteúdo + metadados do repositório, leitura) ou um token de API do Bitbucket (espaço de trabalho + e-mail Atlassian) em Configurações ▸ Fontes para também incluir commits que você enviou de outras máquinas — cada fonte se mescla no mesmo quadro.

Os tokens são salvos em ~/.cache/overboard/credentials.json (modo 0600, local da máquina) e nunca enviados de volta ao navegador. A janela de commits (quantos dias de inatividade antes de um repositório sair do quadro) também é ajustável em Configurações. Os padrões não secretos do app estão em overboard/projects.json — refresh_interval_minutes, commit_window_days e local_roots opcional (os padrões incluem ~/projects, ~/code, ~/Developer, …) para onde os clones locais são descobertos. Outros arquivos em ~/.cache/overboard/: state.json (commits, análise, atividade), ai.json (os resumos e textos do assistente), context.json (seus lançamentos + visão), events.jsonl (log de atividade somente anexação). Exclua qualquer um para redefinir essa parte.

Licença

MIT