My OpenClaw Multi-Agent Workflow: From One AI to a Full Team
TL;DR
One AI assistant is powerful. An AI team is something else entirely. OpenClaw lets me turn a single Claude into a 7-agent crew: Researcher for deep dives, Content for writing, Tech Lead for breaking down tasks, Product Owner for specs, Verifier for QA, and King running the show in Discord. With 90+ skills, every agent can touch email, GitHub, Slack, and smart home devices — and I just send one message.
Why Multi-Agent?
The Three Limits of a Single AI
1. Serial bottlenecks
Traditional AI conversations are linear: ask a question, wait for an answer, ask the next one. If I need to research 5 competitors simultaneously, a single AI has to process them one at a time. Five parallel sub-agents finish in the time it takes to do one.
2. Context pollution
When one agent handles everything, the context window fills up with noise. Ask it to do market research and then write code — those thousands of tokens of research are still sitting there, muddying the coding output. In a multi-agent setup, each sub-agent has an isolated context and only returns the distilled result.
3. No specialization
A "generalist" AI can't be best-in-class at everything. But a Researcher agent configured with Tavily deep search + Grok X search + academic database access? That one is genuinely better at research than any generalist. Specialization is just configuration.
The Three Wins of Multi-Agent
| Win | What it means |
|---|---|
| Parallel execution | 5 tasks run simultaneously — 1× the time, not 5× |
| Context isolation | Each agent only sees what it needs; results stay clean |
| Specialization | Different agents, different tools, different strengths |
That's why I went from "one Claude" to "a Claude team."
My Agent Roster
| Emoji | Agent | Role | Channel | Core capability |
|---|---|---|---|---|
| ⚡ | Jasper (main) | Chief coordinator | Telegram, Discord | Routes tasks, synthesizes results, daily conversations |
| 👑 | King | Discord commander | Discord #dev-chat | Routes messages to specialist agents, monitors groups |
| 🔬 | Researcher | Deep researcher | Spawned on demand | Tavily search, academic research, competitor analysis |
| ✍️ | Content | Content creator | Spawned on demand | Blog posts, LinkedIn, technical docs |
| 🏗️ | Tech Lead | Technical lead | Spawned on demand | Task breakdown, architecture, code |
| 📋 | Product Owner | Product manager | Spawned on demand | User stories, specs, acceptance criteria |
| ✅ | Verifier | Independent QA | Spawned on demand | Acceptance checks, independent validation |
How it runs:
- Jasper is the "CEO" — receives all tasks, decides whether to handle it or delegate
- Simple tasks (check weather, send a message) Jasper handles directly
- Complex tasks spin up sub-agents, running in parallel or sequence
- Sub-agents report back when done; Jasper synthesizes the results
6 Real Workflows
Workflow 1: Daily Briefing, Waiting for You at 8am
When: Every morning at 8, before you even pick up your phone
Who: Jasper (orchestrator) + 4 parallel sub-agents
How:
[Cron fires at 8:00 AM]
├── Sub-agent 1: Check weather (wttr.in)
├── Sub-agent 2: Scan calendar (Apple Calendar CLI)
├── Sub-agent 3: Check email (himalaya)
└── Sub-agent 4: Scan X/Twitter timeline (grok-search)
│
▼
[Jasper synthesizes]
│
▼
[Delivered to Telegram]
Result: One message, readable in 2 minutes — 3 meetings today, 2 urgent emails, rain in Melbourne this afternoon, @sama posted something worth reading.
Copyable Prompt:
Morning brief:
1. Check my calendar for today's events
2. Scan email inbox for urgent items (flag anything with "urgent" or from my boss)
3. Check weather for Melbourne
4. Check X/Twitter for top 5 posts from AI/tech accounts
Run these in parallel using sub-agents, then synthesize into a 2-minute summary.
Why this matters: Manually doing these 4 things means opening 4 apps and spending 15–20 minutes. Now it's done before you get out of bed — and because 4 sub-agents run in parallel, total time equals the slowest single task.
Workflow 2: Competitor Research, 5 Companies at Once
When: Product planning phase, need to understand the competitive landscape
Who: Researcher agent × 5 (parallel spawn)
How:
User: "Research these 5 competitors: Notion, Coda, Obsidian, Roam, Logseq"
Jasper:
├── sessions_spawn(researcher, "Deep research on Notion: positioning, pricing, latest features, user reviews")
├── sessions_spawn(researcher, "Deep research on Coda: ...")
├── sessions_spawn(researcher, "Deep research on Obsidian: ...")
├── sessions_spawn(researcher, "Deep research on Roam: ...")
└── sessions_spawn(researcher, "Deep research on Logseq: ...")
│
▼
[5 sub-agents research simultaneously]
│
▼
[Jasper receives 5 reports, generates comparison matrix]
Result: 15 minutes later, a complete competitor comparison table — pricing, core features, pros/cons, user sentiment.
Copyable Prompt:
Research these 5 competitors in parallel using separate sub-agents:
Notion, Coda, Obsidian, Roam, Logseq
Each sub-agent should analyze:
- Product positioning and target users
- Pricing tiers
- Key features (last 6 months updates)
- User reviews and pain points
- Competitive advantages
Once all complete, synthesize into a comparison matrix with recommendation.
Pro tip: Each sub-agent has its own isolated context window and can go deep (thousands of tokens), but only the distilled conclusions come back to Jasper. The main agent never gets polluted with intermediate work.
Workflow 3: Video → Blog Post (Content Pipeline)
When: I find a great video and want to turn it into a written post
Who: content-inbox (auto-trigger) → video-analyzer → Content agent
How:
User: [pastes video link]
[content-inbox auto-triggers]
│
▼
[video-downloader fetches the video]
│
▼
[video-analyzer processes it]
├── Whisper transcribes audio
├── Fact-check (optional: against PubMed/Wikipedia)
└── Extract key clips and insights
│
▼
[Content agent writes]
├── Translates or adapts core ideas
├── Expands into 1000-word blog post
└── SEO optimization
│
▼
[wordpress-cli saves as draft]
Result: Paste a link, 30 minutes later there's a complete draft in WordPress.
Copyable Prompt:
Process this video into a blog post:
[video URL]
Steps:
1. Download and transcribe audio
2. Extract 3-5 key insights
3. Write a 1000-word English blog post based on these insights
4. Add SEO title, meta description, and internal link suggestions
5. Save to WordPress as draft
If any claims need verification, flag them with [NEEDS VERIFICATION].
Real example: I used this pipeline to turn a demo recording of the language-arts project into a technical blog post — from screen recording to published draft in 45 minutes.
Workflow 4: GitHub Issues → PRs (Fully Automated)
When: There's a backlog of GitHub issues that need fixing
Who: Tech Lead + parallel coding agents
How:
User: "Fix all issues labeled 'bug' in the fortune-web-app repo"
[gh-issues skill triggers]
│
▼
[Lists all bug issues]
│
▼
[Spawns one coding agent per issue]
├── Coding agent 1: Issue #12 - Fix login bug
├── Coding agent 2: Issue #15 - Fix API timeout
└── Coding agent 3: Issue #18 - Fix CSS overflow
│
▼
[Each agent works independently]
├── Reads the code
├── Implements a fix
├── Runs tests
└── Opens a PR
│
▼
[Verifier agent reviews all PRs]
Result: 3 issues, 3 PRs, automated. I just review and merge.
Copyable Prompt:
Fix all open bugs in the fortune-web-app repository:
1. List all issues with label "bug" using gh cli
2. For each issue, spawn a coding sub-agent to:
- Understand the issue
- Locate the relevant code
- Implement a fix
- Write/update tests
- Open a PR with clear description
3. Have Verifier agent review each PR for obvious issues
4. Report back with PR links and summary
Run coding agents in parallel where there are no file conflicts.
Key insight: Parallel spawning only works when there are no file conflicts. If two agents need to touch the same file, they run sequentially. Jasper figures this out automatically.
Workflow 5: After-Hours Messages, Automatically Triaged
When: 11pm to 8am, messages keep coming in
Who: Jasper (HEARTBEAT.md protocol)
How:
[HEARTBEAT.md defines after-hours behavior]
## After-Hours Protocol (11pm - 8am)
- Urgent messages: reply immediately with something useful + queue for morning
- Non-urgent messages: acknowledge receipt + queue
- All interactions logged to memory/YYYY-MM-DD.md
[In practice]
11:30 PM - Client: "Site is down!"
→ Jasper detects "urgent" / "down" keywords
→ Immediate reply: "On it — checking now. If it's a server issue I'll handle it immediately, otherwise I'll follow up first thing tomorrow."
→ Checks server status
→ If actually down → attempts restart
→ Logs everything
2:00 AM - Friend: "Free this weekend?"
→ Non-urgent
→ Reply: "Got it, will get back to you tomorrow!"
→ Queued for morning
Result: Urgent issues never fall through the cracks. Non-urgent messages don't wake you up. Every morning you check one summary.
Config snippet (HEARTBEAT.md):
## After-Hours Protocol
If current time is between 11pm–8am:
**Urgent keywords:** down, urgent, emergency, broken, ASAP, critical
**Urgent response:** Acknowledge, attempt resolution, log for morning review
**Non-urgent response:** "Got it, will follow up in the morning!" + queue
Log all after-hours interactions in `memory/{{YYYY-MM-DD}}.md`
Workflow 6: Meeting Ends, Action Items Automatically Distributed
When: Sprint planning just wrapped, there's a pile of action items
Who: Product Owner + Tech Lead + Content agent
How:
User: "Just finished sprint planning, here are the notes: [paste notes]"
Jasper:
│
├── Product Owner agent: Extract all user stories, format to INVEST standard
│
├── Tech Lead agent: Identify technical tasks, estimate complexity, add to Linear
│
└── Content agent: Generate meeting summary, post to Slack #team-updates
│
▼
[Summary] "Meeting processed:
- 5 user stories created
- 8 technical tasks added to Linear
- Meeting summary posted to #team-updates"
Copyable Prompt:
Process these meeting notes from sprint planning:
[paste meeting notes]
Run in parallel:
1. Product Owner agent: Extract user stories, format in INVEST standard, create in Linear
2. Tech Lead agent: Extract technical tasks, estimate story points, create in Linear with labels
3. Content agent: Generate meeting summary (300 words), post to Slack #team-updates
Report back with:
- Number of stories/tasks created
- Any items that need clarification
- Link to Slack message
90+ Skills: Quick Reference
Skills are the agent's "knowledge" — they tell it how to do something. Tools are "permissions" — they let it actually do it.
🔍 Search & Research
| Skill | What it does | One-liner |
|---|---|---|
tavily-search | Web search | LLM-optimized results with relevance scoring |
tavily-extract | Page extraction | URL → clean Markdown, handles JS-rendered pages |
tavily-crawl | Site crawling | Bulk-download entire documentation sites |
tavily-research | Deep research | AI-driven multi-source report with citations |
grok-search | X/Twitter search | The only AI-native interface that can search X |
grokipedia | AI encyclopedia | xAI-generated encyclopedia-style articles |
🤖 AI & Models
| Skill | What it does | One-liner |
|---|---|---|
claude-usage | Usage check | Check Claude Max/Pro remaining quota |
calculator | Precise math | LLMs shouldn't do arithmetic — this does it right |
gemini | Second model | Fallback when Claude is rate-limited; great for long docs |
openai-whisper | Local transcription | Fully offline speech-to-text |
nano-banana-pro | Image generation | Gemini 3 Pro image generation and editing |
📱 Content & Media
| Skill | What it does | One-liner |
|---|---|---|
content-inbox | Content ingestion | Auto-triggers on video/article links |
douyin-downloader | Video download | API-based, $0.001/call, no login required |
video-analyzer | Video analysis | Whisper transcription + fact-check + extraction |
wordpress-cli | WordPress publishing | Markdown → WordPress, formatting preserved |
summarize | Content summary | YouTube/podcast/article one-tap summary |
✅ Productivity
| Skill | What it does | One-liner |
|---|---|---|
apple-reminders | Reminders | Native Apple Reminders, syncs to iPhone |
apple-notes | Apple Notes | Create/search/edit notes |
things-mac | Things 3 | Best-in-class macOS task manager |
obsidian | Obsidian notes | Operate your Obsidian vault (pure Markdown) |
notion | Notion | Create/manage pages and databases |
1password | Secret management | Runtime secret injection, never written to disk |
💬 Communication
| Skill | What it does | One-liner |
|---|---|---|
discord | Discord | Send messages, manage channels, create events |
slack | Slack | Send messages, react, pin |
himalaya | CLI email management, multi-account | |
imsg | iMessage | Send iMessage/SMS directly |
xurl | X/Twitter | Post, reply, search, DM |
💻 Development
| Skill | What it does | One-liner |
|---|---|---|
coding-agent | Code delegation | Hand off coding tasks to Claude Code |
github | GitHub | PRs, issues, CI — full workflow |
gh-issues | Auto-fix issues | Issues → parallel sub-agents → PRs |
vercel | Vercel | Deploy, domains, env vars, logs |
tmux | Tmux control | Remotely control interactive terminals |
🏠 Smart Home
| Skill | What it does | One-liner |
|---|---|---|
openhue | Philips Hue | Light control and scenes |
eightctl | Eight Sleep | Smart mattress temperature and alarms |
sonoscli | Sonos | Multi-room audio control |
spotify-player | Spotify | Terminal music playback |
🧠 Agent Intelligence
| Skill | What it does | One-liner |
|---|---|---|
multi-agent | Multi-agent orchestration | Team definitions and spawn patterns |
self-improving | Self-improvement | Learn from mistakes, update memory |
plan-mode | Safe planning | Analyze without executing, preview the plan |
soul-keeper | Config guardian | Auto-prompts to update SOUL.md |
🎨 Design
| Skill | What it does | One-liner |
|---|---|---|
ui-ux-pro-max | UI/UX design | 50 styles + 97 color palettes + 57 font combos |
mermaid-architect | Diagram generation | Robust Mermaid syntax generation |
Copy-Paste Prompts to Get Started
🌅 Daily Automation
Set up a daily briefing:
Set up a daily briefing cron job for 8am:
- Check my calendar for today
- Scan email for urgent items
- Check weather for [your city]
- Summarize top 5 posts from my X timeline
Run in parallel, deliver summary to Telegram.
End-of-day mode switch:
Add this to my HEARTBEAT.md:
After 6pm on weekdays, switch to personal mode:
- Work Slack: only respond to @mentions, acknowledge everything else
- Personal messages: normal response time
- Log work items for next morning review
🔬 Research
Deep-dive a topic:
Research [topic] in depth using tavily-research.
I need:
- Current state (2024-2025)
- Key players and their approaches
- Pros/cons comparison
- Your recommendation
Save to ~/research/[topic].md
Competitor analysis:
Research these competitors in parallel:
[Company A], [Company B], [Company C]
For each:
- Product positioning
- Pricing
- Recent updates (last 6 months)
- User sentiment (from reviews/Reddit)
Output: comparison matrix with my recommendation.
💻 Development
Explore a new codebase:
Explore this codebase: [path or GitHub URL]
Use 4 parallel sub-agents:
1. Architecture overview (main patterns, dependencies)
2. API surface (endpoints, schemas)
3. Database layer (models, migrations)
4. Authentication/Authorization
Synthesize into a 1-page overview for a new developer.
Fix all bugs:
Fix all bugs in [repo]:
1. List issues with label "bug"
2. Spawn parallel coding agents for non-conflicting issues
3. Each agent: understand, fix, test, open PR
4. Verifier reviews all PRs
Report: PR links + summary of changes.
✍️ Content Creation
Video to blog post:
Convert this video to a blog post:
[URL]
1. Transcribe audio
2. Extract 5 key insights
3. Write 1200-word blog post
4. Add SEO: title, description, keywords
5. Save as draft in WordPress
Batch social media:
Take this blog post: [URL or content]
Generate:
1. Twitter thread (8-10 tweets)
2. LinkedIn post (professional tone)
3. 3 quote graphics (suggest text for each)
Output each separately, ready to copy-paste.
🏠 Life Automation
Smart home scene:
Create a "Movie Night" automation:
1. Dim living room lights to 20%
2. Turn off bedroom lights
3. Set TV bias lighting to warm white
4. Play "Chill Beats" playlist on living room Sonos at 30% volume
Save as a skill I can trigger with "Movie time".
Health reminders:
Set up hourly reminders during work hours (9am-6pm):
- Every hour: "Time for a 2-minute stretch"
- 12pm: "Lunch break — step away from screen"
- 3pm: "Afternoon walk reminder"
Send to Apple Reminders and ping me on Telegram.
Common Pitfalls (and Fixes)
❌ Skill installed but not working
Symptom: Installed spotify-player but the agent says "I don't have access to Spotify"
Why: Skills are knowledge; tools are permissions. The skill tells the agent how to use Spotify, but the exec tool must be enabled for it to actually run commands.
Fix:
# Check your tools config
cat ~/.openclaw/openclaw.json | grep -A 10 '"tools"'
# Make sure exec is in the allow list
❌ Sub-agent goes silent
Symptom: Spawned a sub-agent, heard nothing back
Why: The sub-agent may have errored with no one checking
Fix: Use the watchdog pattern
After spawning sub-agent, set a 5-minute watchdog:
- If no response in 5 min → check session status
- If stuck/dead → do it yourself inline
- Never report "sub-agent failed" as a final answer
❌ Multiple agents editing the same file
Symptom: Two coding agents both touching app.js, code conflicts
Why: Parallel-spawned tasks with file dependencies
Fix: Analyze dependencies first
Before parallel spawn, check:
- Do these tasks touch the same files?
- Do they share state?
If yes → run sequentially
If no → run in parallel
❌ The "Fancy ChatGPT" trap
Symptom: You installed OpenClaw but you're still just chatting
Why: You haven't touched async/automation features yet
Fix: Start with one cron job
# Simplest automation: daily weather to Telegram
openclaw cron add \
--schedule "0 8 * * *" \
--prompt "Check weather for Melbourne, send to Telegram"
❌ Memory leaking between agents
Symptom: Work agent conversations showing up in family agent context
Why: Shared workspace or memory directory
Fix: Separate workspace per agent
{
"agents": {
"list": [
{ "id": "work", "workspace": "~/.openclaw/workspace-work" },
{ "id": "family", "workspace": "~/.openclaw/workspace-family" }
]
}
}
What to Do Next
Week 1: Get started
- Set up one useful cron: Daily briefing or end-of-day reminder
- Try one parallel spawn: Research 3 things at once
- Configure after-hours protocol: Auto-reply while you sleep
Weeks 2–4: Go deeper
- Create a second agent: Dedicated to one task type (research, writing, code)
- Connect more channels: Discord server, group chats
- Write your first custom skill: Turn a common prompt into a reusable workflow
Month 2+: Build the team
- Full agent roster: 3–5 specialist agents + one coordinator
- Explore deterministic workflows: YAML-defined pipelines, LLM executes steps
- Contribute to the community: Publish a skill to ClawHub
The mindset shift that matters
"My job went from 'writing code' to 'directing a team of AI agents that write code.'" — Reddit, 6-year developer
Multi-agent isn't a technical problem — it's an identity shift. You stop being the one who executes everything. You start designing systems that make things happen on their own.
That's what AI-native work actually looks like.
Written by Content Agent ✍️ | Orchestrated by Jasper ⚡
90+ skills cataloged | 6 real workflows documented | 2026-03-19
Building something similar?
I'd love to hear how you're using AI agents — always happy to swap notes and find new ways to push this further.
Get in Touch →