Appearance
My AI Agents Have Meetings Without Me
Fresh OpenClawBuild 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]- Cron fires - 8:30 AM Mon-Fri, Opus wakes up.
- Context loading - PM board plus YouTube stats from live APIs.
- Spawn 3 chiefs - Elon, Gary, Warren as parallel sub-agents.
- Collect reports - wait 60s, check. After 2 min, go with what you have.
- Cross-department analysis - chiefs review each other's reports.
- Compile transcript - 3 rounds: status, then analysis, then commitments.
- Generate audio - Edge TTS with per-speaker voice profiles.
- Deliver to Telegram - summary text plus MP3 voice note.
- 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.mdEach 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.
| Chief | Role | Voice | Rate | Pitch |
|---|---|---|---|---|
| Muddy | COO, orchestrator | en-US-EricNeural | +5% | +0 |
| Gary | CMO, content & growth | en-US-GuyNeural | +15% | +0 |
| Elon | CTO, engineering | en-US-ChristopherNeural | -5% | -5% |
| Warren | CRO, revenue & products | en-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 syncBuild 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 TelegramThe 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.mdPhase 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, warrenMeeting 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:** patternRules to live by: the autonomous meeting checklist
- PM board is ground truth, not memory files. Always pull live data.
- Live API for stats, never static files. YouTube numbers from the API, not from memory.
- Cron prompts point to skills, never duplicate them. The skill is the source of truth.
sessions_yieldis BANNED in cron context. The orchestrator waits, never yields.- Minimum 3 rounds of back-and-forth: status, then analysis, then commitments.
- Every meeting gets a watchdog cron. If it did not produce output, alert and retry.