iii-channels

Stream data between iii worker functions via WebSocket-based pipes.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/iii-hq/skills --skill iii-channels
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: iii-channels
Source: https://github.com/iii-hq/skills/tree/main/iii-channels
Command: npx skills add https://github.com/iii-hq/skills --skill iii-channels

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill enables efficient, high-throughput data transfer between different worker functions, especially for large or binary data, bypassing the limitations of standard JSON serialization.

Core Features & Use Cases

  • WebSocket-based Streaming: Establishes direct, low-latency pipes between workers.
  • Large File Transfer: Efficiently move large files or binary data (images, audio, video) across functions.
  • Producer-Consumer Patterns: Build robust data pipelines where one function produces data and another consumes it.
  • Inter-worker Communication: Facilitates real-time streaming of data between distributed functions.

Quick Start

Use the iii-channels skill to stream the contents of '/path/to/large/file.zip' from one function to another.

Frequently Asked Questions about iii-channels

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

FAQPage Schema
How do I stream large files between worker functions without JSON serialization?

To stream large files between worker functions without JSON serialization, use WebSocket-based pipes to establish direct, low-latency connections. This bypasses standard serialization limits, enabling high-throughput binary data piping for large file transfers.

Can I build producer-consumer pipelines for binary data across distributed workers?

Yes, you can build producer-consumer pipelines for binary data across distributed workers. The system supports real-time inter-worker communication, allowing one function to produce data streams that another function consumes seamlessly.

Does WebSocket streaming work with Node.js Readable and Writable streams?

WebSocket streaming works directly with Node.js Readable and Writable streams. It also provides Python and Rust SDKs, ensuring seamless integration for high-throughput data piping across different runtime environments.

What is the best way to transfer binary data like images and audio between functions?

The best way to transfer binary data like images and audio between functions is using WebSocket-based streaming pipes. This approach facilitates efficient, high-throughput data transfer by bypassing the bottlenecks of standard JSON serialization.

Why does transferring large data payloads between workers cause bottlenecks?

Transferring large data payloads between workers causes bottlenecks due to the overhead and size limitations of standard JSON serialization. WebSocket-based pipes solve this by establishing direct, low-latency streams for high-throughput binary data.

When should I avoid JSON and use direct streaming for inter-worker communication?

You should avoid JSON and use direct streaming for inter-worker communication when moving large files or binary data. High-throughput, low-latency WebSocket pipes bypass serialization overhead, making them ideal for robust producer-consumer data pipelines.