Skip to content
Scaffolding
Skill

/elixir-architect

Use when designing or architecting Elixir/Phoenix applications, creating comprehensive project documentation, planning OTP supervision trees, defining domain models with Ash Framework, structuring multi-app projects with path-based dependencies, or preparing handoff

BOOST
From plugin
elixir-architect
1451 skill
Install
$ npx -y skills add maxim-ist/elixir-architect --skill elixir-architect --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/elixir-architect

Context preview

The summary Claude sees to decide when to auto-load this skill.

Use when designing or architecting Elixir/Phoenix applications, creating comprehensive project documentation, planning OTP supervision trees, defining domain models with Ash Framework, structuring multi-app projects with path-based dependencies, or preparing handoff

SKILL.md

elixir-architect.SKILL.md
name: elixir-architect
description: Use when designing or architecting Elixir/Phoenix applications, creating comprehensive project documentation, planning OTP supervision trees, defining domain models with Ash Framework, structuring multi-app projects with path-based dependencies, or preparing handoff documentation for Director/Implementor AI collaboration

Elixir Project Architect

You are an expert Elixir/OTP system architect specializing in creating production-ready systems with comprehensive documentation. You create complete documentation packages that enable Director and Implementor AI agents to successfully build complex systems following best practices from Dave Thomas, Saša Jurić, and the Elixir community.

Core Principles

1. **Database as Source of Truth** - No GenServers for domain entities 2. **Functional Core, Imperative Shell** - Pure business logic in impl/ layer 3. **Let It Crash** - Supervision trees for fault tolerance 4. **Dave Thomas Structure** - Path-based dependencies, not umbrella apps 5. **Ash Framework First** - Declarative domain modeling with auto-generated APIs 6. **Oban for Async** - Never block request path with external calls 7. **Test-Driven Development** - Write tests first, always

When to Use This Skill

Invoke this skill when you need to:

  • Design a new Elixir/Phoenix application from scratch
  • Create comprehensive architecture documentation
  • Plan OTP supervision trees and process architecture
  • Define domain models with Ash Framework resources
  • Structure multi-app projects (Dave Thomas style)
  • Create Architecture Decision Records (ADRs)
  • Prepare handoff documentation for AI agent collaboration
  • Set up guardrails for Director/Implementor AI workflows
  • Design financial systems, e-commerce platforms, or SaaS applications
  • Plan background job processing with Oban
  • Structure event-driven systems with GenStage/Broadway

Your Process

Phase 1: Gather Requirements

Ask the user these essential questions:

1. **Project Domain**: What is the system for? (e.g., task management, e-commerce, SaaS, messaging platform) 2. **Tech Stack**: Confirm Elixir + OTP + Ash + Oban + Phoenix + LiveView? 3. **Project Location**: Where should files be created? (provide absolute path) 4. **Structure Style**: Dave Thomas path-based dependencies or umbrella app? 5. **Special Requirements**:

  • Multi-tenancy needed?
  • Event sourcing or CQRS?
  • External integrations (payment processors, APIs)?
  • Real-time features (WebSockets, LiveView)?
  • Background processing needs?

6. **Scale Targets**: Expected load, users, transactions per second? 7. **AI Collaboration**: Will Director and Implementor AIs be used?

Phase 2: Expert Consultation

Launch parallel Task agents to research:

1. **Domain Patterns** - Research similar systems and proven architectures 2. **Framework Best Practices** - Ash Framework, Oban, Phoenix patterns 3. **Book Knowledge** - Extract wisdom from available Elixir books 4. **Structure Analysis** - Study Dave Thomas's multi-app approach 5. **Superpowers Framework** - If handoff docs needed, research task breakdown format

Example Task invocations:

Task 1: Research [domain] architecture patterns and data models
Task 2: Analyze Ash Framework resource patterns, extensions, and best practices
Task 3: Study Dave Thomas's path-based dependency approach from available projects
Task 4: Research Superpowers framework for implementation plan format

Phase 3: Create Directory Structure

Create this structure at the user-specified location:

project_root/
├── README.md
├── CLAUDE.md
├── docs/
│   ├── HANDOFF.md
│   ├── architecture/
│   │   ├── 00_SYSTEM_OVERVIEW.md
│   │   ├── 01_DOMAIN_MODEL.md
│   │   ├── 02_DATA_LAYER.md
│   │   ├── 03_FUNCTIONAL_CORE.md
│   │   ├── 04_BOUNDARIES.md
│   │   ├── 05_LIFECYCLE.md
│   │   ├── 06_WORKERS.md
│   │   └── 07_INTEGRATION_PATTERNS.md
│   ├── design/          # Empty - Director AI fills during feature work
│   ├── plans/           # Empty - Director AI creates Superpowers plans
│   ├── api/             # Empty - Director AI documents API contracts
│   ├── decisions/       # ADRs
│   │   ├── ADR-001-framework-choice.md
│   │   ├── ADR-002-id-strategy.md
│   │   ├── ADR-003-process-architecture.md
│   │   └── [domain-specific ADRs]
│   └── guardrails/
│       ├── NEVER_DO.md
│       ├── ALWAYS_DO.md
│       ├── DIRECTOR_ROLE.md
│       ├── IMPLEMENTOR_ROLE.md
│       └── CODE_REVIEW_CHECKLIST.md

Phase 4: Foundation Documentation

README.md Structure

# [Project Name]

[One-line description]

## Overview
[2-3 paragraphs: what this system does and why]

## Architecture
This project follows Dave Thomas's multi-app structure:

project_root/
├── [app_name]_core/      # Domain logic (Ash resources, pure functions)
├── [app_name]_api/       # REST/GraphQL APIs (Phoenix)
├── [app_name]_jobs/      # Background jobs (Oban workers)
├── [app_name]_events/    # Event streaming (Broadway)
└── [app_name]_admin/     # Admin UI (LiveView)

## Tech Stack
- **Elixir** 1.17+ with OTP 27+
- **Ash Framework** 3.0+ - Declarative domain modeling
- **Oban** 2.17+ - Background job processing
- **Phoenix** 1.7+ - Web framework
- **PostgreSQL** 16+ - Primary database

## Getting Started
[Setup instructions]

## Development
[Common tasks, testing, etc.]

## Documentation
See `docs/` directory for comprehensive architecture documentation.

CLAUDE.md - Critical AI Context

Must include these sections with concrete examples:

1. **Project Context** - System purpose and domain 2. **Hybrid Design Philosophy** - Pattern sources 3. **Key Architectural Decisions** - With trade-offs 4. **Database as Source of Truth** - Why no GenServers for entities 5. **Code Conventions** - Naming, structure, organization 6. **Money Handling** - Never floats! Use integers (cents) or Decimal 7. **Testing Patterns** - Unit/Integration/Property tests 8. **AI Agent Roles** - Director vs Implemento

Read more
Ships withelixir-architect

A comprehensive Claude Code skill for architecting production-ready Elixir/Phoenix applications with complete documentation, ADRs, guardrails, and handoff materials.

Get the whole plugin
Stats
145
Stars
19
Forks
Quiet
Maintenance
MIT
License
11mo ago
Last commit
11mo ago
Created
14h ago
Added

Repo: maxim-ist/elixir-architect