The Ultimate Multi-Agent Orchestrator — a universal multi-agent MCP plugin for Spartan Swarm Orchestration
Optimus Code has 21 tools with basic schemas and descriptions, but significant quality gaps prevent higher scoring. All tools have descriptions (10-100 chars, mostly 50-80 chars, below the 194-char baseline for A+ tools). Input schemas are present but minimal: most parameters lack detailed constraints, enums, or format specifications. No output schemas documented. Parameter descriptions are terse (e.g., 'Agent role name', 'Task input/prompt'). No error handling guidance, recovery hints, or actionable error messages visible. Tool naming is verb-forward (delegate_, dispatch_, get_, list_, create_, read_, append_, remove_) but some names conflate concerns: dispatch_council and dispatch_council_async differ only in sync/async, forcing LLMs to reason about execution model rather than intent. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (WRITE, DESTRUCTIVE). Composition is weak: delegate_task and delegate_task_async are near-duplicates; dispatch_council and dispatch_council_async repeat the pattern. No pagination support visible on list_* tools. Memory tools (read_project_memory, append_project_memory) lack size limits or truncation guidance. GitHub and worktree tools lack permission/scope declarations.
Append content to the project's continuous memory file
Append content to user-level cross-project memory
Create a GitHub issue in the project repository
Create a new git worktree for a branch
Delegate a task to a single agent synchronously
Delegate a task to a single agent asynchronously and return immediately with task ID
Dispatch a task to multiple agents concurrently and wait for all to complete
Duplicate tool pairs (delegate_task + delegate_task_async, dispatch_council + dispatch_council_async) force LLMs to reason about execution model rather than intent. Merge into single tools with optional async parameter or separate discovery tool.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., task_id from async operations, role list structure). Add explicit return type documentation.
List tools (list_available_roles, list_available_engines, list_available_skills, list_worktrees, list_resources) lack pagination parameters (limit, offset, cursor) and total count in response. Large result sets will blow context window.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 42 | 2026-07-28+ | v2 |
Dispatch a task to multiple agents concurrently and return immediately with task IDs
Dispatch a complex multi-stage orchestration plan with T3→T2→T1 cascade
Ensure a worktree exists for a given branch, creating it if necessary
Get the current status and configuration of the Optimus workspace
Retrieve the result of an asynchronous task by task ID
List all configured AI engines and their models
List all available agent roles in the workspace
List all available skills in the workspace
List available resources in the workspace
List all git worktrees in the repository
Read the project's continuous memory file
Read a resource file from the workspace
Read user-level cross-project memory
Remove a git worktree
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels declared (READ_ONLY, WRITE, DESTRUCTIVE). Agents cannot infer safety properties from tool definitions alone.
Parameter descriptions are terse (30-50 chars vs 72-char baseline). Missing format constraints, enums, and dependency hints. E.g., 'role' param lacks enum of valid roles; 'automation' object lacks schema; 'completion_timeout_ms' lacks range (min/max).