awslabs / awslabs/cli-agent-orchestrator
[Feat] Dynamic Supervisor Agent
- Dominant language
- Python
- Stars
- 1.3k
- Forks
- 267
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 70
Description
## Overview
Right now, users have to custom build a supervisor agent to their task. In the supervisor agent context, users have to specify the name and role of the worker agents available to this supervisor. For example, the `coding_supervisor` needs to know about the role and skills of `developer` and `reviewer` agents.
I propose adding a dynamic supervisor agent who can (at runtime) list all available agents in the agent store and find the ones most appropriate to handoff/assign tasks to.
## User Stories
- As an agent developer, I want to define new/update worker agents in a workflow without creating/updating the supervisor agent of that workflow
- As a user, I want to launch one supervisor that intelligently figures out which worker agents it needs without me picking the right supervisor agent
## Acceptance Criteria
- Supervisor can list name of worker agent and description of the agent (available in the YAML frontmatter part of the .md definition)
## Proposed solution
- Create a new endpoint `/agents` for listing all agents available in agent store
- Add to the CLI a new command `cao list` to list all available agents. The CLI should just call the `/agents` endpoint
- Add a new MCP server tool called `list_agents` to list all available agents
- Use existing Pydantic model for AgentProfile in `models/agent_profile.py` to return name and description
## Additional context
**Is your feature request related to a problem? Please describe.**
**Describe alternatives you've considered**
- I have considered adding a feature to list agents available from any custom agent store (remote, local but in a non-standard location, directory-level agent store). I've decided to not include these flexibility until there's request for them.
**Additional context**
Add any other context or screenshots about the feature request here.
Contributor guide
Research direction
Start by reading models/agent_profile.py and tracing the existing agent-store access. Then inspect the current CLI and MCP entry points before considering the /agents endpoint, cao list command, and list_agents tool. Done means all three surfaces list each available worker agent's name and description from its YAML frontmatter.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, cli, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100