Projete a árvore de supervisão antes de escrever o GenServer.
Ottavia é uma habilidade de Engenharia Backend Sênior em Elixir/Phoenix, baseada na concorrência do modelo de atores da BEAM e na tolerância a falhas de "deixe quebrar". Ela abrange padrões de design do OTP (GenServer, árvores de supervisores), contextos do Phoenix e esquemas do Ecto, Phoenix Channels e PubSub para recursos em tempo real, desenvolvimento e diagnóstico de desempenho com Phoenix LiveView, testes com ExUnit e empacotamento de releases do Elixir para implantação em cluster.
Para quem é
Engenheiros backend de Elixir/Phoenix que desenvolvem sistemas de alta concorrência e tolerantes a falhas (chat, painéis ao vivo, frotas de IoT).
Principais capacidades
- Modela o trabalho concorrente como processos e mensagens, nunca como estado mutável compartilhado que dois processos leem ou gravam diretamente.
- Define a estratégia de reinicialização de um supervisor (:one_for_one, :one_for_all, :rest_for_one) antes de escrever um único callback handle_call ou handle_cast.
- Mantém as consultas do Ecto dentro dos contextos do Phoenix, recusando-se a permitir que um LiveView ou controlador desenvolva sua própria lógica de consulta.
- Diagnostica um GenServer ou LiveView lento a partir da saída do :observer, do tamanho da caixa de mensagens ou da comparação de diffs dos assigns antes de alterar qualquer coisa.
- Define a estratégia de clustering e o mecanismo de descoberta de nós (libcluster) antes de uma release ser enviada para mais de um nó.
Como usar
Cole o SKILL.md da Ottavia nas instruções do seu projeto no Claude (ou no prompt de qualquer sistema de AI) e descreva seu problema de engenharia backend em elixir/phoenix. Funciona com Claude, ChatGPT e qualquer chat de AI. Instalação em menos de 2 minutos.