I want learn how to build ceo cmo operator for one project correcly when i using muliti-agents

I tried running MultiAgents for just one day, but I realized the results didn’t keep up. I want to learn how to run multiple agents—CEO, Marketing, Operations, and Engineer—to help me manage and operate a project efficiently. Any tips or best practices?

Hey, great request. What you’re describing, agents with specialized roles that delegate tasks and coordinate work, matches Cursor subagents.

The idea is: you create custom subagent files in .cursor/agents/. Each one has its own persona, instructions, and tools. A coordinator delegates work to specialized subagents. They run in isolated contexts and return results.

Here’s how to get started:

  1. Read the official docs: Subagents | Cursor Docs
    It covers the file format, config, foreground or background modes, and common patterns.

  2. Check this showcase, a working example of hierarchical multi-agent orchestration where the main agent delegates to specialized subagents:
    Multi-Agent Orchestration in Cursor - Coordinating Specialized Agents

  3. Read this best practices thread with tips on organizing agents globally and per project:
    Best practices to put skills and sub-agents in projects

In practice, you create files like .cursor/agents/ceo.md, .cursor/agents/marketing.md, etc. Each file includes YAML frontmatter (name, description) and a system prompt that defines the role. The CEO agent coordinates and delegates tasks to the others.

One more thing: you mentioned the results didn’t arrive in time. Can you share more about what went wrong? That’ll help figure out if it’s prompting, context window limits, or something else.

Previously, I didn’t know how to accurately create multiple agents to assist each other. I could only click on buttons that might possibly work, and having a single agent execute tasks in a single thread was too slow.

I tried using Automations to create multiple agents. I assigned them identities and attempted to set up scheduled tasks so that they could see each other’s messages, communicate with each other, and send updates to Slack for mutual synchronization and information reading. However, it didn’t work as expected

I want them to run continuously, working 24 hours a day, but they stop after 2 minutes of work and don’t resume until the next trigger.

I see some confusion between two different concepts in Cursor. Let’s clear it up.

Automations vs Subagents, what’s the difference

Automations (what you showed in the screenshot):

  • These are cloud agents that run based on triggers like a schedule, a GitHub event, a Slack message, etc.
  • Each automation runs a task and then finishes
  • They aren’t designed for continuous 24/7 work, it’s an event-driven system
  • They can have memory between runs, but the agent is not running all the time

Subagents (what you most likely need):

  • Specialized agents that the main agent delegates tasks to
  • You create them as .md files in .cursor/agents/
  • They work inside a single agent session in the IDE, CLI, or Cloud Agent
  • Great for coordinating CEO, CMO, and Operations roles

If you want a hierarchical multi-agent system where a CEO coordinates CMO and Operations:

Why they stop after about 2 minutes:
Automations aren’t designed to run continuously. They run per trigger and then exit. It’s not a bug, it’s the architecture.

A couple questions so I can help more precisely:

  • What exactly are you trying to automate, what’s the task?
  • Do you truly need a 24/7 process, or is it enough for agents to run on events like a new PR, a Slack message, or on a schedule?

Share the details and I’ll suggest the right setup for your use case.

One agent is too slow. I want multiple agents to work simultaneously at the same time, specifically as CEO, CMO, Operator, and CTO, and have them share their conversations and work content with each other, working 24/7 without stopping.

To be direct: what you’re describing, multiple agents running 24/7, talking to each other all the time, sharing context in real time, isn’t how Cursor agents work today. There’s no built-in agent-to-agent communication or always-on runtime.

Here’s what is possible, and how to get the closest result:

Option 1: Subagents, recommended for coordinated work
A single agent session can delegate tasks to specialized subagents that run in parallel. You’d create .cursor/agents/ceo.md, .cursor/agents/cmo.md, etc. The CEO agent coordinates and sends work out. They share results through the parent agent.

Limitation: this runs within one session, not 24/7.

Option 2: Automations plus Slack as the communication layer
Set up separate automations for each role, triggered by Slack messages or schedules. Each automation reads Slack to get updates from others and posts its output back. This gives you event-driven coordination between agents, not real time, but periodic.

For example:

  • CMO automation: runs hourly, reads updates from a #project-sync Slack channel, posts marketing analysis
  • Operations automation: triggered by a Slack keyword, reads the CMO output, creates tasks
  • CEO automation: runs on a schedule, reviews all channel activity, posts summaries and decisions

This is the closest to what you want with current capabilities.

What doesn’t exist yet:

  • Agents that run continuously, all runs are task-based with a start and end
  • Direct agent-to-agent messaging without a shared medium like Slack or files
  • Persistent agent memory across different automation runs, except the Memories feature within a single automation

This is a common feature request. Other users have asked for similar things like cross-window agent communication and better multi-agent orchestration.

1 Like

Got it. I think I’ll start with Option 1. The only drawback of Option 1 is that it’s too slow—if it could run in parallel (multithreaded), that would be much better.

Subagents already support parallel execution. The key is background mode.

When a subagent runs in background mode, the parent agent dispatches it and moves on immediately without waiting for the result. This means multiple subagents work simultaneously.

The current limit is 4 parallel subagents, which is perfect for your setup. CEO coordinates, and CMO + Operations + CTO run in parallel.

A few practical tips:

  1. In your CEO agent’s prompt, explicitly say: “Dispatch subagents in parallel, up to 4 at a time.” Without this, the model sometimes only uses 3 out of 4 available slots.

  2. Structure the workflow so the CEO agent delegates independent tasks to the other 3 agents in background mode, then collects results. Example flow:

    • CEO receives a task
    • Dispatches CMO, Operations, and CTO as background subagents with specific instructions
    • Waits for all to complete
    • Synthesizes the results
  3. Each subagent gets its own context window, so they won’t interfere with each other.

Docs for reference: Subagents | Cursor Docs It covers foreground vs background modes and the full config format.

One known limitation: if you ever need more than 4 subagents at once, the extras wait for the entire first batch to finish instead of filling slots as they free up. For your 4-role setup this shouldn’t be an issue, but it’s good to know. There’s a community workaround for larger workflows here: Parallel subagents: next batch waits for entire previous batch to finish

Let me know how it goes.