hvpaiva

Keryx — AI skill for Claude Code

AI community

📯 Reliable messaging between AI coding agent sessions, across harnesses.

How to install Keryx

This entry records only its repository, not the path inside it, so there is no exact command to give. Open hvpaiva/keryx and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Keryx does

📯 Reliable messaging between AI coding agent sessions, across harnesses.

Alternatives in AI

  • Agmsg — Cross-vendor messaging for CLI AI coding agents — let Claude Code, Codex, Gemini & Copilot talk to each other 1.5k ★
  • LongHorizon Harness — The long-horizon computer-use harness 1.3k ★
  • Agf — Local-first TUI to find, search, and resume AI coding-agent sessions across Claude Code, Codex, Grok Build, Ki 148 ★

README

keryx

Reliable messaging between AI coding agent sessions.

[![Gem](https://img.shields.io/gem/v/keryx)](https://rubygems.org/gems/keryx) [![CI](https://github.com/hvpaiva/keryx/actions/workflows/ci.yml/badge.svg)](https://github.com/hvpaiva/keryx/actions/workflows/ci.yml)

When several coding agents run side by side, each in its own terminal pane, they have no dependable way to talk to each other. Claude Code sessions can message other Claude Code sessions, and Codex sessions can queue messages for other Codex sessions, but a Claude Code session cannot ask a Codex session for anything, and a reply sent to a session that just ended is lost.

keryx (Greek for herald) gives each session an address that outlives it and a mailbox on disk. A message is written to the mailbox first and only then announced to the recipient, through its harness's own channel when there is one. A session that misses the announcement still finds the message, and a session is reminded before it ends a turn with mail it never read. Mail for a session on another machine goes over SSH, and waits while that machine is unreachable.

$ keryx status
ADDRESSES
ADDRESS            ROLE           SESSION   CONTEXT         UNREAD   WAITING
impl.dev@athena    implementer    unknown   unknown         0        1
orq.dev@athena     orchestrator   idle      303k            0        0
rev-1.dev@athena   reviewer       working   137k/258k 53%   0        1
1 address with no session and no mail is hidden; 'keryx status --all' lists it.

OPEN REQUESTS
ID                           FROM             TO                 AGE   DUE     STATE   SUMMARY
01M5JCXQ0G4H2M7JCEB3ZADT96   orq.dev@athena   impl.dev@athena    10s   in 9m   read    Write a corrected copy of retry.py as retry_fixed.py
01M5JCXPYB2BSZ7JYG1S4EB