Agent skill
multi-agent-system
Design and orchestrate multi-agent AI systems with knowledge harvesting, agent collaboration, and learning loops. Use when working on PSI Engine or similar autonomous agent projects.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/multi-agent-system
SKILL.md
๐ค Multi-Agent System Skill
Use Cases
- Agent spawning & lifecycle management
- Knowledge harvesting from completed tasks
- Agent-to-agent communication
- Learning loop implementation
Agent Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Orchestrator โ
โ (Assign tasks, monitor, coordinate) โ
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโผโโโโโโโโโโโโโ
โผ โผ โผ
โโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโ
โ Agent 1โ โ Agent 2โ โ Agent 3โ
โ (Task) โ โ (Task) โ โ (Task) โ
โโโโโโฌโโโโ โโโโโโฌโโโโ โโโโโโฌโโโโ
โ โ โ
โโโโโโโโโโโโโดโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโ
โ Knowledge Base โ
โ (ChromaDB) โ
โโโโโโโโโโโโโโโโโโ
Agent Lifecycle
1. Spawn Agent
def spawn_agent(agent_id: str, task: str):
# Create PTY for agent terminal
master, slave = pty.openpty()
# Spawn process
process = subprocess.Popen(
['claude', '--task', task],
stdin=slave,
stdout=slave,
stderr=slave,
start_new_session=True
)
return {
'id': agent_id,
'process': process,
'master_fd': master,
'status': 'running'
}
2. Monitor Agent
def monitor_agent(agent):
# Read output non-blocking
ready, _, _ = select.select([agent['master_fd']], [], [], 0.1)
if ready:
output = os.read(agent['master_fd'], 4096).decode()
return output
return None
3. Harvest Knowledge
def harvest_knowledge(completed_task):
# Extract learnings
learnings = {
'task': completed_task['description'],
'solution': completed_task['output'],
'patterns': extract_patterns(completed_task['output']),
'timestamp': datetime.now().isoformat()
}
# Store in vector DB
collection.add(
documents=[learnings['solution']],
metadatas=[learnings],
ids=[f"learning_{uuid.uuid4()}"]
)
ChromaDB Integration
Setup
import chromadb
client = chromadb.Client()
collection = client.get_or_create_collection("knowledge_base")
Store
collection.add(
documents=["Solution text here"],
metadatas=[{"source": "agent_1", "task": "debug"}],
ids=["unique_id"]
)
Query (RAG)
results = collection.query(
query_texts=["How to fix null pointer?"],
n_results=5
)
Learning Loop
โโโโโโโโโโโโโโโโ
โ Agent runs โ
โ task โ
โโโโโโโโฌโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโ
โ Task result โ
โ extracted โ
โโโโโโโโฌโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโ
โ Knowledge โ โ Store patterns, solutions
โ harvested โ
โโโโโโโโฌโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโ
โ Next agent โ โ Query relevant context
โ uses context โ
โโโโโโโโโโโโโโโโ
Decision Tree
Multi-agent task?
โโโ Need new agent? โ spawn_agent()
โโโ Agent stuck? โ Check PTY buffer, restart if needed
โโโ Task complete? โ Harvest knowledge โ ChromaDB
โโโ Similar task? โ Query ChromaDB for context
โโโ Coordination? โ Use message queue/shared state
Common Issues
| เธเธฑเธเธซเธฒ | เธชเธฒเนเธซเธเธธ | เนเธเนเนเธ |
|---|---|---|
| Agent 3 malfunction | PTY buffer full | Increase buffer / flush regularly |
| Terminal blank | Non-blocking read timing | Use select() with timeout |
| Busy false positive | Status not reset | Reset status after task complete |
| Knowledge not found | Wrong embedding | Tune ChromaDB collection settings |
PSI Engine Specific
- PTY Manager: Always close unused file descriptors
- Agent Status: Use enum (IDLE, RUNNING, COMPLETE, ERROR)
- Harvest timing: Only harvest after verified completion
- Context injection: Limit to 5 most relevant results
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?