jpskill.com
💬 コミュニケーション コミュニティ

elixir-expert

Elixir、Phoenix、OTPを活用し、並行処理や耐障害性に優れたリアルタイムアプリケーションを設計・構築するSkill。

📜 元の英語説明(参考)

Expert in Elixir, Phoenix Framework, and OTP. Specializes in building concurrent, fault-tolerant, and real-time applications using the BEAM. Use when building Elixir applications, working with Phoenix, implementing GenServers, or designing distributed systems on the BEAM.

🇯🇵 日本人クリエイター向け解説

一言でいうと

Elixir、Phoenix、OTPを活用し、並行処理や耐障害性に優れたリアルタイムアプリケーションを設計・構築するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o elixir-expert.zip https://jpskill.com/download/6657.zip && unzip -o elixir-expert.zip && rm elixir-expert.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/6657.zip -OutFile "$d\elixir-expert.zip"; Expand-Archive "$d\elixir-expert.zip" -DestinationPath $d -Force; ri "$d\elixir-expert.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して elixir-expert.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → elixir-expert フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-17
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[スキル名] elixir-expert

Elixir Expert

目的

Elixir開発、Phoenix Framework、およびOTPパターンに関する専門知識を提供します。並行プログラミング、LiveViewによるリアルタイム機能、BEAM VM上でのフォールトトレラントな分散システムの構築をカバーします。

使用する場面

  • Elixirアプリケーションを構築する場合
  • Phoenixウェブアプリケーションを開発する場合
  • LiveViewでリアルタイム機能を実装する場合
  • OTPパターン(GenServer、Supervisor)を使用する場合
  • BEAM上で分散システムを構築する場合
  • フォールトトレラントなアーキテクチャを設計する場合
  • データベースアクセスにEctoを使用する場合

クイックスタート

このスキルを呼び出す場合:

  • Elixirアプリケーションを構築する場合
  • Phoenixウェブアプリケーションを開発する場合
  • LiveViewでリアルタイム機能を実装する場合
  • OTPパターンを使用する場合
  • フォールトトレラントなシステムを設計する場合

呼び出さない場合:

  • Ruby on Railsアプリを構築する場合(rails-expertを使用してください)
  • Node.jsバックエンドを構築する場合(javascript-proを使用してください)
  • Pythonバックエンドを構築する場合(python-proを使用してください)
  • インフラストラクチャの自動化を行う場合(terraform-engineerを使用してください)

決定フレームワーク

Concurrency Pattern:
├── Stateful process → GenServer
├── Async work → Task
├── Background job → Oban or Task.Supervisor
├── Event streaming → GenStage / Broadway
├── Real-time UI → Phoenix LiveView
└── External service → Retry with exponential backoff

Supervision Strategy:
├── Process can crash independently → one_for_one
├── Processes depend on each other → one_for_all
├── Ordered restart needed → rest_for_one
└── Dynamic children → DynamicSupervisor

主要なワークフロー

1. Phoenixアプリケーションのセットアップ

  1. Phoenixプロジェクトを生成します。
  2. Ectoでデータベースを設定します。
  3. スキーマとマイグレーションを定義します。
  4. ビジネスロジックのコンテキストを作成します。
  5. コントローラーまたはLiveViewを構築します。
  6. 認証を追加します。
  7. リリースでデプロイします。

2. OTPアプリケーションの設計

  1. ステートフルなコンポーネントを特定します。
  2. 監視ツリーを設計します。
  3. 状態管理のためにGenServerを実装します。
  4. 適切なエラーハンドリングを追加します。
  5. グレースフルシャットダウンを実装します。
  6. 監視戦略をテストします。

3. LiveViewによるリアルタイム機能

  1. LiveViewモジュールを生成します。
  2. アサインと状態を定義します。
  3. handle_eventコールバックを実装します。
  4. ブロードキャストにpubsubを使用します。
  5. temporary_assignsで最適化します。
  6. 必要に応じてJSフックを追加します。

ベストプラクティス

  • クラッシュさせましょう - 障害回復のために設計します。
  • フォールトトレランスのために監視ツリーを使用します。
  • GenServerの状態は最小限に保ちます。
  • ビジネスロジックを整理するためにコンテキストを使用します。
  • 不変なデータ変換を優先します。
  • async: true で並行コードをテストします。

アンチパターン

アンチパターン 問題点 正しいアプローチ
大規模なGenServerの状態 メモリとシリアライゼーション 外部ストレージ、ETS
防御的なコーディング バグを隠す クラッシュさせ、監視する
ブロッキングGenServer プロセスボトルネック I/Oのための非同期タスク
監視なし 回復不能なクラッシュ 適切な監視ツリー
可変な考え方 バグと競合状態 不変性を採用する
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Elixir Expert

Purpose

Provides expertise in Elixir development, Phoenix Framework, and OTP patterns. Covers concurrent programming, real-time features with LiveView, and building fault-tolerant distributed systems on the BEAM VM.

When to Use

  • Building Elixir applications
  • Developing Phoenix web applications
  • Implementing real-time features with LiveView
  • Using OTP patterns (GenServer, Supervisor)
  • Building distributed systems on BEAM
  • Designing fault-tolerant architectures
  • Working with Ecto for database access

Quick Start

Invoke this skill when:

  • Building Elixir applications
  • Developing Phoenix web applications
  • Implementing real-time features with LiveView
  • Using OTP patterns
  • Designing fault-tolerant systems

Do NOT invoke when:

  • Building Ruby on Rails apps (use rails-expert)
  • Building Node.js backends (use javascript-pro)
  • Building Python backends (use python-pro)
  • Infrastructure automation (use terraform-engineer)

Decision Framework

Concurrency Pattern:
├── Stateful process → GenServer
├── Async work → Task
├── Background job → Oban or Task.Supervisor
├── Event streaming → GenStage / Broadway
├── Real-time UI → Phoenix LiveView
└── External service → Retry with exponential backoff

Supervision Strategy:
├── Process can crash independently → one_for_one
├── Processes depend on each other → one_for_all
├── Ordered restart needed → rest_for_one
└── Dynamic children → DynamicSupervisor

Core Workflows

1. Phoenix Application Setup

  1. Generate Phoenix project
  2. Configure database with Ecto
  3. Define schemas and migrations
  4. Create contexts for business logic
  5. Build controllers or LiveViews
  6. Add authentication
  7. Deploy with releases

2. OTP Application Design

  1. Identify stateful components
  2. Design supervision tree
  3. Implement GenServers for state
  4. Add proper error handling
  5. Implement graceful shutdown
  6. Test supervision strategies

3. Real-Time with LiveView

  1. Generate LiveView module
  2. Define assigns and state
  3. Implement handle_event callbacks
  4. Use pubsub for broadcasts
  5. Optimize with temporary_assigns
  6. Add JS hooks if needed

Best Practices

  • Let it crash - design for failure recovery
  • Use supervision trees for fault tolerance
  • Keep GenServer state minimal
  • Use contexts to organize business logic
  • Prefer immutable data transformations
  • Test concurrent code with async: true

Anti-Patterns

Anti-Pattern Problem Correct Approach
Large GenServer state Memory and serialization External storage, ETS
Defensive coding Hides bugs Let it crash, supervise
Blocking GenServer Process bottleneck Async tasks for I/O
No supervision Unrecoverable crashes Proper supervision tree
Mutable mindset Bugs and race conditions Embrace immutability