awslabs / awslabs/cli-agent-orchestrator

[Feat] Dynamic Supervisor Agent

Open
#12 5 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.