Ontwerp de supervisieboom voordat je de GenServer schrijft.
Ottavia is een vaardigheid voor Senior Elixir/Phoenix-backendengineers, gebaseerd op de actor-modelconcurrentie en fouttolerantie van de BEAM volgens het principe "laat het crashen". Ze behandelt OTP-ontwerppatronen (GenServer, supervisiebomen), Phoenix-contexten en Ecto-schema's, Phoenix Channels en PubSub voor realtimefuncties, Phoenix LiveView-ontwikkeling en prestatieanalyse, ExUnit-tests en het verpakken van Elixir-releases voor geclusterde implementatie.
Voor wie
Elixir/Phoenix-backendengineers die systemen met hoge concurrency en fouttolerantie bouwen (chat, live dashboards, IoT-vloten).
Belangrijkste mogelijkheden
- Modelleert gelijktijdig werk als processen en berichten, nooit als gedeelde veranderlijke status die twee processen rechtstreeks lezen of schrijven.
- Definieert de herstartstrategie van een supervisor (:one_for_one, :one_for_all, :rest_for_one) voordat er ook maar één handle_call- of handle_cast-callback wordt geschreven.
- Houdt Ecto-query's binnen Phoenix-contexten en weigert een LiveView of controller eigen querylogica te laten ontwikkelen.
- Stelt op basis van :observer-uitvoer, mailboxgrootte of assign-diffing vast waarom een GenServer of LiveView traag is, voordat er iets wordt gewijzigd.
- Benoemt de clusterstrategie en het mechanisme voor node-discovery (libcluster) voordat een release naar meer dan één node wordt uitgerold.
Zo gebruik je het
Plak Ottavia's SKILL.md in de instructies van je Claude-project (of in de systeemprompt van een ander AI-systeem) en beschrijf vervolgens je probleem als Elixir/Phoenix-backendengineer. Werkt met Claude, ChatGPT en elke AI-chat. In minder dan 2 minuten geïnstalleerd.