@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.
Files changed (135) hide show
  1. package/CHANGELOG.md +344 -0
  2. package/dist/adapter/client.d.ts +1 -1
  3. package/dist/adapter/client.d.ts.map +1 -1
  4. package/dist/adapter/client.js +20 -11
  5. package/dist/adapter/client.js.map +1 -1
  6. package/dist/adapter/types.d.ts +5 -1
  7. package/dist/adapter/types.d.ts.map +1 -1
  8. package/dist/agents/charter-compiler.d.ts +6 -0
  9. package/dist/agents/charter-compiler.d.ts.map +1 -1
  10. package/dist/agents/charter-compiler.js +23 -0
  11. package/dist/agents/charter-compiler.js.map +1 -1
  12. package/dist/agents/index.d.ts +2 -0
  13. package/dist/agents/index.d.ts.map +1 -1
  14. package/dist/agents/index.js +2 -0
  15. package/dist/agents/index.js.map +1 -1
  16. package/dist/agents/lifecycle.d.ts +3 -0
  17. package/dist/agents/lifecycle.d.ts.map +1 -1
  18. package/dist/agents/lifecycle.js +16 -6
  19. package/dist/agents/lifecycle.js.map +1 -1
  20. package/dist/agents/onboarding.d.ts.map +1 -1
  21. package/dist/agents/onboarding.js +63 -18
  22. package/dist/agents/onboarding.js.map +1 -1
  23. package/dist/builders/index.d.ts.map +1 -1
  24. package/dist/builders/index.js +7 -0
  25. package/dist/builders/index.js.map +1 -1
  26. package/dist/builders/types.d.ts +5 -0
  27. package/dist/builders/types.d.ts.map +1 -1
  28. package/dist/client/event-bus.d.ts +1 -1
  29. package/dist/client/event-bus.d.ts.map +1 -1
  30. package/dist/client/event-bus.js.map +1 -1
  31. package/dist/client/index.d.ts +1 -1
  32. package/dist/config/gitignore-state.d.ts +31 -0
  33. package/dist/config/gitignore-state.d.ts.map +1 -0
  34. package/dist/config/gitignore-state.js +74 -0
  35. package/dist/config/gitignore-state.js.map +1 -0
  36. package/dist/config/index.d.ts +1 -0
  37. package/dist/config/index.d.ts.map +1 -1
  38. package/dist/config/index.js +1 -0
  39. package/dist/config/index.js.map +1 -1
  40. package/dist/config/init.d.ts +18 -0
  41. package/dist/config/init.d.ts.map +1 -1
  42. package/dist/config/init.js +184 -10
  43. package/dist/config/init.js.map +1 -1
  44. package/dist/config/models.d.ts +89 -0
  45. package/dist/config/models.d.ts.map +1 -1
  46. package/dist/config/models.js +297 -0
  47. package/dist/config/models.js.map +1 -1
  48. package/dist/config/routing.d.ts.map +1 -1
  49. package/dist/config/routing.js +24 -1
  50. package/dist/config/routing.js.map +1 -1
  51. package/dist/config/schema.d.ts +3 -0
  52. package/dist/config/schema.d.ts.map +1 -1
  53. package/dist/config/schema.js.map +1 -1
  54. package/dist/coordinator/direct-response.d.ts.map +1 -1
  55. package/dist/coordinator/direct-response.js +4 -0
  56. package/dist/coordinator/direct-response.js.map +1 -1
  57. package/dist/coordinator/fan-out.d.ts +12 -4
  58. package/dist/coordinator/fan-out.d.ts.map +1 -1
  59. package/dist/coordinator/fan-out.js +155 -15
  60. package/dist/coordinator/fan-out.js.map +1 -1
  61. package/dist/coordinator/index.d.ts +1 -0
  62. package/dist/coordinator/index.d.ts.map +1 -1
  63. package/dist/coordinator/index.js +2 -0
  64. package/dist/coordinator/index.js.map +1 -1
  65. package/dist/coordinator/spawn-backend.d.ts +181 -0
  66. package/dist/coordinator/spawn-backend.d.ts.map +1 -0
  67. package/dist/coordinator/spawn-backend.js +254 -0
  68. package/dist/coordinator/spawn-backend.js.map +1 -0
  69. package/dist/index.d.ts +2 -1
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +2 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/platform/comms-teams.d.ts +2 -1
  74. package/dist/platform/comms-teams.d.ts.map +1 -1
  75. package/dist/platform/comms-teams.js +12 -7
  76. package/dist/platform/comms-teams.js.map +1 -1
  77. package/dist/presets/index.d.ts +27 -0
  78. package/dist/presets/index.d.ts.map +1 -1
  79. package/dist/presets/index.js +309 -0
  80. package/dist/presets/index.js.map +1 -1
  81. package/dist/presets/scaffold.d.ts +27 -0
  82. package/dist/presets/scaffold.d.ts.map +1 -0
  83. package/dist/presets/scaffold.js +377 -0
  84. package/dist/presets/scaffold.js.map +1 -0
  85. package/dist/ralph/capabilities.d.ts +5 -2
  86. package/dist/ralph/capabilities.d.ts.map +1 -1
  87. package/dist/ralph/capabilities.js +10 -4
  88. package/dist/ralph/capabilities.js.map +1 -1
  89. package/dist/resolution.d.ts.map +1 -1
  90. package/dist/resolution.js +8 -0
  91. package/dist/resolution.js.map +1 -1
  92. package/dist/runtime/cross-squad.d.ts +47 -0
  93. package/dist/runtime/cross-squad.d.ts.map +1 -1
  94. package/dist/runtime/cross-squad.js +79 -2
  95. package/dist/runtime/cross-squad.js.map +1 -1
  96. package/dist/runtime/otel.js +6 -6
  97. package/dist/runtime/otel.js.map +1 -1
  98. package/dist/runtime/squad-observer.d.ts +2 -0
  99. package/dist/runtime/squad-observer.d.ts.map +1 -1
  100. package/dist/runtime/squad-observer.js +65 -4
  101. package/dist/runtime/squad-observer.js.map +1 -1
  102. package/dist/sharing/consult.d.ts +5 -1
  103. package/dist/sharing/consult.d.ts.map +1 -1
  104. package/dist/sharing/consult.js +5 -1
  105. package/dist/sharing/consult.js.map +1 -1
  106. package/dist/skills/handler-types.d.ts +1 -1
  107. package/dist/skills/handler-types.js +1 -1
  108. package/dist/tools/index.d.ts +1 -1
  109. package/dist/tools/index.d.ts.map +1 -1
  110. package/dist/tools/index.js +20 -8
  111. package/dist/tools/index.js.map +1 -1
  112. package/package.json +17 -16
  113. package/templates/casting-reference.md +18 -0
  114. package/templates/fact-checker-charter.md +83 -0
  115. package/templates/fact-checker-policy.md +104 -0
  116. package/templates/skills/cli-wiring/SKILL.md +2 -2
  117. package/templates/skills/coordinator-init-mode/SKILL.md +83 -0
  118. package/templates/skills/coordinator-response-mode/SKILL.md +97 -0
  119. package/templates/skills/coordinator-source-of-truth/SKILL.md +45 -0
  120. package/templates/skills/cross-squad/SKILL.md +66 -6
  121. package/templates/skills/cross-squad-communication/SKILL.md +399 -0
  122. package/templates/skills/init-mode/SKILL.md +4 -4
  123. package/templates/skills/personal-squad/SKILL.md +3 -2
  124. package/templates/skills/release-process/SKILL.md +2 -2
  125. package/templates/skills/squad/SKILL.md +299 -0
  126. package/templates/skills/squad-commands/SKILL.md +303 -0
  127. package/templates/skills/squad-help/SKILL.md +97 -0
  128. package/templates/skills/squad-version-check/SKILL.md +169 -0
  129. package/templates/skills/tiered-memory/SKILL.md +31 -44
  130. package/templates/spawn-reference.md +57 -2
  131. package/templates/squad.agent.md.template +204 -180
  132. package/templates/workflows/squad-heartbeat.yml +2 -5
  133. package/templates/workflows/squad-issue-assign.yml +3 -7
  134. package/templates/workflows/squad-triage.yml +3 -11
  135. 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, hire this team", "Add someone", "Change a role"]`
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 hired. Try: '{FirstCastName}, set up the project structure'"*
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, hire this team"
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 hired. Try: 'Keaton, set up the project structure'"*
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
- ~/.config/squad/personal-squad/ # Linux/macOS
19
- %APPDATA%/squad/personal-squad/ # Windows
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: `.copilot/skills/release-process/SKILL.md` for the Copilot-facing runbook.
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: `.copilot/skills/release-process/SKILL.md`
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