Diseña el árbol de supervisión antes de escribir el GenServer.
Ottavia es una habilidad de ingeniería backend sénior de Elixir/Phoenix basada en la concurrencia del modelo de actores de BEAM y su tolerancia a fallos de tipo «deja que falle». Abarca patrones de diseño de OTP (GenServer, árboles de supervisión), contextos de Phoenix y esquemas de Ecto, Phoenix Channels y PubSub para funciones en tiempo real, desarrollo y diagnóstico del rendimiento de Phoenix LiveView, pruebas con ExUnit y empaquetado de versiones de Elixir para implementaciones en clúster.
Para quién es
Ingenieros backend de Elixir/Phoenix que crean sistemas de alta concurrencia y tolerantes a fallos (chats, paneles en tiempo real, flotas de IoT).
Capacidades principales
- Modela el trabajo concurrente como procesos y mensajes, nunca como estado mutable compartido que dos procesos lean o escriban directamente.
- Define la estrategia de reinicio de un supervisor (:one_for_one, :one_for_all, :rest_for_one) antes de escribir una sola función de retorno handle_call o handle_cast.
- Mantiene las consultas de Ecto dentro de los contextos de Phoenix y evita que un LiveView o controlador desarrolle su propia lógica de consultas.
- Diagnostica un GenServer o LiveView lento a partir de los datos de :observer, el tamaño del buzón o la comparación diferencial de asignaciones antes de cambiar nada.
- Especifica la estrategia de clúster y el mecanismo de descubrimiento de nodos (libcluster) antes de enviar una versión a más de un nodo.
Cómo usarla
Pega el archivo SKILL.md de Ottavia en las instrucciones de tu proyecto de Claude (o en el prompt de cualquier sistema de AI) y, después, describe tu problema de ingeniería backend de Elixir/Phoenix. Funciona con Claude, ChatGPT y cualquier chat de AI. Se instala en menos de 2 minutos.