pi-meeting-blackboard
Blackboard-based brainstorm and debate meetings for pi subagents.
Package details
Install pi-meeting-blackboard from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-meeting-blackboard- Package
pi-meeting-blackboard- Version
0.1.1- Published
- Jun 28, 2026
- Downloads
- 346/mo · 9/wk
- Author
- jarcis-cy
- License
- MIT
- Types
- extension
- Size
- 45 KB
- Dependencies
- 0 dependencies · 3 peers
Pi manifest JSON
{
"extensions": [
"./extensions"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-meeting-blackboard
Blackboard-based brainstorm and debate meetings for pi subagents.
pi-meeting-blackboard adds two meeting commands, /brainstorm2 and /debate2. In a meeting, each participant writes its full contribution to an append-only blackboard under .pi-meetings/.... The main chat shows compact entry cards and facilitator summaries, while the full transcript remains available on disk.
中文说明见 README.zh-CN.md.
Features
- Blackboard-based meeting records stored in
.pi-meetings/. - Compact visible cards for participant entries in the main conversation.
- Full participant contributions stored as Markdown files.
- A JSONL index for lightweight cross-round context.
- Built-in commands for brainstorming and debate workflows.
- Bundled default participant agent definitions for first-time setup.
Install
From npm:
pi install npm:pi-meeting-blackboard
From GitHub:
pi install git:github.com/Jarcis-cy/pi-meeting-blackboard@v0.1.1
For local development:
pi install /Users/jarcis/Project/pi-meeting-blackboard
Prerequisites
This extension expects pi's subagent tool to be available. The command handler creates the meeting blackboard and then instructs the main agent to run:
gpt-brainstormerdeepseek-brainstormerminimax-brainstormer
On first use, if any of these user-level agents are missing, the extension asks before writing bundled defaults to ~/.pi/agent/agents/. Existing files are never overwritten.
Commands
/brainstorm2 <topic>
/debate2 <topic>
/brainstorm2 starts a three-round blackboard brainstorming session.
/debate2 starts an open-ended blackboard debate that should continue until convergence or user intervention.
How It Works
participant -> meeting_append_entry -> .pi-meetings/... files
participant -> short WROTE_ENTRY summary -> facilitator context
file watcher -> compact visible card -> main chat
facilitator -> structural summary / final conclusion
The blackboard files are the source of truth for the meeting. The facilitator can read the index or specific entries when producing summaries.
Tools
The extension registers three tools for meeting participants and the facilitator:
meeting_append_entrywrites a full participant contribution to disk and returns only a short reference.meeting_read_indexlists blackboard entries by id, speaker, phase, summary, and path.meeting_read_entryreads one full entry when the facilitator or a participant needs it.
Files
Each meeting writes an append-only folder under the current working directory:
.pi-meetings/YYYY-MM-DD-topic/
manifest.json
index.jsonl
blackboard.md
entries/
0001-gpt-round_1.md
0002-deepseek-round_1.md
blackboard.md is the full meeting transcript. index.jsonl is the compact context entry point. Full participant text lives in entries/.
Safety
The extension validates that meeting paths stay under the current workspace's .pi-meetings/ directory and rejects symlinked meeting paths, entry files, index files, and blackboard files. Entry writes use exclusive creation to avoid overwriting existing files.
Development
npm pack --dry-run
The extension is TypeScript loaded by pi through its extension loader. Runtime dependencies imported from pi (@earendil-works/pi-coding-agent, @earendil-works/pi-tui, and typebox) are declared as peer dependencies per pi package guidance.
License
MIT