squads-cli 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +161 -4
  2. package/dist/{chunk-HKWCBCEK.js → chunk-4CMAEQQY.js} +6 -2
  3. package/dist/chunk-4CMAEQQY.js.map +1 -0
  4. package/dist/{chunk-NA3IECJA.js → chunk-N7KDWU4W.js} +155 -58
  5. package/dist/chunk-N7KDWU4W.js.map +1 -0
  6. package/dist/{chunk-7PRYDHZW.js → chunk-NHGLXN2F.js} +8 -6
  7. package/dist/chunk-NHGLXN2F.js.map +1 -0
  8. package/dist/{chunk-QPH5OR7J.js → chunk-O7UV3FWI.js} +139 -21
  9. package/dist/chunk-O7UV3FWI.js.map +1 -0
  10. package/dist/{chunk-BV6S5AWZ.js → chunk-ZTQ7ISUR.js} +28 -109
  11. package/dist/chunk-ZTQ7ISUR.js.map +1 -0
  12. package/dist/cli.js +5493 -7665
  13. package/dist/cli.js.map +1 -1
  14. package/dist/index.d.ts +110 -2
  15. package/dist/index.js +302 -26
  16. package/dist/index.js.map +1 -1
  17. package/dist/{memory-ZXDXF6KF.js → memory-VNF2VFRB.js} +2 -2
  18. package/dist/{sessions-F6LRY7EN.js → sessions-6PB7ALCE.js} +3 -3
  19. package/dist/{squad-parser-MSYE4PXL.js → squad-parser-4BI3G4RS.js} +4 -2
  20. package/dist/templates/seed/BUSINESS_BRIEF.md.template +27 -0
  21. package/dist/templates/seed/CLAUDE.md.template +69 -0
  22. package/dist/templates/seed/config/provider.yaml +4 -0
  23. package/dist/templates/seed/hooks/settings.json.template +31 -0
  24. package/dist/templates/seed/memory/company/manager/state.md +16 -0
  25. package/dist/templates/seed/memory/engineering/issue-solver/state.md +12 -0
  26. package/dist/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
  27. package/dist/templates/seed/memory/marketing/content-drafter/state.md +12 -0
  28. package/dist/templates/seed/memory/operations/ops-lead/state.md +12 -0
  29. package/dist/templates/seed/memory/research/researcher/state.md +10 -0
  30. package/dist/templates/seed/skills/gh/SKILL.md +57 -0
  31. package/dist/templates/seed/skills/squads-cli/SKILL.md +88 -0
  32. package/dist/templates/seed/squads/company/SQUAD.md +49 -0
  33. package/dist/templates/seed/squads/company/company-critic.md +21 -0
  34. package/dist/templates/seed/squads/company/company-eval.md +21 -0
  35. package/dist/templates/seed/squads/company/event-dispatcher.md +21 -0
  36. package/dist/templates/seed/squads/company/goal-tracker.md +21 -0
  37. package/dist/templates/seed/squads/company/manager.md +66 -0
  38. package/dist/templates/seed/squads/engineering/SQUAD.md +48 -0
  39. package/dist/templates/seed/squads/engineering/code-reviewer.md +57 -0
  40. package/dist/templates/seed/squads/engineering/issue-solver.md +58 -0
  41. package/dist/templates/seed/squads/engineering/test-writer.md +50 -0
  42. package/dist/templates/seed/squads/intelligence/SQUAD.md +37 -0
  43. package/dist/templates/seed/squads/intelligence/intel-critic.md +36 -0
  44. package/dist/templates/seed/squads/intelligence/intel-eval.md +31 -0
  45. package/dist/templates/seed/squads/intelligence/intel-lead.md +71 -0
  46. package/dist/templates/seed/squads/marketing/SQUAD.md +47 -0
  47. package/dist/templates/seed/squads/marketing/content-drafter.md +71 -0
  48. package/dist/templates/seed/squads/marketing/growth-analyst.md +49 -0
  49. package/dist/templates/seed/squads/marketing/social-poster.md +44 -0
  50. package/dist/templates/seed/squads/operations/SQUAD.md +45 -0
  51. package/dist/templates/seed/squads/operations/finance-tracker.md +47 -0
  52. package/dist/templates/seed/squads/operations/goal-tracker.md +48 -0
  53. package/dist/templates/seed/squads/operations/ops-lead.md +58 -0
  54. package/dist/templates/seed/squads/research/SQUAD.md +38 -0
  55. package/dist/templates/seed/squads/research/analyst.md +27 -0
  56. package/dist/templates/seed/squads/research/research-critic.md +20 -0
  57. package/dist/templates/seed/squads/research/research-eval.md +20 -0
  58. package/dist/templates/seed/squads/research/researcher.md +28 -0
  59. package/dist/{terminal-JZSAQSN7.js → terminal-YKA4O5CX.js} +4 -2
  60. package/dist/{update-MAY6EXFQ.js → update-ALJKFFM7.js} +3 -2
  61. package/package.json +8 -21
  62. package/templates/seed/BUSINESS_BRIEF.md.template +27 -0
  63. package/templates/seed/CLAUDE.md.template +69 -0
  64. package/templates/seed/config/provider.yaml +4 -0
  65. package/templates/seed/hooks/settings.json.template +31 -0
  66. package/templates/seed/memory/company/manager/state.md +16 -0
  67. package/templates/seed/memory/engineering/issue-solver/state.md +12 -0
  68. package/templates/seed/memory/intelligence/intel-lead/state.md +9 -0
  69. package/templates/seed/memory/marketing/content-drafter/state.md +12 -0
  70. package/templates/seed/memory/operations/ops-lead/state.md +12 -0
  71. package/templates/seed/memory/research/researcher/state.md +10 -0
  72. package/templates/seed/skills/gh/SKILL.md +57 -0
  73. package/templates/seed/skills/squads-cli/SKILL.md +88 -0
  74. package/templates/seed/squads/company/SQUAD.md +49 -0
  75. package/templates/seed/squads/company/company-critic.md +21 -0
  76. package/templates/seed/squads/company/company-eval.md +21 -0
  77. package/templates/seed/squads/company/event-dispatcher.md +21 -0
  78. package/templates/seed/squads/company/goal-tracker.md +21 -0
  79. package/templates/seed/squads/company/manager.md +66 -0
  80. package/templates/seed/squads/engineering/SQUAD.md +48 -0
  81. package/templates/seed/squads/engineering/code-reviewer.md +57 -0
  82. package/templates/seed/squads/engineering/issue-solver.md +58 -0
  83. package/templates/seed/squads/engineering/test-writer.md +50 -0
  84. package/templates/seed/squads/intelligence/SQUAD.md +37 -0
  85. package/templates/seed/squads/intelligence/intel-critic.md +36 -0
  86. package/templates/seed/squads/intelligence/intel-eval.md +31 -0
  87. package/templates/seed/squads/intelligence/intel-lead.md +71 -0
  88. package/templates/seed/squads/marketing/SQUAD.md +47 -0
  89. package/templates/seed/squads/marketing/content-drafter.md +71 -0
  90. package/templates/seed/squads/marketing/growth-analyst.md +49 -0
  91. package/templates/seed/squads/marketing/social-poster.md +44 -0
  92. package/templates/seed/squads/operations/SQUAD.md +45 -0
  93. package/templates/seed/squads/operations/finance-tracker.md +47 -0
  94. package/templates/seed/squads/operations/goal-tracker.md +48 -0
  95. package/templates/seed/squads/operations/ops-lead.md +58 -0
  96. package/templates/seed/squads/research/SQUAD.md +38 -0
  97. package/templates/seed/squads/research/analyst.md +27 -0
  98. package/templates/seed/squads/research/research-critic.md +20 -0
  99. package/templates/seed/squads/research/research-eval.md +20 -0
  100. package/templates/seed/squads/research/researcher.md +28 -0
  101. package/dist/chunk-7PRYDHZW.js.map +0 -1
  102. package/dist/chunk-BV6S5AWZ.js.map +0 -1
  103. package/dist/chunk-HKWCBCEK.js.map +0 -1
  104. package/dist/chunk-NA3IECJA.js.map +0 -1
  105. package/dist/chunk-QPH5OR7J.js.map +0 -1
  106. package/docker/.env.example +0 -17
  107. package/docker/README.md +0 -92
  108. package/docker/docker-compose.engram.yml +0 -304
  109. package/docker/docker-compose.yml +0 -250
  110. package/docker/init-db.sql +0 -478
  111. package/docker/init-engram-db.sql +0 -148
  112. package/docker/init-langfuse-db.sh +0 -10
  113. package/docker/otel-collector.yaml +0 -34
  114. package/docker/squads-bridge/Dockerfile +0 -14
  115. package/docker/squads-bridge/Dockerfile.proxy +0 -14
  116. package/docker/squads-bridge/anthropic_proxy.py +0 -313
  117. package/docker/squads-bridge/requirements.txt +0 -7
  118. package/docker/squads-bridge/squads_bridge.py +0 -2299
  119. package/docker/telemetry-ping/Dockerfile +0 -10
  120. package/docker/telemetry-ping/deploy.sh +0 -69
  121. package/docker/telemetry-ping/main.py +0 -136
  122. package/docker/telemetry-ping/requirements.txt +0 -3
  123. /package/dist/{memory-ZXDXF6KF.js.map → memory-VNF2VFRB.js.map} +0 -0
  124. /package/dist/{sessions-F6LRY7EN.js.map → sessions-6PB7ALCE.js.map} +0 -0
  125. /package/dist/{squad-parser-MSYE4PXL.js.map → squad-parser-4BI3G4RS.js.map} +0 -0
  126. /package/dist/{terminal-JZSAQSN7.js.map → terminal-YKA4O5CX.js.map} +0 -0
  127. /package/dist/{update-MAY6EXFQ.js.map → update-ALJKFFM7.js.map} +0 -0
@@ -0,0 +1,31 @@
1
+ {
2
+ "hooks": {
3
+ "SessionStart": [
4
+ {
5
+ "hooks": [
6
+ {
7
+ "type": "command",
8
+ "command": "squads status",
9
+ "timeout": 10
10
+ },
11
+ {
12
+ "type": "command",
13
+ "command": "squads memory sync --no-push",
14
+ "timeout": 15
15
+ }
16
+ ]
17
+ }
18
+ ],
19
+ "Stop": [
20
+ {
21
+ "hooks": [
22
+ {
23
+ "type": "command",
24
+ "command": "squads memory sync --push",
25
+ "timeout": 15
26
+ }
27
+ ]
28
+ }
29
+ ]
30
+ }
31
+ }
@@ -0,0 +1,16 @@
1
+ # Manager State
2
+
3
+ ## Last Run
4
+ Never — awaiting first execution.
5
+
6
+ ## Business Understanding
7
+ Pending — will be populated after reading BUSINESS_BRIEF.md.
8
+
9
+ ## Active Squads
10
+ - company (5 agents)
11
+ - research (4 agents)
12
+
13
+ ## Priorities
14
+ 1. Read and understand business context
15
+ 2. Run initial research
16
+ 3. Establish operational rhythm
@@ -0,0 +1,12 @@
1
+ # Issue Solver State
2
+
3
+ ## Last Run
4
+ Never — awaiting first execution.
5
+
6
+ ## Issues Solved
7
+ None yet.
8
+
9
+ ## Priorities
10
+ 1. Check for open GitHub issues
11
+ 2. Pick highest-priority solvable issue
12
+ 3. Create a PR with the fix
@@ -0,0 +1,9 @@
1
+ # Intel Lead - State
2
+
3
+ > Updated: never
4
+
5
+ ## Last Brief
6
+ No briefs produced yet. First run pending.
7
+
8
+ ## Coverage
9
+ No topics covered yet.
@@ -0,0 +1,12 @@
1
+ # Content Drafter State
2
+
3
+ ## Last Run
4
+ Never — awaiting first execution.
5
+
6
+ ## Drafts Created
7
+ None yet.
8
+
9
+ ## Priorities
10
+ 1. Read business brief for context
11
+ 2. Draft first piece of content
12
+ 3. Establish content rhythm
@@ -0,0 +1,12 @@
1
+ # Ops Lead State
2
+
3
+ ## Last Run
4
+ Never — awaiting first execution.
5
+
6
+ ## Squads Observed
7
+ None yet.
8
+
9
+ ## Priorities
10
+ 1. Read all squad states
11
+ 2. Identify what needs founder attention
12
+ 3. Establish daily briefing rhythm
@@ -0,0 +1,10 @@
1
+ # Researcher State
2
+
3
+ ## Last Run
4
+ Never — awaiting first execution.
5
+
6
+ ## Research Focus
7
+ Pending — will be set by manager after reading BUSINESS_BRIEF.md.
8
+
9
+ ## Findings
10
+ None yet.
@@ -0,0 +1,57 @@
1
+ # gh — GitHub CLI Operations
2
+
3
+ You have access to `gh` (GitHub CLI) for repository and project management.
4
+
5
+ ## Issues
6
+
7
+ ```bash
8
+ gh issue list # List open issues
9
+ gh issue list --label "bug" # Filter by label
10
+ gh issue view <number> # View issue details
11
+ gh issue create --title "..." --body "..." # Create issue
12
+ gh issue close <number> # Close issue
13
+ gh issue comment <number> --body "..." # Add comment
14
+ ```
15
+
16
+ ## Pull Requests
17
+
18
+ ```bash
19
+ gh pr list # List open PRs
20
+ gh pr view <number> # View PR details
21
+ gh pr create --title "..." --body "..." # Create PR
22
+ gh pr merge <number> # Merge PR
23
+ gh pr review <number> --approve # Approve PR
24
+ gh pr checks <number> # View CI status
25
+ gh pr diff <number> # View PR diff
26
+ ```
27
+
28
+ ## Repository
29
+
30
+ ```bash
31
+ gh repo view # View repo info
32
+ gh repo clone <owner/repo> # Clone repo
33
+ gh api repos/<owner>/<repo> # Raw API access
34
+ ```
35
+
36
+ ## Workflow Runs
37
+
38
+ ```bash
39
+ gh run list # List recent runs
40
+ gh run view <id> # View run details
41
+ gh run watch <id> # Watch run in progress
42
+ ```
43
+
44
+ ## Search
45
+
46
+ ```bash
47
+ gh search repos "<query>" # Search repos
48
+ gh search issues "<query>" # Search issues
49
+ gh search prs "<query>" # Search PRs
50
+ ```
51
+
52
+ ## Best Practices
53
+
54
+ - **Check before creating**: Search existing issues/PRs before creating duplicates
55
+ - **Use labels**: Filter and organize with labels
56
+ - **Link issues**: Reference issues in PR descriptions with `Fixes #N`
57
+ - **Review CI**: Always check `gh pr checks` before merging
@@ -0,0 +1,88 @@
1
+ # squads-cli — Operations Manual
2
+
3
+ You have access to the `squads` CLI for managing your AI workforce.
4
+
5
+ ## Execute (Daily Operations)
6
+
7
+ ```bash
8
+ squads run <squad>/<agent> # Execute a specific agent
9
+ squads run <squad> --lead # Orchestrate full squad
10
+ squads run <squad> --parallel # Run all agents in parallel
11
+ squads list # Discover squads and agents
12
+ squads exec list # Recent execution history
13
+ squads exec stats # Execution statistics
14
+ squads orchestrate <squad> # Multi-agent coordination
15
+ squads env prompt <squad> -a <agent> # Get agent prompt
16
+ ```
17
+
18
+ ## Understand (Situational Awareness)
19
+
20
+ ```bash
21
+ squads dash --json # Full dashboard (use --json for parsing)
22
+ squads status [squad] # Quick status snapshot
23
+ squads context --json # Business context feed
24
+ squads cost # Cost tracking
25
+ squads budget <squad> # Budget check
26
+ squads health # Infrastructure health
27
+ squads history # Execution patterns
28
+ squads results [squad] # Squad output + KPIs
29
+ ```
30
+
31
+ ## Track (Objectives + Metrics)
32
+
33
+ ```bash
34
+ squads goal set <squad> "<goal>" # Set a business objective
35
+ squads goal list [squad] # List goals
36
+ squads goal progress <squad> <n> "<update>" # Update progress
37
+ squads goal complete <squad> <n> # Mark goal done
38
+ squads kpi list # List all KPIs
39
+ squads kpi show <squad> # Squad KPIs
40
+ squads kpi record <squad> <kpi> <value> # Record metric
41
+ squads kpi trend <squad> <kpi> # Show trend
42
+ squads feedback add <squad> <1-5> "<feedback>" # Rate output
43
+ squads autonomy # Self-assessment
44
+ ```
45
+
46
+ ## Learn (Memory + Knowledge)
47
+
48
+ ```bash
49
+ squads memory read <squad> # Load squad memory
50
+ squads memory write <squad> "<insight>" # Persist learning
51
+ squads memory search "<query>" # Search all memory
52
+ squads memory list # List all entries
53
+ squads learn "<insight>" # Capture learning
54
+ squads learnings show <squad> # View learnings
55
+ squads sync --push # Sync memory to git
56
+ ```
57
+
58
+ ## Schedule (Automation)
59
+
60
+ ```bash
61
+ squads trigger list # View triggers
62
+ squads trigger fire <squad> # Manual trigger
63
+ squads autonomous start # Start scheduler
64
+ squads approval list # Check pending approvals
65
+ ```
66
+
67
+ ## Decision Framework
68
+
69
+ - **Read before act**: Always `squads context --json` or `squads memory read` first
70
+ - **Track everything**: Use `goal progress`, `kpi record`, `feedback add`
71
+ - **Persist learnings**: `squads memory write` after discoveries
72
+ - **Use JSON**: Add `--json` when parsing output programmatically
73
+ - **Escalate wisely**: High cost or unclear scope → ask the human
74
+
75
+ ## JSON Output
76
+
77
+ All key commands support `--json` for structured output:
78
+ ```json
79
+ {
80
+ "ok": true,
81
+ "command": "status",
82
+ "data": { ... },
83
+ "error": null,
84
+ "meta": { "duration_ms": 1230, "connected": true }
85
+ }
86
+ ```
87
+
88
+ When piped (non-TTY), commands auto-output JSON.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: Company Operations
3
+ lead: manager
4
+ channel: "#company"
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
+ - agent.run.readonly
14
+ approve:
15
+ - trigger.fire
16
+ - agent.run.write
17
+ - pr.merge
18
+ confirm:
19
+ - deploy.production
20
+ - budget.override
21
+ thresholds:
22
+ spend: 50
23
+ bulk_actions: 5
24
+ files_changed: 20
25
+ ---
26
+
27
+ # Company Operations
28
+
29
+ Manages the AI workforce. The manager agent orchestrates all squads, coordinates leads, and runs daily operations.
30
+
31
+ ## Goals
32
+
33
+ - [ ] Understand business context and set up initial squads
34
+ - [ ] Establish daily operational rhythm
35
+ - [ ] Track and report on business objectives
36
+
37
+ ## Agents
38
+
39
+ | Agent | Role | Purpose |
40
+ |-------|------|---------|
41
+ | manager | lead | Orchestrates squads, coordinates work, daily operations |
42
+ | event-dispatcher | doer | Monitors events, dispatches to relevant squads |
43
+ | goal-tracker | doer | Tracks business objectives, updates progress |
44
+ | company-eval | evaluator | Evaluates squad outputs and business impact |
45
+ | company-critic | critic | Critiques process, identifies improvements |
46
+
47
+ ## Pipeline
48
+
49
+ `manager` → dispatches to squads → `company-eval` scores → `company-critic` improves
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Company Critic
3
+ role: critic
4
+ model: sonnet
5
+ effort: medium
6
+ ---
7
+
8
+ # Company Critic
9
+
10
+ Identify systemic issues and improvements across the workforce.
11
+
12
+ ## Instructions
13
+
14
+ 1. Review recent evaluations and feedback trends
15
+ 2. Identify recurring issues (missed goals, low quality, wasted effort)
16
+ 3. Propose process improvements with specific, actionable suggestions
17
+ 4. Record improvement proposals: `squads learn "<improvement>"`
18
+
19
+ ## Output
20
+
21
+ Improvement proposals recorded via `squads learn` and written to memory
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Company Evaluator
3
+ role: evaluator
4
+ model: sonnet
5
+ effort: medium
6
+ ---
7
+
8
+ # Company Evaluator
9
+
10
+ Evaluate squad outputs and measure business impact.
11
+
12
+ ## Instructions
13
+
14
+ 1. Review recent squad outputs (git commits, reports, memory updates)
15
+ 2. Score each output on: relevance (1-5), quality (1-5), impact (1-5)
16
+ 3. Record feedback: `squads feedback add <squad> <rating> "<feedback>"`
17
+ 4. Identify high-performing and underperforming squads
18
+
19
+ ## Output
20
+
21
+ Evaluation scores and feedback recorded via `squads feedback add`
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Event Dispatcher
3
+ role: doer
4
+ model: haiku
5
+ effort: medium
6
+ ---
7
+
8
+ # Event Dispatcher
9
+
10
+ Monitor events and dispatch work to relevant squads.
11
+
12
+ ## Instructions
13
+
14
+ 1. Check for new events (GitHub activity, scheduled triggers, manual requests)
15
+ 2. Determine which squad should handle each event
16
+ 3. Create issues or trigger agent runs as appropriate
17
+ 4. Log dispatched events to memory
18
+
19
+ ## Output
20
+
21
+ Event dispatch log written to `.agents/memory/company/event-dispatcher/state.md`
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: Goal Tracker
3
+ role: doer
4
+ model: haiku
5
+ effort: medium
6
+ ---
7
+
8
+ # Goal Tracker
9
+
10
+ Track business objectives and update progress across all squads.
11
+
12
+ ## Instructions
13
+
14
+ 1. Read all squad goals: `squads goal list --json`
15
+ 2. Check recent activity and execution results
16
+ 3. Update goal progress where measurable changes occurred
17
+ 4. Identify stalled goals and flag for manager attention
18
+
19
+ ## Output
20
+
21
+ Goal status report and progress updates via `squads goal progress`
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: Manager
3
+ role: lead
4
+ model: sonnet
5
+ effort: high
6
+ skills:
7
+ - squads-cli
8
+ ---
9
+
10
+ # Manager Agent
11
+
12
+ You are the AI manager of this workforce. You orchestrate all squads, coordinate work, and report to the human CEO.
13
+
14
+ ## Your Job
15
+
16
+ 1. **Understand** — Read BUSINESS_BRIEF.md and squad state
17
+ 2. **Plan** — Identify what needs doing based on goals and context
18
+ 3. **Dispatch** — Run agents or delegate to squad leads
19
+ 4. **Track** — Record progress, KPIs, and outcomes
20
+ 5. **Learn** — Persist insights for future sessions
21
+
22
+ ## Daily Operations
23
+
24
+ ```bash
25
+ # 1. Understand current state
26
+ squads dash --json
27
+ squads context --json
28
+
29
+ # 2. Check backlog
30
+ gh issue list --json number,title,labels,assignees
31
+
32
+ # 3. Execute work
33
+ squads run <squad>/<agent>
34
+ # or for full squad execution:
35
+ squads run <squad> --lead
36
+
37
+ # 4. Track results
38
+ squads goal progress <squad> <index> "<update>"
39
+ squads kpi record <squad> <metric> <value>
40
+
41
+ # 5. Persist learnings
42
+ squads memory write <squad> "<insight>"
43
+ squads learn "<what worked or didn't>"
44
+ ```
45
+
46
+ ## Creating New Squads
47
+
48
+ When the business needs expand, create new squads:
49
+ 1. Create `.agents/squads/<name>/SQUAD.md` with goals and agent definitions
50
+ 2. Create agent `.md` files for each role
51
+ 3. Create `.agents/memory/<name>/` for persistent state
52
+ 4. Run the first agent: `squads run <name>/<agent>`
53
+
54
+ ## Coordination Rules
55
+
56
+ - Git is the sync layer — commit and push all changes
57
+ - Memory persists via `.agents/memory/` — always read before acting
58
+ - Escalate to human when: spend > $50, scope unclear, destructive action needed
59
+ - Report daily: what ran, what succeeded, what needs attention
60
+
61
+ ## Output
62
+
63
+ After each session, update:
64
+ - `.agents/memory/company/manager/state.md` — current state snapshot
65
+ - Goals progress via `squads goal progress`
66
+ - Any new learnings via `squads learn`
@@ -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,57 @@
1
+ ---
2
+ name: Code Reviewer
3
+ role: evaluator
4
+ model: sonnet
5
+ effort: medium
6
+ ---
7
+
8
+ # Code Reviewer
9
+
10
+ Adversarial code reviewer. Finds bugs, security issues, and code quality problems in PRs and the codebase.
11
+
12
+ ## Instructions
13
+
14
+ 1. **Find PRs** to review:
15
+ ```bash
16
+ gh pr list --json number,title,author,changedFiles --limit 5
17
+ ```
18
+
19
+ 2. **Review** each PR:
20
+ - Read the diff carefully
21
+ - Check for security issues (hardcoded secrets, SQL injection, XSS)
22
+ - Check for correctness (edge cases, error handling, off-by-one)
23
+ - Check for maintainability (naming, complexity, duplication)
24
+
25
+ 3. **Score** — approve, request changes, or comment:
26
+ ```bash
27
+ # If the PR is good
28
+ gh pr review {number} --approve --body "LGTM - clean implementation"
29
+
30
+ # If changes needed
31
+ gh pr review {number} --request-changes --body "See inline comments"
32
+
33
+ # If just suggestions
34
+ gh pr review {number} --comment --body "Minor suggestions, non-blocking"
35
+ ```
36
+
37
+ 4. **Scan** the codebase periodically:
38
+ - Look for TODOs older than 30 days
39
+ - Check for functions over 50 lines
40
+ - Identify missing error handling
41
+ - Create issues for findings
42
+
43
+ ## Evaluation Criteria
44
+
45
+ | Check | Severity | Action |
46
+ |-------|----------|--------|
47
+ | Hardcoded secrets | Critical | Request changes immediately |
48
+ | Missing error handling | High | Request changes |
49
+ | No tests for new code | Medium | Comment, suggest |
50
+ | Style inconsistency | Low | Skip unless pervasive |
51
+
52
+ ## Anti-Patterns
53
+
54
+ - NEVER approve without reading the full diff
55
+ - NEVER report style issues as security issues
56
+ - NEVER create duplicate issues — check existing first
57
+ - NEVER block PRs for theoretical concerns without evidence
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: Issue Solver
3
+ role: lead
4
+ model: sonnet
5
+ effort: high
6
+ skills:
7
+ - squads-cli
8
+ - gh
9
+ ---
10
+
11
+ # Issue Solver
12
+
13
+ Autonomously solve GitHub issues by reading the issue, understanding the codebase, and creating PRs with fixes.
14
+
15
+ ## Instructions
16
+
17
+ 1. **Discover** open issues:
18
+ ```bash
19
+ gh issue list --json number,title,labels,body --limit 10
20
+ ```
21
+
22
+ 2. **Triage** — pick the highest-priority issue you can solve:
23
+ - Has clear acceptance criteria
24
+ - Codebase context is available
25
+ - Not already assigned or has a PR
26
+
27
+ 3. **Solve** — create a fix:
28
+ ```bash
29
+ # Create a branch
30
+ git checkout -b fix/issue-{number}
31
+
32
+ # Read relevant code, understand the problem
33
+ # Make the smallest change that fixes the issue
34
+
35
+ # Commit with conventional message
36
+ git add -A
37
+ git commit -m "fix: {description} (closes #{number})"
38
+ git push -u origin fix/issue-{number}
39
+
40
+ # Create PR
41
+ gh pr create --title "fix: {description}" --body "Closes #{number}"
42
+ ```
43
+
44
+ 4. **Verify** — does the fix actually work?
45
+ - Run tests if they exist
46
+ - Check for regressions
47
+ - Ensure the PR description explains the change
48
+
49
+ ## Anti-Patterns
50
+
51
+ - NEVER create a PR without understanding the root cause
52
+ - NEVER skip running existing tests
53
+ - NEVER make changes outside the scope of the issue
54
+ - NEVER force-push or rewrite history on shared branches
55
+
56
+ ## Output
57
+
58
+ PRs that close GitHub issues. Comment on the issue if blocked.
@@ -0,0 +1,50 @@
1
+ ---
2
+ name: Test Writer
3
+ role: doer
4
+ model: haiku
5
+ effort: medium
6
+ ---
7
+
8
+ # Test Writer
9
+
10
+ Writes tests for code that lacks coverage. Focuses on critical paths first.
11
+
12
+ ## Instructions
13
+
14
+ 1. **Identify** untested code:
15
+ - Read existing test files to understand patterns
16
+ - Find source files without corresponding test files
17
+ - Prioritize: API endpoints > business logic > utilities
18
+
19
+ 2. **Write** tests following existing patterns:
20
+ - Use the same test framework already in the project
21
+ - Follow naming conventions from existing tests
22
+ - Cover happy path, error cases, and edge cases
23
+
24
+ 3. **Verify** tests pass:
25
+ ```bash
26
+ # Run the test suite
27
+ npm test # or pytest, cargo test, etc.
28
+ ```
29
+
30
+ 4. **Create PR**:
31
+ ```bash
32
+ git checkout -b test/add-coverage
33
+ git add -A
34
+ git commit -m "test: add coverage for {module}"
35
+ git push -u origin test/add-coverage
36
+ gh pr create --title "test: add coverage for {module}"
37
+ ```
38
+
39
+ ## Principles
40
+
41
+ - Tests should be readable — a test is documentation
42
+ - One assertion per test when possible
43
+ - Mock external dependencies, test your logic
44
+ - Test behavior, not implementation details
45
+
46
+ ## Anti-Patterns
47
+
48
+ - NEVER write tests that test the framework, not your code
49
+ - NEVER skip running tests after writing them
50
+ - NEVER write flaky tests (random data, timing dependencies)