Skip to main content

Cadence sync for teams agent-coding in the same room — one dashboard that says when to PROMPT and when to TALK.

Project description

promptparty 🎉

promptparty demo — the dashboard flipping between TALK and PROMPT

Cadence sync for teams agent-coding in the same room. One shared dashboard that tells everyone when it's time to ⌨️ PROMPT and when it's time to 🗣️ TALK — because the worst part of group agentic coding is everyone heads-down at different moments, waiting on each other, and the conversation dying.

The rhythm promptparty gives you:

  1. ⌨️ PROMPT — someone's agent finished (or needs a permission). Read the output, fire the next prompt.
  2. 🗣️ TALKall agents are generating. Hands off the keyboard: discuss what's coming, plan the next move, actually talk to each other.
  3. Agents finish → the dashboard flips back to PROMPT (with an optional chime).

Everyone keeps their own terminal, own Claude Code session, own model — promptparty never calls a model and needs no API key. It only watches the states.

Quickstart (60 seconds)

One person starts the server and opens a room (put it on a big screen or a spare browser tab):

uvx promptparty          # or: pipx install promptparty && promptparty

Each teammate runs one command inside the project they're coding in:

uvx promptparty hooks --server http://192.168.1.20:8765 --room a1b2c3 --name Katka

(The dashboard's ⚙️ panel shows this exact command with your room pre-filled.) That installs Claude Code hooks into ./.claude/settings.json that report automatically:

you do dashboard shows
submit a prompt (UserPromptSubmit) 🤖 agent running — free to talk
agent finishes its turn (Stop) ✅ agent done — read & prompt!
agent asks for permission (Notification) 🙋 needs a decision

Restart your Claude Code session (or reload hooks) and you're live.

Not using Claude Code?

Any tool can report with one request — wire it into whatever hooks your tool has, or an alias:

curl -X POST http://SERVER:8765/api/ROOM/event \
     -H 'content-type: application/json' \
     -d '{"name":"Katka","state":"generating"}'
# states: prompting | generating | ready | blocked | away

There are also manual buttons at the bottom of the dashboard.

What you get

  • 🚦 A giant phase banner: TALK (all agents cooking) / PROMPT (with who the room is waiting on).
  • 🃏 A card per person: state, model, how long they've been in it. Blocked agents pulse red so permission prompts stop rotting unnoticed.
  • 🔔 Optional chime on phase flips — you don't even need the screen in view.
  • 📊 Session stats: talk time vs prompt time and total prompts fired. (Great post-hackathon bragging material.)
  • 🧹 Zero config, zero database, zero API keys. Rooms live in memory.

How it works

A single FastAPI process keeps per-room state and pushes it to dashboards over WebSockets. Hook reports are plain HTTP POSTs. The phase rule is one line:

if every non-away member's agent is generating → TALK, otherwise → PROMPT.

That's the whole trick. It works because agent turns are long enough (tens of seconds to minutes) that "all agents running" is a genuine conversational window.

Options

promptparty [serve] [--port 8765] [--host 0.0.0.0]
promptparty hooks --server URL --room SLUG --name YOU [--settings PATH]
promptparty hooks --remove [--settings PATH]

Playing from different networks? Put the server behind any tunnel (ngrok http 8765, cloudflared tunnel --url http://localhost:8765).

Roadmap

  • PreCompact / SubagentStop hook nuances (long multi-agent turns)
  • Per-room history graph (talk/prompt timeline you can screenshot)
  • Team pomodoro mode: enforced talk windows
  • Adapters for aider / codex / opencode hooks out of the box

PRs welcome — this was born at a hackathon and stays intentionally tiny: one Python file of server, one HTML file of dashboard, no build step.

Security notes

  • Anyone with the room URL can view and post states. It's presence data, not code — but run it on a network you trust.
  • Rooms are in-memory and vanish on restart.

License

MIT © moudrkat

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

promptparty-0.1.0.tar.gz (413.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

promptparty-0.1.0-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file promptparty-0.1.0.tar.gz.

File metadata

  • Download URL: promptparty-0.1.0.tar.gz
  • Upload date:
  • Size: 413.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for promptparty-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b0adb101ec26576055771151d55460bc7998267449cb85d4e68ebb35e6afbbfe
MD5 9edd55f04749099f6673c4765610b941
BLAKE2b-256 8d3e50c7809a80c9ac79bddc52579d1087cec1a415d73025452559f36851d451

See more details on using hashes here.

File details

Details for the file promptparty-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: promptparty-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for promptparty-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38f4084107364b0ab4914cf85b7780d440c5df47c5c5bb4fc96fd71e21dbcf57
MD5 832f77b20e35812e1dbde62c1321e379
BLAKE2b-256 52b2cf17048984bc15861684fa34dc23d8d5f0e38848c79651955490c7eec3ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page