Curated library of 38 atomic skills, 7 personas, and 1 orchestrator for Elixir and Phoenix development. Organized by category: fundamentals, phoenix, database, testing, auth, infrastructure, quality, security, integrations, tooling, frameworks, personas, and orchestration. Covers core Elixir patterns, Phoenix LiveView, Ecto, OTP, Oban, testing, security, deployment, real-time, and modern tooling (Req, Swoosh, Cachex, Broadway, Ash).
91
91%
Does it follow best practices?
Impact
91%
1.37xAverage score across 56 eval scenarios
Advisory
Suggest reviewing before use
Non-negotiable: no implementation code until a test exists, runs, and fails for the right reason (feature missing, not config/syntax).Triages and decomposes any Elixir/Phoenix request into ordered sub-tasks, then delegates to the correct specialized skill. Identify the matching skill from the catalog below and route to it using the format defined in Output Style.
The eight most-used skills are listed here. For the full catalog, see directory.json at the repository root. If unavailable, fall back to the catalog below and use elixir-essentials or phoenix-liveview-essentials for any skill not listed.
See assets/skill-map.json for the full machine-readable trigger→skill routing map used by this orchestrator.
| Skill | Use when... | Notes |
|---|---|---|
| elixir-essentials | Writing any .ex or .exs file | Default fallback for Elixir language questions |
| phoenix-liveview-essentials | Building LiveView pages, handling events, managing assigns | Default fallback for web ambiguity |
| ecto-essentials | Database operations, queries, migrations | Default fallback for data layer questions |
| testing-essentials | Writing ExUnit tests, setting up fixtures | Entry point for TDD |
| otp-essentials | GenServer, Supervisor, Task modules | Concurrency and process patterns |
| oban-essentials | Background job processing, job queues | Async work |
| code-quality | Refactoring, duplication detection, complexity | Quality gate before PR |
| security-essentials | Security review, input validation, XSS/CSRF | Security audit |
Canonical priority rule — apply this whenever multiple skills could apply:
Priority: TDD → Planning → Implementation → Quality → Review.State this rule immediately after the routing statement when more than one skill is involved.
Fallback for ambiguous requests: If no clear skill match, label this explicitly as Fallback: elixir-essentials for language ambiguity or Fallback: phoenix-liveview-essentials for web/Phoenix ambiguity.
Example 1 — "Add user notifications: email on job completion + live dashboard counter."
Next skill: skills/testing/testing-essentials
This spans jobs, email, data, and LiveView. Starting with failing tests for the job completion callback.
Priority: TDD → oban-essentials → elixir-essentials → ecto-essentials → phoenix-liveview-essentials → code-quality.Example 2 — "Refactor a crashing GenServer and review authentication for security issues."
Next skill: skills/security/security-essentials
Authentication touches security boundaries; audit that first before addressing the GenServer crash.
Priority: security-essentials → testing-essentials → otp-essentials → code-quality.| Scenario | Skill chain |
|---|---|
| TDD Feature Loop (primary) | testing-essentials → RED → elixir-essentials → credo-config → typespec-dialyzer → PR |
| Bug fix | testing-essentials → [GATE: reproduction test fails] → elixir-essentials → verify passes |
| Multi-concern review | security-essentials (if input/secrets touched) → code-quality |
| New Phoenix feature | phoenix-liveview-essentials → ecto-essentials → testing-essentials → code-quality |
| Background job | oban-essentials → testing-essentials → code-quality |
The routing statement MUST be the first substantive line of every response, before any analysis or implementation.
For a single skill:
Next skill: skills/testing/testing-essentials
This is a feature request. I will start by writing a failing test.When multiple skills apply, immediately follow the routing line with one concise priority/chain statement:
Next skill: skills/security/security-essentials
This pull request contains custom input validation, so we will perform a security review first.
Priority: security-essentials > code-quality; Chain: security-essentials then code-quality.Language: Generated artifacts and output MUST be in English unless explicitly requested otherwise.
testing-essentials directly)No skill clearly matches the request:
elixir-essentials (language ambiguity) or phoenix-liveview-essentials (web/Phoenix ambiguity) and label it Fallback: <skill>.Request spans multiple concerns:
A named skill is missing from the catalog:
directory.json; if still unresolved, fall back to elixir-essentials and note the gap in the routing rationale.User asks the router to implement directly:
Next skill: routing line and delegate, since this orchestrator never implements..tessl-plugin
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17
scenario-18
scenario-19
scenario-20
scenario-21
scenario-22
scenario-23
scenario-24
scenario-25
scenario-26
scenario-27
scenario-28
scenario-29
scenario-30
scenario-31
scenario-32
scenario-33
scenario-34
scenario-35
scenario-36
scenario-37
scenario-38
scenario-39
scenario-40
scenario-41
scenario-42
scenario-43
scenario-44
scenario-45
scenario-46
scenario-47
scenario-48
scenario-49
scenario-50
scenario-51
scenario-52
scenario-53
scenario-54
scenario-55
scenario-56
skills
frameworks
ash-framework
infrastructure
orchestration
elixir-skill-router
personas
phoenix
quality
security
security-essentials
tooling
mix-tasks-generators