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

criteria.jsonevals/scenario-35/

{
  "context": "Checks whether the final artifact follows the phoenix-json-api instructions from the published Elixir Phoenix Skills plugin.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "instruction-1",
      "description": "The submitted artifact follows this skill instruction: **Use the `:api` pipeline** — don't mix HTML and JSON pipelines; API routes skip CSRF and sessions",
      "max_score": 17
    },
    {
      "name": "instruction-2",
      "description": "The submitted artifact follows this skill instruction: **Render errors as structured JSON** — `{:error, changeset}` must become `{\"errors\": {...}}`",
      "max_score": 17
    },
    {
      "name": "instruction-3",
      "description": "The submitted artifact follows this skill instruction: **Use `FallbackController` for consistent error handling** — every action returns `{:ok, result}` or `{:error, reason}`",
      "max_score": 17
    },
    {
      "name": "instruction-4",
      "description": "The submitted artifact follows this skill instruction: **Define the route** in the `:api` (or `:api_auth`) pipeline scope with a versioned URL prefix",
      "max_score": 17
    },
    {
      "name": "instruction-5",
      "description": "The submitted artifact follows this skill instruction: **Create the controller** with `action_fallback MyAppWeb.FallbackController` and return `{:ok, _}` / `{:error, _}` from every action",
      "max_score": 16
    },
    {
      "name": "instruction-6",
      "description": "The submitted artifact follows this skill instruction: **Verify error responses** — confirm that invalid input and missing resources return structured JSON (e.g., `{\"errors\": {...}}`) before proceeding",
      "max_score": 16
    }
  ]
}

evals

.mcp.json

README.md

tile.json