Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
By punt-labs
UNIX-style team communication for Claude Code: /who, /finger, /plan, /write, /read, /mesg, /tty, /last, /wall, /talk
npx claudepluginhub punt-labs/claude-plugins --plugin biffExecutes bash commands
Hook triggers when Bash tool is used
Modifies files
Hook triggers on file write and edit operations
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Inter-session communication for Claude Code — session registry, messaging, and coordination
Multi-agent orchestration for Claude Code. 12 specialized agents working in parallel — planning, building, reviewing, debugging. Plus a Hub for always-alive multi-project sessions controllable from Telegram or Slack.
Let local Claude Code sessions talk to each other in natural language.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Amazon Working Backwards PR/FAQ process — generate professional LaTeX documents for product discovery and decision-making
Create, validate, and test formal Z specifications for stateful systems using fuzz and probcli
Autonomous agent daemon with cryptographic owner control. Email communication via IMAP/SMTP with PGP trust model.
Identity binding for humans and AI agents — voice, email, GitHub, writing style, personality.
A text adventure game engine for Claude Code. Play scripted dungeon crawls, UNIX-themed adventures, and more — powered by Claude as the game master.
Team communication for engineers who never leave the terminal.
Named after the Berkeley dog whose 1980 mail notification program was part of the same BSD family as talk, wall, finger, who, and mesg. Biff resurrects the Unix communication vocabulary as MCP-native slash commands inside Claude Code.
Platforms: macOS, Linux
curl -fsSL https://raw.githubusercontent.com/punt-labs/biff/8064d32/install.sh | sh
Restart Claude Code twice. Type /who to see your team.
uv tool install punt-biff
biff install
biff doctor
curl -fsSL https://raw.githubusercontent.com/punt-labs/biff/8064d32/install.sh -o install.sh
shasum -a 256 install.sh
cat install.sh
sh install.sh
biff launches a terminal client with readline, real-time notifications, and modal talk/who, /write, /talk, /wall --- commands engineers already know/who alongside humans, coordinate via /plan and /write/biff y> /who
▶ NAME TTY IDLE S HOST DIR PLAN
@kai tty1 0:03 + m2-mb-air /Users/kai/code/myapp refactoring auth module
@eric tty2 1:22 + m2-mb-air /Users/eric/code/myapp reviewing PR #47
@priya tty1 0:00 + priya-mbp /Users/priya/code/myapp writing integration tests
S is message status: + means accepting messages, - means do not disturb.
> /write @kai "auth module looks good, just one nit on the error handling"
Message sent to @kai.
> /read
▶ FROM DATE MESSAGE
kai Sat Feb 15 14:01 hey, ready for review?
eric Sat Feb 15 13:45 pushed the fix for the flaky test
priya Sat Feb 15 12:30 can you look at the migration script?
> /finger @kai
▶ Login: kai Messages: on
On since Sat Feb 15 14:01 (UTC) on tty1, idle 0:03
Host: m2-mb-air Dir: /Users/kai/code/myapp
Plan:
refactoring auth module
> /plan "debugging the websocket reconnect logic"
Plan: debugging the websocket reconnect logic
Bead IDs auto-expand:
> /plan biff-ka4
Plan: biff-ka4: post-checkout hook: update plan from branch
> /last
▶ NAME TTY HOST LOGIN LOGOUT DURATION
@kai tty3 m2-mb-air Sat Feb 22 14:01 still logged in -
@kai tty2 m2-mb-air Sat Feb 22 11:30 Sat Feb 22 13:58 2:28
@eric tty1 m2-mb-air Sat Feb 22 09:15 Sat Feb 22 12:45 3:30
> /wall "release freeze --- do not push to main" 2h
Wall posted (2h): release freeze --- do not push to main
Every teammate's status bar shows WALL: release freeze in bold red. Expires automatically.
> /talk @kai "can you review PR #42?"
Waiting for @kai to respond...
Connected to @kai. Type 'end' to return.
BSD-style two-phase handshake: the inviter waits, the target accepts. Messages are ephemeral (NATS core pub/sub, no inbox). Either side types end to hang up.
> /mesg n
is n
Your status bar shows (n) instead of the unread count. Messages still accumulate --- /mesg y or /read reveals them.