CtrlK
BlogDocsLog inGet started
Tessl Logo

igmarin/elixir-phoenix-skills

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

1.37x
Quality

91%

Does it follow best practices?

Impact

91%

1.37x

Average score across 56 eval scenarios

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

Evaluation results

87%

12%

Add a Caching Layer to the User Accounts Context

Cachex cache-aside layer for Accounts context

Criteria
Baseline
With context

Cachex.fetch/3 used

100%

100%

TTL set on cache entry

66%

100%

stats: true in config

100%

100%

Cachex in supervision tree

100%

100%

Cache invalidation on update

100%

100%

Structured logging

0%

0%

with for sequential operations

0%

70%

cachex dep in mix.exs

100%

100%

DESIGN.md present

100%

100%

100%

48%

Apply Ecto Conventions Task

Criteria
Baseline
With context

instruction-1

93%

100%

instruction-2

100%

100%

instruction-3

57%

100%

instruction-4

50%

100%

instruction-5

57%

100%

instruction-6

0%

100%

instruction-7

0%

100%

91%

57%

Apply Phoenix Controller Conventions Task

Criteria
Baseline
With context

instruction-1

80%

93%

instruction-2

13%

86%

instruction-3

28%

71%

instruction-4

92%

100%

instruction-5

21%

92%

instruction-6

0%

92%

instruction-7

0%

100%

91%

23%

Apply Phoenix Liveview Conventions Task

Criteria
Baseline
With context

instruction-1

92%

100%

instruction-2

69%

76%

instruction-3

84%

100%

instruction-4

92%

100%

instruction-5

16%

50%

instruction-6

58%

100%

instruction-7

66%

100%

instruction-8

58%

100%

97%

14%

Ash Framework Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

70%

90%

instruction-3

100%

100%

instruction-4

30%

100%

instruction-5

100%

100%

instruction-6

80%

100%

instruction-7

100%

100%

instruction-8

100%

100%

instruction-9

80%

100%

instruction-10

70%

80%

85%

5%

Background Job Task

Criteria
Baseline
With context

instruction-1

76%

100%

instruction-2

92%

100%

instruction-3

61%

84%

instruction-4

92%

61%

instruction-5

66%

75%

instruction-6

75%

66%

instruction-7

83%

91%

instruction-8

91%

100%

95%

49%

Benchee Profiling Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

40%

100%

instruction-3

78%

100%

instruction-4

100%

100%

instruction-5

0%

100%

instruction-6

0%

100%

instruction-7

0%

64%

96%

30%

Blog Module Test Suite

ExUnit test conventions for Phoenix context and LiveView

Criteria
Baseline
With context

Fixture file exists

100%

100%

No inline data duplication

70%

70%

Context tests use DataCase

100%

100%

LiveView tests use ConnCase

100%

100%

has_element?/2 used in LiveView tests

30%

100%

No html =~ for structure checks

25%

87%

Unauthorized case tested

80%

100%

No hardcoded dates

0%

100%

LiveView async: false

100%

100%

Context async: true

0%

100%

Fixture module function names

100%

100%

92%

50%

Broadway Data Pipelines Task

Criteria
Baseline
With context

instruction-1

40%

100%

instruction-2

10%

100%

instruction-3

65%

100%

instruction-4

75%

100%

instruction-5

20%

60%

86%

33%

Bug Fix Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

70%

90%

instruction-3

40%

50%

instruction-4

30%

90%

instruction-5

20%

100%

instruction-6

40%

100%

instruction-7

70%

100%

instruction-8

70%

100%

instruction-9

70%

100%

instruction-10

20%

30%

72%

8%

Build the Data Layer for a Project Management System

Ecto schema, migrations, and context for project management

Criteria
Baseline
With context

DB unique constraint on team name

0%

0%

FK index on users.team_id

100%

100%

FK index on projects.user_id

100%

100%

FK index on tasks.project_id

100%

100%

on_delete :delete_all for tasks

100%

100%

on_delete explicit for users FK

100%

100%

Separate named changesets

0%

0%

unsafe_validate_unique + unique_constraint pairing

0%

0%

cast_assoc for tasks

100%

100%

Preload before update

100%

100%

Task changeset omits project_id

0%

100%

No mixed schema+data migrations

100%

100%

100%

25%

Cachex Caching Task

Criteria
Baseline
With context

instruction-1

72%

100%

instruction-2

100%

100%

instruction-3

56%

100%

instruction-4

72%

100%

100%

43%

Code Quality Task

Criteria
Baseline
With context

instruction-1

20%

100%

instruction-2

53%

100%

instruction-3

7%

100%

instruction-4

92%

100%

instruction-5

92%

100%

instruction-6

92%

100%

instruction-7

50%

100%

94%

80%

Code Review Task

Criteria
Baseline
With context

instruction-1

20%

70%

instruction-2

0%

100%

instruction-3

0%

100%

instruction-4

20%

100%

instruction-5

0%

100%

instruction-6

30%

100%

instruction-7

0%

100%

instruction-8

0%

70%

instruction-9

0%

100%

instruction-10

70%

100%

94%

24%

Credo Config Task

Criteria
Baseline
With context

instruction-1

50%

70%

instruction-2

100%

100%

instruction-3

100%

100%

instruction-4

50%

70%

instruction-5

100%

100%

instruction-6

20%

100%

instruction-7

100%

100%

instruction-8

100%

100%

instruction-9

40%

100%

instruction-10

40%

100%

99%

32%

Deployment Gotchas Task

Criteria
Baseline
With context

instruction-1

70%

90%

instruction-2

70%

100%

instruction-3

80%

100%

instruction-4

90%

100%

instruction-5

90%

100%

instruction-6

10%

100%

instruction-7

90%

100%

instruction-8

40%

100%

instruction-9

70%

100%

instruction-10

60%

100%

100%

11%

Ecto Changeset Patterns Task

Criteria
Baseline
With context

instruction-1

47%

100%

instruction-2

100%

100%

instruction-3

100%

100%

instruction-4

100%

100%

instruction-5

87%

100%

instruction-6

100%

100%

95%

22%

Ecto Essentials Task

Criteria
Baseline
With context

instruction-1

80%

90%

instruction-2

100%

100%

instruction-3

100%

100%

instruction-4

80%

100%

instruction-5

50%

100%

instruction-6

20%

100%

instruction-7

20%

100%

instruction-8

100%

100%

instruction-9

80%

80%

instruction-10

100%

80%

96%

22%

Ecto Migration Task

Criteria
Baseline
With context

instruction-1

80%

90%

instruction-2

90%

100%

instruction-3

100%

100%

instruction-4

60%

100%

instruction-5

70%

100%

instruction-6

40%

100%

instruction-7

80%

100%

instruction-8

100%

100%

instruction-9

90%

100%

instruction-10

30%

70%

100%

23%

Ecto Nested Associations Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

70%

100%

instruction-3

100%

100%

instruction-4

50%

100%

instruction-5

30%

100%

instruction-6

90%

100%

instruction-7

70%

100%

instruction-8

100%

100%

instruction-9

100%

100%

instruction-10

60%

100%

80%

3%

Elixir Essentials Task

Criteria
Baseline
With context

instruction-1

70%

80%

instruction-2

60%

50%

instruction-3

100%

80%

instruction-4

90%

50%

instruction-5

50%

60%

instruction-6

100%

100%

instruction-7

90%

90%

instruction-8

70%

90%

instruction-9

80%

100%

instruction-10

60%

100%

45%

18%

Elixir Skill Router Task

Criteria
Baseline
With context

instruction-1

50%

60%

instruction-2

40%

90%

instruction-3

20%

40%

instruction-4

0%

10%

instruction-5

100%

100%

instruction-6

10%

30%

instruction-7

10%

20%

instruction-8

10%

20%

instruction-9

10%

20%

instruction-10

20%

60%

100%

13%

Event Ingestion Pipeline

Broadway pipeline error handling and dead-letter routing

Criteria
Baseline
With context

No raise in handle_message

100%

100%

Broadway.Message.failed/2 used

100%

100%

handle_failed/2 implemented

100%

100%

Payload schema validation

100%

100%

No raw payload logged

37%

100%

Structured logging in handle_failed

0%

100%

Pipeline in supervision tree

100%

100%

@impl true before callbacks

100%

100%

Test uses push_message

100%

100%

Malformed message test

100%

100%

70%

-25%

Gettext I18n Task

Criteria
Baseline
With context

instruction-1

94%

40%

instruction-2

96%

100%

99%

42%

Liveview Streams Task

Criteria
Baseline
With context

instruction-1

80%

100%

instruction-2

60%

100%

instruction-3

100%

100%

instruction-4

90%

100%

instruction-5

40%

100%

instruction-6

60%

100%

instruction-7

20%

100%

instruction-8

10%

100%

instruction-9

30%

90%

instruction-10

90%

100%

94%

8%

Liveview Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

100%

100%

instruction-3

69%

76%

instruction-4

92%

76%

instruction-5

58%

100%

instruction-6

100%

100%

instruction-7

100%

100%

instruction-8

66%

100%

100%

28%

Mix Tasks Generators Task

Criteria
Baseline
With context

instruction-1

76%

100%

instruction-2

100%

100%

instruction-3

30%

100%

instruction-4

69%

100%

instruction-5

66%

100%

instruction-6

100%

100%

instruction-7

100%

100%

instruction-8

33%

100%

90%

6%

Notes API — Backend Implementation

Phoenix JSON API with auth, versioning, and safe queries

Criteria
Baseline
With context

:api pipeline used

100%

100%

No mixed pipelines

100%

100%

URL version prefix

100%

100%

action_fallback declared

100%

100%

Controller returns tagged tuples

50%

75%

FallbackController handles errors

100%

100%

Secure token comparison

0%

33%

No == for token check

100%

100%

Parameterized search query

100%

100%

No interpolation in queries

100%

100%

User-scoped queries

100%

100%

98%

51%

Oban Essentials Task

Criteria
Baseline
With context

instruction-1

70%

90%

instruction-2

100%

100%

instruction-3

40%

100%

instruction-4

20%

100%

instruction-5

40%

100%

instruction-6

70%

100%

instruction-7

100%

100%

instruction-8

0%

100%

instruction-9

20%

100%

instruction-10

10%

90%

87%

12%

Otp Essentials Task

Criteria
Baseline
With context

instruction-1

80%

100%

instruction-2

100%

100%

instruction-3

100%

100%

instruction-4

100%

100%

instruction-5

30%

40%

instruction-6

20%

30%

instruction-7

50%

100%

instruction-8

100%

100%

instruction-9

80%

100%

instruction-10

90%

100%

95%

Phoenix Auth Customization Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

100%

100%

instruction-3

80%

80%

instruction-4

100%

100%

97%

20%

Phoenix Authorization Patterns Task

Criteria
Baseline
With context

instruction-1

70%

100%

instruction-2

80%

100%

instruction-3

95%

100%

instruction-4

85%

100%

instruction-5

55%

85%

100%

12%

Phoenix Channels Essentials Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

100%

100%

instruction-3

100%

100%

instruction-4

46%

100%

instruction-5

66%

100%

instruction-6

91%

100%

instruction-7

100%

100%

instruction-8

100%

100%

100%

15%

Phoenix Json Api Task

Criteria
Baseline
With context

instruction-1

76%

100%

instruction-2

82%

100%

instruction-3

94%

100%

instruction-4

82%

100%

instruction-5

93%

100%

instruction-6

81%

100%

84%

34%

Phoenix Liveview Auth Task

Criteria
Baseline
With context

instruction-1

66%

86%

instruction-2

86%

66%

instruction-3

14%

92%

instruction-4

7%

78%

instruction-5

85%

71%

instruction-6

28%

100%

instruction-7

57%

92%

81%

26%

Phoenix Liveview Essentials Task

Criteria
Baseline
With context

instruction-1

70%

80%

instruction-2

70%

100%

instruction-3

30%

100%

instruction-4

30%

100%

instruction-5

30%

70%

instruction-6

70%

0%

instruction-7

20%

60%

instruction-8

100%

100%

instruction-9

30%

100%

instruction-10

100%

100%

92%

52%

Phoenix Pubsub Patterns Task

Criteria
Baseline
With context

instruction-1

82%

94%

instruction-2

36%

96%

instruction-3

0%

84%

96%

79%

Phoenix Scopes Task

Criteria
Baseline
With context

instruction-1

6%

100%

instruction-2

0%

100%

instruction-3

0%

100%

instruction-4

7%

100%

instruction-5

0%

100%

instruction-6

50%

71%

instruction-7

57%

100%

100%

25%

Phoenix Uploads Task

Criteria
Baseline
With context

instruction-1

80%

100%

instruction-2

92%

100%

instruction-3

40%

100%

instruction-4

88%

100%

96%

18%

Production-Ready Phoenix Deployment

Phoenix production deployment configuration

Criteria
Baseline
With context

runtime.exs uses System.get_env!/1

0%

100%

Secrets in runtime.exs only

100%

100%

Release module with Ecto.Migrator

100%

100%

No mix ecto.migrate in deployment

100%

100%

Health endpoint queries database

100%

100%

Health endpoint returns JSON

100%

100%

Logger level :info in production

0%

80%

Docker multi-stage build

100%

100%

Telemetry in Application.start/2

100%

100%

No debug-level log config

100%

75%

100%

17%

Property Based Testing Task

Criteria
Baseline
With context

instruction-1

88%

100%

instruction-2

66%

100%

instruction-3

93%

100%

100%

50%

Quality Task

Criteria
Baseline
With context

instruction-1

83%

100%

instruction-2

45%

100%

instruction-3

36%

100%

instruction-4

54%

100%

instruction-5

36%

100%

instruction-6

36%

100%

instruction-7

45%

100%

instruction-8

27%

100%

instruction-9

81%

100%

84%

7%

Rate Limiter for a Multi-Tenant API Gateway

OTP GenServer with ETS reads and public API

Criteria
Baseline
With context

ETS table created

100%

100%

Reads bypass GenServer

100%

100%

GenServer owns writes

62%

100%

Public API functions

100%

100%

No direct GenServer.call in public API

100%

100%

@impl true on callbacks

100%

100%

Fast init with handle_continue

50%

80%

Registry-based naming

0%

0%

Structured logging

70%

80%

Design doc explains ETS rationale

100%

100%

88%

16%

Refactor Code Task

Criteria
Baseline
With context

instruction-1

92%

100%

instruction-2

76%

100%

instruction-3

61%

100%

instruction-4

53%

100%

instruction-5

58%

83%

instruction-6

83%

100%

instruction-7

66%

100%

instruction-8

83%

16%

100%

28%

Req Http Client Task

Criteria
Baseline
With context

instruction-1

94%

100%

instruction-2

84%

100%

instruction-3

36%

100%

100%

17%

Respond To Review Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

100%

100%

instruction-3

0%

100%

instruction-4

100%

100%

instruction-5

100%

100%

instruction-6

100%

100%

82%

40%

Security Essentials Task

Criteria
Baseline
With context

instruction-1

80%

80%

instruction-2

90%

100%

instruction-3

20%

90%

instruction-4

80%

70%

instruction-5

0%

90%

instruction-6

0%

90%

instruction-7

0%

60%

instruction-8

50%

100%

instruction-9

0%

70%

instruction-10

100%

70%

85%

31%

Setup Task

Criteria
Baseline
With context

instruction-1

85%

90%

instruction-2

25%

100%

instruction-3

85%

95%

instruction-4

60%

75%

instruction-5

15%

65%

95%

3%

Shared Task Board — Live Collaboration Feature

Real-time LiveView with PubSub

Criteria
Baseline
With context

connected? guard

100%

100%

All assigns in mount

100%

100%

No Repo in LiveView

100%

100%

Broadcast in context

100%

100%

@impl true on callbacks

100%

100%

mount returns {:ok, socket}

100%

100%

handle_event returns {:noreply, socket}

100%

100%

with for multi-step ops

40%

50%

handle_info updates assigns

60%

100%

100%

29%

Swoosh Emails Task

Criteria
Baseline
With context

instruction-1

100%

100%

instruction-2

66%

100%

instruction-3

50%

100%

instruction-4

100%

100%

instruction-5

100%

100%

instruction-6

71%

100%

instruction-7

7%

100%

72%

17%

Tdd Task

Criteria
Baseline
With context

instruction-1

75%

75%

instruction-2

81%

27%

instruction-3

63%

90%

instruction-4

72%

18%

instruction-5

63%

90%

instruction-6

18%

100%

instruction-7

18%

90%

instruction-8

81%

90%

instruction-9

18%

63%

98%

21%

Telemetry Essentials Task

Criteria
Baseline
With context

instruction-1

75%

90%

instruction-2

95%

100%

instruction-3

90%

100%

instruction-4

100%

100%

instruction-5

25%

100%

93%

80%

Testing Essentials Task

Criteria
Baseline
With context

instruction-1

40%

70%

instruction-2

30%

100%

instruction-3

0%

90%

instruction-4

0%

100%

instruction-5

0%

100%

instruction-6

0%

80%

instruction-7

30%

100%

instruction-8

30%

100%

instruction-9

0%

100%

instruction-10

0%

90%

100%

6%

Typespec Dialyzer Task

Criteria
Baseline
With context

instruction-1

96%

100%

instruction-2

92%

100%

85%

-1%

User Record Pipeline: Property Testing

Property-based tests for data transformation invariants

Criteria
Baseline
With context

Uses ExUnitProperties

100%

100%

Property syntax

100%

100%

Invariant assertions

100%

90%

Custom generator

100%

100%

Shrinking constraints

100%

100%

Pattern matching in impl

80%

70%

No nested if/else

75%

87%

For comprehension usage

0%

0%

Ok/error tuples — normalize

100%

100%

Ok/error tuples — merge

100%

100%

Properties cover all functions

100%

100%

81%

21%

Welcome Email Pipeline

Oban async welcome email worker with idempotency

Criteria
Baseline
With context

ID-only args

100%

100%

Fresh data fetch

100%

100%

Idempotency check

50%

50%

Not-found cancellation

100%

100%

Oban.insert/1 used

0%

50%

Error tuple handled

0%

0%

Context enqueues job

100%

100%

Separate email module

100%

100%

perform_job/2 in tests

0%

100%

assert_enqueued in tests

0%

100%

Evaluated
Agent
Claude Code
Model
Claude Sonnet 4.6

Table of Contents