@bradygaster/squad-sdk 0.10.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +344 -0
- package/dist/adapter/client.d.ts +1 -1
- package/dist/adapter/client.d.ts.map +1 -1
- package/dist/adapter/client.js +20 -11
- package/dist/adapter/client.js.map +1 -1
- package/dist/adapter/types.d.ts +5 -1
- package/dist/adapter/types.d.ts.map +1 -1
- package/dist/agents/charter-compiler.d.ts +6 -0
- package/dist/agents/charter-compiler.d.ts.map +1 -1
- package/dist/agents/charter-compiler.js +23 -0
- package/dist/agents/charter-compiler.js.map +1 -1
- package/dist/agents/index.d.ts +2 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +2 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/lifecycle.d.ts +3 -0
- package/dist/agents/lifecycle.d.ts.map +1 -1
- package/dist/agents/lifecycle.js +16 -6
- package/dist/agents/lifecycle.js.map +1 -1
- package/dist/agents/onboarding.d.ts.map +1 -1
- package/dist/agents/onboarding.js +63 -18
- package/dist/agents/onboarding.js.map +1 -1
- package/dist/builders/index.d.ts.map +1 -1
- package/dist/builders/index.js +7 -0
- package/dist/builders/index.js.map +1 -1
- package/dist/builders/types.d.ts +5 -0
- package/dist/builders/types.d.ts.map +1 -1
- package/dist/client/event-bus.d.ts +1 -1
- package/dist/client/event-bus.d.ts.map +1 -1
- package/dist/client/event-bus.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/config/gitignore-state.d.ts +31 -0
- package/dist/config/gitignore-state.d.ts.map +1 -0
- package/dist/config/gitignore-state.js +74 -0
- package/dist/config/gitignore-state.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/init.d.ts +18 -0
- package/dist/config/init.d.ts.map +1 -1
- package/dist/config/init.js +184 -10
- package/dist/config/init.js.map +1 -1
- package/dist/config/models.d.ts +89 -0
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +297 -0
- package/dist/config/models.js.map +1 -1
- package/dist/config/routing.d.ts.map +1 -1
- package/dist/config/routing.js +24 -1
- package/dist/config/routing.js.map +1 -1
- package/dist/config/schema.d.ts +3 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js.map +1 -1
- package/dist/coordinator/direct-response.d.ts.map +1 -1
- package/dist/coordinator/direct-response.js +4 -0
- package/dist/coordinator/direct-response.js.map +1 -1
- package/dist/coordinator/fan-out.d.ts +12 -4
- package/dist/coordinator/fan-out.d.ts.map +1 -1
- package/dist/coordinator/fan-out.js +155 -15
- package/dist/coordinator/fan-out.js.map +1 -1
- package/dist/coordinator/index.d.ts +1 -0
- package/dist/coordinator/index.d.ts.map +1 -1
- package/dist/coordinator/index.js +2 -0
- package/dist/coordinator/index.js.map +1 -1
- package/dist/coordinator/spawn-backend.d.ts +181 -0
- package/dist/coordinator/spawn-backend.d.ts.map +1 -0
- package/dist/coordinator/spawn-backend.js +254 -0
- package/dist/coordinator/spawn-backend.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/platform/comms-teams.d.ts +2 -1
- package/dist/platform/comms-teams.d.ts.map +1 -1
- package/dist/platform/comms-teams.js +12 -7
- package/dist/platform/comms-teams.js.map +1 -1
- package/dist/presets/index.d.ts +27 -0
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +309 -0
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/scaffold.d.ts +27 -0
- package/dist/presets/scaffold.d.ts.map +1 -0
- package/dist/presets/scaffold.js +377 -0
- package/dist/presets/scaffold.js.map +1 -0
- package/dist/ralph/capabilities.d.ts +5 -2
- package/dist/ralph/capabilities.d.ts.map +1 -1
- package/dist/ralph/capabilities.js +10 -4
- package/dist/ralph/capabilities.js.map +1 -1
- package/dist/resolution.d.ts.map +1 -1
- package/dist/resolution.js +8 -0
- package/dist/resolution.js.map +1 -1
- package/dist/runtime/cross-squad.d.ts +47 -0
- package/dist/runtime/cross-squad.d.ts.map +1 -1
- package/dist/runtime/cross-squad.js +79 -2
- package/dist/runtime/cross-squad.js.map +1 -1
- package/dist/runtime/otel.js +6 -6
- package/dist/runtime/otel.js.map +1 -1
- package/dist/runtime/squad-observer.d.ts +2 -0
- package/dist/runtime/squad-observer.d.ts.map +1 -1
- package/dist/runtime/squad-observer.js +65 -4
- package/dist/runtime/squad-observer.js.map +1 -1
- package/dist/sharing/consult.d.ts +5 -1
- package/dist/sharing/consult.d.ts.map +1 -1
- package/dist/sharing/consult.js +5 -1
- package/dist/sharing/consult.js.map +1 -1
- package/dist/skills/handler-types.d.ts +1 -1
- package/dist/skills/handler-types.js +1 -1
- package/dist/tools/index.d.ts +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +20 -8
- package/dist/tools/index.js.map +1 -1
- package/package.json +17 -16
- package/templates/casting-reference.md +18 -0
- package/templates/fact-checker-charter.md +83 -0
- package/templates/fact-checker-policy.md +104 -0
- package/templates/skills/cli-wiring/SKILL.md +2 -2
- package/templates/skills/coordinator-init-mode/SKILL.md +83 -0
- package/templates/skills/coordinator-response-mode/SKILL.md +97 -0
- package/templates/skills/coordinator-source-of-truth/SKILL.md +45 -0
- package/templates/skills/cross-squad/SKILL.md +66 -6
- package/templates/skills/cross-squad-communication/SKILL.md +399 -0
- package/templates/skills/init-mode/SKILL.md +4 -4
- package/templates/skills/personal-squad/SKILL.md +3 -2
- package/templates/skills/release-process/SKILL.md +2 -2
- package/templates/skills/squad/SKILL.md +299 -0
- package/templates/skills/squad-commands/SKILL.md +303 -0
- package/templates/skills/squad-help/SKILL.md +97 -0
- package/templates/skills/squad-version-check/SKILL.md +169 -0
- package/templates/skills/tiered-memory/SKILL.md +31 -44
- package/templates/spawn-reference.md +57 -2
- package/templates/squad.agent.md.template +204 -180
- package/templates/workflows/squad-heartbeat.yml +2 -5
- package/templates/workflows/squad-issue-assign.yml +3 -7
- package/templates/workflows/squad-triage.yml +3 -11
- package/templates/workflows/sync-squad-labels.yml +2 -7
|
@@ -42,7 +42,7 @@ No team exists yet. Propose one — but **DO NOT create any files until the user
|
|
|
42
42
|
|
|
43
43
|
5. Use the `ask_user` tool to confirm the roster. Provide choices so the user sees a selectable menu:
|
|
44
44
|
- **question:** *"Look right?"*
|
|
45
|
-
- **choices:** `["Yes,
|
|
45
|
+
- **choices:** `["Yes, cast this team", "Add someone", "Change a role"]`
|
|
46
46
|
|
|
47
47
|
**⚠️ STOP. Your response ENDS here. Do NOT proceed to Phase 2. Do NOT create any files or directories. Wait for the user's reply.**
|
|
48
48
|
|
|
@@ -69,7 +69,7 @@ No team exists yet. Propose one — but **DO NOT create any files until the user
|
|
|
69
69
|
```
|
|
70
70
|
The `union` merge driver keeps all lines from both sides, which is correct for append-only files. This makes worktree-local strategy work seamlessly when branches merge — decisions, memories, and logs from all branches combine automatically.
|
|
71
71
|
|
|
72
|
-
7. Say: *"✅ Team
|
|
72
|
+
7. Say: *"✅ Team cast. Try: '{FirstCastName}, set up the project structure'"*
|
|
73
73
|
|
|
74
74
|
8. **Post-setup input sources** (optional — ask after team is created, not during casting):
|
|
75
75
|
- PRD/spec: *"Do you have a PRD or spec document? (file path, paste it, or skip)"* → If provided, follow PRD Mode flow
|
|
@@ -87,9 +87,9 @@ The `union` merge driver keeps all lines from both sides, which is correct for a
|
|
|
87
87
|
4. User: *"TypeScript CLI tool with GitHub API integration"*
|
|
88
88
|
5. Coordinator runs casting algorithm → selects "The Usual Suspects" universe
|
|
89
89
|
6. Proposes: Keaton (Lead), Verbal (Prompt), Fenster (Backend), Hockney (Tester), Scribe, Ralph
|
|
90
|
-
7. Uses `ask_user` with choices → user selects "Yes,
|
|
90
|
+
7. Uses `ask_user` with choices → user selects "Yes, cast this team"
|
|
91
91
|
8. Coordinator creates `.squad/` structure, initializes casting state, seeds agents
|
|
92
|
-
9. Says: *"✅ Team
|
|
92
|
+
9. Says: *"✅ Team cast. Try: 'Keaton, set up the project structure'"*
|
|
93
93
|
|
|
94
94
|
## Anti-Patterns
|
|
95
95
|
|
|
@@ -15,8 +15,9 @@ A personal squad is a user-level collection of AI agents that travel with you ac
|
|
|
15
15
|
## Directory Structure
|
|
16
16
|
|
|
17
17
|
```
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
~/Library/Application Support/squad/personal-squad/ # macOS
|
|
19
|
+
~/.config/squad/personal-squad/ # Linux
|
|
20
|
+
%APPDATA%/squad/personal-squad/ # Windows
|
|
20
21
|
├── agents/
|
|
21
22
|
│ ├── {agent-name}/
|
|
22
23
|
│ │ ├── charter.md
|
|
@@ -9,7 +9,7 @@ source: "earned"
|
|
|
9
9
|
# Release Process
|
|
10
10
|
|
|
11
11
|
> Earned knowledge from the v0.9.0→v0.9.1 and v0.9.4 incidents. Every agent involved in releases MUST read this before starting release work.
|
|
12
|
-
> See also: `.
|
|
12
|
+
> See also: `.github/skills/release-process/SKILL.md` for the Copilot-facing runbook.
|
|
13
13
|
|
|
14
14
|
## SCOPE
|
|
15
15
|
|
|
@@ -213,5 +213,5 @@ See `.github/workflows/squad-ci.yml` → `publish-policy` job for implementation
|
|
|
213
213
|
- v0.9.4 fixes: PR #1042 (CHANGELOG), PR #1043 (root package.json), PR #1044 (lockfile integrity)
|
|
214
214
|
- Retro: `.squad/decisions/inbox/surgeon-v091-retrospective.md`
|
|
215
215
|
- CI audit: `.squad/decisions/inbox/booster-ci-audit.md`
|
|
216
|
-
- Copilot-level skill: `.
|
|
216
|
+
- Copilot-level skill: `.github/skills/release-process/SKILL.md`
|
|
217
217
|
- Playbook: `PUBLISH-README.md` (repo root)
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: squad
|
|
3
|
+
description: >-
|
|
4
|
+
Squad's command catalog and interactive menu. Invoke via /squad (slash command) or natural language ("squad commands", "what can squad do", "show me squad options"). Presents categorized operations (Install & Upgrade, Team Management, Issues & PRs, Plugins & Skills, Model & Cost, Sessions & State) as an interactive picker. Routes to the right squad CLI command or the Squad coordinator agent.
|
|
5
|
+
user-invocable: true
|
|
6
|
+
allowedTools: []
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Menu Presentation Rules
|
|
10
|
+
|
|
11
|
+
When the user triggers this skill (via `/squad` slash command, "squad commands", "help", "what can squad do", etc.):
|
|
12
|
+
|
|
13
|
+
1. **Category-level menu first.** Present category names as an `ask_user` choice list:
|
|
14
|
+
```
|
|
15
|
+
📋 Squad Commands — pick a category:
|
|
16
|
+
1. Install & Upgrade
|
|
17
|
+
2. Team Management
|
|
18
|
+
3. Issues & PRs
|
|
19
|
+
4. Plugins & Skills
|
|
20
|
+
5. Model & Cost
|
|
21
|
+
6. Sessions & State
|
|
22
|
+
```
|
|
23
|
+
2. **Drill-down.** After selection, show operation titles in that category as a second `ask_user` list.
|
|
24
|
+
3. **Direct match skips the menu.** If the user says "how do I upgrade with state backend," match to the specific entry and go straight to argument collection.
|
|
25
|
+
4. **Compact fallback.** If `ask_user` is unavailable, render as a markdown table instead.
|
|
26
|
+
5. **Back / Cancel.** Include "← Back to categories" in sub-menus. Include "Cancel" in confirmation prompts. Respect "never mind" / "cancel" at any point.
|
|
27
|
+
|
|
28
|
+
**Argument collection:** For entries with `args`, iterate the list sequentially. Use `ask_user` with choices when `choices` is provided; free-text prompt otherwise. If the user says "just do it" or "defaults are fine," skip remaining args and use their defaults.
|
|
29
|
+
|
|
30
|
+
**Confirmation template:**
|
|
31
|
+
```
|
|
32
|
+
⚠️ This will {action-description}.
|
|
33
|
+
{what will change}
|
|
34
|
+
Proceed? (yes / no)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Install & Upgrade
|
|
40
|
+
|
|
41
|
+
### Upgrade Squad CLI
|
|
42
|
+
|
|
43
|
+
- **intent:** upgrade squad, update squad, install latest version, get new version
|
|
44
|
+
- **summary:** Upgrade Squad CLI to the latest version for your channel
|
|
45
|
+
- **action:** shell
|
|
46
|
+
- **command:** squad upgrade
|
|
47
|
+
- **args:**
|
|
48
|
+
- `state-backend`: Which state backend? | choices: {worktree, git-notes, orphan, two-layer} | default: (keep current)
|
|
49
|
+
- **confirm:** false
|
|
50
|
+
- **platform_caveats:** Requires terminal. In VS Code, open the integrated terminal and run the command directly.
|
|
51
|
+
|
|
52
|
+
### Initialize Squad
|
|
53
|
+
|
|
54
|
+
- **intent:** set up squad, initialize squad, create team, start squad in this project
|
|
55
|
+
- **summary:** Scaffold Squad in the current directory (idempotent)
|
|
56
|
+
- **action:** shell
|
|
57
|
+
- **command:** squad init
|
|
58
|
+
- **args:** (none)
|
|
59
|
+
- **confirm:** false
|
|
60
|
+
- **platform_caveats:** Requires terminal. Recommend a standalone terminal for best results.
|
|
61
|
+
|
|
62
|
+
### Switch State Backend
|
|
63
|
+
|
|
64
|
+
- **intent:** switch state backend, change state storage, use git-notes, use orphan branch
|
|
65
|
+
- **summary:** Change where Squad stores mutable state (config.json)
|
|
66
|
+
- **action:** file-edit
|
|
67
|
+
- **command:** .squad/config.json → stateBackend
|
|
68
|
+
- **args:**
|
|
69
|
+
- `stateBackend`: Which state backend? | choices: {worktree, git-notes, orphan, two-layer} | default: (keep current)
|
|
70
|
+
- **confirm:** true
|
|
71
|
+
- **platform_caveats:** May require migration if switching away from worktree. Show current value and new value before confirming.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Team Management
|
|
76
|
+
|
|
77
|
+
### Add Team Member
|
|
78
|
+
|
|
79
|
+
- **intent:** add team member, hire agent, add agent, add developer, recruit
|
|
80
|
+
- **summary:** Add a new agent to the team roster
|
|
81
|
+
- **action:** coordinator
|
|
82
|
+
- **command:** Add Team Member flow (Init Mode / Team Mode)
|
|
83
|
+
- **args:**
|
|
84
|
+
- `role`: What role should this agent fill? (e.g., Frontend Dev, Backend Dev, QA Engineer)
|
|
85
|
+
- `name`: Preferred name or casting universe? | default: (auto-cast from active universe)
|
|
86
|
+
- **confirm:** false
|
|
87
|
+
|
|
88
|
+
### Remove Team Member
|
|
89
|
+
|
|
90
|
+
- **intent:** remove team member, fire agent, delete agent, remove developer
|
|
91
|
+
- **summary:** Remove an agent and delete their charter and history files
|
|
92
|
+
- **action:** coordinator
|
|
93
|
+
- **command:** Remove Team Member flow
|
|
94
|
+
- **args:**
|
|
95
|
+
- `member`: Which team member to remove? (name or role)
|
|
96
|
+
- **confirm:** true
|
|
97
|
+
|
|
98
|
+
### Reassign Roles
|
|
99
|
+
|
|
100
|
+
- **intent:** reassign role, change role, swap roles, update team member role
|
|
101
|
+
- **summary:** Update a team member's role in team.md and their charter
|
|
102
|
+
- **action:** coordinator
|
|
103
|
+
- **command:** Update team.md roster + charter.md
|
|
104
|
+
- **args:**
|
|
105
|
+
- `member`: Which team member?
|
|
106
|
+
- `newRole`: New role?
|
|
107
|
+
- **confirm:** false
|
|
108
|
+
|
|
109
|
+
### Show Roster
|
|
110
|
+
|
|
111
|
+
- **intent:** show roster, who is on the team, list team members, show team, capability profile
|
|
112
|
+
- **summary:** Display the current team roster and capability profile
|
|
113
|
+
- **action:** coordinator
|
|
114
|
+
- **command:** Direct Mode — read team.md, answer
|
|
115
|
+
- **args:** (none)
|
|
116
|
+
- **confirm:** false
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## Issues & PRs
|
|
121
|
+
|
|
122
|
+
### Connect GitHub Repo
|
|
123
|
+
|
|
124
|
+
- **intent:** connect github, enable issues, set up issues, link repository, github issues mode
|
|
125
|
+
- **summary:** Connect this project to GitHub Issues via gh auth
|
|
126
|
+
- **action:** coordinator
|
|
127
|
+
- **command:** GitHub Issues Mode (connection flow)
|
|
128
|
+
- **args:** (none)
|
|
129
|
+
- **confirm:** false
|
|
130
|
+
- **platform_caveats:** Requires `gh auth login` to have been run in the terminal.
|
|
131
|
+
|
|
132
|
+
### Triage Issues
|
|
133
|
+
|
|
134
|
+
- **intent:** triage issues, review issues, assign issues, label issues
|
|
135
|
+
- **summary:** Run the Lead triage flow on open GitHub issues
|
|
136
|
+
- **action:** coordinator
|
|
137
|
+
- **command:** GitHub Issues Mode → Lead triage
|
|
138
|
+
- **args:** (none)
|
|
139
|
+
- **confirm:** false
|
|
140
|
+
|
|
141
|
+
### Activate Ralph
|
|
142
|
+
|
|
143
|
+
- **intent:** activate ralph, start ralph, ralph go, start work monitor, start auto-work
|
|
144
|
+
- **summary:** Activate Ralph — Work Monitor — to pick up and run queued issues
|
|
145
|
+
- **action:** coordinator
|
|
146
|
+
- **command:** Ralph — Work Monitor triggers
|
|
147
|
+
- **args:** (none)
|
|
148
|
+
- **confirm:** false
|
|
149
|
+
|
|
150
|
+
### Set Ralph Polling Interval
|
|
151
|
+
|
|
152
|
+
- **intent:** set ralph interval, change ralph timing, how often does ralph check, ralph every N minutes
|
|
153
|
+
- **summary:** Tell Ralph how frequently to poll for new work
|
|
154
|
+
- **action:** coordinator
|
|
155
|
+
- **command:** Ralph trigger: "Ralph, check every N minutes"
|
|
156
|
+
- **args:**
|
|
157
|
+
- `interval`: How often should Ralph poll? (in minutes) | default: 10
|
|
158
|
+
- **confirm:** false
|
|
159
|
+
|
|
160
|
+
### Start Squad Watch
|
|
161
|
+
|
|
162
|
+
- **intent:** start watch, squad watch, monitor issues, watch for issues, auto-triage
|
|
163
|
+
- **summary:** Start squad watch to continuously poll and triage issues
|
|
164
|
+
- **action:** shell
|
|
165
|
+
- **command:** squad watch
|
|
166
|
+
- **args:**
|
|
167
|
+
- `interval`: Poll interval in minutes | default: 10
|
|
168
|
+
- **confirm:** false
|
|
169
|
+
- **platform_caveats:** CLI-only — long-running foreground process. Not viable in VS Code without an integrated terminal. Run: `squad watch --interval {n}` in your terminal.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Plugins & Skills
|
|
174
|
+
|
|
175
|
+
### Browse Plugin Marketplace
|
|
176
|
+
|
|
177
|
+
- **intent:** browse plugins, explore plugins, what plugins are available, plugin marketplace
|
|
178
|
+
- **summary:** Browse available plugins in the Squad marketplace
|
|
179
|
+
- **action:** shell
|
|
180
|
+
- **command:** squad plugin marketplace browse
|
|
181
|
+
- **args:**
|
|
182
|
+
- `name`: Plugin name to search for | default: (browse all)
|
|
183
|
+
- **confirm:** false
|
|
184
|
+
|
|
185
|
+
### Add Marketplace Plugin
|
|
186
|
+
|
|
187
|
+
- **intent:** add plugin, install plugin, get plugin from marketplace
|
|
188
|
+
- **summary:** Add a plugin from the marketplace to this Squad
|
|
189
|
+
- **action:** shell
|
|
190
|
+
- **command:** squad plugin marketplace add
|
|
191
|
+
- **args:**
|
|
192
|
+
- `plugin`: Plugin owner/repo (e.g., owner/plugin-name)
|
|
193
|
+
- **confirm:** false
|
|
194
|
+
|
|
195
|
+
### Remove Marketplace Plugin
|
|
196
|
+
|
|
197
|
+
- **intent:** remove plugin, uninstall plugin, delete plugin
|
|
198
|
+
- **summary:** Remove an installed marketplace plugin
|
|
199
|
+
- **action:** shell
|
|
200
|
+
- **command:** squad plugin marketplace remove
|
|
201
|
+
- **args:**
|
|
202
|
+
- `name`: Plugin name to remove
|
|
203
|
+
- **confirm:** true
|
|
204
|
+
|
|
205
|
+
### List Marketplace Plugins
|
|
206
|
+
|
|
207
|
+
- **intent:** list plugins, show installed plugins, what plugins do I have
|
|
208
|
+
- **summary:** List all plugins registered in this Squad
|
|
209
|
+
- **action:** shell
|
|
210
|
+
- **command:** squad plugin marketplace list
|
|
211
|
+
- **args:** (none)
|
|
212
|
+
- **confirm:** false
|
|
213
|
+
|
|
214
|
+
### List Installed Skills
|
|
215
|
+
|
|
216
|
+
- **intent:** list skills, show skills, what skills are installed, skill catalog
|
|
217
|
+
- **summary:** List all skills installed in .squad/skills/ and .github/skills/
|
|
218
|
+
- **action:** coordinator
|
|
219
|
+
- **command:** Direct Mode — list .squad/skills/ and .github/skills/ directories
|
|
220
|
+
- **args:** (none)
|
|
221
|
+
- **confirm:** false
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Model & Cost
|
|
226
|
+
|
|
227
|
+
### Set Default Model
|
|
228
|
+
|
|
229
|
+
- **intent:** set default model, change model, use gpt-4, use claude, switch model
|
|
230
|
+
- **summary:** Set the default model for all agents in config.json
|
|
231
|
+
- **action:** file-edit
|
|
232
|
+
- **command:** .squad/config.json → defaultModel
|
|
233
|
+
- **args:**
|
|
234
|
+
- `model`: Model name (e.g., gpt-4o, claude-sonnet-4.5, o3)
|
|
235
|
+
- **confirm:** false
|
|
236
|
+
|
|
237
|
+
### Override Per-Agent Model
|
|
238
|
+
|
|
239
|
+
- **intent:** set model for agent, agent model override, use different model for one agent
|
|
240
|
+
- **summary:** Set a model override for a specific agent in config.json
|
|
241
|
+
- **action:** file-edit
|
|
242
|
+
- **command:** .squad/config.json → agentModelOverrides.{agentName}
|
|
243
|
+
- **args:**
|
|
244
|
+
- `agent`: Agent name (must match name in team.md)
|
|
245
|
+
- `model`: Model name (e.g., gpt-4o, claude-sonnet-4.5)
|
|
246
|
+
- **confirm:** false
|
|
247
|
+
|
|
248
|
+
### Clear Model Preference
|
|
249
|
+
|
|
250
|
+
- **intent:** clear model, reset model, remove model preference, use default model
|
|
251
|
+
- **summary:** Remove a model override from config.json (reverts to system default)
|
|
252
|
+
- **action:** file-edit
|
|
253
|
+
- **command:** .squad/config.json → remove defaultModel or agentModelOverrides.{agentName}
|
|
254
|
+
- **args:**
|
|
255
|
+
- `scope`: Clear default or a specific agent? | choices: {default model, specific agent} | default: default model
|
|
256
|
+
- `agent`: Agent name (only if scope = specific agent)
|
|
257
|
+
- **confirm:** false
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Sessions & State
|
|
262
|
+
|
|
263
|
+
### Catch-Up Summary
|
|
264
|
+
|
|
265
|
+
- **intent:** catch me up, what happened, status, what did the team do, session summary
|
|
266
|
+
- **summary:** Summarize recent agent activity and key decisions
|
|
267
|
+
- **action:** coordinator
|
|
268
|
+
- **command:** Session catch-up flow (lazy scan)
|
|
269
|
+
- **args:** (none)
|
|
270
|
+
- **confirm:** false
|
|
271
|
+
|
|
272
|
+
### Show Recent Decisions
|
|
273
|
+
|
|
274
|
+
- **intent:** show decisions, recent decisions, what decisions were made, decision log
|
|
275
|
+
- **summary:** Display recent entries from .squad/decisions.md
|
|
276
|
+
- **action:** coordinator
|
|
277
|
+
- **command:** Direct Mode — read decisions.md, answer
|
|
278
|
+
- **args:** (none)
|
|
279
|
+
- **confirm:** false
|
|
280
|
+
|
|
281
|
+
### Archive Old Decisions
|
|
282
|
+
|
|
283
|
+
- **intent:** archive decisions, clean up decisions, move old decisions, compact decisions
|
|
284
|
+
- **summary:** Move old decisions from decisions.md to decisions-archive.md
|
|
285
|
+
- **action:** coordinator
|
|
286
|
+
- **command:** Move entries older than threshold from .squad/decisions.md → .squad/decisions-archive.md
|
|
287
|
+
- **args:**
|
|
288
|
+
- `olderThan`: Archive decisions older than how many days? | default: 30
|
|
289
|
+
- **confirm:** true
|
|
290
|
+
|
|
291
|
+
### Summarize Agent History
|
|
292
|
+
|
|
293
|
+
- **intent:** summarize history, what did agent do, agent history, compress history
|
|
294
|
+
- **summary:** Spawn an agent to summarize and compress a team member's history file
|
|
295
|
+
- **action:** coordinator
|
|
296
|
+
- **command:** Spawn agent with history.md summarization task
|
|
297
|
+
- **args:**
|
|
298
|
+
- `member`: Which team member's history to summarize?
|
|
299
|
+
- **confirm:** false
|
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: squad-commands
|
|
3
|
+
description: >
|
|
4
|
+
Categorized catalog of common Squad operations. Coordinator reads this
|
|
5
|
+
file and presents it as an interactive menu when the user asks for
|
|
6
|
+
available commands or help.
|
|
7
|
+
domain: squad-operations
|
|
8
|
+
confidence: high
|
|
9
|
+
source: first-party
|
|
10
|
+
triggers: ["squad commands", "what can squad do", "show me squad options", "slash commands"]
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Menu Presentation Rules
|
|
14
|
+
|
|
15
|
+
When the user triggers this skill ("squad commands", "help", "what can squad do", etc.):
|
|
16
|
+
|
|
17
|
+
1. **Category-level menu first.** Present category names as an `ask_user` choice list:
|
|
18
|
+
```
|
|
19
|
+
📋 Squad Commands — pick a category:
|
|
20
|
+
1. Install & Upgrade
|
|
21
|
+
2. Team Management
|
|
22
|
+
3. Issues & PRs
|
|
23
|
+
4. Plugins & Skills
|
|
24
|
+
5. Model & Cost
|
|
25
|
+
6. Sessions & State
|
|
26
|
+
```
|
|
27
|
+
2. **Drill-down.** After selection, show operation titles in that category as a second `ask_user` list.
|
|
28
|
+
3. **Direct match skips the menu.** If the user says "how do I upgrade with state backend," match to the specific entry and go straight to argument collection.
|
|
29
|
+
4. **Compact fallback.** If `ask_user` is unavailable, render as a markdown table instead.
|
|
30
|
+
5. **Back / Cancel.** Include "← Back to categories" in sub-menus. Include "Cancel" in confirmation prompts. Respect "never mind" / "cancel" at any point.
|
|
31
|
+
|
|
32
|
+
**Argument collection:** For entries with `args`, iterate the list sequentially. Use `ask_user` with choices when `choices` is provided; free-text prompt otherwise. If the user says "just do it" or "defaults are fine," skip remaining args and use their defaults.
|
|
33
|
+
|
|
34
|
+
**Confirmation template:**
|
|
35
|
+
```
|
|
36
|
+
⚠️ This will {action-description}.
|
|
37
|
+
{what will change}
|
|
38
|
+
Proceed? (yes / no)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Install & Upgrade
|
|
44
|
+
|
|
45
|
+
### Upgrade Squad CLI
|
|
46
|
+
|
|
47
|
+
- **intent:** upgrade squad, update squad, install latest version, get new version
|
|
48
|
+
- **summary:** Upgrade Squad CLI to the latest version for your channel
|
|
49
|
+
- **action:** shell
|
|
50
|
+
- **command:** squad upgrade
|
|
51
|
+
- **args:**
|
|
52
|
+
- `state-backend`: Which state backend? | choices: {worktree, git-notes, orphan, two-layer} | default: (keep current)
|
|
53
|
+
- **confirm:** false
|
|
54
|
+
- **platform_caveats:** Requires terminal. In VS Code, open the integrated terminal and run the command directly.
|
|
55
|
+
|
|
56
|
+
### Initialize Squad
|
|
57
|
+
|
|
58
|
+
- **intent:** set up squad, initialize squad, create team, start squad in this project
|
|
59
|
+
- **summary:** Scaffold Squad in the current directory (idempotent)
|
|
60
|
+
- **action:** shell
|
|
61
|
+
- **command:** squad init
|
|
62
|
+
- **args:** (none)
|
|
63
|
+
- **confirm:** false
|
|
64
|
+
- **platform_caveats:** Requires terminal. Recommend a standalone terminal for best results.
|
|
65
|
+
|
|
66
|
+
### Switch State Backend
|
|
67
|
+
|
|
68
|
+
- **intent:** switch state backend, change state storage, use git-notes, use orphan branch
|
|
69
|
+
- **summary:** Change where Squad stores mutable state (config.json)
|
|
70
|
+
- **action:** file-edit
|
|
71
|
+
- **command:** .squad/config.json → stateBackend
|
|
72
|
+
- **args:**
|
|
73
|
+
- `stateBackend`: Which state backend? | choices: {worktree, git-notes, orphan, two-layer} | default: (keep current)
|
|
74
|
+
- **confirm:** true
|
|
75
|
+
- **platform_caveats:** May require migration if switching away from worktree. Show current value and new value before confirming.
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Team Management
|
|
80
|
+
|
|
81
|
+
### Add Team Member
|
|
82
|
+
|
|
83
|
+
- **intent:** add team member, hire agent, add agent, add developer, recruit
|
|
84
|
+
- **summary:** Add a new agent to the team roster
|
|
85
|
+
- **action:** coordinator
|
|
86
|
+
- **command:** Add Team Member flow (Init Mode / Team Mode)
|
|
87
|
+
- **args:**
|
|
88
|
+
- `role`: What role should this agent fill? (e.g., Frontend Dev, Backend Dev, QA Engineer)
|
|
89
|
+
- `name`: Preferred name or casting universe? | default: (auto-cast from active universe)
|
|
90
|
+
- **confirm:** false
|
|
91
|
+
|
|
92
|
+
### Remove Team Member
|
|
93
|
+
|
|
94
|
+
- **intent:** remove team member, fire agent, delete agent, remove developer
|
|
95
|
+
- **summary:** Remove an agent and delete their charter and history files
|
|
96
|
+
- **action:** coordinator
|
|
97
|
+
- **command:** Remove Team Member flow
|
|
98
|
+
- **args:**
|
|
99
|
+
- `member`: Which team member to remove? (name or role)
|
|
100
|
+
- **confirm:** true
|
|
101
|
+
|
|
102
|
+
### Reassign Roles
|
|
103
|
+
|
|
104
|
+
- **intent:** reassign role, change role, swap roles, update team member role
|
|
105
|
+
- **summary:** Update a team member's role in team.md and their charter
|
|
106
|
+
- **action:** coordinator
|
|
107
|
+
- **command:** Update team.md roster + charter.md
|
|
108
|
+
- **args:**
|
|
109
|
+
- `member`: Which team member?
|
|
110
|
+
- `newRole`: New role?
|
|
111
|
+
- **confirm:** false
|
|
112
|
+
|
|
113
|
+
### Show Roster
|
|
114
|
+
|
|
115
|
+
- **intent:** show roster, who is on the team, list team members, show team, capability profile
|
|
116
|
+
- **summary:** Display the current team roster and capability profile
|
|
117
|
+
- **action:** coordinator
|
|
118
|
+
- **command:** Direct Mode — read team.md, answer
|
|
119
|
+
- **args:** (none)
|
|
120
|
+
- **confirm:** false
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Issues & PRs
|
|
125
|
+
|
|
126
|
+
### Connect GitHub Repo
|
|
127
|
+
|
|
128
|
+
- **intent:** connect github, enable issues, set up issues, link repository, github issues mode
|
|
129
|
+
- **summary:** Connect this project to GitHub Issues via gh auth
|
|
130
|
+
- **action:** coordinator
|
|
131
|
+
- **command:** GitHub Issues Mode (connection flow)
|
|
132
|
+
- **args:** (none)
|
|
133
|
+
- **confirm:** false
|
|
134
|
+
- **platform_caveats:** Requires `gh auth login` to have been run in the terminal.
|
|
135
|
+
|
|
136
|
+
### Triage Issues
|
|
137
|
+
|
|
138
|
+
- **intent:** triage issues, review issues, assign issues, label issues
|
|
139
|
+
- **summary:** Run the Lead triage flow on open GitHub issues
|
|
140
|
+
- **action:** coordinator
|
|
141
|
+
- **command:** GitHub Issues Mode → Lead triage
|
|
142
|
+
- **args:** (none)
|
|
143
|
+
- **confirm:** false
|
|
144
|
+
|
|
145
|
+
### Activate Ralph
|
|
146
|
+
|
|
147
|
+
- **intent:** activate ralph, start ralph, ralph go, start work monitor, start auto-work
|
|
148
|
+
- **summary:** Activate Ralph — Work Monitor — to pick up and run queued issues
|
|
149
|
+
- **action:** coordinator
|
|
150
|
+
- **command:** Ralph — Work Monitor triggers
|
|
151
|
+
- **args:** (none)
|
|
152
|
+
- **confirm:** false
|
|
153
|
+
|
|
154
|
+
### Set Ralph Polling Interval
|
|
155
|
+
|
|
156
|
+
- **intent:** set ralph interval, change ralph timing, how often does ralph check, ralph every N minutes
|
|
157
|
+
- **summary:** Tell Ralph how frequently to poll for new work
|
|
158
|
+
- **action:** coordinator
|
|
159
|
+
- **command:** Ralph trigger: "Ralph, check every N minutes"
|
|
160
|
+
- **args:**
|
|
161
|
+
- `interval`: How often should Ralph poll? (in minutes) | default: 10
|
|
162
|
+
- **confirm:** false
|
|
163
|
+
|
|
164
|
+
### Start Squad Watch
|
|
165
|
+
|
|
166
|
+
- **intent:** start watch, squad watch, monitor issues, watch for issues, auto-triage
|
|
167
|
+
- **summary:** Start squad watch to continuously poll and triage issues
|
|
168
|
+
- **action:** shell
|
|
169
|
+
- **command:** squad watch
|
|
170
|
+
- **args:**
|
|
171
|
+
- `interval`: Poll interval in minutes | default: 10
|
|
172
|
+
- **confirm:** false
|
|
173
|
+
- **platform_caveats:** CLI-only — long-running foreground process. Not viable in VS Code without an integrated terminal. Run: `squad watch --interval {n}` in your terminal.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Plugins & Skills
|
|
178
|
+
|
|
179
|
+
### Browse Plugin Marketplace
|
|
180
|
+
|
|
181
|
+
- **intent:** browse plugins, explore plugins, what plugins are available, plugin marketplace
|
|
182
|
+
- **summary:** Browse available plugins in the Squad marketplace
|
|
183
|
+
- **action:** shell
|
|
184
|
+
- **command:** squad plugin marketplace browse
|
|
185
|
+
- **args:**
|
|
186
|
+
- `name`: Plugin name to search for | default: (browse all)
|
|
187
|
+
- **confirm:** false
|
|
188
|
+
|
|
189
|
+
### Add Marketplace Plugin
|
|
190
|
+
|
|
191
|
+
- **intent:** add plugin, install plugin, get plugin from marketplace
|
|
192
|
+
- **summary:** Add a plugin from the marketplace to this Squad
|
|
193
|
+
- **action:** shell
|
|
194
|
+
- **command:** squad plugin marketplace add
|
|
195
|
+
- **args:**
|
|
196
|
+
- `plugin`: Plugin owner/repo (e.g., owner/plugin-name)
|
|
197
|
+
- **confirm:** false
|
|
198
|
+
|
|
199
|
+
### Remove Marketplace Plugin
|
|
200
|
+
|
|
201
|
+
- **intent:** remove plugin, uninstall plugin, delete plugin
|
|
202
|
+
- **summary:** Remove an installed marketplace plugin
|
|
203
|
+
- **action:** shell
|
|
204
|
+
- **command:** squad plugin marketplace remove
|
|
205
|
+
- **args:**
|
|
206
|
+
- `name`: Plugin name to remove
|
|
207
|
+
- **confirm:** true
|
|
208
|
+
|
|
209
|
+
### List Marketplace Plugins
|
|
210
|
+
|
|
211
|
+
- **intent:** list plugins, show installed plugins, what plugins do I have
|
|
212
|
+
- **summary:** List all plugins registered in this Squad
|
|
213
|
+
- **action:** shell
|
|
214
|
+
- **command:** squad plugin marketplace list
|
|
215
|
+
- **args:** (none)
|
|
216
|
+
- **confirm:** false
|
|
217
|
+
|
|
218
|
+
### List Installed Skills
|
|
219
|
+
|
|
220
|
+
- **intent:** list skills, show skills, what skills are installed, skill catalog
|
|
221
|
+
- **summary:** List all skills installed in .squad/skills/ and .copilot/skills/
|
|
222
|
+
- **action:** coordinator
|
|
223
|
+
- **command:** Direct Mode — list .squad/skills/ and .copilot/skills/ directories
|
|
224
|
+
- **args:** (none)
|
|
225
|
+
- **confirm:** false
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
## Model & Cost
|
|
230
|
+
|
|
231
|
+
### Set Default Model
|
|
232
|
+
|
|
233
|
+
- **intent:** set default model, change model, use gpt-4, use claude, switch model
|
|
234
|
+
- **summary:** Set the default model for all agents in config.json
|
|
235
|
+
- **action:** file-edit
|
|
236
|
+
- **command:** .squad/config.json → defaultModel
|
|
237
|
+
- **args:**
|
|
238
|
+
- `model`: Model name (e.g., gpt-4o, claude-sonnet-4.5, o3)
|
|
239
|
+
- **confirm:** false
|
|
240
|
+
|
|
241
|
+
### Override Per-Agent Model
|
|
242
|
+
|
|
243
|
+
- **intent:** set model for agent, agent model override, use different model for one agent
|
|
244
|
+
- **summary:** Set a model override for a specific agent in config.json
|
|
245
|
+
- **action:** file-edit
|
|
246
|
+
- **command:** .squad/config.json → agentModelOverrides.{agentName}
|
|
247
|
+
- **args:**
|
|
248
|
+
- `agent`: Agent name (must match name in team.md)
|
|
249
|
+
- `model`: Model name (e.g., gpt-4o, claude-sonnet-4.5)
|
|
250
|
+
- **confirm:** false
|
|
251
|
+
|
|
252
|
+
### Clear Model Preference
|
|
253
|
+
|
|
254
|
+
- **intent:** clear model, reset model, remove model preference, use default model
|
|
255
|
+
- **summary:** Remove a model override from config.json (reverts to system default)
|
|
256
|
+
- **action:** file-edit
|
|
257
|
+
- **command:** .squad/config.json → remove defaultModel or agentModelOverrides.{agentName}
|
|
258
|
+
- **args:**
|
|
259
|
+
- `scope`: Clear default or a specific agent? | choices: {default model, specific agent} | default: default model
|
|
260
|
+
- `agent`: Agent name (only if scope = specific agent)
|
|
261
|
+
- **confirm:** false
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## Sessions & State
|
|
266
|
+
|
|
267
|
+
### Catch-Up Summary
|
|
268
|
+
|
|
269
|
+
- **intent:** catch me up, what happened, status, what did the team do, session summary
|
|
270
|
+
- **summary:** Summarize recent agent activity and key decisions
|
|
271
|
+
- **action:** coordinator
|
|
272
|
+
- **command:** Session catch-up flow (lazy scan)
|
|
273
|
+
- **args:** (none)
|
|
274
|
+
- **confirm:** false
|
|
275
|
+
|
|
276
|
+
### Show Recent Decisions
|
|
277
|
+
|
|
278
|
+
- **intent:** show decisions, recent decisions, what decisions were made, decision log
|
|
279
|
+
- **summary:** Display recent entries from .squad/decisions.md
|
|
280
|
+
- **action:** coordinator
|
|
281
|
+
- **command:** Direct Mode — read decisions.md, answer
|
|
282
|
+
- **args:** (none)
|
|
283
|
+
- **confirm:** false
|
|
284
|
+
|
|
285
|
+
### Archive Old Decisions
|
|
286
|
+
|
|
287
|
+
- **intent:** archive decisions, clean up decisions, move old decisions, compact decisions
|
|
288
|
+
- **summary:** Move old decisions from decisions.md to decisions-archive.md
|
|
289
|
+
- **action:** coordinator
|
|
290
|
+
- **command:** Move entries older than threshold from .squad/decisions.md → .squad/decisions-archive.md
|
|
291
|
+
- **args:**
|
|
292
|
+
- `olderThan`: Archive decisions older than how many days? | default: 30
|
|
293
|
+
- **confirm:** true
|
|
294
|
+
|
|
295
|
+
### Summarize Agent History
|
|
296
|
+
|
|
297
|
+
- **intent:** summarize history, what did agent do, agent history, compress history
|
|
298
|
+
- **summary:** Spawn an agent to summarize and compress a team member's history file
|
|
299
|
+
- **action:** coordinator
|
|
300
|
+
- **command:** Spawn agent with history.md summarization task
|
|
301
|
+
- **args:**
|
|
302
|
+
- `member`: Which team member's history to summarize?
|
|
303
|
+
- **confirm:** false
|