squads-cli 0.2.0 → 0.2.1
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/README.md +521 -288
- package/dist/auth-YW3UPFSB.js +23 -0
- package/dist/auth-YW3UPFSB.js.map +1 -0
- package/dist/autonomy-PSVZVX7A.js +105 -0
- package/dist/autonomy-PSVZVX7A.js.map +1 -0
- package/dist/chunk-67RO2HKR.js +174 -0
- package/dist/chunk-67RO2HKR.js.map +1 -0
- package/dist/chunk-7OCVIDC7.js +12 -0
- package/dist/chunk-7OCVIDC7.js.map +1 -0
- package/dist/chunk-BODLDQY7.js +452 -0
- package/dist/chunk-BODLDQY7.js.map +1 -0
- package/dist/chunk-EHQJHRIW.js +103 -0
- package/dist/chunk-EHQJHRIW.js.map +1 -0
- package/dist/chunk-FFFCFZ6A.js +121 -0
- package/dist/chunk-FFFCFZ6A.js.map +1 -0
- package/dist/chunk-FIWT2NMM.js +165 -0
- package/dist/chunk-FIWT2NMM.js.map +1 -0
- package/dist/chunk-HF4WR7RA.js +154 -0
- package/dist/chunk-HF4WR7RA.js.map +1 -0
- package/dist/chunk-J6QF4ZQX.js +230 -0
- package/dist/chunk-J6QF4ZQX.js.map +1 -0
- package/dist/chunk-LOA3KWYJ.js +294 -0
- package/dist/chunk-LOA3KWYJ.js.map +1 -0
- package/dist/chunk-M5FXNY6Y.js +384 -0
- package/dist/chunk-M5FXNY6Y.js.map +1 -0
- package/dist/chunk-QHNUMM4V.js +87 -0
- package/dist/chunk-QHNUMM4V.js.map +1 -0
- package/dist/chunk-QJ7C7CMB.js +223 -0
- package/dist/chunk-QJ7C7CMB.js.map +1 -0
- package/dist/chunk-RM6BWILN.js +74 -0
- package/dist/chunk-RM6BWILN.js.map +1 -0
- package/dist/chunk-TYFTF53O.js +613 -0
- package/dist/chunk-TYFTF53O.js.map +1 -0
- package/dist/chunk-TZXD6WFN.js +420 -0
- package/dist/chunk-TZXD6WFN.js.map +1 -0
- package/dist/chunk-WVOIY5GW.js +621 -0
- package/dist/chunk-WVOIY5GW.js.map +1 -0
- package/dist/chunk-Z2UKDBNL.js +162 -0
- package/dist/chunk-Z2UKDBNL.js.map +1 -0
- package/dist/chunk-ZTQ7ISUR.js +338 -0
- package/dist/chunk-ZTQ7ISUR.js.map +1 -0
- package/dist/cli.js +2483 -5902
- package/dist/cli.js.map +1 -1
- package/dist/context-GWPF4SEY.js +291 -0
- package/dist/context-GWPF4SEY.js.map +1 -0
- package/dist/context-feed-AJGVAR6H.js +394 -0
- package/dist/context-feed-AJGVAR6H.js.map +1 -0
- package/dist/cost-XBCDJ7XC.js +275 -0
- package/dist/cost-XBCDJ7XC.js.map +1 -0
- package/dist/create-BLFGG6PF.js +286 -0
- package/dist/create-BLFGG6PF.js.map +1 -0
- package/dist/dashboard-LGT2B2BL.js +951 -0
- package/dist/dashboard-LGT2B2BL.js.map +1 -0
- package/dist/dashboard-RMK2BOD2.js +794 -0
- package/dist/dashboard-RMK2BOD2.js.map +1 -0
- package/dist/doctor-XPUIIBHJ.js +374 -0
- package/dist/doctor-XPUIIBHJ.js.map +1 -0
- package/dist/env-config-SQEI3Y7Y.js +21 -0
- package/dist/env-config-SQEI3Y7Y.js.map +1 -0
- package/dist/exec-OUXM7JBF.js +223 -0
- package/dist/exec-OUXM7JBF.js.map +1 -0
- package/dist/feedback-KNAOG5QK.js +229 -0
- package/dist/feedback-KNAOG5QK.js.map +1 -0
- package/dist/github-UQTM5KMS.js +23 -0
- package/dist/github-UQTM5KMS.js.map +1 -0
- package/dist/goal-BVHV5573.js +168 -0
- package/dist/goal-BVHV5573.js.map +1 -0
- package/dist/health-4UXN44PF.js +218 -0
- package/dist/health-4UXN44PF.js.map +1 -0
- package/dist/history-ILH3SWHB.js +232 -0
- package/dist/history-ILH3SWHB.js.map +1 -0
- package/dist/index.d.ts +736 -8
- package/dist/index.js +1312 -6
- package/dist/index.js.map +1 -1
- package/dist/init-XQZ7BOGT.js +812 -0
- package/dist/init-XQZ7BOGT.js.map +1 -0
- package/dist/kpi-RQIU7WGK.js +413 -0
- package/dist/kpi-RQIU7WGK.js.map +1 -0
- package/dist/learn-OIFUVZAS.js +269 -0
- package/dist/learn-OIFUVZAS.js.map +1 -0
- package/dist/login-DXZANWZY.js +155 -0
- package/dist/login-DXZANWZY.js.map +1 -0
- package/dist/memory-T3ACCS7E.js +560 -0
- package/dist/memory-T3ACCS7E.js.map +1 -0
- package/dist/memory-VNF2VFRB.js +23 -0
- package/dist/memory-VNF2VFRB.js.map +1 -0
- package/dist/progress-DAUZMT3N.js +202 -0
- package/dist/progress-DAUZMT3N.js.map +1 -0
- package/dist/providers-3P5D2XL5.js +65 -0
- package/dist/providers-3P5D2XL5.js.map +1 -0
- package/dist/results-UECWGLTB.js +224 -0
- package/dist/results-UECWGLTB.js.map +1 -0
- package/dist/run-I6KAXU6U.js +4049 -0
- package/dist/run-I6KAXU6U.js.map +1 -0
- package/dist/session-HBU6KZOD.js +64 -0
- package/dist/session-HBU6KZOD.js.map +1 -0
- package/dist/sessions-CK25VGPL.js +333 -0
- package/dist/sessions-CK25VGPL.js.map +1 -0
- package/dist/squad-parser-DCG65BJS.js +35 -0
- package/dist/squad-parser-DCG65BJS.js.map +1 -0
- package/dist/stats-G6NAU5BD.js +334 -0
- package/dist/stats-G6NAU5BD.js.map +1 -0
- package/dist/status-AQNLDZVN.js +352 -0
- package/dist/status-AQNLDZVN.js.map +1 -0
- package/dist/sync-ZI3MHA4G.js +836 -0
- package/dist/sync-ZI3MHA4G.js.map +1 -0
- package/dist/templates/core/AGENTS.md.template +51 -0
- package/dist/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/dist/templates/core/CLAUDE.md.template +48 -0
- package/dist/templates/core/provider.yaml.template +5 -0
- package/dist/templates/first-squad/SQUAD.md.template +23 -0
- package/dist/templates/first-squad/lead.md.template +44 -0
- package/dist/templates/memory/getting-started/state.md.template +19 -0
- package/dist/templates/seed/BUSINESS_BRIEF.md.template +27 -0
- package/dist/templates/seed/CLAUDE.md.template +119 -0
- package/dist/templates/seed/README.md.template +42 -0
- package/dist/templates/seed/config/SYSTEM.md +52 -0
- package/dist/templates/seed/config/provider.yaml +4 -0
- package/dist/templates/seed/hooks/settings.json.template +31 -0
- package/dist/templates/seed/memory/company/directives.md +37 -0
- package/dist/templates/seed/memory/company/manager/state.md +16 -0
- package/dist/templates/seed/memory/engineering/issue-solver/state.md +12 -0
- package/dist/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
- package/dist/templates/seed/memory/marketing/content-drafter/state.md +12 -0
- package/dist/templates/seed/memory/operations/ops-lead/state.md +12 -0
- package/dist/templates/seed/memory/product/lead/state.md +14 -0
- package/dist/templates/seed/memory/research/lead/state.md +14 -0
- package/dist/templates/seed/skills/gh/SKILL.md +57 -0
- package/dist/templates/seed/skills/squads-cli/SKILL.md +84 -0
- package/dist/templates/seed/squads/company/SQUAD.md +51 -0
- package/dist/templates/seed/squads/company/company-critic.md +49 -0
- package/dist/templates/seed/squads/company/company-eval.md +49 -0
- package/dist/templates/seed/squads/company/event-dispatcher.md +43 -0
- package/dist/templates/seed/squads/company/goal-tracker.md +43 -0
- package/dist/templates/seed/squads/company/manager.md +54 -0
- package/dist/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/dist/templates/seed/squads/engineering/code-reviewer.md +57 -0
- package/dist/templates/seed/squads/engineering/issue-solver.md +58 -0
- package/dist/templates/seed/squads/engineering/test-writer.md +50 -0
- package/dist/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/dist/templates/seed/squads/intelligence/intel-critic.md +36 -0
- package/dist/templates/seed/squads/intelligence/intel-eval.md +31 -0
- package/dist/templates/seed/squads/intelligence/intel-lead.md +71 -0
- package/dist/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/dist/templates/seed/squads/marketing/content-drafter.md +71 -0
- package/dist/templates/seed/squads/marketing/growth-analyst.md +49 -0
- package/dist/templates/seed/squads/marketing/social-poster.md +44 -0
- package/dist/templates/seed/squads/operations/SQUAD.md +45 -0
- package/dist/templates/seed/squads/operations/finance-tracker.md +47 -0
- package/dist/templates/seed/squads/operations/goal-tracker.md +48 -0
- package/dist/templates/seed/squads/operations/ops-lead.md +58 -0
- package/dist/templates/seed/squads/product/SQUAD.md +41 -0
- package/dist/templates/seed/squads/product/lead.md +56 -0
- package/dist/templates/seed/squads/product/scanner.md +50 -0
- package/dist/templates/seed/squads/product/worker.md +55 -0
- package/dist/templates/seed/squads/research/SQUAD.md +38 -0
- package/dist/templates/seed/squads/research/analyst.md +50 -0
- package/dist/templates/seed/squads/research/lead.md +52 -0
- package/dist/templates/seed/squads/research/synthesizer.md +59 -0
- package/dist/templates/skills/squads-learn/SKILL.md +86 -0
- package/dist/templates/skills/squads-workflow/instruction.md +70 -0
- package/dist/terminal-FBQFQTKZ.js +55 -0
- package/dist/terminal-FBQFQTKZ.js.map +1 -0
- package/dist/update-D7CGIZ3M.js +18 -0
- package/dist/update-D7CGIZ3M.js.map +1 -0
- package/dist/update-STU276HR.js +83 -0
- package/dist/update-STU276HR.js.map +1 -0
- package/package.json +31 -13
- package/templates/core/AGENTS.md.template +51 -0
- package/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/templates/core/CLAUDE.md.template +48 -0
- package/templates/core/provider.yaml.template +5 -0
- package/templates/first-squad/SQUAD.md.template +23 -0
- package/templates/first-squad/lead.md.template +44 -0
- package/templates/memory/getting-started/state.md.template +19 -0
- package/templates/seed/BUSINESS_BRIEF.md.template +27 -0
- package/templates/seed/CLAUDE.md.template +119 -0
- package/templates/seed/README.md.template +42 -0
- package/templates/seed/config/SYSTEM.md +52 -0
- package/templates/seed/config/provider.yaml +4 -0
- package/templates/seed/hooks/settings.json.template +31 -0
- package/templates/seed/memory/company/directives.md +37 -0
- package/templates/seed/memory/company/manager/state.md +16 -0
- package/templates/seed/memory/engineering/issue-solver/state.md +12 -0
- package/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
- package/templates/seed/memory/marketing/content-drafter/state.md +12 -0
- package/templates/seed/memory/operations/ops-lead/state.md +12 -0
- package/templates/seed/memory/product/lead/state.md +14 -0
- package/templates/seed/memory/research/lead/state.md +14 -0
- package/templates/seed/skills/gh/SKILL.md +57 -0
- package/templates/seed/skills/squads-cli/SKILL.md +84 -0
- package/templates/seed/squads/company/SQUAD.md +51 -0
- package/templates/seed/squads/company/company-critic.md +49 -0
- package/templates/seed/squads/company/company-eval.md +49 -0
- package/templates/seed/squads/company/event-dispatcher.md +43 -0
- package/templates/seed/squads/company/goal-tracker.md +43 -0
- package/templates/seed/squads/company/manager.md +54 -0
- package/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/templates/seed/squads/engineering/code-reviewer.md +57 -0
- package/templates/seed/squads/engineering/issue-solver.md +58 -0
- package/templates/seed/squads/engineering/test-writer.md +50 -0
- package/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/templates/seed/squads/intelligence/intel-critic.md +36 -0
- package/templates/seed/squads/intelligence/intel-eval.md +31 -0
- package/templates/seed/squads/intelligence/intel-lead.md +71 -0
- package/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/templates/seed/squads/marketing/content-drafter.md +71 -0
- package/templates/seed/squads/marketing/growth-analyst.md +49 -0
- package/templates/seed/squads/marketing/social-poster.md +44 -0
- package/templates/seed/squads/operations/SQUAD.md +45 -0
- package/templates/seed/squads/operations/finance-tracker.md +47 -0
- package/templates/seed/squads/operations/goal-tracker.md +48 -0
- package/templates/seed/squads/operations/ops-lead.md +58 -0
- package/templates/seed/squads/product/SQUAD.md +41 -0
- package/templates/seed/squads/product/lead.md +56 -0
- package/templates/seed/squads/product/scanner.md +50 -0
- package/templates/seed/squads/product/worker.md +55 -0
- package/templates/seed/squads/research/SQUAD.md +38 -0
- package/templates/seed/squads/research/analyst.md +50 -0
- package/templates/seed/squads/research/lead.md +52 -0
- package/templates/seed/squads/research/synthesizer.md +59 -0
- package/templates/skills/squads-learn/SKILL.md +86 -0
- package/templates/skills/squads-workflow/instruction.md +70 -0
package/README.md
CHANGED
|
@@ -1,407 +1,640 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# Agents Squads
|
|
4
|
+
|
|
5
|
+
**Your AI ops teams.**
|
|
6
|
+
|
|
7
|
+
Autonomous AI agents for engineering, marketing, finance, and operations.
|
|
8
|
+
You make the decisions. They do the work.
|
|
9
|
+
|
|
10
|
+
[](https://www.npmjs.com/package/squads-cli)
|
|
11
|
+
[](https://www.npmjs.com/package/squads-cli)
|
|
4
12
|
[](LICENSE)
|
|
5
|
-
[](https://nodejs.org)
|
|
13
|
+
[](https://nodejs.org)
|
|
14
|
+
[](https://github.com/agents-squads/squads-cli)
|
|
6
15
|
|
|
7
|
-
|
|
16
|
+
</div>
|
|
8
17
|
|
|
9
|
-
|
|
10
|
-
$ squads status
|
|
11
|
-
|
|
12
|
-
squads status
|
|
13
|
-
● 7 active sessions across 1 squad (claude 7)
|
|
14
|
-
|
|
15
|
-
10/10 squads │ memory: enabled
|
|
16
|
-
|
|
17
|
-
┌────────────────────────────────────────────────────────┐
|
|
18
|
-
│ SQUAD AGENTS MEMORY ACTIVITY │
|
|
19
|
-
├────────────────────────────────────────────────────────┤
|
|
20
|
-
│ cli 7 1 entry today │
|
|
21
|
-
│ engineering 6 1 entry today │
|
|
22
|
-
│ intelligence 17 1 entry 4d ago │
|
|
23
|
-
│ marketing 4 2 entries today │
|
|
24
|
-
│ website 10 1 entry 5d ago │
|
|
25
|
-
└────────────────────────────────────────────────────────┘
|
|
26
|
-
```
|
|
18
|
+
## Why Squads?
|
|
27
19
|
|
|
28
|
-
|
|
20
|
+
Agents Squads is an experimental framework that replicates how businesses
|
|
21
|
+
have been organized and built over decades of evolution — different
|
|
22
|
+
domains, specialized teams, shared goals, prioritization, pivoting, and
|
|
23
|
+
accumulated knowledge. The same structure that makes human organizations
|
|
24
|
+
effective can make AI operations effective.
|
|
29
25
|
|
|
30
|
-
|
|
26
|
+
LLMs are not learners. Their limitations around self-learning and memory
|
|
27
|
+
are well known. But this framework engineers around those limitations —
|
|
28
|
+
using structured context injection, persistent filesystem memory, and
|
|
29
|
+
feedback loops to extract the best outputs from repetitive tasks and
|
|
30
|
+
accumulate organizational knowledge across cycles.
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- **Stack** — Local infrastructure for telemetry and memory
|
|
32
|
+
AI agents from different providers — Claude, Gemini, Codex, Grok — each
|
|
33
|
+
have distinct strengths. Claude reasons deeply. Gemini is fast and cheap.
|
|
34
|
+
GPT has broad knowledge. But individually, each one hits a ceiling: no
|
|
35
|
+
shared context, no coordination, no way to evaluate its own output.
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
A **squad** puts multiple AI agents together as a team — different models,
|
|
38
|
+
different roles — working toward a shared goal. A Gemini scanner finds
|
|
39
|
+
opportunities. A Claude worker executes deep reasoning. A fast model
|
|
40
|
+
verifies quality. A lead coordinates and prioritizes. The synergy between
|
|
41
|
+
models and roles produces output no individual agent achieves alone.
|
|
39
42
|
|
|
40
|
-
|
|
43
|
+
Agents within a squad don't just run in parallel — they **converse**.
|
|
44
|
+
A lead briefs the team, workers iterate on the task, the lead reviews
|
|
45
|
+
and redirects, the verifier checks the output. This local conversation
|
|
46
|
+
loop — happening entirely on your machine through shared transcript
|
|
47
|
+
files — lets agents discuss, debate, and converge on a solution before
|
|
48
|
+
shipping anything.
|
|
41
49
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
This is the difference between "AI that helps" and "AI that operates."
|
|
51
|
+
|
|
52
|
+
### Who uses this CLI
|
|
53
|
+
|
|
54
|
+
`squads run` is called by an orchestrating agent — Claude Code, Gemini,
|
|
55
|
+
or any supported CLI. After dispatch, **agents are the primary users of
|
|
56
|
+
this CLI**. They call `squads memory read` to recall what they know,
|
|
57
|
+
`squads env show --json` to understand their execution context, and
|
|
58
|
+
`squads status --json` to see what's happening across the org.
|
|
59
|
+
|
|
60
|
+
The CLI is designed for both human operators and machine consumers —
|
|
61
|
+
every command supports `--json` for programmatic access. Human-facing
|
|
62
|
+
commands (like `squads dash`) prioritize readability. Agent-facing
|
|
63
|
+
commands (like `squads env prompt`) prioritize composability.
|
|
64
|
+
|
|
65
|
+
### Context is the moat
|
|
66
|
+
|
|
67
|
+
Most agent frameworks focus on tool calling. Squads focuses on **what the
|
|
68
|
+
agent knows before it starts working**.
|
|
69
|
+
|
|
70
|
+
Every agent execution loads a layered context cascade — squad identity,
|
|
71
|
+
current priorities, feedback from last cycle, active work across the team —
|
|
72
|
+
tuned by role so scanners stay lightweight and leads get the full picture.
|
|
73
|
+
|
|
74
|
+
The desired result: agents that don't duplicate work, don't ignore
|
|
75
|
+
feedback, and improve with every cycle.
|
|
45
76
|
|
|
46
77
|
## Quick Start
|
|
47
78
|
|
|
48
79
|
```bash
|
|
49
|
-
|
|
80
|
+
npm install -g squads-cli
|
|
50
81
|
squads init
|
|
51
|
-
|
|
52
|
-
# See what you have
|
|
53
82
|
squads status
|
|
83
|
+
```
|
|
54
84
|
|
|
55
|
-
|
|
56
|
-
|
|
85
|
+
`squads init` creates a `.agents/` directory with 4 starter squads and
|
|
86
|
+
configures your environment.
|
|
87
|
+
|
|
88
|
+
## How It Works
|
|
89
|
+
|
|
90
|
+
Everything in Squads is a file. There's no database, no server, no
|
|
91
|
+
runtime to manage. Your entire AI workforce lives in a single `.agents/`
|
|
92
|
+
directory that you commit to git like any other code. This means you get
|
|
93
|
+
version history, code review, branching, and merge — applied to your
|
|
94
|
+
agent definitions and organizational memory.
|
|
95
|
+
|
|
96
|
+
```
|
|
97
|
+
.agents/
|
|
98
|
+
├── BUSINESS_BRIEF.md # Business context (primary source)
|
|
99
|
+
├── config/
|
|
100
|
+
│ └── SYSTEM.md # Base behavior (shared across all agents)
|
|
101
|
+
├── squads/
|
|
102
|
+
│ ├── intelligence/
|
|
103
|
+
│ │ ├── SQUAD.md # Squad identity, goals, KPIs
|
|
104
|
+
│ │ ├── scanner.md # Agent definition
|
|
105
|
+
│ │ └── analyst.md # Agent definition
|
|
106
|
+
│ ├── research/
|
|
107
|
+
│ │ ├── SQUAD.md
|
|
108
|
+
│ │ └── analyst.md
|
|
109
|
+
│ ├── product/
|
|
110
|
+
│ │ ├── SQUAD.md
|
|
111
|
+
│ │ └── scanner.md
|
|
112
|
+
│ └── company/
|
|
113
|
+
│ ├── SQUAD.md
|
|
114
|
+
│ └── evaluator.md # COO — evaluates all squad outputs
|
|
115
|
+
└── memory/ # Persistent state (auto-managed)
|
|
116
|
+
├── intelligence/
|
|
117
|
+
├── research/
|
|
118
|
+
├── product/
|
|
119
|
+
└── company/
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
A squad is a directory. An agent is a markdown file. Edit in vim, review in
|
|
123
|
+
a PR, diff in git. No YAML pipelines, no JSON schemas, no DSLs.
|
|
124
|
+
|
|
125
|
+
The three top-level directories serve distinct purposes: `config/` holds
|
|
126
|
+
immutable rules that every agent follows regardless of squad. `squads/`
|
|
127
|
+
holds identity — who each agent is, what it produces, how it behaves.
|
|
128
|
+
`memory/` holds state — what agents have learned, what they're working on,
|
|
129
|
+
what feedback they've received. Identity is stable. Memory evolves.
|
|
130
|
+
|
|
131
|
+
### Context Cascade
|
|
132
|
+
|
|
133
|
+
The biggest problem with autonomous agents isn't capability — it's
|
|
134
|
+
context. An agent that doesn't know what's already been done will
|
|
135
|
+
duplicate work. An agent that doesn't know the company strategy will
|
|
136
|
+
optimize for the wrong thing. An agent that doesn't know its own last
|
|
137
|
+
output was rated as noise will keep producing noise.
|
|
138
|
+
|
|
139
|
+
Squads solves this by loading a layered context cascade before every
|
|
140
|
+
execution, in strict priority order:
|
|
141
|
+
|
|
142
|
+
| # | Layer | Source | Purpose |
|
|
143
|
+
|---|-------|--------|---------|
|
|
144
|
+
| 0 | System Protocol | `config/SYSTEM.md` | Immutable rules every agent follows |
|
|
145
|
+
| 1 | Squad Identity | `squads/{squad}/SQUAD.md` | Mission, goals, output format |
|
|
146
|
+
| 2 | Priorities | `memory/{squad}/priorities.md` | Current operational focus |
|
|
147
|
+
| 3 | Directives | `memory/company/directives.md` | Company-wide strategic overlay |
|
|
148
|
+
| 4 | Active Work | `memory/{squad}/active-work.md` | Open PRs and issues — prevent duplication |
|
|
149
|
+
| 5 | Agent State | `memory/{squad}/{agent}/state.md` | What the agent already knows |
|
|
150
|
+
| 6 | Feedback | `memory/{squad}/feedback.md` | Last cycle evaluation |
|
|
151
|
+
| 7 | Briefings | `memory/daily-briefing.md` | Cross-squad context |
|
|
152
|
+
|
|
153
|
+
The order matters. When the token budget runs out, lower layers drop
|
|
154
|
+
first. An agent that loses briefings still knows its mission and what
|
|
155
|
+
work exists. An agent that loses its identity is useless. The cascade
|
|
156
|
+
ensures graceful degradation — the most critical context always loads.
|
|
157
|
+
|
|
158
|
+
### Role-Based Depth
|
|
159
|
+
|
|
160
|
+
Not every agent needs the same depth of context. A scanner looking for
|
|
161
|
+
new opportunities doesn't need to know the company's strategic directives
|
|
162
|
+
or what feedback other agents received. A lead coordinating across squads
|
|
163
|
+
needs everything. Loading unnecessary context wastes tokens and can
|
|
164
|
+
confuse the agent with irrelevant information.
|
|
165
|
+
|
|
166
|
+
- **Scanners** get identity, priorities, and their own state — they discover, don't decide
|
|
167
|
+
- **Workers** add directives, feedback, and active work — they execute with awareness of what exists
|
|
168
|
+
- **Leads** get all layers including cross-squad briefings — they orchestrate with full visibility
|
|
169
|
+
- **Evaluators** get all layers with org-wide summaries — they assess and generate feedback
|
|
170
|
+
|
|
171
|
+
### Goals vs Priorities
|
|
172
|
+
|
|
173
|
+
A common failure mode in autonomous systems is conflating direction with
|
|
174
|
+
execution. An agent that only sees "Fix #461 this week" doesn't know
|
|
175
|
+
*why* that matters or what the bigger picture is. An agent that only sees
|
|
176
|
+
"Build the best developer experience" has no idea what to work on today.
|
|
177
|
+
|
|
178
|
+
Squads separates aspiration from execution:
|
|
179
|
+
|
|
180
|
+
- **Goals** live in `SQUAD.md` — atemporal, aspirational ("Zero friction first-run experience")
|
|
181
|
+
- **Priorities** live in `priorities.md` — temporal, operational ("Fix #461 this week")
|
|
182
|
+
|
|
183
|
+
Goals give agents purpose and judgment. Priorities give them focus. Both
|
|
184
|
+
are injected — goals as identity context that shapes decision-making,
|
|
185
|
+
priorities as immediate operational focus. `squads goal set` writes
|
|
186
|
+
aspirational goals. Priorities are updated between cycles by the human
|
|
187
|
+
operator or the evaluator agent.
|
|
188
|
+
|
|
189
|
+
### Phase Ordering
|
|
190
|
+
|
|
191
|
+
In a real organization, the research team finishes their analysis before
|
|
192
|
+
the product team writes the roadmap. The finance team closes the books
|
|
193
|
+
before the CEO reviews performance. Order matters — and when agents
|
|
194
|
+
execute in the wrong order, they work with stale or missing information.
|
|
195
|
+
|
|
196
|
+
Squads declare dependencies in their SQUAD.md frontmatter:
|
|
197
|
+
|
|
198
|
+
```yaml
|
|
199
|
+
---
|
|
200
|
+
name: product
|
|
201
|
+
depends_on: [intelligence, research]
|
|
202
|
+
---
|
|
203
|
+
```
|
|
57
204
|
|
|
58
|
-
|
|
59
|
-
|
|
205
|
+
The CLI computes execution phases via topological sort. Squads with no
|
|
206
|
+
dependencies run first. Squads with `depends_on: ["*"]` run last
|
|
207
|
+
(evaluation). Within each phase, squads run in parallel.
|
|
60
208
|
|
|
61
|
-
|
|
62
|
-
squads memory query "authentication"
|
|
209
|
+
### The Feedback Loop
|
|
63
210
|
|
|
64
|
-
|
|
65
|
-
|
|
211
|
+
This is the core of Squads — a closed loop where agents improve autonomously:
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
┌─────────────────────────────────────────────────────┐
|
|
215
|
+
│ │
|
|
216
|
+
│ autopilot ──→ squads run │
|
|
217
|
+
│ ▲ │ │
|
|
218
|
+
│ │ ▼ │
|
|
219
|
+
│ │ intelligence ──┐ │
|
|
220
|
+
│ │ research ──────┼──→ product │
|
|
221
|
+
│ │ │ │ │
|
|
222
|
+
│ │ │ ▼ │
|
|
223
|
+
│ │ │ company (COO) │
|
|
224
|
+
│ │ │ │ │
|
|
225
|
+
│ │ │ feedback.md │
|
|
226
|
+
│ │ │ │ │
|
|
227
|
+
│ │ └────────┘ │
|
|
228
|
+
│ │ (injected next cycle) │
|
|
229
|
+
│ └─────────────────────┘ │
|
|
230
|
+
│ │
|
|
231
|
+
└─────────────────────────────────────────────────────┘
|
|
66
232
|
```
|
|
67
233
|
|
|
68
|
-
|
|
234
|
+
After each cycle, the company evaluator assesses all squad outputs:
|
|
235
|
+
what was valuable, what was noise, what to prioritize next. Written to
|
|
236
|
+
`feedback.md` per squad and injected into the next cycle — closing the
|
|
237
|
+
loop so agents learn from their own output quality.
|
|
69
238
|
|
|
70
|
-
|
|
239
|
+
`squads autopilot` uses these evaluations to determine which squads to
|
|
240
|
+
run next, in what order, with what budget. The full loop: autopilot
|
|
241
|
+
dispatches → agents execute → evaluator writes feedback → autopilot
|
|
242
|
+
reads feedback → dispatches again.
|
|
71
243
|
|
|
72
|
-
|
|
73
|
-
$ squads dash
|
|
244
|
+
## Running Agents
|
|
74
245
|
|
|
75
|
-
|
|
76
|
-
● 7 active sessions across 1 squad (claude 7)
|
|
246
|
+
There are three ways to run agents, each suited for different situations.
|
|
77
247
|
|
|
78
|
-
|
|
248
|
+
**Single agent** — run one agent for a focused task. The agent gets its
|
|
249
|
+
context cascade, executes autonomously, and writes results to GitHub
|
|
250
|
+
and memory. This is the building block.
|
|
79
251
|
|
|
80
|
-
|
|
252
|
+
```bash
|
|
253
|
+
squads run research/analyst
|
|
254
|
+
squads run intelligence --task "Scan competitor pricing changes"
|
|
255
|
+
```
|
|
81
256
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
│ website 203 0 0/0 0/1 ━━━━━━━━ │
|
|
87
|
-
│ engineering 139 0 0/0 0/1 ━━━━━━━━ │
|
|
88
|
-
│ cli 48 0 0/0 2/3 ━━━━━━━━ │
|
|
89
|
-
└──────────────────────────────────────────────────────────┘
|
|
257
|
+
**Squad conversation** — run an entire squad as a coordinated team. The
|
|
258
|
+
lead briefs first, workers execute in parallel, the lead reviews outputs,
|
|
259
|
+
and the cycle repeats until the team converges on a result. This is where
|
|
260
|
+
multi-agent synergy happens.
|
|
90
261
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
404 commits │ 13.5/day │ 21 active days
|
|
262
|
+
```bash
|
|
263
|
+
squads run research --parallel
|
|
94
264
|
```
|
|
95
265
|
|
|
96
|
-
|
|
266
|
+
**Autonomous dispatch** — let Squads decide what to run, when, and in
|
|
267
|
+
what order. Autopilot reads priorities and feedback, respects phase
|
|
268
|
+
ordering, and manages budget constraints. This is the hands-off mode for
|
|
269
|
+
continuous operations.
|
|
97
270
|
|
|
271
|
+
```bash
|
|
272
|
+
squads autopilot --interval 30 --budget 50
|
|
98
273
|
```
|
|
99
|
-
$ squads memory query "telemetry"
|
|
100
274
|
|
|
101
|
-
|
|
275
|
+
## Starter Squads
|
|
276
|
+
|
|
277
|
+
The first experience matters. Rather than shipping an empty framework and
|
|
278
|
+
asking you to figure out what to build, `squads init` ships with 4 squads
|
|
279
|
+
designed to deliver visible output from the very first run. These aren't
|
|
280
|
+
demo squads — they're the foundation of an operational AI workforce.
|
|
281
|
+
|
|
282
|
+
| Squad | What It Does | Agents |
|
|
283
|
+
|-------|-------------|--------|
|
|
284
|
+
| **intelligence** | Strategic synthesis — Know / Don't Know / Playbook briefs | intel-lead, intel-eval, intel-critic |
|
|
285
|
+
| **research** | Market, competitor, and trend research with sourced findings | lead, analyst, synthesizer |
|
|
286
|
+
| **product** | Roadmap, specs, user feedback synthesis | lead, scanner, worker |
|
|
287
|
+
| **company** | Orchestrates squads, evaluates outputs, closes the feedback loop | manager, evaluator, goal-tracker, event-dispatcher, critic |
|
|
102
288
|
|
|
103
|
-
|
|
289
|
+
**Intelligence + research** produce insights. **Product** turns insights
|
|
290
|
+
into roadmap. **Company** evaluates everything and writes feedback — which
|
|
291
|
+
agents read next cycle. The loop closes automatically.
|
|
104
292
|
|
|
105
|
-
|
|
106
|
-
│ LOCATION TYPE SCORE │
|
|
107
|
-
├──────────────────────────────────────────────────┤
|
|
108
|
-
│ cli/cli-lead state 7.2 │
|
|
109
|
-
│ engineering/eng-lead state 7.2 │
|
|
110
|
-
│ marketing/marketing-lead state 7.2 │
|
|
111
|
-
└──────────────────────────────────────────────────┘
|
|
293
|
+
Additional squads available as packs:
|
|
112
294
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
295
|
+
```bash
|
|
296
|
+
squads init --pack engineering # Add engineering squad
|
|
297
|
+
squads init --pack marketing # Add marketing squad
|
|
298
|
+
squads init --pack all # All available squads
|
|
116
299
|
```
|
|
117
300
|
|
|
118
|
-
###
|
|
301
|
+
### Build Your Own
|
|
119
302
|
|
|
120
|
-
|
|
303
|
+
Squads are directories. Agents are markdown files. Bring your own skills,
|
|
304
|
+
tools, and CLIs — anything your agents can run in a terminal becomes part
|
|
305
|
+
of the squad.
|
|
121
306
|
|
|
307
|
+
```bash
|
|
308
|
+
squads add devops -d "Infrastructure and deployment automation"
|
|
122
309
|
```
|
|
123
|
-
$ squads status
|
|
124
310
|
|
|
125
|
-
|
|
311
|
+
This creates `squads/devops/SQUAD.md` and a lead agent. Add more agents
|
|
312
|
+
as `.md` files, define their roles, give them access to your CLIs
|
|
313
|
+
(`terraform`, `kubectl`, `aws`, `docker` — whatever they need), and run:
|
|
314
|
+
|
|
315
|
+
```bash
|
|
316
|
+
squads run devops --parallel
|
|
126
317
|
```
|
|
127
318
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
- Gemini
|
|
133
|
-
- GitHub Copilot
|
|
134
|
-
- Sourcegraph Cody
|
|
135
|
-
- Continue
|
|
319
|
+
### Customizing Your Squads
|
|
320
|
+
|
|
321
|
+
Agents read context in layers — higher layers are stable, lower layers
|
|
322
|
+
change often. Update them in this order:
|
|
136
323
|
|
|
137
|
-
|
|
324
|
+
#### 1. Business Brief (what you do)
|
|
138
325
|
|
|
139
|
-
|
|
326
|
+
Edit `.agents/BUSINESS_BRIEF.md` — every agent reads this before every run.
|
|
327
|
+
The more specific you are, the better agents perform.
|
|
140
328
|
|
|
329
|
+
```markdown
|
|
330
|
+
What does your business do? Who are your customers? What market?
|
|
331
|
+
What should agents research first? Who are your competitors?
|
|
141
332
|
```
|
|
142
|
-
$ squads stack health
|
|
143
333
|
|
|
144
|
-
|
|
334
|
+
#### 2. Directives (what matters now)
|
|
145
335
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
✓ neo4j healthy
|
|
149
|
-
✓ bridge healthy
|
|
150
|
-
✓ langfuse healthy
|
|
151
|
-
✓ mem0 healthy
|
|
152
|
-
✓ engram healthy
|
|
336
|
+
Edit `.agents/memory/company/directives.md` — strategic overlay that
|
|
337
|
+
overrides squad-level goals when there's a conflict.
|
|
153
338
|
|
|
154
|
-
|
|
339
|
+
```markdown
|
|
340
|
+
What is the #1 priority right now? What metric are you optimizing?
|
|
341
|
+
What constraints apply? What should agents NOT do?
|
|
155
342
|
```
|
|
156
343
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
```
|
|
160
|
-
$ squads status
|
|
344
|
+
#### 3. Squad Goals (what each team does)
|
|
161
345
|
|
|
162
|
-
|
|
346
|
+
Replace the generic goals in each `SQUAD.md` with goals specific to your
|
|
347
|
+
business:
|
|
163
348
|
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
● Updated to 0.2.0
|
|
349
|
+
```bash
|
|
350
|
+
# Or use the CLI:
|
|
351
|
+
squads goal set intelligence "Monitor competitor X's pricing weekly"
|
|
352
|
+
squads goal set research "Deep dive on Y market segment"
|
|
353
|
+
squads goal set product "Write spec for Z feature"
|
|
170
354
|
```
|
|
171
355
|
|
|
172
|
-
|
|
356
|
+
#### 4. Priorities (what to do this week)
|
|
173
357
|
|
|
174
|
-
|
|
358
|
+
Create or edit `.agents/memory/{squad}/priorities.md` — operational focus
|
|
359
|
+
that changes frequently:
|
|
175
360
|
|
|
176
|
-
```
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
│ └── ci-optimizer.md # Agent definition
|
|
181
|
-
├── research/
|
|
182
|
-
│ ├── SQUAD.md
|
|
183
|
-
│ └── market-analyst.md
|
|
184
|
-
└── intelligence/
|
|
185
|
-
└── ...
|
|
361
|
+
```markdown
|
|
362
|
+
- Fix issue #123 (blocking users)
|
|
363
|
+
- Research competitor's new feature launch
|
|
364
|
+
- Update roadmap based on last cycle's feedback
|
|
186
365
|
```
|
|
187
366
|
|
|
188
|
-
|
|
367
|
+
**Rule**: Goals are aspirational (stable). Priorities are operational
|
|
368
|
+
(updated frequently). Directives are strategic (updated less frequently).
|
|
189
369
|
|
|
190
|
-
|
|
191
|
-
# CI Optimizer
|
|
370
|
+
#### Agent Instructions
|
|
192
371
|
|
|
193
|
-
|
|
194
|
-
|
|
372
|
+
Each `.md` file in a squad defines an agent's behavior, output format,
|
|
373
|
+
and quality rules. The starter agents come with structured output formats
|
|
374
|
+
(tables, scoring rubrics, required sections) — modify these to match what
|
|
375
|
+
you actually need.
|
|
195
376
|
|
|
196
|
-
|
|
197
|
-
claude-sonnet-4
|
|
377
|
+
#### System Protocol
|
|
198
378
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
- Edit
|
|
379
|
+
`.agents/config/SYSTEM.md` contains immutable rules all agents follow —
|
|
380
|
+
git workflow, memory protocol, output standards. You rarely need to change
|
|
381
|
+
this, but you can customize it for your team's conventions.
|
|
203
382
|
|
|
204
|
-
##
|
|
205
|
-
1. Analyze current build configuration
|
|
206
|
-
2. Identify slow steps
|
|
207
|
-
3. Implement caching strategies
|
|
208
|
-
4. Verify improvements
|
|
209
|
-
```
|
|
383
|
+
## Why CLI-First?
|
|
210
384
|
|
|
211
|
-
|
|
385
|
+
AI agents already live in the terminal. Wrapping them in a web UI or
|
|
386
|
+
Python runtime adds latency, complexity, and failure modes. A CLI
|
|
387
|
+
orchestrating CLIs is zero-overhead — and it means your agents can use
|
|
388
|
+
**any tool you can run in a shell**.
|
|
212
389
|
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
# → "Switched to pnpm for faster installs"
|
|
217
|
-
# → "Build cache reduced CI time by 40%"
|
|
390
|
+
The more CLIs your agents have access to, the more capable your squads
|
|
391
|
+
become. Squads itself is just the orchestrator — the real power comes
|
|
392
|
+
from the tools you give your agents.
|
|
218
393
|
|
|
219
|
-
|
|
220
|
-
squads memory query "performance"
|
|
221
|
-
```
|
|
394
|
+
### Required
|
|
222
395
|
|
|
223
|
-
|
|
396
|
+
| Tool | Purpose |
|
|
397
|
+
|------|---------|
|
|
398
|
+
| [Node.js](https://nodejs.org) >= 18 | Runtime |
|
|
399
|
+
| [Git](https://git-scm.com) | Memory sync, version control |
|
|
400
|
+
| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (`claude`) | Default agent execution |
|
|
224
401
|
|
|
225
|
-
###
|
|
402
|
+
### Recommended
|
|
226
403
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
404
|
+
| Tool | Purpose |
|
|
405
|
+
|------|---------|
|
|
406
|
+
| [GitHub CLI](https://cli.github.com) (`gh`) | Issue tracking, PRs, project management |
|
|
407
|
+
| [Google Cloud CLI](https://cloud.google.com/sdk) (`gcloud`) | GCP deployments, secrets, infrastructure |
|
|
408
|
+
| [Wrangler](https://developers.cloudflare.com/workers/wrangler/) (`wrangler`) | Cloudflare Workers, Pages, DNS |
|
|
409
|
+
| [Google Workspace CLI](https://github.com/nicholasgasior/gws) (`gws`) | Drive, Gmail, Calendar, Sheets |
|
|
233
410
|
|
|
234
|
-
###
|
|
411
|
+
### Any CLI Your Agents Need
|
|
235
412
|
|
|
236
413
|
```bash
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
squads run engineering --dry-run # Preview what would run
|
|
414
|
+
terraform, kubectl, docker, aws, vercel, stripe, twilio,
|
|
415
|
+
psql, redis-cli, curl, jq, ffmpeg, imagemagick...
|
|
240
416
|
```
|
|
241
417
|
|
|
242
|
-
|
|
418
|
+
If it runs in a terminal, your agents can use it.
|
|
243
419
|
|
|
244
|
-
|
|
245
|
-
squads memory query "deployment" # Semantic search
|
|
246
|
-
squads memory show research # View squad memory
|
|
247
|
-
squads memory list # List all entries
|
|
248
|
-
squads memory sync # Sync from git remote
|
|
249
|
-
```
|
|
420
|
+
### Skills + CLIs
|
|
250
421
|
|
|
251
|
-
|
|
422
|
+
Agents get capabilities through two layers:
|
|
423
|
+
|
|
424
|
+
- **CLIs** are the tools — `gh`, `gcloud`, `curl`, `psql`. They execute
|
|
425
|
+
actions in the real world.
|
|
426
|
+
- **Skills** are the knowledge — markdown files that teach agents *how*
|
|
427
|
+
to use those tools effectively. A BigQuery skill teaches query
|
|
428
|
+
optimization patterns. A GitHub skill teaches your PR workflow. A
|
|
429
|
+
deployment skill codifies your staging-to-prod pipeline.
|
|
252
430
|
|
|
253
|
-
```
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
431
|
+
```
|
|
432
|
+
.claude/skills/
|
|
433
|
+
├── bq/SKILL.md # BigQuery patterns + cost optimization
|
|
434
|
+
├── gh/SKILL.md # GitHub workflow + PR conventions
|
|
435
|
+
├── gcloud/SKILL.md # GCP deployment procedures
|
|
436
|
+
└── e2e-test/SKILL.md # Browser testing with Chrome CDP
|
|
258
437
|
```
|
|
259
438
|
|
|
260
|
-
|
|
439
|
+
Skills are injected into agent context alongside squad identity and
|
|
440
|
+
memory. The combination of CLI tools + domain knowledge in skills is
|
|
441
|
+
what turns a generic LLM into a specialized operator.
|
|
261
442
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
squads feedback stats # Summary
|
|
266
|
-
```
|
|
443
|
+
No MCP servers, no custom tool registries, no adapter layers. A skill
|
|
444
|
+
file + a CLI installed on your machine is all an agent needs to operate
|
|
445
|
+
in any domain.
|
|
267
446
|
|
|
268
|
-
|
|
447
|
+
`squads doctor` checks which CLIs are available on your machine.
|
|
269
448
|
|
|
270
|
-
|
|
271
|
-
squads stack status # Container health
|
|
272
|
-
squads stack up # Start Docker stack
|
|
273
|
-
squads stack down # Stop Docker stack
|
|
274
|
-
squads stack health # Comprehensive diagnostics
|
|
275
|
-
squads stack logs bridge # View container logs
|
|
276
|
-
```
|
|
449
|
+
## Commands
|
|
277
450
|
|
|
278
|
-
|
|
451
|
+
The command surface is split into two audiences. Human operators manage
|
|
452
|
+
the workforce — they set goals, monitor progress, and control budgets.
|
|
453
|
+
Agents consume the CLI programmatically during execution — they read
|
|
454
|
+
their own context, persist learnings, and record metrics. Every command
|
|
455
|
+
supports `--json` so agents can parse outputs reliably.
|
|
456
|
+
|
|
457
|
+
### For Humans
|
|
279
458
|
|
|
280
459
|
```bash
|
|
281
|
-
|
|
282
|
-
squads
|
|
283
|
-
squads
|
|
460
|
+
# Setup
|
|
461
|
+
squads init # Bootstrap .agents/ directory
|
|
462
|
+
squads add <name> # Add a new squad
|
|
463
|
+
squads doctor # Check tools and readiness
|
|
464
|
+
|
|
465
|
+
# Execute
|
|
466
|
+
squads run <squad/agent> # Run an agent or full squad
|
|
467
|
+
squads autopilot # Autonomous scheduling with budget control
|
|
468
|
+
|
|
469
|
+
# Monitor
|
|
470
|
+
squads status [squad] # Overview of all squads
|
|
471
|
+
squads sessions # Active agent sessions on your machine
|
|
472
|
+
squads dash # Dashboard with goals, metrics, activity
|
|
473
|
+
|
|
474
|
+
# Goals & Tracking
|
|
475
|
+
squads goal set squad "goal" # Set a squad objective
|
|
476
|
+
squads goal list # View all goals
|
|
477
|
+
squads results [squad] # Git activity + KPI actuals
|
|
478
|
+
squads stats [squad] # Workforce scorecard + ROI
|
|
284
479
|
```
|
|
285
480
|
|
|
286
|
-
|
|
481
|
+
### For Agents
|
|
482
|
+
|
|
483
|
+
Agents are the primary consumers of this CLI. After `squads run`
|
|
484
|
+
dispatches an agent, it uses these commands to understand its context,
|
|
485
|
+
persist knowledge, and evaluate its own work.
|
|
287
486
|
|
|
288
|
-
|
|
487
|
+
```bash
|
|
488
|
+
# Context
|
|
489
|
+
squads env show <squad> --json # Execution context (MCP, model, budget)
|
|
490
|
+
squads env prompt <squad> -a <agent> # Generate sub-agent prompt
|
|
491
|
+
squads status --json # Org-wide state for coordination
|
|
289
492
|
|
|
290
|
-
|
|
493
|
+
# Memory
|
|
494
|
+
squads memory read <squad> # Recall squad knowledge
|
|
495
|
+
squads memory write <squad> "x"# Persist a learning
|
|
496
|
+
squads memory query "topic" # Search across all memory
|
|
291
497
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
"type": "command",
|
|
298
|
-
"command": "squads status",
|
|
299
|
-
"timeout": 10
|
|
300
|
-
}]
|
|
301
|
-
}]
|
|
302
|
-
}
|
|
303
|
-
}
|
|
498
|
+
# Feedback loop
|
|
499
|
+
squads feedback show <squad> # Last cycle evaluation
|
|
500
|
+
squads feedback add <squad> <rating> "text" # Write evaluation
|
|
501
|
+
squads exec list # Own execution history
|
|
502
|
+
squads kpi record <squad> <kpi> <value> # Record a metric
|
|
304
503
|
```
|
|
305
504
|
|
|
306
|
-
|
|
505
|
+
Everything above works locally — no login, no cloud, no API.
|
|
506
|
+
Every command supports `--json` for machine consumption.
|
|
307
507
|
|
|
308
|
-
|
|
508
|
+
## Configuration
|
|
309
509
|
|
|
310
|
-
|
|
311
|
-
|
|
510
|
+
Agents need API keys to execute. Squads reads secrets from a `.env` file
|
|
511
|
+
in your project root — the same pattern used by most Node.js and Python
|
|
512
|
+
projects. Each provider's CLI uses its own environment variable, so you
|
|
513
|
+
only need keys for the providers you actually use.
|
|
514
|
+
|
|
515
|
+
```bash
|
|
516
|
+
# .env — never commit this file
|
|
517
|
+
ANTHROPIC_API_KEY=sk-ant-... # Required for Claude Code (default provider)
|
|
518
|
+
GEMINI_API_KEY=... # Required for Gemini CLI
|
|
519
|
+
OPENAI_API_KEY=sk-... # Required for Codex
|
|
520
|
+
GITHUB_TOKEN=ghp_... # Recommended for gh CLI operations
|
|
521
|
+
```
|
|
522
|
+
|
|
523
|
+
`squads run` loads `.env` automatically before dispatching any agent.
|
|
524
|
+
If a required key is missing, the provider's CLI will report the error —
|
|
525
|
+
Squads doesn't mask or intercept auth failures. Add `.env` to your
|
|
526
|
+
`.gitignore` to keep secrets out of version control.
|
|
527
|
+
|
|
528
|
+
## Providers
|
|
529
|
+
|
|
530
|
+
Multi-provider support isn't just a feature — it's central to how squads
|
|
531
|
+
work. Different models have different strengths, costs, and speed
|
|
532
|
+
profiles. A squad can route its scanner to a fast, cheap model (Gemini
|
|
533
|
+
Flash) for high-volume monitoring, its worker to a deep reasoning model
|
|
534
|
+
(Claude Opus) for complex analysis, and its verifier to a mid-tier model
|
|
535
|
+
for cost-effective quality checks.
|
|
536
|
+
|
|
537
|
+
Squads shells out to native AI CLIs. Each provider's CLI handles auth,
|
|
538
|
+
context, and tool use independently — Squads just orchestrates.
|
|
539
|
+
|
|
540
|
+
| Provider | CLI | Status |
|
|
541
|
+
|----------|-----|--------|
|
|
542
|
+
| Anthropic | `claude` | Stable — primary provider |
|
|
543
|
+
| Google | `gemini` | Stable |
|
|
544
|
+
| OpenAI | `codex` | Experimental |
|
|
545
|
+
| Mistral | `vibe` | Experimental |
|
|
546
|
+
| xAI | `grok` | Experimental |
|
|
547
|
+
| Ollama | `ollama` | Experimental |
|
|
548
|
+
|
|
549
|
+
Experimental providers have CLI integration but haven't been extensively
|
|
550
|
+
tested in production. Contributions welcome — especially from teams
|
|
551
|
+
already using these CLIs for autonomous work.
|
|
312
552
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
3. After completing work, update memory via state files
|
|
553
|
+
```bash
|
|
554
|
+
squads run research --provider=google --model=gemini-2.5-flash
|
|
555
|
+
squads providers # List available providers and install status
|
|
317
556
|
```
|
|
318
557
|
|
|
319
|
-
##
|
|
558
|
+
## Local Execution and Scaling
|
|
320
559
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
│ │ │ ├── SQUAD.md # Config + goals
|
|
327
|
-
│ │ │ └── *.md # Agent definitions
|
|
328
|
-
│ │ └── research/
|
|
329
|
-
│ ├── memory/ # Persistent state
|
|
330
|
-
│ │ ├── engineering/
|
|
331
|
-
│ │ │ └── state.md
|
|
332
|
-
│ │ └── research/
|
|
333
|
-
│ └── outputs/ # Agent outputs
|
|
334
|
-
├── .claude/
|
|
335
|
-
│ └── settings.json # Hooks config
|
|
336
|
-
└── CLAUDE.md # Project instructions
|
|
337
|
-
```
|
|
560
|
+
Squads runs locally by default — your machine, your API keys, your
|
|
561
|
+
control. There's no cloud dependency for core functionality. Each agent
|
|
562
|
+
execution spawns a CLI process (`claude`, `gemini`, etc.) that runs
|
|
563
|
+
until completion. Your data never leaves your machine unless the agent
|
|
564
|
+
explicitly pushes to GitHub or another service you've configured.
|
|
338
565
|
|
|
339
|
-
|
|
566
|
+
### Local limits
|
|
340
567
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
squads
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
squads memory show <squad> View squad memory
|
|
360
|
-
squads memory list List all entries
|
|
361
|
-
squads memory sync Sync from git remote
|
|
362
|
-
|
|
363
|
-
squads goal set <squad> <goal>
|
|
364
|
-
squads goal list [squad]
|
|
365
|
-
squads goal progress <squad> <idx> <pct>
|
|
366
|
-
squads goal complete <squad> <idx>
|
|
367
|
-
|
|
368
|
-
squads feedback add <squad> <rating> <text>
|
|
369
|
-
squads feedback show <squad>
|
|
370
|
-
squads feedback stats
|
|
371
|
-
|
|
372
|
-
squads stack status Container health
|
|
373
|
-
squads stack up Start Docker stack
|
|
374
|
-
squads stack down Stop Docker stack
|
|
375
|
-
squads stack health Comprehensive diagnostics
|
|
376
|
-
squads stack logs <service> View container logs
|
|
377
|
-
|
|
378
|
-
squads update Interactive update
|
|
379
|
-
-y, --yes Auto-confirm
|
|
380
|
-
-c, --check Check only
|
|
381
|
-
|
|
382
|
-
squads init Initialize project
|
|
383
|
-
squads login/logout/whoami Authentication (Pro)
|
|
384
|
-
```
|
|
568
|
+
| Parallel squads | Machine |
|
|
569
|
+
|----------------|---------|
|
|
570
|
+
| 2–3 | 8 GB RAM, 4 cores (laptop) |
|
|
571
|
+
| 4–6 | 16 GB RAM, 8 cores (workstation) |
|
|
572
|
+
| 8–12 | 32 GB+ RAM, 10+ cores (M-series Mac / desktop) |
|
|
573
|
+
|
|
574
|
+
*Actual capacity depends on your CPU, memory, and which providers you
|
|
575
|
+
use. `squads autopilot --max-parallel 3` controls concurrent executions.
|
|
576
|
+
Monitor with `squads sessions`.*
|
|
577
|
+
|
|
578
|
+
### Cloud scaling
|
|
579
|
+
|
|
580
|
+
Local execution works well for individuals and small teams, but it has
|
|
581
|
+
natural limits — your machine needs to stay running, parallel execution
|
|
582
|
+
is bounded by hardware, and there's no shared visibility across team
|
|
583
|
+
members. When you're ready to scale autonomous operations across teams,
|
|
584
|
+
cloud execution runs the same agents, same memory, same commands — but
|
|
585
|
+
on managed infrastructure instead of your laptop.
|
|
385
586
|
|
|
386
587
|
## Development
|
|
387
588
|
|
|
388
589
|
```bash
|
|
389
|
-
git clone https://github.com/agents-squads/squads-cli
|
|
590
|
+
git clone https://github.com/agents-squads/squads-cli.git
|
|
390
591
|
cd squads-cli
|
|
391
592
|
npm install
|
|
392
593
|
npm run build
|
|
393
|
-
npm link
|
|
594
|
+
npm link # Makes 'squads' available globally
|
|
595
|
+
npm test
|
|
394
596
|
```
|
|
395
597
|
|
|
598
|
+
TypeScript (strict mode), Commander.js, Vitest, tsup.
|
|
599
|
+
|
|
600
|
+
## Contributing
|
|
601
|
+
|
|
602
|
+
Contributions welcome. Open an issue first to discuss changes.
|
|
603
|
+
|
|
604
|
+
1. Fork the repository
|
|
605
|
+
2. Create your branch (`git checkout -b feature/my-feature`)
|
|
606
|
+
3. Commit your changes
|
|
607
|
+
4. Open a Pull Request
|
|
608
|
+
|
|
609
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
610
|
+
|
|
611
|
+
## Community
|
|
612
|
+
|
|
613
|
+
- [GitHub Issues](https://github.com/agents-squads/squads-cli/issues) — Bug reports and feature requests
|
|
614
|
+
- [GitHub Discussions](https://github.com/agents-squads/squads-cli/discussions) — Questions and ideas
|
|
615
|
+
- [Website](https://agents-squads.com) — Documentation and guides
|
|
616
|
+
|
|
396
617
|
## Related
|
|
397
618
|
|
|
398
|
-
- [agents-squads](https://github.com/agents-squads/agents-squads) —
|
|
399
|
-
- [engram](https://github.com/agents-squads/engram) — Persistent memory for AI agents
|
|
619
|
+
- [agents-squads](https://github.com/agents-squads/agents-squads) — The framework
|
|
400
620
|
|
|
401
|
-
##
|
|
621
|
+
## Get Started
|
|
402
622
|
|
|
403
|
-
|
|
623
|
+
```bash
|
|
624
|
+
npm install -g squads-cli
|
|
625
|
+
squads init
|
|
626
|
+
squads run research/analyst
|
|
627
|
+
```
|
|
404
628
|
|
|
405
|
-
|
|
629
|
+
Build your own squads. Write your own skills. Optimize for your desired
|
|
630
|
+
outputs. Every organization is different — Squads gives you the structure,
|
|
631
|
+
you bring the domain knowledge. Start with the starter squads, observe
|
|
632
|
+
what works, tune the context, and iterate. The agents get better as your
|
|
633
|
+
skills and memory accumulate.
|
|
634
|
+
|
|
635
|
+
We'd love to see what you build. Share your squads and skills in
|
|
636
|
+
[GitHub Discussions](https://github.com/agents-squads/squads-cli/discussions).
|
|
406
637
|
|
|
407
|
-
|
|
638
|
+
## License
|
|
639
|
+
|
|
640
|
+
[MIT](LICENSE)
|