atl list
Show the teams installed at each scope.
Usage
atl list # human-readable, grouped by scope
atl list --json # the same set as JSON, for a script or a skillatl list takes no arguments. It reads the install manifests under each layer's .atl/installed/ directory — no network access.
Output
Teams are grouped by scope, with each team printed as a two-space-indented <handle>/<name>@<version> line:
global:
acme/example-team@1.0.0
project:
acme/proto-team@0.3.0A team installed at both scopes appears under each. The <handle> is the team's GitHub owner, <name> and <version> come from its team.json.
A team that declares a review agent (capabilities.review in its team.json) shows it alongside its version:
project:
acme/delivery-team@0.15.0 (review: tech-lead)--json
Emits the same set as an array, which is how /create-pr discovers which teams offer a domain reviewer for its review chain:
[
{
"handle": "acme",
"name": "delivery-team",
"version": "0.15.0",
"scope": "project",
"reviewer": "tech-lead"
}
]reviewer is omitted for a team that declares none, which is the common case. With no teams installed the output is [], never null.
This is deliberately not the raw manifest: a manifest also carries a per-file checksum map running to hundreds of entries, and a caller asking which teams are installed, and what does each declare? should not have to read past it.
A team installed before v2.26.0
reviewer is recorded at install time, so a team installed before the field existed shows none until atl update refreshes its manifest.
When nothing is installed
If no teams are installed at either scope:
atl list: no teams installedRelated
atl install— install a team.atl remove— remove a team.atl search— find teams to install.