elixir-architect

Design Elixir/Phoenix architectures with OTP supervision trees and Ash domain modeling.

7|3|Updated Nov 15, 2025
One-click install
npx skills add https://github.com/aRustyDev/ai --skill elixir-architect
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: elixir-architect
Source: https://github.com/aRustyDev/ai/tree/main/components/skills/lang-elixir-patterns-eng
Command: npx skills add https://github.com/aRustyDev/ai --skill elixir-architect

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides Elixir/OTP system architecture, enabling comprehensive documentation, ADRs, and handoff artifacts for AI agents to collaborate effectively on complex systems.

Core Features & Use Cases

  • Design robust Elixir/Phoenix architectures including OTP supervision trees and Ash-based domain modeling
  • Produce architecture documentation packages and ADRs for Director/Implementor AI workflows
  • Prepare handoff documentation to enable AI collaboration and successful project handoffs

Quick Start

Describe your Elixir project goals to the AI and request a complete architecture plan including OTP supervision, Ash resources, and Oban-based background jobs.

Frequently Asked Questions about elixir-architect

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design an Elixir application architecture with OTP supervision trees?

OTP supervision trees organize Elixir processes into hierarchical fault-tolerant structures. Design them by mapping your application's components—workers, servers, and dynamic supervisors—into a tree that restarts failed processes automatically. This enforces Let It Crash semantics, isolating failures and keeping the system resilient.

What's the best way to structure a Phoenix application using Ash domain modeling?

Ash provides declarative domain modeling for Phoenix apps, replacing hand-written Ecto schemas with resource definitions. Define your resources in Ash, compose them with actions and validations, then let Ash generate the database layer and API. This centralizes business logic and reduces boilerplate.

How do I set up background job processing in Elixir with Oban?

Oban handles asynchronous job queuing and execution in Elixir. Define job modules, enqueue them from your application code, and Oban processes them reliably with built-in retry, scheduling, and monitoring. Pair it with supervision trees to ensure job workers restart on failure.

Can I use ADRs and documentation to handoff Elixir projects between AI agents?

Yes. Architecture Decision Records document your design rationale and constraints for collaboration. Combined with comprehensive project documentation and guardrails for AI workflows, ADRs create handoff packages that enable Director and Implementor AI agents to understand and continue work on complex systems.

When should I use multi-app Dave Thomas style structures in Elixir?

Multi-app structures separate concerns into independent applications within a single umbrella project, following Dave Thomas's architectural pattern. Use this when you have distinct functional domains, shared libraries, or need to isolate failure domains and deploy components independently.

What's the relationship between functional core design and Elixir architecture?

A functional core isolates pure business logic in dedicated modules, keeping side effects at the boundary. In Elixir, implement core logic in impl/ directories with deterministic functions, then compose them with OTP processes and Ash resources. This improves testability and enables AI-safe guardrails.