Agent skill

using-elixir-skills

This skill should be used when the user works on any .ex or .exs file, mentions Elixir/Phoenix/Ecto/OTP, the project has a mix.exs, or asks "which skill should I use", "new to Elixir", "help with Elixir". Routes to the correct thinking skill BEFORE exploring code. Triggers on "implement", "add", "fix", "refactor" in Elixir projects.

Stars 138
Forks 12

Install this agent skill to your Project

npx add-skill https://github.com/georgeguimaraes/claude-code-elixir/tree/main/plugins/elixir/skills/using-elixir-skills

SKILL.md

THIS IS NOT OPTIONAL. Skills tell you HOW to explore and WHAT to look for. You cannot rationalize your way out of this. </EXTREMELY-IMPORTANT>

The Rule

Elixir/Phoenix/OTP task → Invoke skill FIRST → Then explore/research → Then write code

Skills come before exploration. The skills tell you what patterns to look for, what questions to ask, and what anti-patterns to avoid. Exploring without the skill means you don't know what you're looking for.

Skill Triggers

Trigger Phrases Skill to Invoke
code, implement, write, design, architecture, structure, pattern elixir-thinking
LiveView, Plug, PubSub, mount, channel, socket, component phoenix-thinking
context, schema, Ecto, changeset, preload, Repo, migration ecto-thinking
GenServer, supervisor, Task, ETS, bottleneck, Broadway otp-thinking
Oban, workflow, job queue, cascade, graft, background job, async job oban-thinking

Red Flags

These thoughts mean STOP—invoke the skill:

Thought Reality
"Let me explore the codebase first" Skills tell you WHAT to look for. Invoke first.
"Let me understand the code first" Skills guide understanding. Invoke first.
"But first, let me..." No. Skills come first. Always.
"I'll add a process to organize this" Processes are for runtime, not organization.
"GenServer is the Elixir way" GenServer is a bottleneck by design.
"I'll query in mount" mount is called twice.
"Task.async is simpler" Use Task.Supervisor in production.
"I know Elixir well enough" These skills contain paradigm shifts. Invoke them.

Expand your agent's capabilities with these related and highly-rated skills.

georgeguimaraes/claude-code-elixir

elixir-thinking

This skill should be used when the user asks to "implement a feature in Elixir", "refactor this module", "should I use a GenServer here?", "how should I structure this?", "use the pipe operator", "add error handling", "make this concurrent", or mentions protocols, behaviours, pattern matching, with statements, comprehensions, structs, or coming from an OOP background. Contains paradigm-shifting insights.

138 12
Explore
georgeguimaraes/claude-code-elixir

otp-thinking

This skill should be used when the user asks to "add background processing", "cache this data", "run this async", "handle concurrent requests", "manage state across requests", "process jobs from a queue", "this GenServer is slow", or mentions GenServer, Supervisor, Agent, Task, Registry, DynamicSupervisor, handle_call, handle_cast, supervision trees, fault tolerance, "let it crash", or choosing between Broadway and Oban.

138 12
Explore
georgeguimaraes/claude-code-elixir

oban-thinking

This skill should be used when the user asks to "add a background job", "process async", "schedule a task", "retry failed jobs", "add email sending", "run this later", "add a cron job", "unique jobs", "batch process", or mentions Oban, Oban Pro, workflows, job queues, cascades, grafting, recorded values, job args, or troubleshooting job failures.

138 12
Explore
georgeguimaraes/claude-code-elixir

ecto-thinking

This skill should be used when the user asks to "add a database table", "create a new context", "query the database", "add a field to a schema", "validate form input", "fix N+1 queries", "preload this association", "separate these concerns", or mentions Repo, changesets, migrations, Ecto.Multi, has_many, belongs_to, transactions, query composition, or how contexts should talk to each other.

138 12
Explore
georgeguimaraes/claude-code-elixir

phoenix-thinking

This skill should be used when the user asks to "add a LiveView page", "create a form", "handle real-time updates", "broadcast changes to users", "add a new route", "create an API endpoint", "fix this LiveView bug", "why is mount called twice?", or mentions handle_event, handle_info, handle_params, mount, channels, controllers, components, assigns, sockets, or PubSub. Essential for avoiding duplicate queries in mount.

138 12
Explore
davila7/claude-code-templates

verl-rl-training

Provides guidance for training LLMs with reinforcement learning using verl (Volcano Engine RL). Use when implementing RLHF, GRPO, PPO, or other RL algorithms for LLM post-training at scale with flexible infrastructure backends.

23,776 2,298
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results