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
Orchestrates the full Elixir TDD cycle. Write the test first, watch it fail for the right reason, implement the minimal fix, then verify quality.
mix test test/path/to/file_test.exs — confirm it FAILS.HARD GATE — Test Feedback
** (UndefinedFunctionError) function MyApp.Blog.list_posts/0 is undefined).If gate fails: If the test fails for the wrong reason (syntax or config, not a missing function), fix the test until it fails because the implementation is absent — do not write implementation code yet.
# test/my_app/blog_test.exs
defmodule MyApp.BlogTest do
use MyApp.DataCase, async: true
alias MyApp.Blog
describe "list_posts/0" do
test "returns all published posts" do
post = post_fixture(published: true)
assert Blog.list_posts() == [post]
end
end
endExpected failure output:
** (UndefinedFunctionError) function MyApp.Blog.list_posts/0 is undefined or privatemix test test/path/to/file_test.exs — confirm the target test now PASSES.HARD GATE — Implementation Verification
If gate fails: Diagnose the failing test and revise the implementation (re-seeking approval if the approach changes); do not advance to Phase 3 until the target test is green with no new failures.
mix test test/path/to/file_test.exs.mix test test/path/to/file_test.exs.Run all four commands in order — all must exit with 0:
mix format --check-formatted
mix credo --strict
mix dialyzer
mix test| Command | Action |
|---|---|
mix format | Run mix format, re-check, then re-run mix credo, mix dialyzer, and mix test in case formatting changes introduced new issues. |
mix credo | Fix each flagged issue; do not suppress warnings without explicit user approval. |
mix dialyzer | Add or correct typespecs to resolve warnings. |
mix test | Diagnose regressions — do not proceed until all tests pass. |
HARD GATE — Quality Check
If gate fails: Apply the matching remediation from the table above, then re-run all four commands in order — finish only when each exits 0.
@doc documentation to every public function introduced or modified, following ExDoc conventions.When completing a TDD cycle, output a report using this template:
# TDD Report — [Feature / Behavior]
## Test Design
- Type: <unit / integration / LiveView>
- File: <test path>
- RED: <exact failure, e.g. UndefinedFunctionError ...>
## Implementation
- Approval: <obtained>
- Change: <file path + one-line summary>
- GREEN: target test passes, no new failures
## Quality Suite
- mix format --check-formatted: ✓/✗
- mix credo --strict: ✓/✗
- mix dialyzer: ✓/✗
- mix test: ✓/✗ (<n> tests, 0 failures)
## Docs & PR
- @doc added to new public functions: ✓/✗
- Self-review complete: ✓/✗
Verdict: <PASS / BLOCKED — reason>Test fails for the wrong reason (syntax or config, not missing code):
Test still fails after implementation:
A Phase 3 refactor turns the suite red:
Quality suite fails (format / credo / dialyzer / test):
| Predecessor | This Persona | Successor |
|---|---|---|
testing-essentials (skill dependency — provides base test conventions and helpers) | tdd | None (standalone) |
.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