squads-cli 0.2.0 → 0.2.2
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-GARI6J2J.js +105 -0
- package/dist/autonomy-GARI6J2J.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-NP5BDPE6.js +240 -0
- package/dist/chunk-NP5BDPE6.js.map +1 -0
- package/dist/chunk-O632SBON.js +62 -0
- package/dist/chunk-O632SBON.js.map +1 -0
- package/dist/chunk-QJ7C7CMB.js +223 -0
- package/dist/chunk-QJ7C7CMB.js.map +1 -0
- package/dist/chunk-QRNR4GIT.js +88 -0
- package/dist/chunk-QRNR4GIT.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-XTHZT53Y.js +364 -0
- package/dist/chunk-XTHZT53Y.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 +3371 -5852
- package/dist/cli.js.map +1 -1
- package/dist/context-PYTO2UQG.js +291 -0
- package/dist/context-PYTO2UQG.js.map +1 -0
- package/dist/context-feed-TLVZZ24S.js +394 -0
- package/dist/context-feed-TLVZZ24S.js.map +1 -0
- package/dist/cost-OALPURUQ.js +275 -0
- package/dist/cost-OALPURUQ.js.map +1 -0
- package/dist/create-BLFGG6PF.js +286 -0
- package/dist/create-BLFGG6PF.js.map +1 -0
- package/dist/dashboard-HQIEHTZC.js +951 -0
- package/dist/dashboard-HQIEHTZC.js.map +1 -0
- package/dist/dashboard-RMK2BOD2.js +794 -0
- package/dist/dashboard-RMK2BOD2.js.map +1 -0
- package/dist/doctor-TWHMR23W.js +374 -0
- package/dist/doctor-TWHMR23W.js.map +1 -0
- package/dist/env-config-SQEI3Y7Y.js +21 -0
- package/dist/env-config-SQEI3Y7Y.js.map +1 -0
- package/dist/exec-DYLI4TXY.js +223 -0
- package/dist/exec-DYLI4TXY.js.map +1 -0
- package/dist/feedback-5AEACUX6.js +229 -0
- package/dist/feedback-5AEACUX6.js.map +1 -0
- package/dist/github-UQTM5KMS.js +23 -0
- package/dist/github-UQTM5KMS.js.map +1 -0
- package/dist/goal-XUNV3CKV.js +168 -0
- package/dist/goal-XUNV3CKV.js.map +1 -0
- package/dist/health-ZF3HSA4W.js +218 -0
- package/dist/health-ZF3HSA4W.js.map +1 -0
- package/dist/history-WP6R5BNG.js +232 -0
- package/dist/history-WP6R5BNG.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-BQSCG57S.js +921 -0
- package/dist/init-BQSCG57S.js.map +1 -0
- package/dist/kpi-VBGDO4GI.js +413 -0
- package/dist/kpi-VBGDO4GI.js.map +1 -0
- package/dist/learn-C4B2PQ5J.js +269 -0
- package/dist/learn-C4B2PQ5J.js.map +1 -0
- package/dist/login-F6ITE7PR.js +155 -0
- package/dist/login-F6ITE7PR.js.map +1 -0
- package/dist/memory-33HYD6AN.js +560 -0
- package/dist/memory-33HYD6AN.js.map +1 -0
- package/dist/memory-VNF2VFRB.js +23 -0
- package/dist/memory-VNF2VFRB.js.map +1 -0
- package/dist/observability-CL23L7LD.js +20 -0
- package/dist/observability-CL23L7LD.js.map +1 -0
- package/dist/org-cycle-Q74OT4I4.js +130 -0
- package/dist/org-cycle-Q74OT4I4.js.map +1 -0
- package/dist/progress-P2EIZBKP.js +202 -0
- package/dist/progress-P2EIZBKP.js.map +1 -0
- package/dist/providers-LE744DM6.js +65 -0
- package/dist/providers-LE744DM6.js.map +1 -0
- package/dist/repo-enforcement-JJQMKDAU.js +75 -0
- package/dist/repo-enforcement-JJQMKDAU.js.map +1 -0
- package/dist/results-6TH33HPN.js +224 -0
- package/dist/results-6TH33HPN.js.map +1 -0
- package/dist/run-DOY5SGF3.js +4074 -0
- package/dist/run-DOY5SGF3.js.map +1 -0
- package/dist/run-context-GB6GUCKZ.js +26 -0
- package/dist/run-context-GB6GUCKZ.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-PFFB2NV6.js +352 -0
- package/dist/status-PFFB2NV6.js.map +1 -0
- package/dist/sync-FR6LQJ4C.js +836 -0
- package/dist/sync-FR6LQJ4C.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 +58 -0
- package/dist/templates/seed/config/provider.yaml +4 -0
- package/dist/templates/seed/hooks/settings.json.template +31 -0
- package/dist/templates/seed/idp/catalog/service.yaml.template +25 -0
- package/dist/templates/seed/memory/_squad/goals.md +23 -0
- package/dist/templates/seed/memory/_squad/priorities.md +25 -0
- package/dist/templates/seed/memory/company/company.md +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 +329 -0
- package/dist/templates/seed/skills/squads-cli/references/commands.md +181 -0
- package/dist/templates/seed/squads/company/SQUAD.md +51 -0
- package/dist/templates/seed/squads/company/company-critic.md +57 -0
- package/dist/templates/seed/squads/company/company-eval.md +57 -0
- package/dist/templates/seed/squads/company/event-dispatcher.md +53 -0
- package/dist/templates/seed/squads/company/goal-tracker.md +51 -0
- package/dist/templates/seed/squads/company/manager.md +60 -0
- package/dist/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/dist/templates/seed/squads/engineering/code-reviewer.md +69 -0
- package/dist/templates/seed/squads/engineering/issue-solver.md +66 -0
- package/dist/templates/seed/squads/engineering/test-writer.md +60 -0
- package/dist/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/dist/templates/seed/squads/intelligence/intel-critic.md +53 -0
- package/dist/templates/seed/squads/intelligence/intel-eval.md +48 -0
- package/dist/templates/seed/squads/intelligence/intel-lead.md +79 -0
- package/dist/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/dist/templates/seed/squads/marketing/content-drafter.md +81 -0
- package/dist/templates/seed/squads/marketing/growth-analyst.md +61 -0
- package/dist/templates/seed/squads/marketing/social-poster.md +56 -0
- package/dist/templates/seed/squads/operations/SQUAD.md +45 -0
- package/dist/templates/seed/squads/operations/finance-tracker.md +55 -0
- package/dist/templates/seed/squads/operations/goal-tracker.md +60 -0
- package/dist/templates/seed/squads/operations/ops-lead.md +68 -0
- package/dist/templates/seed/squads/product/SQUAD.md +41 -0
- package/dist/templates/seed/squads/product/lead.md +64 -0
- package/dist/templates/seed/squads/product/scanner.md +58 -0
- package/dist/templates/seed/squads/product/worker.md +63 -0
- package/dist/templates/seed/squads/research/SQUAD.md +38 -0
- package/dist/templates/seed/squads/research/analyst.md +58 -0
- package/dist/templates/seed/squads/research/lead.md +58 -0
- package/dist/templates/seed/squads/research/synthesizer.md +67 -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/tier-detect-YX2HPNNR.js +15 -0
- package/dist/tier-detect-YX2HPNNR.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 +58 -0
- package/templates/seed/config/provider.yaml +4 -0
- package/templates/seed/hooks/settings.json.template +31 -0
- package/templates/seed/idp/catalog/service.yaml.template +25 -0
- package/templates/seed/memory/_squad/goals.md +23 -0
- package/templates/seed/memory/_squad/priorities.md +25 -0
- package/templates/seed/memory/company/company.md +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 +329 -0
- package/templates/seed/skills/squads-cli/references/commands.md +181 -0
- package/templates/seed/squads/company/SQUAD.md +51 -0
- package/templates/seed/squads/company/company-critic.md +57 -0
- package/templates/seed/squads/company/company-eval.md +57 -0
- package/templates/seed/squads/company/event-dispatcher.md +53 -0
- package/templates/seed/squads/company/goal-tracker.md +51 -0
- package/templates/seed/squads/company/manager.md +60 -0
- package/templates/seed/squads/engineering/SQUAD.md +48 -0
- package/templates/seed/squads/engineering/code-reviewer.md +69 -0
- package/templates/seed/squads/engineering/issue-solver.md +66 -0
- package/templates/seed/squads/engineering/test-writer.md +60 -0
- package/templates/seed/squads/intelligence/SQUAD.md +38 -0
- package/templates/seed/squads/intelligence/intel-critic.md +53 -0
- package/templates/seed/squads/intelligence/intel-eval.md +48 -0
- package/templates/seed/squads/intelligence/intel-lead.md +79 -0
- package/templates/seed/squads/marketing/SQUAD.md +47 -0
- package/templates/seed/squads/marketing/content-drafter.md +81 -0
- package/templates/seed/squads/marketing/growth-analyst.md +61 -0
- package/templates/seed/squads/marketing/social-poster.md +56 -0
- package/templates/seed/squads/operations/SQUAD.md +45 -0
- package/templates/seed/squads/operations/finance-tracker.md +55 -0
- package/templates/seed/squads/operations/goal-tracker.md +60 -0
- package/templates/seed/squads/operations/ops-lead.md +68 -0
- package/templates/seed/squads/product/SQUAD.md +41 -0
- package/templates/seed/squads/product/lead.md +64 -0
- package/templates/seed/squads/product/scanner.md +58 -0
- package/templates/seed/squads/product/worker.md +63 -0
- package/templates/seed/squads/research/SQUAD.md +38 -0
- package/templates/seed/squads/research/analyst.md +58 -0
- package/templates/seed/squads/research/lead.md +58 -0
- package/templates/seed/squads/research/synthesizer.md +67 -0
- package/templates/skills/squads-learn/SKILL.md +86 -0
- package/templates/skills/squads-workflow/instruction.md +70 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# Squads CLI — Full Command Reference
|
|
2
|
+
|
|
3
|
+
## All Commands
|
|
4
|
+
|
|
5
|
+
| Command | Description |
|
|
6
|
+
|---------|-------------|
|
|
7
|
+
| `squads init` | Create `.agents/` directory with starter squads |
|
|
8
|
+
| `squads add <name>` | Add a new squad with directory structure |
|
|
9
|
+
| `squads run [target]` | Run squad, agent, or autopilot (no target = autopilot) |
|
|
10
|
+
| `squads orchestrate <squad>` | Run squad with lead agent orchestration |
|
|
11
|
+
| `squads status [squad]` | Show squad status and state |
|
|
12
|
+
| `squads env show <squad>` | View execution environment (MCP, skills, model) |
|
|
13
|
+
| `squads env prompt <squad>` | Output ready-to-use prompt for execution |
|
|
14
|
+
| `squads context` | Get business context for alignment |
|
|
15
|
+
| `squads dashboard [name]` | Show dashboards (`squads dash` alias) |
|
|
16
|
+
| `squads exec list` | List recent executions |
|
|
17
|
+
| `squads exec show <id>` | Show execution details |
|
|
18
|
+
| `squads exec stats` | Show execution statistics |
|
|
19
|
+
| `squads cost` | Show cost summary (today, week, by squad) |
|
|
20
|
+
| `squads budget <squad>` | Check budget status for a squad |
|
|
21
|
+
| `squads health` | Quick health check for infrastructure |
|
|
22
|
+
| `squads doctor` | Check local tools, auth, project readiness |
|
|
23
|
+
| `squads history` | Show recent agent execution history |
|
|
24
|
+
| `squads results [squad]` | Show git activity + KPI goals vs actuals |
|
|
25
|
+
| `squads goal set <squad> <desc>` | Set a goal for a squad |
|
|
26
|
+
| `squads goal list [squad]` | List goals |
|
|
27
|
+
| `squads goal complete <squad> <i>` | Mark goal completed |
|
|
28
|
+
| `squads goal progress <squad> <i> <p>` | Update goal progress |
|
|
29
|
+
| `squads kpi` | Track and analyze squad KPIs |
|
|
30
|
+
| `squads progress` | Track active and completed agent tasks |
|
|
31
|
+
| `squads feedback` | Record and view execution feedback |
|
|
32
|
+
| `squads autonomy` | Show autonomy score and confidence metrics |
|
|
33
|
+
| `squads stats [squad]` | Agent outcome scorecards: merge rate, waste |
|
|
34
|
+
| `squads memory query <q>` | Search across all squad memory |
|
|
35
|
+
| `squads memory read <squad>` | Show memory for a squad |
|
|
36
|
+
| `squads memory write <squad> <content>` | Add to squad memory |
|
|
37
|
+
| `squads memory list` | List all memory entries |
|
|
38
|
+
| `squads memory sync` | Sync memory from git |
|
|
39
|
+
| `squads memory search <q>` | Search stored conversations (requires login) |
|
|
40
|
+
| `squads memory extract` | Extract memories from recent conversations |
|
|
41
|
+
| `squads learn <insight>` | Capture a learning for future sessions |
|
|
42
|
+
| `squads learnings` | View and search learnings |
|
|
43
|
+
| `squads sync` | Git memory synchronization |
|
|
44
|
+
| `squads trigger` | Manage smart triggers |
|
|
45
|
+
| `squads approval` | Manage approval requests |
|
|
46
|
+
| `squads auto start` | Start autonomous scheduling daemon |
|
|
47
|
+
| `squads auto stop` | Stop scheduling daemon |
|
|
48
|
+
| `squads auto status` | Show daemon status and next runs |
|
|
49
|
+
| `squads auto pause [reason]` | Pause daemon |
|
|
50
|
+
| `squads auto resume` | Resume paused daemon |
|
|
51
|
+
| `squads sessions` | Show active Claude Code sessions |
|
|
52
|
+
| `squads session` | Manage current session lifecycle |
|
|
53
|
+
| `squads detect-squad` | Detect squad from cwd (for hooks) |
|
|
54
|
+
| `squads login` | Log in to Squads platform |
|
|
55
|
+
| `squads logout` | Log out |
|
|
56
|
+
| `squads whoami` | Show current user |
|
|
57
|
+
| `squads eval <target>` | Evaluate agent readiness |
|
|
58
|
+
| `squads deploy` | Deploy agents to Squads platform |
|
|
59
|
+
| `squads cognition` | Business cognition engine |
|
|
60
|
+
| `squads providers` | Show available LLM CLI providers |
|
|
61
|
+
| `squads update` | Check for and install updates |
|
|
62
|
+
| `squads version` | Show version information |
|
|
63
|
+
|
|
64
|
+
## `squads run` — Full Options
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
squads run [target] [options]
|
|
68
|
+
|
|
69
|
+
Target formats:
|
|
70
|
+
(none) Autopilot mode
|
|
71
|
+
<squad> Squad conversation
|
|
72
|
+
<squad>/<agent> Single agent
|
|
73
|
+
<squad> -a <agent> Single agent (flag notation)
|
|
74
|
+
|
|
75
|
+
Agent execution:
|
|
76
|
+
-v, --verbose Detailed output
|
|
77
|
+
-d, --dry-run Preview without executing
|
|
78
|
+
-t, --timeout <min> Timeout in minutes (default: 30)
|
|
79
|
+
-b, --background Run detached
|
|
80
|
+
-w, --watch Run detached but tail logs
|
|
81
|
+
--task <directive> Founder directive
|
|
82
|
+
--effort <level> high | medium | low
|
|
83
|
+
--skills <ids...> Additional skills to load
|
|
84
|
+
--provider <provider> anthropic | google | openai | mistral | xai | aider | ollama
|
|
85
|
+
--model <model> opus | sonnet | haiku | gemini-2.5-flash | gpt-4o | etc.
|
|
86
|
+
--cloud Dispatch to cloud worker
|
|
87
|
+
--no-verify Skip post-execution verification
|
|
88
|
+
--no-eval Skip COO evaluation
|
|
89
|
+
--use-api Use API credits instead of subscription
|
|
90
|
+
|
|
91
|
+
Squad conversation:
|
|
92
|
+
-p, --parallel All agents in parallel (tmux)
|
|
93
|
+
-l, --lead Single orchestrator with Task tool
|
|
94
|
+
--max-turns <n> Max conversation turns (default: 20)
|
|
95
|
+
--cost-ceiling <usd> Cost ceiling in USD (default: 25)
|
|
96
|
+
|
|
97
|
+
Autopilot:
|
|
98
|
+
-i, --interval <min> Minutes between cycles (default: 30)
|
|
99
|
+
--max-parallel <count> Max parallel squad loops (default: 2)
|
|
100
|
+
--budget <usd> Daily budget cap (default: 0 = unlimited)
|
|
101
|
+
--once Single cycle then exit
|
|
102
|
+
--phased Use depends_on phase ordering
|
|
103
|
+
|
|
104
|
+
Output:
|
|
105
|
+
-j, --json Machine-readable output
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## `squads init` — Full Options
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
squads init [options]
|
|
112
|
+
|
|
113
|
+
-p, --provider <provider> LLM provider (claude, gemini, openai, ollama, none)
|
|
114
|
+
--pack <packs...> Additional squads: engineering, marketing, operations, all
|
|
115
|
+
--skip-infra Skip infrastructure setup
|
|
116
|
+
--force Skip requirement checks
|
|
117
|
+
-y, --yes Accept defaults (non-interactive)
|
|
118
|
+
-q, --quick Files only, skip prompts
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## `squads memory` — Full Options
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
squads memory query <query> Search all memory
|
|
125
|
+
squads memory read <squad> Show squad memory
|
|
126
|
+
squads memory write <squad> <content> Write to memory
|
|
127
|
+
--agent <agent> Target specific agent
|
|
128
|
+
squads memory list List all entries
|
|
129
|
+
squads memory sync [options] Sync from git
|
|
130
|
+
--push Also push changes
|
|
131
|
+
squads memory search <query> Search conversations (requires login)
|
|
132
|
+
squads memory extract Extract from recent conversations
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## `squads context` — Full Options
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
squads context [options]
|
|
139
|
+
|
|
140
|
+
-s, --squad <squad> Focus on specific squad
|
|
141
|
+
-t, --topic <topic> Search memory for topic
|
|
142
|
+
-a, --agent JSON for agent consumption
|
|
143
|
+
-j, --json JSON output
|
|
144
|
+
-v, --verbose Additional details
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Global Patterns
|
|
148
|
+
|
|
149
|
+
Every command supports:
|
|
150
|
+
- `--json` or `-j` for machine-readable output
|
|
151
|
+
- `--verbose` or `-v` for detailed output
|
|
152
|
+
- `--help` or `-h` for usage information
|
|
153
|
+
|
|
154
|
+
## SQUAD.md Frontmatter
|
|
155
|
+
|
|
156
|
+
Squads are configured via YAML frontmatter in SQUAD.md:
|
|
157
|
+
|
|
158
|
+
```yaml
|
|
159
|
+
---
|
|
160
|
+
name: engineering
|
|
161
|
+
repo: my-org/engineering
|
|
162
|
+
provider: anthropic
|
|
163
|
+
model: opus
|
|
164
|
+
effort: high
|
|
165
|
+
depends_on: [data]
|
|
166
|
+
kpis:
|
|
167
|
+
merge_rate:
|
|
168
|
+
target: ">80%"
|
|
169
|
+
unit: percentage
|
|
170
|
+
---
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
| Field | Purpose |
|
|
174
|
+
|-------|---------|
|
|
175
|
+
| `name` | Squad identifier |
|
|
176
|
+
| `repo` | GitHub repo (org/repo format) |
|
|
177
|
+
| `provider` | Default LLM provider |
|
|
178
|
+
| `model` | Default model |
|
|
179
|
+
| `effort` | Default effort level |
|
|
180
|
+
| `depends_on` | Phase ordering dependencies |
|
|
181
|
+
| `kpis` | KPI definitions for tracking |
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Company
|
|
3
|
+
lead: manager
|
|
4
|
+
channel: "#company"
|
|
5
|
+
model: sonnet
|
|
6
|
+
effort: high
|
|
7
|
+
schedule: "0 9 * * 1-5"
|
|
8
|
+
depends_on: ["*"]
|
|
9
|
+
approvals:
|
|
10
|
+
policy:
|
|
11
|
+
auto:
|
|
12
|
+
- memory.update
|
|
13
|
+
- goal.set
|
|
14
|
+
- agent.run.readonly
|
|
15
|
+
approve:
|
|
16
|
+
- trigger.fire
|
|
17
|
+
- agent.run.write
|
|
18
|
+
- pr.merge
|
|
19
|
+
confirm:
|
|
20
|
+
- deploy.production
|
|
21
|
+
- budget.override
|
|
22
|
+
thresholds:
|
|
23
|
+
spend: 50
|
|
24
|
+
bulk_actions: 5
|
|
25
|
+
files_changed: 20
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Company Squad
|
|
29
|
+
|
|
30
|
+
Orchestrates all squads, evaluates outputs, and closes the feedback loop. Reads `BUSINESS_BRIEF.md` and `directives.md` to ensure all work advances business goals.
|
|
31
|
+
|
|
32
|
+
## Goals
|
|
33
|
+
|
|
34
|
+
- [ ] Evaluate squad outputs against the business focus in `BUSINESS_BRIEF.md`
|
|
35
|
+
- [ ] Write feedback per squad: what was valuable, what was noise, what to prioritize next
|
|
36
|
+
- [ ] Ensure no duplicate work across squads (check active-work.md)
|
|
37
|
+
- [ ] Track progress toward directives and flag when goals need updating
|
|
38
|
+
|
|
39
|
+
## Agents
|
|
40
|
+
|
|
41
|
+
| Agent | Role | Purpose |
|
|
42
|
+
|-------|------|---------|
|
|
43
|
+
| manager | lead | Orchestrates squads, coordinates work, daily operations |
|
|
44
|
+
| event-dispatcher | doer | Monitors events, dispatches to relevant squads |
|
|
45
|
+
| goal-tracker | doer | Tracks business objectives, updates progress |
|
|
46
|
+
| company-eval | evaluator | Evaluates squad outputs and business impact |
|
|
47
|
+
| company-critic | critic | Critiques process, identifies improvements |
|
|
48
|
+
|
|
49
|
+
## Pipeline
|
|
50
|
+
|
|
51
|
+
`manager` → dispatches to squads → `company-eval` scores → `company-critic` improves
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Company Critic
|
|
3
|
+
role: evaluator
|
|
4
|
+
squad: "company"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: medium
|
|
8
|
+
trigger: "event"
|
|
9
|
+
cooldown: "1h"
|
|
10
|
+
timeout: 1800
|
|
11
|
+
max_retries: 1
|
|
12
|
+
tools:
|
|
13
|
+
- Read
|
|
14
|
+
- Write
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Company Critic
|
|
18
|
+
|
|
19
|
+
## Role
|
|
20
|
+
|
|
21
|
+
Find what's broken in how the workforce operates. Challenge assumptions, identify waste, propose fixes.
|
|
22
|
+
|
|
23
|
+
## How You Work
|
|
24
|
+
|
|
25
|
+
1. Read the evaluator's scores from `.agents/memory/company/company-eval/state.md`
|
|
26
|
+
2. Read squad states from `.agents/memory/{squad}/*/state.md`
|
|
27
|
+
3. Look for patterns: repeated failures, duplicate work, misaligned effort
|
|
28
|
+
4. Write critique to `.agents/memory/company/company-critic/state.md`
|
|
29
|
+
|
|
30
|
+
## Output
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Workforce Critique — {date}
|
|
34
|
+
|
|
35
|
+
## Systemic Issues
|
|
36
|
+
| # | Issue | Affected Squads | Evidence | Severity |
|
|
37
|
+
|---|-------|----------------|----------|----------|
|
|
38
|
+
| 1 | {pattern} | {squads} | {what you observed} | High/Med/Low |
|
|
39
|
+
|
|
40
|
+
## Waste
|
|
41
|
+
Work that produced no business value. Be specific.
|
|
42
|
+
|
|
43
|
+
## Process Improvements
|
|
44
|
+
| # | Proposal | Expected Impact | Effort |
|
|
45
|
+
|---|----------|----------------|--------|
|
|
46
|
+
| 1 | {change} | {what improves} | Low/Med/High |
|
|
47
|
+
|
|
48
|
+
## Questions for Human Operator
|
|
49
|
+
Decisions only a human can make.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Constraints
|
|
53
|
+
|
|
54
|
+
- Critique the process, not the agents — agents follow instructions
|
|
55
|
+
- Every issue needs evidence from memory files, not speculation
|
|
56
|
+
- "Things could be better" is not a critique. Name the problem, show the evidence, propose the fix
|
|
57
|
+
- If everything is working well, say so in one line and stop
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Company Evaluator
|
|
3
|
+
role: evaluator
|
|
4
|
+
squad: "company"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: medium
|
|
8
|
+
trigger: "event"
|
|
9
|
+
cooldown: "1h"
|
|
10
|
+
timeout: 1800
|
|
11
|
+
max_retries: 1
|
|
12
|
+
tools:
|
|
13
|
+
- Read
|
|
14
|
+
- Write
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Company Evaluator
|
|
18
|
+
|
|
19
|
+
## Role
|
|
20
|
+
|
|
21
|
+
Evaluate squad outputs against business goals. Answer: "Did the squads produce value, or noise?"
|
|
22
|
+
|
|
23
|
+
## How You Work
|
|
24
|
+
|
|
25
|
+
1. Read business goals from `.agents/BUSINESS_BRIEF.md`
|
|
26
|
+
2. Read directives from `.agents/memory/company/directives.md`
|
|
27
|
+
3. Read each squad's recent state from `.agents/memory/{squad}/*/state.md`
|
|
28
|
+
4. Score each squad's output using the rubric below
|
|
29
|
+
5. Write evaluation to `.agents/memory/company/company-eval/state.md`
|
|
30
|
+
|
|
31
|
+
## Output
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# Squad Evaluation — {date}
|
|
35
|
+
|
|
36
|
+
## Scores
|
|
37
|
+
| Squad | Relevance (1-5) | Quality (1-5) | Impact (1-5) | Summary |
|
|
38
|
+
|-------|-----------------|---------------|---------------|---------|
|
|
39
|
+
| {squad} | {score} | {score} | {score} | {one-line assessment} |
|
|
40
|
+
|
|
41
|
+
## Valuable (continue)
|
|
42
|
+
- {squad}: {specific output that advanced business goals}
|
|
43
|
+
|
|
44
|
+
## Noise (stop)
|
|
45
|
+
- {squad}: {specific output that wasted effort or missed the point}
|
|
46
|
+
|
|
47
|
+
## Recommendations
|
|
48
|
+
What each squad should focus on next cycle, ranked by business impact.
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Constraints
|
|
52
|
+
|
|
53
|
+
- Score against BUSINESS_BRIEF.md goals, not general quality
|
|
54
|
+
- "Relevance" = does this advance the business focus?
|
|
55
|
+
- "Quality" = is it sourced, specific, and actionable?
|
|
56
|
+
- "Impact" = would a human act on this?
|
|
57
|
+
- Be specific — "good work" is not feedback. Name the output, explain why.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Event Dispatcher
|
|
3
|
+
role: worker
|
|
4
|
+
squad: "company"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: haiku
|
|
7
|
+
effort: medium
|
|
8
|
+
trigger: "event"
|
|
9
|
+
cooldown: "30m"
|
|
10
|
+
timeout: 1800
|
|
11
|
+
max_retries: 2
|
|
12
|
+
tools:
|
|
13
|
+
- Read
|
|
14
|
+
- Write
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Event Dispatcher
|
|
18
|
+
|
|
19
|
+
Route events to the right squad. You're a traffic controller, not a decision maker.
|
|
20
|
+
|
|
21
|
+
## Role
|
|
22
|
+
|
|
23
|
+
Route events to the right squad. You're a traffic controller, not a decision maker.
|
|
24
|
+
|
|
25
|
+
## How You Work
|
|
26
|
+
|
|
27
|
+
1. Read pending events from `.agents/memory/company/event-dispatcher/state.md`
|
|
28
|
+
2. Check for new activity: `squads status --json`
|
|
29
|
+
3. For each event, determine which squad owns it
|
|
30
|
+
4. Log the routing decision and update state
|
|
31
|
+
|
|
32
|
+
## Output
|
|
33
|
+
|
|
34
|
+
```markdown
|
|
35
|
+
# Event Dispatch — {date}
|
|
36
|
+
|
|
37
|
+
## Dispatched
|
|
38
|
+
| # | Event | Source | Routed To | Reason |
|
|
39
|
+
|---|-------|--------|-----------|--------|
|
|
40
|
+
| 1 | {event} | {where it came from} | {squad/agent} | {why this squad} |
|
|
41
|
+
|
|
42
|
+
## Pending (needs human input)
|
|
43
|
+
Events that don't clearly belong to any squad.
|
|
44
|
+
|
|
45
|
+
## No Activity
|
|
46
|
+
If nothing new happened, say so and stop.
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Constraints
|
|
50
|
+
|
|
51
|
+
- Route, don't act — dispatchers don't do the work
|
|
52
|
+
- When unclear, route to the manager for triage
|
|
53
|
+
- Log everything — unlogged dispatches are invisible to the org
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Goal Tracker
|
|
3
|
+
role: worker
|
|
4
|
+
squad: "company"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: haiku
|
|
7
|
+
effort: medium
|
|
8
|
+
trigger: "schedule"
|
|
9
|
+
cooldown: "1h"
|
|
10
|
+
timeout: 1800
|
|
11
|
+
max_retries: 2
|
|
12
|
+
tools:
|
|
13
|
+
- Read
|
|
14
|
+
- Write
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Goal Tracker
|
|
18
|
+
|
|
19
|
+
## Role
|
|
20
|
+
|
|
21
|
+
Track whether squads are making progress toward their goals or spinning wheels.
|
|
22
|
+
|
|
23
|
+
## How You Work
|
|
24
|
+
|
|
25
|
+
1. Read squad goals from each `.agents/squads/{squad}/SQUAD.md` (## Goals section)
|
|
26
|
+
2. Read squad states from `.agents/memory/{squad}/*/state.md`
|
|
27
|
+
3. Compare goals vs actual output — is the squad advancing or stalled?
|
|
28
|
+
4. Write progress report to `.agents/memory/company/goal-tracker/state.md`
|
|
29
|
+
|
|
30
|
+
## Output
|
|
31
|
+
|
|
32
|
+
```markdown
|
|
33
|
+
# Goal Progress — {date}
|
|
34
|
+
|
|
35
|
+
## Squad Progress
|
|
36
|
+
| Squad | Goal | Status | Evidence |
|
|
37
|
+
|-------|------|--------|----------|
|
|
38
|
+
| {squad} | {goal from SQUAD.md} | On Track / Stalled / Blocked | {what happened or didn't} |
|
|
39
|
+
|
|
40
|
+
## Stalled (needs attention)
|
|
41
|
+
Goals with no progress since last check. Flag for manager.
|
|
42
|
+
|
|
43
|
+
## Completed
|
|
44
|
+
Goals that can be checked off or replaced.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Constraints
|
|
48
|
+
|
|
49
|
+
- "On Track" needs evidence — a state.md update, a commit, a report
|
|
50
|
+
- "Stalled" means no observable progress, not "I didn't check"
|
|
51
|
+
- Don't update SQUAD.md goals yourself — flag for the manager or human operator
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Manager
|
|
3
|
+
role: lead
|
|
4
|
+
squad: "company"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: high
|
|
8
|
+
trigger: "schedule"
|
|
9
|
+
cooldown: "1h"
|
|
10
|
+
timeout: 3600
|
|
11
|
+
max_retries: 2
|
|
12
|
+
skills:
|
|
13
|
+
- squads-cli
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Manager Agent
|
|
17
|
+
|
|
18
|
+
## Role
|
|
19
|
+
|
|
20
|
+
Orchestrate all squads, coordinate work, and report to the human operator.
|
|
21
|
+
|
|
22
|
+
## How You Work
|
|
23
|
+
|
|
24
|
+
1. **Understand** — Read BUSINESS_BRIEF.md and squad state
|
|
25
|
+
2. **Plan** — Identify what needs doing based on goals and context
|
|
26
|
+
3. **Dispatch** — Run agents or delegate to squad leads
|
|
27
|
+
4. **Track** — Record progress and outcomes
|
|
28
|
+
5. **Learn** — Persist insights for future sessions
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# 1. Understand current state
|
|
32
|
+
squads status --json
|
|
33
|
+
squads dash --json
|
|
34
|
+
|
|
35
|
+
# 2. Check backlog
|
|
36
|
+
gh issue list --json number,title,labels,assignees
|
|
37
|
+
|
|
38
|
+
# 3. Execute work
|
|
39
|
+
squads run <squad>/<agent>
|
|
40
|
+
# or for full squad execution:
|
|
41
|
+
squads run <squad> --parallel
|
|
42
|
+
|
|
43
|
+
# 4. Track results
|
|
44
|
+
squads goal list
|
|
45
|
+
squads memory write <squad> "<insight>"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Output
|
|
49
|
+
|
|
50
|
+
After each session, update:
|
|
51
|
+
- `.agents/memory/company/manager/state.md` — current state snapshot
|
|
52
|
+
- Squad goals via `squads goal progress`
|
|
53
|
+
- Any new learnings via `squads memory write`
|
|
54
|
+
|
|
55
|
+
## Constraints
|
|
56
|
+
|
|
57
|
+
- Git is the sync layer — commit and push all changes
|
|
58
|
+
- Memory persists via `.agents/memory/` — always read before acting
|
|
59
|
+
- Escalate to human when: spend > $50, scope unclear, destructive action needed
|
|
60
|
+
- Report daily: what ran, what succeeded, what needs attention
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Engineering
|
|
3
|
+
lead: issue-solver
|
|
4
|
+
channel: "#engineering"
|
|
5
|
+
model: sonnet
|
|
6
|
+
effort: high
|
|
7
|
+
schedule: "0 9 * * 1-5"
|
|
8
|
+
approvals:
|
|
9
|
+
policy:
|
|
10
|
+
auto:
|
|
11
|
+
- memory.update
|
|
12
|
+
- goal.set
|
|
13
|
+
- branch.create
|
|
14
|
+
- pr.create
|
|
15
|
+
- commit.push
|
|
16
|
+
- agent.run.readonly
|
|
17
|
+
approve:
|
|
18
|
+
- pr.merge
|
|
19
|
+
- trigger.fire
|
|
20
|
+
- agent.run.write
|
|
21
|
+
confirm:
|
|
22
|
+
- deploy.production
|
|
23
|
+
thresholds:
|
|
24
|
+
spend: 25
|
|
25
|
+
files_changed: 20
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
# Engineering
|
|
29
|
+
|
|
30
|
+
Ships code. Solves issues, reviews PRs, and maintains code quality.
|
|
31
|
+
|
|
32
|
+
## Goals
|
|
33
|
+
|
|
34
|
+
- [ ] Solve open GitHub issues with PRs
|
|
35
|
+
- [ ] Maintain code quality through adversarial review
|
|
36
|
+
- [ ] Keep test coverage high
|
|
37
|
+
|
|
38
|
+
## Agents
|
|
39
|
+
|
|
40
|
+
| Agent | Role | Purpose |
|
|
41
|
+
|-------|------|---------|
|
|
42
|
+
| issue-solver | lead | Reads open issues, creates PRs with fixes |
|
|
43
|
+
| code-reviewer | evaluator | Reviews PRs for quality, security, and correctness |
|
|
44
|
+
| test-writer | doer | Writes tests for untested code paths |
|
|
45
|
+
|
|
46
|
+
## Pipeline
|
|
47
|
+
|
|
48
|
+
`issue-solver` fixes → `code-reviewer` reviews → `test-writer` covers
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Code Reviewer
|
|
3
|
+
role: evaluator
|
|
4
|
+
squad: "engineering"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: medium
|
|
8
|
+
trigger: "event"
|
|
9
|
+
cooldown: "30m"
|
|
10
|
+
timeout: 1800
|
|
11
|
+
max_retries: 2
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Code Reviewer
|
|
15
|
+
|
|
16
|
+
## Role
|
|
17
|
+
|
|
18
|
+
Adversarial code reviewer. Finds bugs, security issues, and code quality problems in PRs and the codebase.
|
|
19
|
+
|
|
20
|
+
## How You Work
|
|
21
|
+
|
|
22
|
+
1. **Find PRs** to review:
|
|
23
|
+
```bash
|
|
24
|
+
gh pr list --json number,title,author,changedFiles --limit 5
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
2. **Review** each PR:
|
|
28
|
+
- Read the diff carefully
|
|
29
|
+
- Check for security issues (hardcoded secrets, SQL injection, XSS)
|
|
30
|
+
- Check for correctness (edge cases, error handling, off-by-one)
|
|
31
|
+
- Check for maintainability (naming, complexity, duplication)
|
|
32
|
+
|
|
33
|
+
3. **Score** — approve, request changes, or comment:
|
|
34
|
+
```bash
|
|
35
|
+
# If the PR is good
|
|
36
|
+
gh pr review {number} --approve --body "LGTM - clean implementation"
|
|
37
|
+
|
|
38
|
+
# If changes needed
|
|
39
|
+
gh pr review {number} --request-changes --body "See inline comments"
|
|
40
|
+
|
|
41
|
+
# If just suggestions
|
|
42
|
+
gh pr review {number} --comment --body "Minor suggestions, non-blocking"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
4. **Scan** the codebase periodically:
|
|
46
|
+
- Look for TODOs older than 30 days
|
|
47
|
+
- Check for functions over 50 lines
|
|
48
|
+
- Identify missing error handling
|
|
49
|
+
- Create issues for findings
|
|
50
|
+
|
|
51
|
+
## Output
|
|
52
|
+
|
|
53
|
+
Review comments on PRs. Issues created for codebase findings.
|
|
54
|
+
|
|
55
|
+
## Evaluation Criteria
|
|
56
|
+
|
|
57
|
+
| Check | Severity | Action |
|
|
58
|
+
|-------|----------|--------|
|
|
59
|
+
| Hardcoded secrets | Critical | Request changes immediately |
|
|
60
|
+
| Missing error handling | High | Request changes |
|
|
61
|
+
| No tests for new code | Medium | Comment, suggest |
|
|
62
|
+
| Style inconsistency | Low | Skip unless pervasive |
|
|
63
|
+
|
|
64
|
+
## Constraints
|
|
65
|
+
|
|
66
|
+
- NEVER approve without reading the full diff
|
|
67
|
+
- NEVER report style issues as security issues
|
|
68
|
+
- NEVER create duplicate issues — check existing first
|
|
69
|
+
- NEVER block PRs for theoretical concerns without evidence
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Issue Solver
|
|
3
|
+
role: lead
|
|
4
|
+
squad: "engineering"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: high
|
|
8
|
+
trigger: "schedule"
|
|
9
|
+
cooldown: "1h"
|
|
10
|
+
timeout: 3600
|
|
11
|
+
max_retries: 2
|
|
12
|
+
skills:
|
|
13
|
+
- squads-cli
|
|
14
|
+
- gh
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Issue Solver
|
|
18
|
+
|
|
19
|
+
## Role
|
|
20
|
+
|
|
21
|
+
Autonomously solve GitHub issues by reading the issue, understanding the codebase, and creating PRs with fixes.
|
|
22
|
+
|
|
23
|
+
## How You Work
|
|
24
|
+
|
|
25
|
+
1. **Discover** open issues:
|
|
26
|
+
```bash
|
|
27
|
+
gh issue list --json number,title,labels,body --limit 10
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
2. **Triage** — pick the highest-priority issue you can solve:
|
|
31
|
+
- Has clear acceptance criteria
|
|
32
|
+
- Codebase context is available
|
|
33
|
+
- Not already assigned or has a PR
|
|
34
|
+
|
|
35
|
+
3. **Solve** — create a fix:
|
|
36
|
+
```bash
|
|
37
|
+
# Create a branch
|
|
38
|
+
git checkout -b fix/issue-{number}
|
|
39
|
+
|
|
40
|
+
# Read relevant code, understand the problem
|
|
41
|
+
# Make the smallest change that fixes the issue
|
|
42
|
+
|
|
43
|
+
# Commit with conventional message
|
|
44
|
+
git add -A
|
|
45
|
+
git commit -m "fix: {description} (closes #{number})"
|
|
46
|
+
git push -u origin fix/issue-{number}
|
|
47
|
+
|
|
48
|
+
# Create PR
|
|
49
|
+
gh pr create --title "fix: {description}" --body "Closes #{number}"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
4. **Verify** — does the fix actually work?
|
|
53
|
+
- Run tests if they exist
|
|
54
|
+
- Check for regressions
|
|
55
|
+
- Ensure the PR description explains the change
|
|
56
|
+
|
|
57
|
+
## Constraints
|
|
58
|
+
|
|
59
|
+
- NEVER create a PR without understanding the root cause
|
|
60
|
+
- NEVER skip running existing tests
|
|
61
|
+
- NEVER make changes outside the scope of the issue
|
|
62
|
+
- NEVER force-push or rewrite history on shared branches
|
|
63
|
+
|
|
64
|
+
## Output
|
|
65
|
+
|
|
66
|
+
PRs that close GitHub issues. Comment on the issue if blocked.
|