You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+55-21Lines changed: 55 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -99,12 +99,17 @@ Multiple agents with the same role get unique IDs automatically (`worker`, `work
99
99
100
100
| Command | Description |
101
101
|---------|-------------|
102
-
|`squad init`| Initialize workspace, create `.squad/`, add `.squad/` to `.gitignore`, and append squad guidance to `CLAUDE.md`, `AGENTS.md`, and `GEMINI.md` if missing |
103
-
|`squad join <id> [--role <role>]`| Join as agent (auto-suffixes if ID is taken) |
104
-
|`squad leave <id>`| Remove agent |
105
-
|`squad agents`| List online agents |
106
-
|`squad send <from> <to> <message>`| Send message (`@all` to broadcast, or `squad send --file <path-or-> <from> <to>` to read from file/stdin) |
107
-
|`squad receive <id> [--wait]`| Check inbox (`--wait` is for manual/debug use) |
102
+
|`squad init [--refresh-roles]`| Initialize workspace, create `.squad/`, add `.squad/` to `.gitignore`, and append squad guidance to `CLAUDE.md`, `AGENTS.md`, and `GEMINI.md` if missing. `--refresh-roles` rewrites only builtin `manager`/`worker`/`inspector` files under `.squad/roles/`. |
103
+
|`squad join <id> [--role <role>] [--client <claude\|gemini\|codex\|opencode>] [--protocol-version <n>]`| Join as agent (auto-suffixes if ID is taken; omitted capability metadata stays `NULL`) |
104
+
|`squad leave <id>`| Archive agent and preserve unread work |
105
+
|`squad agents [--all] [--json]`| List online agents (`--json` emits one JSON object per line including raw/effective capability fields and protocol-derived support booleans) |
106
+
|`squad send [--task-id <id>] [--reply-to <message-id>] <from> <to> <message>`| Send a note (`@all` to broadcast, or `squad send [flags] --file <path-or-> <from> <to>` to read from file/stdin) |
107
+
|`squad receive <id> [--wait] [--timeout N] [--json]`| Check inbox (`--wait --timeout N` is for manual/debug use; `--json` emits one JSON object per line) |
Once installed, use `/squad <role>` in any project where `squad init` has been run.
141
+
Once installed, use `/squad <role>` in any project where `squad init` has been run. Generated slash templates automatically join with their platform client type and the current supported protocol version.
137
142
138
-
`squad init` does more than create `.squad/`: it also appends `.squad/` to `.gitignore` and adds a short squad collaboration section to `CLAUDE.md`, `AGENTS.md`, and `GEMINI.md` when those files do not already contain one.
143
+
`squad init` does more than create `.squad/`: it also appends `.squad/` to `.gitignore` and adds a short squad collaboration section to `CLAUDE.md`, `AGENTS.md`, and `GEMINI.md` when those files do not already contain one. Existing builtin role files stay untouched unless you run `squad init --refresh-roles`.
All messages flow through SQLite — no daemon, no sockets, no background processes.
165
174
166
175
### Message Flow
167
176
168
-
Agents should use one-shot `squad receive` checks inside their work loop:
177
+
Agents should prefer `squad task ...` when assignment state matters, and keep `squad send` / `squad receive` as the fallback path for freeform coordination until capability checks land. They should still use one-shot `squad receive` checks inside their work loop:
- If `--client` or `--protocol-version` is omitted, the database stores `NULL`.
214
+
-`squad agents` shows client/protocol details in human-readable output using the effective fallback view, so legacy rows appear as `client: unknown, protocol: 1`.
- In the current phase, `supports_task_commands` and `supports_json_receive` are both derived from the effective protocol version, with support enabled at protocol `>= 2`.
217
+
191
218
## Role Templates
192
219
193
220
Roles are `.md` files in `.squad/roles/` that define agent behavior. Three are built in:
@@ -203,6 +230,8 @@ echo "You are a database specialist..." > .squad/roles/dba.md
203
230
squad join db-expert --role dba
204
231
```
205
232
233
+
If the builtin role templates in `.squad/roles/` drift from the bundled defaults, run `squad init --refresh-roles` to refresh only `manager.md`, `worker.md`, and `inspector.md`. Custom role files are left untouched.
234
+
206
235
## Team Templates
207
236
208
237
Teams are YAML files in `.squad/teams/` that define which roles are needed:
0 commit comments