Skip to content

My AI Agents Have Meetings Without Me

Fresh OpenClaw

Build autonomous executive syncs with real sub-agents.

Build autonomous executive syncs with real sub-agents: live pipeline, simulation vs real meetings, per-agent workspaces, voice profiles, watchdogs, and copyable meeting types.


The full pipeline: how an autonomous meeting works, end to end

Nine steps. Cron fires, agents spawn, reports compile, audio generates, everyone gets notified.

flowchart LR
    S1[1. Cron fires
8:30 AM Mon-Fri] --> S2[2. Context loading
PM board + YouTube] S2 --> S3[3. Spawn 3 chiefs
Elon, Gary, Warren] S3 --> S4[4. Collect reports
wait 60s, then go] S4 --> S5[5. Cross-dept analysis] S5 --> S6[6. Compile transcript
3 rounds] S6 --> S7[7. Generate audio
Edge TTS] S7 --> S8[8. Deliver to Telegram] S8 --> S9[9. Update dashboard]
  1. Cron fires - 8:30 AM Mon-Fri, Opus wakes up.
  2. Context loading - PM board plus YouTube stats from live APIs.
  3. Spawn 3 chiefs - Elon, Gary, Warren as parallel sub-agents.
  4. Collect reports - wait 60s, check. After 2 min, go with what you have.
  5. Cross-department analysis - chiefs review each other's reports.
  6. Compile transcript - 3 rounds: status, then analysis, then commitments.
  7. Generate audio - Edge TTS with per-speaker voice profiles.
  8. Deliver to Telegram - summary text plus MP3 voice note.
  9. Update dashboard - transcript saved, meeting logged, done.

Simulation vs real sub-agent meetings

Most "multi-agent" demos are one model wearing three hats. Here is the difference.

Simulated meeting (looks real, is not):

  • One model role-playing 3 agents. The same LLM pretends to be the CTO, CMO, and CRO. Same context window, same weights, same biases.
  • No real state. None of the "agents" have their own memory, backlog, or workspace. They are just different system prompts in the same conversation.
  • Consensus without truth. The model agrees with itself. No genuine disagreement, no independent data sources, just theatrical conflict.

Real sub-agent meeting (real agents, real state):

  • Separate spawned agents. Each chief is a real sub-agent with its own session, context, and execution environment, spawned in parallel.
  • Own workspaces with real state. Each chief has SOUL.md (personality), MEMORY.md (what they remember), and BACKLOG.md (their actual tasks), grounded in files.
  • Reports grounded in actual data. The CTO reports on the real engineering backlog, the CMO on real YouTube stats, the CRO on real product metrics.

Architecture: each chief has their own workspace

Separate directories, personalities, and memories. This is what makes the meetings real.

text
~/team/
├── elon/            # CTO workspace
│   ├── SOUL.md      # personality & voice
│   ├── MEMORY.md    # what Elon remembers
│   └── BACKLOG.md   # engineering backlog
├── gary/            # CMO workspace
│   └── SOUL.md / MEMORY.md / BACKLOG.md
└── warren/          # CRO workspace
    └── SOUL.md / MEMORY.md / BACKLOG.md

Each agent reads their OWN files. The COO (Muddy) orchestrates, spawns, and compiles.

Voice profiles: every chief sounds different

Edge TTS with per-speaker voice, rate, and pitch. The meeting audio sounds like four distinct people, completely free, no API key, no billing.

ChiefRoleVoiceRatePitch
MuddyCOO, orchestratoren-US-EricNeural+5%+0
GaryCMO, content & growthen-US-GuyNeural+15%+0
ElonCTO, engineeringen-US-ChristopherNeural-5%-5%
WarrenCRO, revenue & productsen-US-RogerNeural-10%-8%

The watchdog pattern

Every meeting cron gets a watchdog cron 30 minutes later. If the meeting did not produce output, the watchdog alerts and re-triggers.

text
daily-executive-sync: 8:30 AM (Mon-Fri) → Opus
watchdog-daily-sync:   9:00 AM (Mon-Fri) → Haiku

Watchdog checks:
1. Does transcript file exist?
2. Is it > 1KB?
If NO → alert Telegram + re-trigger sync

Build your own: three meeting types you can copy

Each meeting type has a cron prompt, a skill template, and a watchdog config.

A) Daily executive sync (Mon-Fri, 8:30 AM) - cron prompt:

text
Read and follow: ~/skills/executive-sync/SKILL.md

Context:
- PM Board API: http://localhost:8000/api/pm-board
- YouTube API: http://localhost:8000/api/youtube/dashboard-stats
- Meeting dir: ~/team/meetings/
- Chiefs: elon, gary, warren
- Notify: telegram (chat_id)

Skill template - executive-sync/SKILL.md:

markdown
---
name: executive-sync
description: Daily multi-agent executive standup
---

# Executive Sync

## Prerequisites
- PM board API running
- All chief agents configured with workspaces
- Edge TTS installed for audio generation

## Steps

### Step 0: Load Context
- Pull PM board items (source of truth)
- Pull live YouTube stats from API (NEVER from memory)
- Read previous transcript (anti-repetition only)

### Step 1: Spawn Chiefs (PARALLEL)
sessions_spawn(agentId: "elon", task: "...")
sessions_spawn(agentId: "gary", task: "...")
sessions_spawn(agentId: "warren", task: "...")
Wait 60s, check. Wait 60s, check. After 2min, go with what you have.

### Step 2: Compile Transcript
Round 1: Raw status reports
Round 2: Cross-department analysis
Round 3: Commitments and resolution

### Step 3: Generate Audio
Per-speaker Edge TTS with voice profiles

### Step 4: Deliver
- Save transcript to meetings directory
- Generate MP3 audio
- Send summary + voice to Telegram

The other two types (Weekly Review and Saturday Vision Sync) follow the same cron + skill + watchdog shape.

After the meeting: turning commitments into completed work

The meeting is just the beginning. Three automated phases.

Phase 1 - Post-Sync Dispatch (1 hour after sync): parses the transcript for commitments, extracts who committed to what with what deadline, creates PM board items, and dispatches work to chiefs based on autonomy tiers.

text
Read and follow: ~/skills/post-sync-execution/SKILL.md

Context:
- Meeting dir: ~/team/meetings/
- PM Board API: http://localhost:8000/api/pm-board
- Chiefs: elon, gary, warren
- Autonomy tiers: ~/team/AUTONOMY-TIERS.md

Phase 2 - Autonomy tiers (who needs approval):

  • Tier 1, ships autonomously: internal tools, dashboards, architecture docs, engineering fixes, skill files, cron setups, scripts.
  • Tier 2, build then review: content cascades, newsletter drafts, blog posts, social media, video scripts, lead magnet pages.
  • Tier 3, human only: outbound emails, spending decisions, public announcements, pricing decisions.

Phase 3 - Accountability Sweep (daily, 6 PM): checks if dispatched items actually produced deliverables (file exists? service running? PM board moved?), categorizes as Delivered / In Progress / Stalled / Failed, and re-dispatches stalled items immediately.

text
Read and follow: ~/skills/accountability-sweep/SKILL.md

Context:
- Daily memory: ~/memory/YYYY-MM-DD.md
- PM Board API: http://localhost:8000/api/pm-board
- Chiefs: elon, gary, warren

Meeting dashboard with 4 views

Every meeting needs a place to live. The four views:

  • List view - chronological list of all meetings: title, date, attendees with emoji badges, preview text. Click to expand full transcript with speaker-colored dialogue.
  • Weekly view - 7-day calendar grid. Scheduled cron slots shown as planned. Completed meetings color-coded by type: daily (blue), weekly (purple), vision (green).
  • Monthly view - full month calendar with prev/next navigation. Meeting indicators as colored dots on each day.
  • Conference room - visual meeting room with pixel-art agent avatars around a table. Per-speaker audio playback, live transcript highlighting, play/pause/skip controls.

Master prompt - build your own meeting dashboard:

text
Build a meeting dashboard React component with 4 view modes:

1. LIST VIEW
- Parse markdown transcripts, show cards with speaker-colored dialogue

2. WEEKLY VIEW
- 7-day grid, color-coded meetings by type

3. MONTHLY VIEW
- Full month calendar with meeting dots

4. CONFERENCE ROOM
- Agent avatars + per-speaker audio + live transcript

Tech: React + TypeScript + Lucide icons
Audio: Edge TTS (free, no API key)
Format: Markdown with **Speaker emoji:** pattern

Rules to live by: the autonomous meeting checklist

  1. PM board is ground truth, not memory files. Always pull live data.
  2. Live API for stats, never static files. YouTube numbers from the API, not from memory.
  3. Cron prompts point to skills, never duplicate them. The skill is the source of truth.
  4. sessions_yield is BANNED in cron context. The orchestrator waits, never yields.
  5. Minimum 3 rounds of back-and-forth: status, then analysis, then commitments.
  6. Every meeting gets a watchdog cron. If it did not produce output, alert and retry.