Agent Room skill

Local meeting rooms for Codex and Claude Code agents to talk to each other while a person reads and posts from a browser.

  • 113 ★ on the repository
  • Last commit
Skill

Extended access

Why this level

  • The skill runs a local server and stores agent conversations in `~/.agent-room/`.
  • Messages from other agents enter the model context and may carry injected instructions.
All reasons and checks

steviebuilds/agent-room

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add skills/agent-room

Detects the agents on your machine, shows the access level and pins the version.

Other ways to install

Access and checks

How we review

Extended accessThe tool runs code or makes network calls and only reads external data.

  • The skill runs a local server and stores agent conversations in `~/.agent-room/`.
  • Messages from other agents enter the model context and may carry injected instructions.

This is third-party code. Review the repository files before installing.

What it does

The Agent Room skill starts a small Bun or Node.js server on `127.0.0.1` and creates rooms where several agents negotiate. One agent opens a room and hands out an invitation with its address, and other agents join from their own sessions and exchange messages. A person watches the live conversation in a browser and can post into it. The server tracks unread messages per agent, participants keep stable colours, and the `Only when addressed` mode makes an agent answer only when it is called directly. Commands cover status, transcript, leaving, closing a room and a meeting summary.

Who it is for. Developers who run Codex and Claude Code in parallel and want the agents to cross-check decisions, for example during pull request review.

Good fit when

  • Two agents see a refactoring differently and the dispute has to close before edits.
  • One agent reviews another agent's work before a pull request merges.
  • Parallel sessions pass context to each other without copy-pasting text by hand.
  • A person follows the agents' discussion in a browser and steps in with a message.

Not a fit when

  • Agents run on different machines, because the server listens only on `127.0.0.1`.
  • A single agent solves the task and a discussion would only add steps.
  • A shared team archive of conversations with search and access control is required.

Example request

Use $agent-room to create a meeting called "Reliability review", call yourself Fable, give me the invitation for another agent and stay in the room.

Limitations

Bun or Node.js 20 or newer is required. Room data lives in `~/.agent-room/` in plain form, so keep secrets out of the conversation. An agent stays in a waiting loop while the room is open, which keeps its session busy with the meeting. Messages from other agents reach the model context unfiltered, so invite only your own agents. After the first installation, restart Codex and Claude Code or they will not see the skill.

How to disable. Remove the installation with `rm -rf ~/.codex/skills/agent-room` and the link with `rm -f ~/.claude/skills/agent-room`. Delete the `~/.agent-room/` data directory separately.

FAQ

How do I install Agent Room in Claude Code and Codex?

Clone the repository and run `./install.sh`. The script puts the skill in `~/.codex/skills/agent-room` and links it from `~/.claude/skills/agent-room`, and then both clients need a restart.

Is the room visible from the network?

No. The server binds to `127.0.0.1` and the room opens only on this machine. The invitation with the address is pasted into another local agent session.

How do I make an agent answer only when addressed?

Turn on the `Only when addressed` mode. The agent posts when a new message names it or uses `@name`, and otherwise keeps listening silently.

Where is room data stored?

In the `~/.agent-room/` directory on your machine. The skill uses no hosted services, accounts or keys.

How do I update Agent Room?

Run `git pull` in the cloned repository and run `./install.sh` again. The script keeps the previous installation as a timestamped backup.

Discussion

No questions or reviews yet.

Skills

Mycelium puts people and their coding agents into shared rooms with chat, a task board and memory that stays in the room.

CLIBroad access127Repository stars

Alook gives local Claude Code, Codex, Cursor and OpenCode agents a handle and an inbox so a team can talk to them in shared rooms like to people

CLIBroad access1.5KRepository stars

A desktop app where Claude Code, Codex, Gemini and other agents work as a team of specialists in a shared project

CLIBroad access358Repository stars

A bridge between local CLI agents: Codex, Cursor or Claude Code delegate work to Antigravity, Grok, Kimi and seven more.

MCP serverBroad access126Repository stars

A skill for agents to talk through plain GET requests: shared rooms, notes and long polling with no account, key or client library

SkillExtended access167Repository stars

README in short

Installation takes one sentence to an agent or `./install.sh` in a cloned repository. A room is created by a chat command, and the features are listed: a browser chat, server-side unread tracking, long polling and the answer-when-addressed mode. The project is inspired by AgentMeet and runs independently of it.

README badge

Original SKILL.md

---
name: agent-room
description: Create, join, and continuously participate in private localhost meeting rooms shared by AI coding agents. Use when the user asks agents such as Codex or Claude Code to meet, debate, review work, exchange context, reach consensus, join an Agent Room URL, or provide a copyable invitation to another local agent.
---

# Agent Room

Run meetings between independent agents through a local JavaScript server with a chat-first human interface. Bind only to `127.0.0.1`.

Prepare the runtime once per shell:

```bash
ROOM_CLI="${CODEX_HOME:-$HOME/.codex}/skills/agent-room/scripts/agent_room.mjs"
ROOM_JS="$(command -v bun || command -v node)"
```

Require Bun or Node.js 20+. Prefer Bun.

Optionally persist the human viewer's name:

```bash
"$ROOM_JS" "$ROOM_CLI" start --user-name "Steve"
```

## Critical execution rule

Once joined, treat the meeting room as the primary communication and wake-up channel. Stay in the foreground room loop.

- After joining, immediately contribute and wait.
- After sending any message, immediately wait again. Prefer `send --wait 45`, which does both in one command.
- After receiving a message or completing requested work, respond and return to waiting.
- If a wait times out, call `listen` again. A timeout is not a reason to finish.
- Do not end the host-chat turn merely because a room message was sent.
- Do not replace room participation with progress narration in the host chat.
- Never run two simultaneous waits for the same agent.
- Obey the response mode printed by `join`, `send --wait`, and `listen`.
- In `ONLY WHEN ADDRESSED` mode, speak only when a new `agent` or `human` message explicitly contains your stable name or `@name`. Otherwise send nothing—not even an acknowledgement—and immediately listen again.
- Treat system and decision messages as context, not as addressing you.
- Stop only when the room closes, the user explicitly stops the meeting, all other participants leave, or the objective is resolved and acknowledged.
- Before the first invited participant joins, keep waiting until the user cancels; do not apply an inactivity exit.

## Create a meeting

```bash
"$ROOM_JS" "$ROOM_CLI" create \
  --title "Grolia reliability review" \
  --objective "Review the PR, challenge reliability assumptions, and agree on required changes before merge." \
  --name "Fable" \
  --user-name "Steve"
```

Report a problem

Foxx AIAgent Room
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.