From superteam
You are running the `/superteam:setup` command. Walk the user through an interactive setup for the superteam plugin. The goal is to (1) confirm which multiplexer they'll use, (2) let them assign a model per agent type, and (3) apply their choices by rewriting the four `superteam-*.md` files' `model:` frontmatter fields **at the plugin's active install path** (or `~/.claude/agents/` as a fallback for manual installs).
How this command is triggered — by the user, by Claude, or both
Slash command
/superteam:setupThe summary Claude sees in its command listing — used to decide when to auto-load this command
# /superteam:setup You are running the `/superteam:setup` command. Walk the user through an interactive setup for the superteam plugin. The goal is to (1) confirm which multiplexer they'll use, (2) let them assign a model per agent type, and (3) apply their choices by rewriting the four `superteam-*.md` files' `model:` frontmatter fields **at the plugin's active install path** (or `~/.claude/agents/` as a fallback for manual installs). **Do not skip steps.** Each step uses the `AskUserQuestion` tool. After the user answers all questions, apply the changes in a single batch, then print the...
You are running the /superteam:setup command. Walk the user through an interactive setup for the superteam plugin. The goal is to (1) confirm which multiplexer they'll use, (2) let them assign a model per agent type, and (3) apply their choices by rewriting the four superteam-*.md files' model: frontmatter fields at the plugin's active install path (or ~/.claude/agents/ as a fallback for manual installs).
Do not skip steps. Each step uses the AskUserQuestion tool. After the user answers all questions, apply the changes in a single batch, then print the tailored launch instructions.
Before asking any questions, find which superteam install is active. Two cases:
claude /plugin install superteam. Files live at ~/.claude/plugins/cache/superteam/superteam/<version>/agents/. There may be multiple versions cached; pick the most recently modified..md files directly into ~/.claude/agents/.Resolve via Bash:
# Try plugin install first (latest version directory by mtime).
PLUGIN_BASE=$(ls -1dt ~/.claude/plugins/cache/superteam/superteam/*/agents 2>/dev/null | head -1)
USER_BASE="$HOME/.claude/agents"
if [ -n "$PLUGIN_BASE" ] && [ -f "$PLUGIN_BASE/superteam-planner.md" ]; then
BASE="$PLUGIN_BASE"
INSTALL_KIND="plugin"
elif [ -f "$USER_BASE/superteam-planner.md" ]; then
BASE="$USER_BASE"
INSTALL_KIND="user-scope"
else
echo "ERROR: superteam is not installed. Run 'claude /plugin install superteam' (preferred) or copy agents/superteam-*.md into ~/.claude/agents/ first."
exit 1
fi
echo "$BASE"
Save the resolved path as BASE and the install kind as INSTALL_KIND. All subsequent file edits target $BASE/superteam-<role>.md.
If INSTALL_KIND == "plugin" and ~/.claude/agents/superteam-planner.md also exists, the user has both a plugin install AND legacy manual copies in user scope — these will collide and shadow each other unreliably. Before continuing, ask whether to delete the user-scope leftovers:
If the user picks Yes, rm -f ~/.claude/agents/superteam-*.md.
Ask the user which terminal multiplexer they use. The four agents work under any of them — the only difference is the launch command + the visual layout of the teammates.
Use AskUserQuestion with:
cmux claude-teams --dangerously-skip-permissions which auto-translates to cmux splits via a tmux shim."tmux new && claude --agent superteam-planner."claude --agent superteam-planner inside iTerm2."Save the answer as MULTIPLEXER.
Ask the user which team layout they prefer. This is saved to config.json and used by the planner when spawning teammates and by /superteam:layout to arrange panes.
Use AskUserQuestion with:
Save the answer as LAYOUT. Default to flat if not otherwise specified.
For each of the four agents below, ask the user which Claude model to assign. Use AskUserQuestion for each (you can batch up to four in a single call).
Use the same option set per question:
Ask in this order, with these question + header pairs:
Question: "Which model should superteam-planner use?"
Header: "Planner model"
Recommendation hint to include in your message: opus, since the planner does deeper reasoning about decomposition + dependencies.
Question: "Which model should superteam-implementer use?"
Header: "Implementer model"
Hint: sonnet — strong on mechanical TDD.
Question: "Which model should superteam-spec-reviewer use?"
Header: "Spec reviewer model"
Hint: sonnet — fast, accurate for spec compliance.
Question: "Which model should superteam-code-reviewer use?"
Header: "Code reviewer model"
Hint: sonnet — fast, accurate for quality + security reviews.
Save each answer as MODEL_PLANNER, MODEL_IMPLEMENTER, MODEL_SPEC_REVIEWER, MODEL_CODE_REVIEWER. If the user picks "Keep current setting" for any, skip that file in Step 6.
Ask the user which team layout they prefer. This is saved to ~/.claude/superteam/config.json as layout and read by the planner every time it spawns a team.
Use AskUserQuestion with:
Save the answer as LAYOUT_MODE.
After collecting all answers, write the config to ~/.claude/superteam/config.json:
mkdir -p "$HOME/.claude/superteam"
CONFIG="$HOME/.claude/superteam/config.json"
# Merge with any existing config (preserve model overrides from previous runs)
EXISTING="{}"
if [[ -f "$CONFIG" ]]; then
EXISTING=$(cat "$CONFIG")
fi
echo "$EXISTING" | jq \
--arg mux "$MULTIPLEXER" \
--arg layout "$LAYOUT_MODE" \
'. + {"multiplexer": $mux, "layout": $layout}' \
> "$CONFIG"
echo "Config written to $CONFIG"
The model choices are persisted in config.json (Step 7). After writing config.json, apply them immediately by running the override hook:
bash "${CLAUDE_PLUGIN_DIR:-$(dirname "$0")/..}/hooks/apply-overrides.sh"
Or if running from within Claude Code where the repo path is known:
SUPERTEAM_AGENT_BASE="$BASE" bash hooks/apply-overrides.sh
apply-overrides.sh reads ~/.claude/superteam/config.json and rewrites the model: frontmatter line in each agent file found at $BASE. It is idempotent — running it multiple times produces the same result.
Model overrides survive plugin updates. Because choices are stored in config.json (not only in the plugin cache files), running claude /plugin update superteam will reset the cache files to shipped defaults, but apply-overrides.sh automatically re-applies your saved choices on the next session start. You do not need to re-run /superteam:setup after a plugin update.
After applying model edits, write the user's choices to ~/.claude/superteam/config.json so that downstream commands (teardown, layout, retry, etc.) can read the persisted multiplexer and per-agent model overrides without re-prompting.
Run via Bash:
mkdir -p ~/.claude/superteam
cat > ~/.claude/superteam/config.json <<EOF
{
"version": "1",
"multiplexer": "$MULTIPLEXER",
"layout": "$LAYOUT",
"models": {
"superteam-planner": "$MODEL_PLANNER",
"superteam-implementer": "$MODEL_IMPLEMENTER",
"superteam-spec-reviewer": "$MODEL_SPEC_REVIEWER",
"superteam-code-reviewer": "$MODEL_CODE_REVIEWER"
},
"installKind": "$INSTALL_KIND",
"installBase": "$BASE"
}
EOF
echo "Config written to ~/.claude/superteam/config.json"
If any model was "Keep current setting", substitute the literal string "keep" for that field — downstream commands that read this file must treat "keep" as "do not override".
Confirm the file was written: cat ~/.claude/superteam/config.json.
After all edits land, instruct the user to run /reload-plugins so Claude Code picks up the model changes (only required when INSTALL_KIND == "plugin"; manual installs are re-scanned on next session).
Then print one of the following based on MULTIPLEXER. Format as a code block they can copy.
cmux:
Setup complete. To launch your team:
cd <your-repo>
cmux claude-teams --dangerously-skip-permissions
Inside the session, tell the lead:
"Spawn superteam-implementer, superteam-spec-reviewer,
and superteam-code-reviewer as my team. Then process ticket
<YOUR-TICKET>: <spec>."
tmux:
Setup complete. To launch your team:
cd <your-repo>
tmux new -s superteam
claude --agent superteam-planner
Inside the session, tell the lead:
"Spawn superteam-implementer, superteam-spec-reviewer,
and superteam-code-reviewer as my team. Then process ticket
<YOUR-TICKET>: <spec>."
iTerm2:
Setup complete. To launch your team:
cd <your-repo>
claude --agent superteam-planner
iTerm2 split-pane mode kicks in automatically when the lead spawns
teammates. Inside the session, tell the lead:
"Spawn superteam-implementer, superteam-spec-reviewer,
and superteam-code-reviewer as my team. Then process ticket
<YOUR-TICKET>: <spec>."
None / in-process:
Setup complete. To launch your team:
cd <your-repo>
claude --agent superteam-planner
Teammates will run inside this terminal. Cycle through them with
Shift+Down. Inside the session, tell the lead:
"Spawn superteam-implementer, superteam-spec-reviewer,
and superteam-code-reviewer as my team. Then process ticket
<YOUR-TICKET>: <spec>."
Print a one-line summary: which models are assigned to which agents, which multiplexer was selected, and which install path was used ($BASE).
If INSTALL_KIND == "plugin", add this caveat:
⚠ The model overrides are written to the plugin cache (
$BASE). Runningclaude plugin update superteamwill reset them to the plugin's shipped defaults. Re-run/superteam:setupafter any plugin update to re-apply your choices.
Then stop. Do not auto-launch anything.
/setupInitializes or resumes project setup via interactive Q&A, creating conductor/ artifacts for product definition, guidelines, tech stack, workflow, and style guides.
/setupWalks an enterprise admin through configuring the Claude Office add-in to call their own cloud (Vertex, Bedrock, Foundry, or gateway), producing a customized manifest.xml for M365 deployment.
/setupChecks local Codex CLI readiness, prompts to install if unavailable via npm, and optionally toggles stop-time review gate.
/setupInteractive setup wizard that detects installed AI providers, configures authentication, and optimizes token usage. Auto-runs on first install and surfaces a status dashboard on manual invocation.
npx claudepluginhub ahmedelbanna80/superteam --plugin superteam