-
Notifications
You must be signed in to change notification settings - Fork 158
Description
Summary
The AgentStack landing screen currently displays all registered agents in a flat, unsorted list.
As agent counts grow, discoverability degrades quickly. This request proposes collapsible
grouped sections using AgentProvider.organization as the natural grouping key — a field that
already exists in the A2A spec and is already populated by agents today.
Current Behavior
All agents appear in a single flat list, ordered by registration timestamp. There is no visual
separation between persona agents, orchestrators, tools, or any other logical grouping.
Desired Behavior
Agents are grouped into collapsible sections on the landing screen, where the section header
is derived from AgentCard.provider.organization. Example:
▼ Personas (8)
[Persona] Builder — Edit files, run commands, implement code
[Persona] Documenter — Write READMEs, inline comments, API docs
[Persona] Plan Reviewer — Critically evaluate plans, flag risks
[Persona] Planner — Break requirements into ordered steps
[Persona] Red Team — Find vulnerabilities, injection risks
[Persona] Researcher — Gather context from codebases and web
[Persona] Reviewer — Review for bugs, security, style, coverage
[Persona] Scout — Fast codebase exploration and recon
▼ Workflows (1)
[Workflow] Sprint Release — Complete sprint release orchestration
▼ (ungrouped)
...any agents without provider set
Implementation Hook
AgentProvider is already part of the A2A core spec (AgentCard.provider) and is already
implemented in the AgentStack SDK's @server.agent() decorator as a first-class parameter:
# agentstack_sdk/server/agent.py
provider: AgentProvider | None = None,# a2a/types.py
class AgentProvider(A2ABaseModel):
organization: str
url: strNo spec changes are needed — the grouping key is already there. The change is purely in the
landing screen UI: group the agent list by provider.organization, sort groups
alphabetically, sort agents within each group alphabetically by name, and render an
ungrouped section at the bottom for agents with no provider set.
Additional Suggestions
AgentSkill.tagsis already populated with"persona"and"workflow"tags in agents
that implement this pattern — this could be used as a secondary filter or tag-based view- Sections should default to expanded, with collapse state persisted per session
- A search/filter bar across all agents (regardless of group) would complement this well
Why This Matters
With 8+ persona agents and multiple orchestrators, the flat list becomes unusable for
first-time users trying to understand what's available. AgentProvider.organization is
exactly the right semantic hook — it distinguishes who provides the agent and what logical
role it plays, without adding any new spec surface area.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status