--- title: Plugin catalog description: Every plugin that ships with AO, grouped by slot. Mix and match in your `agent-orchestrator.yaml`. --- AO has **eight plugin slots**. Only one plugin per slot is active at a time, and every slot has a sensible default — you don't have to configure anything unless you want to. ## Slots at a glance | Slot | Default | What it does | |---|---|---| | **Agent** | `claude-code` | Which AI tool writes the code | | **Runtime** | `tmux` (macOS/Linux), `process` (Windows) | Where the agent process runs | | **Workspace** | `worktree` | Per-session code isolation | | **Tracker** | `github` | Where issues live | | **SCM** | `github` | PRs, CI, reviews | | **Notifier** | `desktop` | Who pings you when something happens | | **Terminal** | `iterm2` on macOS | How you attach to a running agent | | **Lifecycle** | built-in | State machine + polling loop (not pluggable) | ## Agents ## Runtimes ## Workspaces ## Trackers ## SCM ## Notifiers ## Terminals ## Writing your own Every plugin is a small Node package that exports a `manifest` + `create()` function. See **[Authoring a plugin](/docs/plugins/authoring)** for the full contract, loading paths, and the core utilities available to plugins. The fastest path is `ao plugin create` — it scaffolds a working starter: ```bash ao plugin create --slot notifier --name pagerduty ```