phoenix-api-channels

Build JSON APIs and real-time features with Phoenix controllers, channels, and presence.

Updated Jan 30, 2026
One-click install
npx skills add https://github.com/MacPhobos/research-mind --skill phoenix-api-channels-macphobos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: phoenix-api-channels
Source: https://github.com/MacPhobos/research-mind/tree/main/.claude/skills/toolchains-elixir-frameworks-phoenix-api-channels
Command: npx skills add https://github.com/MacPhobos/research-mind --skill phoenix-api-channels-macphobos

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill streamlines the development of real-time web applications by providing robust solutions for building JSON APIs, WebSocket channels, and managing user presence within the Elixir Phoenix framework.

Core Features & Use Cases

  • JSON APIs: Build versioned RESTful APIs using Phoenix controllers, plugs, and pipelines.
  • Real-time Communication: Implement chat, notifications, and collaborative features with Phoenix Channels and PubSub.
  • Presence Tracking: Monitor connected users and devices efficiently.
  • Use Case: Develop a real-time chat application where users can join rooms, send messages, and see who else is online, all powered by Phoenix Channels and Presence.

Quick Start

Create a new Phoenix project for building JSON APIs and WebSocket channels.

Frequently Asked Questions about phoenix-api-channels

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build real-time chat features with Phoenix Channels and PubSub?

Build real-time chat features with Phoenix Channels by establishing WebSocket connections and routing messages through PubSub. This enables clients to join topic rooms, broadcast events, and receive instant updates across the BEAM virtual machine.

What is the best way to track connected users in an Elixir Phoenix application?

Track connected users in Elixir Phoenix using the Presence module. It leverages CRDTs on the BEAM to efficiently monitor online clients, sync join and leave events, and broadcast presence state across distributed nodes.

How do I create a versioned JSON API using Phoenix controllers and plugs?

Create a versioned JSON API using Phoenix controllers by defining custom plug pipelines. Plugs authenticate requests and parse parameters, while controllers leverage Ecto contexts to fetch, format, and render JSON responses.

Can I use Ecto contexts for data management in Phoenix Channels?

You can use Ecto contexts for data management in Phoenix Channels. Contexts encapsulate database logic, allowing channel handlers to validate incoming WebSocket events and persist data before broadcasting updates via PubSub.

How do I authenticate WebSocket connections in Phoenix?

Authenticate WebSocket connections in Phoenix by assigning authentication logic to plugs in the pipeline. Plugs verify tokens or session data before allowing clients to establish a channel connection and subscribe to PubSub topics.

Does Phoenix Presence work across distributed BEAM nodes?

Phoenix Presence works across distributed BEAM nodes. It uses a Conflict-Free Replicated Data Type (CRDT) protocol to automatically synchronize presence information and track connected processes without a single point of failure.