Team-Discuss Skill
Multi-agent collaborative discussion tool for efficient collaboration and alignment.
by chyher · published 2026-03-22
$ claw add gh:chyher/chyher-team-discuss# Team-Discuss Skill
Multi-agent collaborative discussion tool for efficient collaboration and alignment.
Features
Use Cases
1. **Technology selection discussions** - SQLite vs PostgreSQL, React vs Vue, etc.
2. **Architecture design reviews** - Multi-role collaboration (architect, frontend, backend, tester)
3. **Product decision making** - Feature prioritization, UX trade-offs
4. **Philosophical debates** - Free will vs determinism, ethics in AI, consciousness theories
5. **Scientific controversies** - Interpretations of quantum mechanics, origins of life
6. **Policy analysis** - Economic strategies, environmental policies, social reforms
7. **Creative collaborations** - Story plot decisions, character development, artistic direction
8. **Any topic requiring multi-perspective analysis**
Quick Start
1. Create Discussion
from core import SharedStore, DiscussionOrchestrator
from models import Discussion, DiscussionConfig, Participant, AgentRole
# Initialize
store = SharedStore(base_dir="./discussions")
orchestrator = DiscussionOrchestrator(store)
# Create discussion
discussion = Discussion(
id="my-discussion-001",
topic="Which storage layer should we use?",
description="SQLite vs PostgreSQL technology selection",
max_rounds=3,
config=DiscussionConfig(consensus_threshold=0.75),
participants=[
Participant(agent_id="architect", role_id=AgentRole.ARCHITECT),
Participant(agent_id="backend", role_id=AgentRole.DEVOPS),
]
)
store.create_discussion(discussion)2. Define Agent Callbacks
async def agent_callback(discussion_id, round_num, previous_messages):
# Build prompt
prompt = build_prompt(round_num, previous_messages)
# Call real agent
response = await sessions_spawn(
runtime="subagent",
agentId="architect",
mode="run",
task=prompt
)
return response, MessageType.PROPOSAL
callbacks = {
"architect": agent_callback,
"backend": agent_callback,
}3. Run Discussion
# Run discussion
result = await orchestrator.run_discussion(discussion.id, callbacks)
# View results
print(f"Status: {result.status}")
print(f"Rounds: {result.current_round}")
print(f"Consensus: {result.consensus_level}")Dialectical Logic
Automatic Detection
from core import DialecticEngine
dialectic = DialecticEngine()
analysis = dialectic.analyze_message(message, previous_messages)
print(f"Quality: {analysis.quality}") # strong/moderate/weak/fallacious
print(f"Score: {analysis.score}")
print(f"Citation: {analysis.has_citation}")
print(f"Fallacies: {analysis.fallacies}")Detected Fallacy Types
Bias Prevention Mechanisms
1. Random Speaking Order
# First round random shuffle, subsequent rounds rotate
order = coordinator.determine_speaking_order(
participants,
SpeakingOrder.ROUND_ROBIN
)2. Mandatory Citation
From round 2, agents must cite opponent's original words:
I disagree with @architect's view:
> "Choosing PostgreSQL is not premature optimization"
This statement is misleading...3. Devil's Advocate
Assign an agent to play devil's advocate:
# Assign tester as Devil's Advocate
# Even if they agree internally, they must defend the minority positionProject Structure
team-discuss/
├── src/
│ ├── core/
│ │ ├── shared_store.py # Shared state storage
│ │ ├── orchestrator.py # Multi-round orchestrator
│ │ ├── dialectic.py # Dialectical logic engine
│ │ └── coordinator.py # Coordinator logic
│ ├── agents/
│ │ └── bridge.py # Agent bridge
│ └── models.py # Data models
├── examples/
│ └── run_real_discussion.py # Real discussion example
└── tests/
└── test_integration.py # Integration testsConfiguration Options
DiscussionConfig
DiscussionConfig(
max_rounds=5, # Maximum rounds
min_rounds_before_consensus=2, # Minimum rounds before consensus
consensus_threshold=0.75, # Consensus threshold (75% agreement)
token_budget=50000, # Token budget
)Speaking Order
SpeakingOrder.FREE # Free speaking (random)
SpeakingOrder.ROUND_ROBIN # Round robin (recommended)
SpeakingOrder.ROLE_BASED # Role-based priorityExamples
Technology Selection Discussion
# Run example
cd /root/.openclaw/workspace/data/projects/team-discuss
python3 examples/run_real_discussion.pyPhilosophical Debate Example
# Create a philosophical discussion
discussion = Discussion(
id="philosophy-debate-001",
topic="Does free will exist, or is everything determined?",
description="Philosophical debate on free will vs determinism",
max_rounds=3,
participants=[
Participant(agent_id="philosopher1", role_id=AgentRole.REVIEWER),
Participant(agent_id="scientist", role_id=AgentRole.ARCHITECT),
Participant(agent_id="skeptic", role_id=AgentRole.TESTER),
]
)Philosophical debates benefit from:
Sample output:
🔄 Round 1 started
💬 @architect (Architect):
I support using PostgreSQL...
📊 Quality: moderate (70.0 points)
💬 @backend (Backend Dev):
I support using SQLite...
📊 Quality: moderate (60.0 points)
✅ Round 1 ended
🔄 Round 2 started
💬 @architect:
Responding to @backend:
> "Premature optimization is the root of all evil"
This statement confuses...
📊 Quality: strong (85.0 points)
📌 Citation: ✓
✅ Round 2 ended
✓ Discussion completed!
Final status: max_rounds_reached
Consensus level: partialBest Practices
1. Topic Design
2. Agent Selection
3. Round Settings
4. Result Interpretation
Troubleshooting
Agent Not Responding
orchestrator = DiscussionOrchestrator(
store=store,
response_timeout=180 # Increase timeout
)Version Conflicts
Shared storage uses optimistic locking, automatically retries on conflict.
Storage Location
store = SharedStore(base_dir="/path/to/discussions")Extension Development
Custom Agent Bridge
class MyAgentBridge:
async def generate_response(self, ...):
# Custom calling logic
passCustom Dialectic Rules
class MyDialecticEngine(DialecticEngine):
def _detect_fallacies(self, content):
# Add custom fallacy detection
passRelated Links
Version History
Roadmap
Coming Soon
| Feature | Status | Description |
|:---|:---:|:---|
| **Devil's Advocate** | 🚧 In Development | Auto-assign minority role, ensure opposition voices heard |
| **Stance Change Rewards** | 🚧 In Development | Reward agents for rationally changing position |
| **CLI Interface** | 📋 Planned | Command-line tool for creating/viewing/managing discussions |
| **REST API** | 📋 Planned | HTTP API for remote calls |
| **Web UI** | 📋 Planned | Visual discussion dashboard |
Release Plan
> 📦 Published to [clawhub.com](https://clawhub.com)
---
中文简介
**Team-Discuss** 是一个多 Agent 协作讨论工具,支持多轮迭代、辩证逻辑分析、随机发言顺序等特性,帮助团队高效对齐方案。
核心功能
快速开始
cd /root/.openclaw/workspace/data/skills/team-discuss
python3 example.py项目路径
/root/.openclaw/workspace/data/projects/team-discuss/即将发布
> 📦 已发布到 [clawhub.com](https://clawhub.com)
More tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...