Repository navigation
Description
Summary
Add a built-in squad-commands skill that ships with every Squad install. Its job: let the user discover and invoke common Squad operations from chat — without searching docs, without remembering CLI flags, and without typing the raw command.
Today, things like squad upgrade --state-backend git-notes, squad plugin marketplace add, squad watch --interval 5, casting overrides, switching state backends, etc. require the user to either know the flag exists or go googling. That's friction.
User experience (desired)
User says any of:
- "squad commands"
- "what can squad do?"
- "show me squad options"
- "how do I upgrade with state backend"
- "slash commands"
Coordinator presents a categorized, scannable menu (via ask_user with choices, or compact text) of the most common operations. User selects one → coordinator either:
- Runs it directly (for safe / idempotent ops)
- Asks the 1–2 follow-up questions needed (e.g. "which state backend?
worktree/git-notes/orphan/two-layer") - Then executes — no copy-paste of CLI flags required
Skill contents
.squad/skills/squad-commands/SKILL.md should index the operations users actually want, grouped by intent. First pass:
Install & upgrade
squad upgrade(with optional--state-backend)squad init(re-run scaffolding)- Switch state backend (worktree ↔ git-notes ↔ orphan ↔ two-layer)
Team management
- Add/remove a team member (route to the Adding/Removing Team Members flow)
- Reassign roles
- Show roster / capability profile
Issues & PRs
- Connect a repo (
ghauth + GitHub Issues Mode) - Triage open issues
- Activate Ralph (
Ralph, go) / set polling interval - Start
squad watchbackground poller
Plugins & skills
squad plugin marketplace add/remove/browse- List installed skills
- Install a marketplace plugin for an agent
Model & cost
- Set default model (
.squad/config.json) - Override model for one agent
- Clear model preference
Sessions & state
- Catch-up summary
- Show recent decisions
- Archive old decisions / summarize history
Design notes
- The skill is installed as part of
squad init— every new squad has it from day one - Skill confidence starts at
high(it's first-party, not earned) - The skill is discoverable by the coordinator's skill-aware routing — when user intent matches "show me what I can do" / "squad commands" / "help", the coordinator reads this SKILL.md and presents the menu
- The menu is generated from the SKILL.md — no separate code path. Update the markdown, the menu updates.
- For destructive ops (e.g., switching state backend, removing a member), confirm before executing
- Should work across CLI, VS Code, and other Copilot surfaces (no SQL, filesystem-only)
Acceptance criteria
-
.squad/templates/skills/squad-commands/SKILL.mdexists in the install template -
squad initandsquad upgradeinstall/update this skill into.squad/skills/squad-commands/ - Coordinator routes "what can squad do?" / "squad commands" / "slash commands" / similar intent signals to this skill
- Menu is grouped by category, scannable, and uses
ask_userchoices where possible - Selecting an option either runs the command or asks the minimum follow-up questions
- Documented in README so users know it exists
- Works on CLI and VS Code surfaces
Out of scope (for v1)
- Custom user-defined commands (could be a later iteration — read from a user file)
- A separate
squad commandsCLI subcommand (the skill handles in-chat; CLI can come later)
Activity
feat: add squad-commands skill (#1174)