| 1 | # Plugin Marketplace |
| 2 | |
| 3 | Plugins are curated agent templates, skills, instructions, and prompts shared by the community via GitHub repositories (e.g., `github/awesome-copilot`, `anthropics/skills`). They provide ready-made expertise for common domains — cloud platforms, frameworks, testing strategies, etc. |
| 4 | |
| 5 | ## Marketplace State |
| 6 | |
| 7 | Registered marketplace sources are stored in `.squad/plugins/marketplaces.json`: |
| 8 | |
| 9 | ```json |
| 10 | { |
| 11 | "marketplaces": [ |
| 12 | { |
| 13 | "name": "awesome-copilot", |
| 14 | "source": "github/awesome-copilot", |
| 15 | "added_at": "2026-02-14T00:00:00Z" |
| 16 | } |
| 17 | ] |
| 18 | } |
| 19 | ``` |
| 20 | |
| 21 | ## CLI Commands |
| 22 | |
| 23 | Users manage marketplaces via the CLI: |
| 24 | - `squad plugin marketplace add {owner/repo}` — Register a GitHub repo as a marketplace source |
| 25 | - `squad plugin marketplace remove {name}` — Remove a registered marketplace |
| 26 | - `squad plugin marketplace list` — List registered marketplaces |
| 27 | - `squad plugin marketplace browse {name}` — List available plugins in a marketplace |
| 28 | |
| 29 | ## When to Browse |
| 30 | |
| 31 | During the **Adding Team Members** flow, AFTER allocating a name but BEFORE generating the charter: |
| 32 | |
| 33 | 1. Read `.squad/plugins/marketplaces.json`. If the file doesn't exist or `marketplaces` is empty, skip silently. |
| 34 | 2. For each registered marketplace, search for plugins whose name or description matches the new member's role or domain keywords. |
| 35 | 3. Present matching plugins to the user: *"Found '{plugin-name}' in {marketplace} marketplace — want me to install it as a skill for {CastName}?"* |
| 36 | 4. If the user accepts, install the plugin (see below). If they decline or skip, proceed without it. |
| 37 | |
| 38 | ## How to Install a Plugin |
| 39 | |
| 40 | 1. Read the plugin content from the marketplace repository (the plugin's `SKILL.md` or equivalent). |
| 41 | 2. Copy it into the agent's skills directory: `.squad/skills/{plugin-name}/SKILL.md` |
| 42 | 3. If the plugin includes charter-level instructions (role boundaries, tool preferences), merge those into the agent's `charter.md`. |
| 43 | 4. Log the installation in the agent's `history.md`: *"📦 Plugin '{plugin-name}' installed from {marketplace}."* |
| 44 | |
| 45 | ## Graceful Degradation |
| 46 | |
| 47 | - **No marketplaces configured:** Skip the marketplace check entirely. No warning, no prompt. |
| 48 | - **Marketplace unreachable:** Warn the user (*"⚠ Couldn't reach {marketplace} — continuing without it"*) and proceed with team member creation normally. |
| 49 | - **No matching plugins:** Inform the user (*"No matching plugins found in configured marketplaces"*) and proceed. |