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
Your team maintains a DataTransformer module that handles user record normalization and filtering for a multi-tenant SaaS platform. The module processes batches of user records — normalizing email addresses, filtering out inactive accounts, and merging duplicate profiles from different sources. The implementation has grown organically and now needs a solid test suite before a planned refactor.
The engineering lead has asked you to write a comprehensive test suite that will hold up even if the internal implementation is rewritten. Rather than brittle tests that check "given these exact 3 users, expect this exact result," the team wants tests that verify the behavioral contracts of the module — invariants that must hold for any valid input. The test suite should be resilient to implementation changes as long as the contracts are preserved.
You need to:
Write the DataTransformer module at lib/my_app/data_transformer.ex with the following public functions:
normalize_email(user) — returns {:ok, updated_user} with the email lowercased and trimmed, or {:error, reason} if the user has no emailfilter_active_users(users) — returns only users where active: truemerge_profiles(profile_a, profile_b) — merges two user profile maps, with profile_b fields taking precedence for conflicts, returns {:ok, merged} or {:error, reason} if either profile is missing a required :id fieldWrite a property-based test suite at test/my_app/data_transformer_test.exs that tests the behavioral invariants of each function using generated inputs rather than hand-crafted examples.
The project already has stream_data in its dependencies. A minimal mix.exs is provided in the inputs/ directory for reference — you can create the source and test files directly without running mix new.
Produce two files:
lib/my_app/data_transformer.ex — the DataTransformer module implementationtest/my_app/data_transformer_test.exs — the property-based test suite covering all three public functionsThe test suite should be robust enough that it would catch regressions even if the internal implementation is rewritten, as long as the behavioral contracts are preserved. Tests should not be tied to specific hand-crafted values.
You do not need to run the tests — just produce the source files.
.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