| name | discuss |
| description | Use when a topic benefits from multiple perspectives debating before a decision. |
| argument-hint | [--user] [topic] [--hints axis1:pos1,pos2 axis2:pos1,pos2] |
Moderated Multi-Agent Discussion
Start a backend-managed structured discussion with AI agents.
Pass --user to participate as a human observer.
Execution
-
If no topic is provided: gather it interactively, plus:
- participant count (2-8, default: 4)
- debate vs open discussion
- requested roles or perspectives
-
Analyze the topic and prepare persona inputs.
- Identify the professional domain and the main disagreement axes.
- If geographic or institutional origin matters, prepare
demographics: { origin_weights, outlier_ratio }.
- Write a 1-2 sentence background brief per slot.
- Assign a distinct name culture per slot.
-
Generate persona seeds with:
coral-cli discuss seed --input-json -
using the prepared { controversy_axes, n, demographics?, seed } payload on stdin.
-
Turn the seed output into personas.
- Use the seed positions, tone, and any
suggested_origin / is_outlier fields.
- Reuse your normal persona-generation workflow if you have one.
- Keep agent names stable and tool-safe.
-
Build the agent list and start the session.
- Required AI agents use
{ name, persona, provider?, model? }.
- If
--user, add:
{ name: 'user', persona: '# User — Human Participant\nHuman observer with real-time participation via /bid skill.', participation: 'observer' }
- Start with:
coral-cli discuss start --input-json - for the full { topic, agents, config? } payload.
Include config: { min_bid_delay_ms: 10000 } for --user; omit config otherwise.
- Save the session from
Session started: <session_id>.
-
If --user, write CORAL_PROJECT/discuss/active-user-session.json
with { session_id }.
This keeps /bid pointed at the active observer session.
-
Monitor progress by polling:
coral-cli discuss watch --session "<session_id>"
- First poll: omit
cursor.
- Subsequent polls: pass the
Cursor: <n> value printed in the watch output:
coral-cli discuss watch --session "<session_id>" --cursor <previous_cursor>
- Use the watch summary to track session status, epoch, step, and cursor progression.
-
If --user, return immediately:
"Discussion started! Use /bid <score>, <thought> to submit a bid, or /bid <your speech> when you win the floor."
-
When the session ends, report the end reason from discuss_watch.
Session end is surfaced in the watch status line.
- If
--user, delete CORAL_PROJECT/discuss/active-user-session.json.
Context Enhancement
From the user’s request, identify:
- discussion topic
--user mode
- preferred team size
- debate vs open discussion
- requested perspectives
- any controversy hints passed through
--hints