# List Teams

> List all teams from the team component mapping

- Skill: `openshift-eng/list-teams` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add openshift-eng/list-teams`
- Raw SKILL.md: https://api.skillmd.com/api/skills/openshift-eng/list-teams/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: openshift-eng (https://skillmd.com/u/openshift-eng)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/openshift-eng/list-teams

---


# List Teams

This skill provides functionality to list all teams from the team component mapping, including rich metadata about each team (components, description, repos, team size, slack channels).

## When to Use This Skill

Use this skill when you need to:

- Display all available team names
- Validate team names before using them in other commands
- Get a complete list of teams with OCPBUGS components
- Count how many teams are in the system
- Find team names for team-based analysis

## Prerequisites

1. **Python 3 Installation**
   - Check if installed: `which python3`
   - Python 3.6 or later is required

2. **Team Component Mapping File**
   - The mapping file should be in the repository
   - Located at: `plugins/teams/team_component_map.json`
   - This file is committed to the repository

## Implementation Steps

### Step 1: Run the list-teams Script

```bash
python3 plugins/teams/skills/list-teams/list_teams.py
```

### Step 2: Process the Output

The script outputs JSON in one of two formats:

**New Format** (after regeneration with updated script):
```json
{
  "total_teams": 29,
  "teams": {
    "API Server": {
      "components": ["kube-apiserver", "openshift-apiserver", "..."],
      "description": "Team responsible for API server components",
      "team_size": 15,
      "repos": ["openshift/origin", "openshift/kubernetes"],
      "slack_channels": ["forum-apiserver"]
    },
    "Authentication": {
      "components": ["oauth-apiserver", "..."],
      "description": "...",
      "team_size": 10,
      "repos": ["..."],
      "slack_channels": ["..."]
    }
  }
}
```

**Old Format** (before regeneration):
```json
{
  "total_teams": 29,
  "teams": [
    "API Server",
    "Authentication",
    "..."
  ]
}
```

### Step 3: Display to User

**Important**: When displaying results to the user via the `/teams:list-teams` command:
- Show only a concise list of team names
- Do NOT display the full team metadata unless the user specifically asks for it
- Keep the output brief and scannable

**For AI Agent Use**:
- Full team metadata is available for answering follow-up questions
- Can use components, repos, slack_channels to provide context
- Can use team_size and description for additional insights

## Examples

### Example 1: List All Teams

```bash
python3 plugins/teams/skills/list-teams/list_teams.py
```

### Example 2: Count Teams

```bash
python3 plugins/teams/skills/list-teams/list_teams.py | jq '.total_teams'
```

## Notes

- Team data is extracted from the committed mapping file
- Team names are case-sensitive
- Teams are returned in alphabetical order by team name
- Very fast execution (< 100ms)
- Typical count: ~29 teams (teams with OCPBUGS components only)
- Script automatically detects format (new vs old) and handles both
- Rich metadata includes:
  - **components**: List of OCPBUGS components owned by the team
  - **description**: Team's purpose/responsibility
  - **team_size**: Number of team members (count only, no personal info)
  - **repos**: GitHub repositories the team owns
  - **slack_channels**: Forum-type Slack channels (names only)

## Data Source

The team and component mapping data originates from:
- **Source**: https://gitlab.cee.redhat.com/hybrid-platforms/org
- **Access**: Requires Red Hat VPN connection
- **Privacy**: The full org data is considered somewhat private, so this project extracts only the team and component mapping

**If data looks wrong or missing**:
1. Submit a PR to https://gitlab.cee.redhat.com/hybrid-platforms/org to correct the source data
2. After the PR merges, regenerate the mapping file in this repository:
   ```
   python3 plugins/teams/generate_team_component_map.py
   ```
3. Commit the updated `team_component_map.json` file

## See Also

- Related Skill: `plugins/teams/skills/list-components/SKILL.md`
- Related Command: `/teams:list-teams`
- Mapping File: `plugins/teams/team_component_map.json`
- Generator Script: `plugins/teams/generate_team_component_map.py`

