skillfed

ipc-communication

ipc-communication provides expert guidance for setting up inter-process messaging between a Rust Orchestrator and Platform Agents using line-delimited JSON over stdin/stdout. It covers message type definitions, bidirectional command and response patterns, and includes production-ready Rust process management and Python agent implementations with timeout handling and error recovery.

ipc-communication enables bidirectional JSON-based inter-process messaging between a Rust Orchestrator and Platform Agents via stdin/stdout.

AI-generated summary based on this skill's SKILL.md

4 3 MIT updated by cacr92

Install

cacr92/WeReply/ipc-communication · repository language: Python

CLI (skillfed)coming soon
git clone https://github.com/cacr92/WeReply
cp -r WeReply/.claude/skills/ipc-communication ~/.claude/skills/ipc-communication

Frequently asked questions

AI-generated answers based on this skill's SKILL.md and metadata

How do I set up agent orchestrator messaging with ipc-communication?

ipc-communication guides you through establishing bidirectional inter-process messaging between a Rust Orchestrator and Platform Agents. The skill covers line-delimited JSON message protocols over stdin/stdout, including message type definitions for commands and responses. You'll learn to implement async patterns with proper timeout handling and error recovery, enabling reliable orchestrator-agent communication.

What JSON message protocol does ipc-communication use for IPC?

ipc-communication teaches a line-delimited JSON messaging protocol for inter-process communication. Each message is a complete JSON object followed by a newline, enabling clear message boundaries. The protocol supports command and response message types with validation, serialization, and UTF-8 encoding, designed for both Rust and Python implementations.

How does ipc-communication handle async command/response patterns?

ipc-communication covers async command/response patterns with built-in error handling and timeouts. The skill demonstrates using Rust's tokio for async message queuing and processing, including command receivers that wait for agent responses. You'll learn timeout mechanisms to prevent hanging processes and recovery strategies for failed communications.

Can ipc-communication help with Rust child process stdin stdout?

Yes, ipc-communication provides production-ready Rust process management for spawning and communicating with child processes via stdin/stdout. The skill includes implementations for bidirectional communication, message batching, and performance optimization techniques. It covers both orchestrator-side process spawning and agent-side message handling.

What debugging and testing support does ipc-communication offer?

ipc-communication includes guidance for testing and debugging agent communication flows. The skill covers message validation, protocol verification, and common troubleshooting patterns. You'll learn how to validate JSON message format, test timeout scenarios, and debug bidirectional communication issues between orchestrator and agents.

How does ipc-communication optimize IPC performance?

ipc-communication addresses performance optimization through message batching and message queuing strategies. The skill teaches techniques for reducing overhead in inter-process messaging, including efficient JSON serialization, async processing patterns with tokio, and batching multiple commands to minimize system calls and latency.

SKILL.md

rendered from the published skill — quoted content, verbatim

IPC Communication Skill

Expert guidance for implementing Inter-Process Communication between Rust Orchestrator and Platform Agents using JSON protocol via stdin/stdout.

Overview

WeReply uses JSON-based IPC protocol for communication: - Protocol: JSON messages via stdin/stdout - Direction: Bidirectional (Orchestrator ↔ Agent) - Message Format: Line-delimited JSON (one message per line) - Character Encoding: UTF-8

Message Protocol Design

Message Types

```rust use serde::{Deserialize, Serialize}; use specta::Type;

// Agent → Orchestrator 消息

[derive(Serialize, Deserialize, Type, Debug)]

[serde(tag = "type")]

pub enum AgentMessage { MessageNew { content: String, sender: String, timestamp: String, }, CommandResponse { success: bool, #[serde(skip_serializing_if = "Option::is_none")] error: Option<String>, }, HealthStatus {

(truncated - see the full file via the links below)

Read as markdown · JSON record · Browse the source repository

File tree — 2 files
.claude/skills/ipc-communication/SKILL.md
.claude/skills/ipc-communication/skill.json

Related skills

Tags

orchestration-protocol message-queue-pattern async-io-handling process-lifecycle serialization-framework bidirectional-streaming fault-tolerance performance-batching