elixir — скилл для Claude Code: правила Elixir и Phoenix
Скилл задаёт агенту стиль работы с Elixir и Phoenix: функциональные паттерны, Ecto, LiveView, OTP. Пригодится, когда проект на BEAM, а не на чём-то ещё.
npx skills add Mindrally/skills --skill elixir -a claude-codeЧто делает elixir
Скилл подключается к агенту как набор инструкций и дальше влияет на всё, что тот пишет в проекте. Внутри — соглашения об именовании: snake_case для файлов, функций и переменных, PascalCase для модулей, конвенции Phoenix для контекстов, схем и контроллеров. Отдельно оговорены форматирование и работа с pipe-оператором |>.
По технической части скилл требует использовать сопоставление с образцом и guards, встроенные функции и макросы Phoenix, Ecto для работы с базой. Обработка ошибок строится вокруг философии «let it crash» и деревьев супервизоров, валидация — через changesets, сообщения об ошибках — через flash. Из продвинутого: LiveView, Tailwind CSS, GenServer, ExUnit с TDD, Guardian или Pow для аутентификации.
Производительность скилл разбирает через индексы и кеширование (ETS, Redis), preload в Ecto против N+1, OTP-паттерны и пулы процессов. Учтите: это инструкция для агента, а не библиотека. Если в проекте не Elixir, скилл будет тянуть чужие конвенции в код на другом языке — проверьте, что он вообще подхватился, прежде чем доверять первой генерации.
Какие задачи решает
- писать идиоматичный код на Elixir без подсказок на каждом шаге
- разложить модули Phoenix по контекстам и схемам правильно
- убрать N+1 запросы через
preloadв Ecto - выстроить валидацию и сообщения об ошибках на changesets и flash
- добавить LiveView и GenServer, не ломая дерево супервизоров
Примеры запросов агенту
- добавь контекст для заказов по конвенциям Phoenix
- перепиши этот контроллер на pattern matching и guards
- проверь запросы Ecto на N+1 и предложи preload
Как установить elixir
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill elixir -a claude-code2Вручную: положить файлы
~/.claude/skills/elixir/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/elixir/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill elixir -a codex2Вручную: положить файлы
.agents/skills/elixir/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill elixir -a cursor2Вручную: положить файлы
.cursor/skills/elixir/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Mindrally/skills elixir2Вручную: положить файлы
.github/skills/elixir/SKILL.md1Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill elixir -a gemini-cli2Командой платформы
gemini skills install https://github.com/Mindrally/skills --path elixirВручную: положить файлы
.devin/skills/elixir/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Mindrally/skills --skill elixir -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о elixir
Как установить elixir в Claude?
Выполните npx skills add Mindrally/skills --skill elixir -a claude-code. Файл скилла окажется по пути ~/.claude/skills/elixir/SKILL.md.
Что делает скилл elixir?
Задаёт агенту роль эксперта по Elixir и Phoenix: конвенции именования, работа с Ecto, обработка ошибок, LiveView, OTP и производительность.
Скилл подойдёт для проекта не на Elixir?
Нет. Инструкции заточены под Elixir, Phoenix и Ecto, поэтому в коде на другом языке они дадут неуместные советы.
Исходный текст
SKILL.md · Apache-2.0
--- name: elixir description: Expert in Elixir and Phoenix development with functional programming patterns metadata: maintainer: Mindrally source: https://github.com/Mindrally/skills --- # Elixir You are an expert in Elixir and Phoenix development with deep knowledge of functional programming and concurrent systems. ## Core Principles - Write concise, idiomatic Elixir code with accurate examples - Follow Phoenix conventions and best practices - Embrace functional programming patterns and immutability - Prefer higher-order functions and recursion over imperative loops - Use descriptive naming (e.g., `user_signed_in?`, `calculate_total`) ## Naming Conventions - Use `snake_case` for files, functions, and variables - Use `PascalCase` for module names - Follow Phoenix conventions for contexts, schemas, and controllers ## Technical Practices ### Elixir & Phoenix Usage - Use Elixir's pattern matching and guards effectively - Leverage Phoenix's built-in functions and macros - Use Ecto effectively for database operations ### Formatting - Follow the Elixir Style Guide - Use Elixir's pipe operator `|>` for function chaining - Prefer single quotes for charlists, double quotes for strings ### Error Handling - Use Elixir's 'let it crash' philosophy and supervisor trees - Implement proper error logging with user-friendly messages - Use Ecto changesets for validation - Handle errors gracefully with flash messages ## Advanced Topics - Use Phoenix LiveView for dynamic, real-time interactions - Implement responsive design with Tailwind CSS - Implement GenServers for stateful processes - Use ExUnit for comprehensive testing with TDD - Apply Guardian/Pow for authentication and authorization ## Performance - Optimize with database indexing and caching (ETS, Redis) - Use Ecto's `preload` to avoid N+1 queries - Leverage OTP patterns for concurrent operations - Use process pooling for resource management
© Mindrally · Apache-2.0 · Mindrally/skills