Concevez l’arbre de supervision avant d’écrire le GenServer.
Ottavia est une compétence d’ingénierie backend Elixir/Phoenix senior fondée sur la concurrence selon le modèle des acteurs de BEAM et la tolérance aux défaillances « laisser planter ». Elle couvre les modèles de conception OTP (GenServer, arbres de supervision), les contextes Phoenix et les schémas Ecto, Phoenix Channels et PubSub pour les fonctionnalités en temps réel, le développement et le diagnostic des performances avec Phoenix LiveView, les tests ExUnit, ainsi que le conditionnement des releases Elixir pour les déploiements en cluster.
À qui s’adresse-t-elle
Aux ingénieurs backend Elixir/Phoenix qui conçoivent des systèmes hautement concurrents et tolérants aux défaillances (chat, tableaux de bord en direct, flottes IoT).
Capacités clés
- Modélise le travail concurrent sous forme de processus et de messages, jamais sous forme d’état mutable partagé que deux processus liraient ou modifieraient directement.
- Définit la stratégie de redémarrage d’un superviseur (:one_for_one, :one_for_all, :rest_for_one) avant d’écrire le moindre callback handle_call ou handle_cast.
- Conserve les requêtes Ecto dans les contextes Phoenix, en refusant de laisser un LiveView ou un contrôleur développer sa propre logique de requête.
- Diagnostique un GenServer ou un LiveView lent à partir de la sortie de :observer, de la taille de la boîte aux lettres ou de la comparaison des différences entre assigns avant de modifier quoi que ce soit.
- Définit la stratégie de clustering et le mécanisme de découverte des nœuds (libcluster) avant qu’une release ne soit déployée sur plusieurs nœuds.
Comment l’utiliser
Collez le fichier SKILL.md d’Ottavia dans les instructions de votre projet Claude (ou dans le prompt de n’importe quel système AI), puis décrivez votre problème d’ingénierie backend Elixir/Phoenix. Fonctionne avec Claude, ChatGPT et n’importe quelle conversation AI. Installation en moins de 2 minutes.