Use for spawning and managing agent teams with mcpjose_spawn_agent, mcpjose_spawn_agent_team, and related tools. Best for delegating complex tasks to sub-agents.
This skill provides instructions for using the agent team features in MCP Jose to delegate tasks to sub-agents.
mcpjose_spawn_agent - Spawn a single agent to execute a taskmcpjose_spawn_agent_team - Spawn a complete team from a DECOMPOSITION.md planmcpjose_get_team_status - Check team/task progressmcpjose_send_message_to_agent - Send messages between agentsmcpjose_wait_for_team - Wait for all tasks to completemcpjose_shutdown_team - Shutdown all agents in a teamUse mcpjose_spawn_agent for one-off tasks that don't require a pre-existing plan.
| Parameter | Required | Notes |
|---|---|---|
team_id | Yes | Unique identifier for the team (e.g., "research", "project-alpha") |
agent_type | Yes | "opencode", "claude_code", or "langchain_subagent" |
role | Yes | Agent's function (e.g., "researcher", "developer", "qa_engineer") |
action | Yes* | Task description (*unless task_id provided) |
task_id | No | Existing task ID from task board (rarely needed) |
work_dir | No | Custom work directory (default: workflows/{team_id}) |
plan_mode | No | Spawn in plan mode for safety (default: true) |
timeout_minutes | No | Max runtime (default: 30) |
Basic usage:
from tools.agent_spawner import spawn_agent
result = spawn_agent(
team_id="research-team",
agent_type="opencode",
role="researcher",
action="Research latest AI news and trends",
timeout_minutes=5
)
Multiple agents in same team:
spawn_agent(
team_id="project-alpha",
agent_type="opencode",
role="developer",
action="Implement user authentication"
)
spawn_agent(
team_id="project-alpha",
agent_type="opencode",
role="qa_engineer",
action="Write tests for auth module"
)
Use mcpjose_spawn_agent_team for complex workflows with multiple tasks from a plan.
A plan directory containing:
AtomicTasks.json - Task definitionsTaskTree.json - Task hierarchyTasks in AtomicTasks.json should have clear roles assigned via tool_or_endpoint or action keywords
from tools.agent_spawner import spawn_agent_team
result = spawn_agent_team(
team_id="my-project",
plan_dir="userapp/Plan",
max_parallel=3 # Max agents to spawn at once
)
from tools.agent_spawner import get_team_status
status = get_team_status(team_id="research-team")
# Returns: {tasks: {total, completed, failed, in_progress, pending}, agents: {...}}
# Read the team's task_board.json
read_file(path="workflows/{team_id}/task_board.json")
# Read agent status
read_file(path="workflows/{team_id}/artifacts/{agent_id}/status.json")
read_file(path="workflows/{team_id}/artifacts/{agent_id}/output.log")
from tools.agent_spawner import send_message_to_agent
send_message_to_agent(
team_id="project-alpha",
from_agent="coordinator",
to_agent="opencode_developer_123",
message_type="status_update",
content="Please prioritize the auth module"
)
from tools.agent_spawner import wait_for_team
result = wait_for_team(
team_id="project-alpha",
timeout=600 # seconds
)
action="Research {topic}"get_team_status or check status.jsonartifacts/{agent_id}/{report_file}.mdspawn_agent_team with plan directorymax_parallel to control concurrencywait_for_team to wait for completionAll agent outputs are stored in:
workflows/{team_id}/
├── artifacts/{agent_id}/
│ ├── agent_manifest.json # Agent metadata
│ ├── status.json # Completion status
│ ├── output.log # Execution log
│ └── *.md # Deliverables (reports, etc.)
├── task_board.json # Task status tracker
├── messages.json # Inter-agent messages
└── team_config.json # Team configuration
action - Don't rely on task_id unless you have an existing taskaction to create task on-the-fly, or ensure task_id existsartifacts/{agent_id}/status.json directlyartifacts/{agent_id}/output.log for errorsSee references/mcpjose-tools.md for the full list of MCP Jose tools.