Installation

Install the extension

Boardroom is available on npm as @justynclark/boardroom.

npm install @justynclark/boardroom
npx boardroom init

boardroom init copies the bundled .pi and .small assets into your current project and rewrites .pi/settings.json so Pi loads the packaged Boardroom extension.

Install from source instead

git clone https://github.com/justyn-clark/boardroom.git
cd boardroom
npm install

Register the extension

The Boardroom extension is registered in your Pi configuration. Once loaded, it provides:

  • /ceo-begin - interactive slash-command kickoff
  • ceo-begin <brief-id> - deterministic text kickoff for human or agent operation
  • converse tool - send prompts to individual board members
  • end_deliberation tool - close the session and collect final votes

Verify installation

After installing the npm package, you can launch it directly with:

npx boardroom start

After loading the extension, verify it is available with either kickoff surface:

# interactive session, then inside Pi:
/ceo-begin

# or deterministic text trigger inside Pi:
ceo-begin 2026-03-18-engineering-path

You should see the board assembly output with the configured members and their colors.

Directory structure

The extension creates the following structure under .pi/ceo-agents/:

.pi/ceo-agents/
├── agents/              # Board member persona files
├── briefs/              # Input briefs
├── deliberations/       # Running sessions and transcripts
├── memos/               # Final decision memos
├── expertise/           # CEO scratch pad
└── sessions/            # Per-member Pi session directories

Dependencies

Boardroom uses:

  • claude-opus-4-6 for CEO synthesis and memo generation
  • claude-sonnet-4-6 for board member deliberation
  • Pi subprocess isolation for board member sessions
  • project dependencies installed locally with npm install
  • the published package @justynclark/boardroom when you want the packaged workflow instead of a source checkout