squads-cli 0.4.13 → 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.
- package/README.md +161 -4
- package/dist/{chunk-HKWCBCEK.js → chunk-4CMAEQQY.js} +6 -2
- package/dist/chunk-4CMAEQQY.js.map +1 -0
- package/dist/{chunk-NA3IECJA.js → chunk-N7KDWU4W.js} +155 -58
- package/dist/chunk-N7KDWU4W.js.map +1 -0
- package/dist/{chunk-HIQ2APYR.js → chunk-NHGLXN2F.js} +8 -6
- package/dist/chunk-NHGLXN2F.js.map +1 -0
- package/dist/{chunk-3TSY2K7R.js → chunk-O7UV3FWI.js} +140 -21
- package/dist/chunk-O7UV3FWI.js.map +1 -0
- package/dist/chunk-ZTQ7ISUR.js +338 -0
- package/dist/chunk-ZTQ7ISUR.js.map +1 -0
- package/dist/cli.js +5232 -6194
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +110 -2
- package/dist/index.js +302 -25
- package/dist/index.js.map +1 -1
- package/dist/{memory-4PVUKIDK.js → memory-VNF2VFRB.js} +8 -4
- package/dist/{sessions-R4VWIGFR.js → sessions-6PB7ALCE.js} +3 -3
- package/dist/{squad-parser-YRE2FEAA.js → squad-parser-4BI3G4RS.js} +4 -2
- package/dist/templates/core/AGENTS.md.template +64 -0
- package/dist/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/dist/templates/core/CLAUDE.md.template +50 -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 +69 -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/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/research/researcher/state.md +10 -0
- package/dist/templates/seed/skills/gh/SKILL.md +57 -0
- package/dist/templates/seed/skills/squads-cli/SKILL.md +88 -0
- package/dist/templates/seed/squads/company/SQUAD.md +49 -0
- package/dist/templates/seed/squads/company/company-critic.md +21 -0
- package/dist/templates/seed/squads/company/company-eval.md +21 -0
- package/dist/templates/seed/squads/company/event-dispatcher.md +21 -0
- package/dist/templates/seed/squads/company/goal-tracker.md +21 -0
- package/dist/templates/seed/squads/company/manager.md +66 -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 +37 -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/research/SQUAD.md +38 -0
- package/dist/templates/seed/squads/research/analyst.md +27 -0
- package/dist/templates/seed/squads/research/research-critic.md +20 -0
- package/dist/templates/seed/squads/research/research-eval.md +20 -0
- package/dist/templates/seed/squads/research/researcher.md +28 -0
- package/dist/templates/skills/squads-learn/SKILL.md +86 -0
- package/dist/templates/skills/squads-workflow/instruction.md +70 -0
- package/dist/{terminal-JZSAQSN7.js → terminal-YKA4O5CX.js} +4 -2
- package/dist/{update-MAY6EXFQ.js → update-ALJKFFM7.js} +3 -2
- package/package.json +9 -20
- package/templates/core/AGENTS.md.template +64 -0
- package/templates/core/BUSINESS_BRIEF.md.template +29 -0
- package/templates/core/CLAUDE.md.template +50 -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 +69 -0
- package/templates/seed/config/provider.yaml +4 -0
- package/templates/seed/hooks/settings.json.template +31 -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/research/researcher/state.md +10 -0
- package/templates/seed/skills/gh/SKILL.md +57 -0
- package/templates/seed/skills/squads-cli/SKILL.md +88 -0
- package/templates/seed/squads/company/SQUAD.md +49 -0
- package/templates/seed/squads/company/company-critic.md +21 -0
- package/templates/seed/squads/company/company-eval.md +21 -0
- package/templates/seed/squads/company/event-dispatcher.md +21 -0
- package/templates/seed/squads/company/goal-tracker.md +21 -0
- package/templates/seed/squads/company/manager.md +66 -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 +37 -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/research/SQUAD.md +38 -0
- package/templates/seed/squads/research/analyst.md +27 -0
- package/templates/seed/squads/research/research-critic.md +20 -0
- package/templates/seed/squads/research/research-eval.md +20 -0
- package/templates/seed/squads/research/researcher.md +28 -0
- package/templates/skills/squads-learn/SKILL.md +86 -0
- package/templates/skills/squads-workflow/instruction.md +70 -0
- package/dist/chunk-3TSY2K7R.js.map +0 -1
- package/dist/chunk-FUHBEL3L.js +0 -203
- package/dist/chunk-FUHBEL3L.js.map +0 -1
- package/dist/chunk-HIQ2APYR.js.map +0 -1
- package/dist/chunk-HKWCBCEK.js.map +0 -1
- package/dist/chunk-NA3IECJA.js.map +0 -1
- package/docker/.env.example +0 -17
- package/docker/README.md +0 -92
- package/docker/docker-compose.engram.yml +0 -304
- package/docker/docker-compose.yml +0 -234
- package/docker/init-db.sql +0 -478
- package/docker/init-engram-db.sql +0 -148
- package/docker/init-langfuse-db.sh +0 -10
- package/docker/otel-collector.yaml +0 -34
- package/docker/squads-bridge/Dockerfile +0 -14
- package/docker/squads-bridge/Dockerfile.proxy +0 -14
- package/docker/squads-bridge/anthropic_proxy.py +0 -313
- package/docker/squads-bridge/requirements.txt +0 -7
- package/docker/squads-bridge/squads_bridge.py +0 -2299
- package/docker/telemetry-ping/Dockerfile +0 -10
- package/docker/telemetry-ping/deploy.sh +0 -69
- package/docker/telemetry-ping/main.py +0 -136
- package/docker/telemetry-ping/requirements.txt +0 -3
- /package/dist/{memory-4PVUKIDK.js.map → memory-VNF2VFRB.js.map} +0 -0
- /package/dist/{sessions-R4VWIGFR.js.map → sessions-6PB7ALCE.js.map} +0 -0
- /package/dist/{squad-parser-YRE2FEAA.js.map → squad-parser-4BI3G4RS.js.map} +0 -0
- /package/dist/{terminal-JZSAQSN7.js.map → terminal-YKA4O5CX.js.map} +0 -0
- /package/dist/{update-MAY6EXFQ.js.map → update-ALJKFFM7.js.map} +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Operations
|
|
3
|
+
lead: ops-lead
|
|
4
|
+
channel: "#operations"
|
|
5
|
+
model: sonnet
|
|
6
|
+
effort: medium
|
|
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
|
+
- agent.run.write
|
|
16
|
+
- trigger.fire
|
|
17
|
+
confirm:
|
|
18
|
+
- deploy.production
|
|
19
|
+
- budget.override
|
|
20
|
+
thresholds:
|
|
21
|
+
spend: 25
|
|
22
|
+
bulk_actions: 5
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# Operations
|
|
26
|
+
|
|
27
|
+
Runs the business. Tracks goals, manages finances, and ensures the organization operates smoothly.
|
|
28
|
+
|
|
29
|
+
## Goals
|
|
30
|
+
|
|
31
|
+
- [ ] Establish daily operational rhythm
|
|
32
|
+
- [ ] Track business objectives and KPIs
|
|
33
|
+
- [ ] Monitor financial health (revenue, expenses, runway)
|
|
34
|
+
|
|
35
|
+
## Agents
|
|
36
|
+
|
|
37
|
+
| Agent | Role | Purpose |
|
|
38
|
+
|-------|------|---------|
|
|
39
|
+
| ops-lead | lead | Daily operations, squad coordination, founder briefings |
|
|
40
|
+
| finance-tracker | doer | Tracks revenue, expenses, runway, and invoicing |
|
|
41
|
+
| goal-tracker | evaluator | Monitors goal progress and flags at-risk objectives |
|
|
42
|
+
|
|
43
|
+
## Pipeline
|
|
44
|
+
|
|
45
|
+
`ops-lead` coordinates → `finance-tracker` tracks money → `goal-tracker` measures progress
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Finance Tracker
|
|
3
|
+
role: doer
|
|
4
|
+
model: haiku
|
|
5
|
+
effort: low
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Finance Tracker
|
|
9
|
+
|
|
10
|
+
Tracks revenue, expenses, runway, and financial health. Provides visibility into the business finances.
|
|
11
|
+
|
|
12
|
+
## Instructions
|
|
13
|
+
|
|
14
|
+
1. **Track revenue**:
|
|
15
|
+
- Record invoices sent and payments received
|
|
16
|
+
- Track recurring vs one-time revenue
|
|
17
|
+
- Note outstanding receivables
|
|
18
|
+
|
|
19
|
+
2. **Track expenses**:
|
|
20
|
+
- API costs (AI providers, cloud infrastructure)
|
|
21
|
+
- Subscriptions and tools
|
|
22
|
+
- Contractor payments
|
|
23
|
+
|
|
24
|
+
3. **Calculate runway**:
|
|
25
|
+
- Current cash position
|
|
26
|
+
- Monthly burn rate
|
|
27
|
+
- Months of runway remaining
|
|
28
|
+
|
|
29
|
+
4. **Report**:
|
|
30
|
+
```bash
|
|
31
|
+
squads memory write finance "Monthly: Revenue $X, Expenses $Y, Runway: Z months"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
5. **Alert** on financial risks:
|
|
35
|
+
- Runway below 3 months
|
|
36
|
+
- Unexpected expense spikes
|
|
37
|
+
- Overdue invoices past 30 days
|
|
38
|
+
|
|
39
|
+
## Output
|
|
40
|
+
|
|
41
|
+
Monthly financial summary in `.agents/memory/operations/finance-tracker/state.md`
|
|
42
|
+
|
|
43
|
+
## Anti-Patterns
|
|
44
|
+
|
|
45
|
+
- NEVER guess numbers — use actual records
|
|
46
|
+
- NEVER skip tracking small expenses — they add up
|
|
47
|
+
- NEVER report financial data without date context
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Goal Tracker
|
|
3
|
+
role: evaluator
|
|
4
|
+
model: haiku
|
|
5
|
+
effort: low
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Goal Tracker
|
|
9
|
+
|
|
10
|
+
Monitors business objectives, tracks progress, and flags at-risk goals before they become problems.
|
|
11
|
+
|
|
12
|
+
## Instructions
|
|
13
|
+
|
|
14
|
+
1. **Read goals** from squad definitions:
|
|
15
|
+
```bash
|
|
16
|
+
squads goal list --json
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
2. **Check progress** for each goal:
|
|
20
|
+
- Is there measurable progress since last check?
|
|
21
|
+
- Are there blockers preventing progress?
|
|
22
|
+
- Is the goal still relevant?
|
|
23
|
+
|
|
24
|
+
3. **Flag at-risk goals**:
|
|
25
|
+
- No progress in 2+ weeks
|
|
26
|
+
- Deadline approaching with < 50% complete
|
|
27
|
+
- Dependencies blocked
|
|
28
|
+
|
|
29
|
+
4. **Update tracking**:
|
|
30
|
+
```bash
|
|
31
|
+
squads goal progress <squad> <index> "<status update>"
|
|
32
|
+
squads memory write operations "Goal check: [summary of at-risk items]"
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Risk Framework
|
|
36
|
+
|
|
37
|
+
| Status | Criteria | Action |
|
|
38
|
+
|--------|----------|--------|
|
|
39
|
+
| On Track | Progress this week, no blockers | Note, move on |
|
|
40
|
+
| At Risk | No progress 2 weeks, or deadline < 2 weeks | Flag to ops-lead |
|
|
41
|
+
| Blocked | External dependency, needs human decision | Escalate immediately |
|
|
42
|
+
| Stale | No progress 4+ weeks, no one working on it | Recommend closing or reassigning |
|
|
43
|
+
|
|
44
|
+
## Anti-Patterns
|
|
45
|
+
|
|
46
|
+
- NEVER mark a goal as "on track" without evidence of recent progress
|
|
47
|
+
- NEVER create goals without measurable criteria
|
|
48
|
+
- NEVER keep stale goals alive — either revive them or close them
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Ops Lead
|
|
3
|
+
role: lead
|
|
4
|
+
model: sonnet
|
|
5
|
+
effort: high
|
|
6
|
+
skills:
|
|
7
|
+
- squads-cli
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Ops Lead
|
|
11
|
+
|
|
12
|
+
Runs daily operations. Reads all squad states, identifies what needs attention, and briefs the founder on what matters.
|
|
13
|
+
|
|
14
|
+
## Instructions
|
|
15
|
+
|
|
16
|
+
1. **Read all squad states**:
|
|
17
|
+
```bash
|
|
18
|
+
squads dash --json
|
|
19
|
+
squads context --json
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
2. **Identify what needs attention**:
|
|
23
|
+
- Which squads produced results? (PRs merged, content published, issues closed)
|
|
24
|
+
- Which squads are blocked? (waiting on decisions, missing resources)
|
|
25
|
+
- Any risks? (missed deadlines, budget overruns, failing processes)
|
|
26
|
+
|
|
27
|
+
3. **Brief the founder** (only if something matters):
|
|
28
|
+
- Needs Attention: decisions only the founder can make
|
|
29
|
+
- Progress: real work shipped
|
|
30
|
+
- Risks: things going wrong
|
|
31
|
+
|
|
32
|
+
4. **Update state**:
|
|
33
|
+
```bash
|
|
34
|
+
squads memory write company "Ops briefing: [summary]"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Decision Framework
|
|
38
|
+
|
|
39
|
+
| Signal | Action |
|
|
40
|
+
|--------|--------|
|
|
41
|
+
| Squad produced a result | Note in Progress |
|
|
42
|
+
| Squad is blocked | Escalate in Needs Attention |
|
|
43
|
+
| Deadline approaching | Flag in Risks |
|
|
44
|
+
| Squad running normally | Skip — silence means healthy |
|
|
45
|
+
|
|
46
|
+
## Principles
|
|
47
|
+
|
|
48
|
+
- The founder's attention is the scarcest resource — filter ruthlessly
|
|
49
|
+
- Never repeat what you already reported
|
|
50
|
+
- Silence means everything is fine
|
|
51
|
+
- Decisions, not status updates
|
|
52
|
+
|
|
53
|
+
## Anti-Patterns
|
|
54
|
+
|
|
55
|
+
- NEVER post "no updates" or "system healthy" — silence IS the signal
|
|
56
|
+
- NEVER include memory update noise — that's internal bookkeeping
|
|
57
|
+
- NEVER repeat information from the last briefing
|
|
58
|
+
- NEVER include more than 10 items — force yourself to prioritize
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Research
|
|
3
|
+
lead: researcher
|
|
4
|
+
channel: "#research"
|
|
5
|
+
model: sonnet
|
|
6
|
+
effort: high
|
|
7
|
+
schedule: "0 10 * * 1,3,5"
|
|
8
|
+
approvals:
|
|
9
|
+
policy:
|
|
10
|
+
auto:
|
|
11
|
+
- memory.update
|
|
12
|
+
- agent.run.readonly
|
|
13
|
+
approve:
|
|
14
|
+
- agent.run.write
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Research Squad
|
|
18
|
+
|
|
19
|
+
Market, competitor, and trend research. Produces actionable intelligence.
|
|
20
|
+
|
|
21
|
+
## Goals
|
|
22
|
+
|
|
23
|
+
- [ ] Identify market landscape and key competitors
|
|
24
|
+
- [ ] Produce initial research report
|
|
25
|
+
- [ ] Establish research rhythm (3x per week)
|
|
26
|
+
|
|
27
|
+
## Agents
|
|
28
|
+
|
|
29
|
+
| Agent | Role | Purpose |
|
|
30
|
+
|-------|------|---------|
|
|
31
|
+
| researcher | lead | Market, competitor, trend research |
|
|
32
|
+
| analyst | doer | Synthesizes research into actionable insights |
|
|
33
|
+
| research-eval | evaluator | Evaluates research quality and relevance |
|
|
34
|
+
| research-critic | critic | Critiques methodology and coverage gaps |
|
|
35
|
+
|
|
36
|
+
## Pipeline
|
|
37
|
+
|
|
38
|
+
`researcher` gathers → `analyst` synthesizes → `research-eval` scores → `research-critic` improves
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Analyst
|
|
3
|
+
role: doer
|
|
4
|
+
model: sonnet
|
|
5
|
+
effort: high
|
|
6
|
+
tools:
|
|
7
|
+
- Read
|
|
8
|
+
- Write
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Analyst Agent
|
|
12
|
+
|
|
13
|
+
Synthesize research into actionable insights and recommendations.
|
|
14
|
+
|
|
15
|
+
## Instructions
|
|
16
|
+
|
|
17
|
+
1. Read research notes from `.agents/memory/research/researcher/state.md`
|
|
18
|
+
2. Synthesize findings into:
|
|
19
|
+
- Executive summary (3-5 key takeaways)
|
|
20
|
+
- Opportunities ranked by potential impact
|
|
21
|
+
- Risks and threats to monitor
|
|
22
|
+
- Recommended actions with priorities
|
|
23
|
+
3. Save analysis to `.agents/memory/research/analyst/state.md`
|
|
24
|
+
|
|
25
|
+
## Output
|
|
26
|
+
|
|
27
|
+
Analysis report in `.agents/memory/research/analyst/state.md`
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Research Critic
|
|
3
|
+
role: critic
|
|
4
|
+
model: haiku
|
|
5
|
+
effort: medium
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Research Critic
|
|
9
|
+
|
|
10
|
+
Critique research methodology and identify coverage gaps.
|
|
11
|
+
|
|
12
|
+
## Instructions
|
|
13
|
+
|
|
14
|
+
1. Review research and analysis outputs
|
|
15
|
+
2. Identify: missing perspectives, outdated data, biased sources, coverage gaps
|
|
16
|
+
3. Propose improvements: `squads learn "<improvement>" -s research`
|
|
17
|
+
|
|
18
|
+
## Output
|
|
19
|
+
|
|
20
|
+
Improvement proposals via `squads learn`
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Research Evaluator
|
|
3
|
+
role: evaluator
|
|
4
|
+
model: haiku
|
|
5
|
+
effort: medium
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Research Evaluator
|
|
9
|
+
|
|
10
|
+
Evaluate research quality, relevance, and actionability.
|
|
11
|
+
|
|
12
|
+
## Instructions
|
|
13
|
+
|
|
14
|
+
1. Read research and analysis outputs
|
|
15
|
+
2. Score on: accuracy (1-5), relevance (1-5), actionability (1-5)
|
|
16
|
+
3. Record evaluation: `squads feedback add research <rating> "<feedback>"`
|
|
17
|
+
|
|
18
|
+
## Output
|
|
19
|
+
|
|
20
|
+
Evaluation scores via `squads feedback add`
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Researcher
|
|
3
|
+
role: lead
|
|
4
|
+
model: sonnet
|
|
5
|
+
effort: high
|
|
6
|
+
tools:
|
|
7
|
+
- WebSearch
|
|
8
|
+
- WebFetch
|
|
9
|
+
- Write
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Researcher Agent
|
|
13
|
+
|
|
14
|
+
Conduct market, competitor, and trend research relevant to the business focus.
|
|
15
|
+
|
|
16
|
+
## Instructions
|
|
17
|
+
|
|
18
|
+
1. Read business context from `.agents/BUSINESS_BRIEF.md`
|
|
19
|
+
2. Research the market landscape:
|
|
20
|
+
- Key competitors and their positioning
|
|
21
|
+
- Market trends and emerging opportunities
|
|
22
|
+
- Industry benchmarks and best practices
|
|
23
|
+
3. Save research notes to `.agents/memory/research/researcher/state.md`
|
|
24
|
+
4. Record key findings: `squads memory write research "<finding>"`
|
|
25
|
+
|
|
26
|
+
## Output
|
|
27
|
+
|
|
28
|
+
Research notes in `.agents/memory/research/researcher/state.md`
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: squads-learn
|
|
3
|
+
description: Capture learnings after completing work. Use when finishing a task, fixing a bug, discovering a pattern, or learning something worth remembering for future sessions. Helps build institutional memory.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Capture Learnings
|
|
7
|
+
|
|
8
|
+
After completing work, capture what you learned so future sessions can benefit.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
- **After fixing a bug** - What was the root cause? How did you find it?
|
|
13
|
+
- **After completing a feature** - What approach worked? What didn't?
|
|
14
|
+
- **After research** - What did you discover? What's the key insight?
|
|
15
|
+
- **When you notice a pattern** - Something that works consistently
|
|
16
|
+
|
|
17
|
+
## How to Capture
|
|
18
|
+
|
|
19
|
+
### Quick Learning (one-liner)
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
squads learn "The auth token needs to be refreshed after 1 hour, not when the API returns 401"
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
### With Context
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
squads learn "Always check memory before researching to avoid duplicate work" \
|
|
29
|
+
--squad engineering \
|
|
30
|
+
--category pattern \
|
|
31
|
+
--tags "memory,research,efficiency"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Categories
|
|
35
|
+
|
|
36
|
+
- `success` - Something that worked well
|
|
37
|
+
- `failure` - Something that didn't work (learn from mistakes)
|
|
38
|
+
- `pattern` - A reusable approach
|
|
39
|
+
- `tip` - General advice
|
|
40
|
+
|
|
41
|
+
## Workflow Integration
|
|
42
|
+
|
|
43
|
+
### End of Task
|
|
44
|
+
|
|
45
|
+
Before marking a task complete, ask yourself:
|
|
46
|
+
1. What worked that I should remember?
|
|
47
|
+
2. What didn't work that I should avoid?
|
|
48
|
+
3. Is there a pattern here worth capturing?
|
|
49
|
+
|
|
50
|
+
If yes to any → `squads learn "<insight>"`
|
|
51
|
+
|
|
52
|
+
### Before Similar Tasks
|
|
53
|
+
|
|
54
|
+
Check existing learnings:
|
|
55
|
+
```bash
|
|
56
|
+
squads learnings search "auth"
|
|
57
|
+
squads learnings show engineering --tag auth
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Examples
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# After fixing a bug
|
|
64
|
+
squads learn "PostgreSQL connection pool exhaustion was caused by unclosed transactions in error paths" --category failure --tags db,postgres,connection
|
|
65
|
+
|
|
66
|
+
# After successful implementation
|
|
67
|
+
squads learn "Using TypeScript strict mode caught 3 type errors before runtime" --category success --tags typescript,types
|
|
68
|
+
|
|
69
|
+
# Noticing a pattern
|
|
70
|
+
squads learn "When context exceeds 70%, always run squads memory sync before continuing" --category pattern --tags context,memory
|
|
71
|
+
|
|
72
|
+
# General tip
|
|
73
|
+
squads learn "The gh CLI is faster than the GitHub API for simple operations" --category tip --tags github,cli
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## View Learnings
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
squads learnings show <squad> # Squad's learnings
|
|
80
|
+
squads learnings search "<query>" # Search all learnings
|
|
81
|
+
squads learnings show engineering -n 5 # Last 5 for engineering
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Key Principle
|
|
85
|
+
|
|
86
|
+
**Learnings compound.** Each captured insight makes future sessions smarter. A 30-second `squads learn` call can save hours of re-discovery.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Squads Workflow
|
|
2
|
+
|
|
3
|
+
Use this skill when working with squads-cli to maintain persistent memory, track goals, and coordinate work.
|
|
4
|
+
|
|
5
|
+
## Session Start
|
|
6
|
+
|
|
7
|
+
At session start, you'll see `squads status` output automatically. For complex tasks, run:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
squads context # Get business context, goals, decisions
|
|
11
|
+
squads memory query "<topic>" # Check what we already know
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
**Skip context loading for simple tasks** (typo fixes, quick questions).
|
|
15
|
+
|
|
16
|
+
## Core Commands
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# Context & Status
|
|
20
|
+
squads context # Business context for alignment
|
|
21
|
+
squads status # Squad overview
|
|
22
|
+
squads dash # Full dashboard
|
|
23
|
+
|
|
24
|
+
# Memory
|
|
25
|
+
squads memory query "<topic>" # Search memory
|
|
26
|
+
squads memory show <squad> # Squad's full memory
|
|
27
|
+
|
|
28
|
+
# Goals
|
|
29
|
+
squads goal list # All active goals
|
|
30
|
+
squads goal set <squad> "X" # Add a goal
|
|
31
|
+
|
|
32
|
+
# Running Agents
|
|
33
|
+
squads run <squad> # Run all agents in squad
|
|
34
|
+
squads run <squad>/<agent> # Run specific agent
|
|
35
|
+
squads list # List all agents
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Workflow
|
|
39
|
+
|
|
40
|
+
### Before Research
|
|
41
|
+
Always check memory first to avoid re-researching:
|
|
42
|
+
```bash
|
|
43
|
+
squads memory query "topic"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### After Work
|
|
47
|
+
Update memory with what you learned by editing:
|
|
48
|
+
`.agents/memory/<squad>/<agent>/state.md`
|
|
49
|
+
|
|
50
|
+
### Commits
|
|
51
|
+
Include goal attribution when relevant:
|
|
52
|
+
```
|
|
53
|
+
feat: add user auth [goal:engineering/1]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Agent Execution
|
|
57
|
+
|
|
58
|
+
When a task could be automated:
|
|
59
|
+
1. Check if agent exists: `squads list | grep <keyword>`
|
|
60
|
+
2. If yes: `squads run <squad>/<agent>`
|
|
61
|
+
3. If no: Create agent in `.agents/squads/<squad>/<name>.md`
|
|
62
|
+
|
|
63
|
+
## Memory Locations
|
|
64
|
+
|
|
65
|
+
- `.agents/memory/<squad>/<agent>/state.md` - Current knowledge
|
|
66
|
+
- `.agents/memory/<squad>/<agent>/learnings.md` - Insights over time
|
|
67
|
+
|
|
68
|
+
## Key Principle
|
|
69
|
+
|
|
70
|
+
**Memory is your cross-session brain.** Without it, every session starts fresh. With it, you build on previous work.
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
isAiCli,
|
|
16
16
|
isColorEnabled,
|
|
17
17
|
padEnd,
|
|
18
|
+
privacyHeader,
|
|
18
19
|
progressBar,
|
|
19
20
|
rgb,
|
|
20
21
|
sparkline,
|
|
@@ -23,7 +24,7 @@ import {
|
|
|
23
24
|
truncate,
|
|
24
25
|
write,
|
|
25
26
|
writeLine
|
|
26
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-N7KDWU4W.js";
|
|
27
28
|
import "./chunk-7OCVIDC7.js";
|
|
28
29
|
export {
|
|
29
30
|
ESC,
|
|
@@ -41,6 +42,7 @@ export {
|
|
|
41
42
|
isAiCli,
|
|
42
43
|
isColorEnabled,
|
|
43
44
|
padEnd,
|
|
45
|
+
privacyHeader,
|
|
44
46
|
progressBar,
|
|
45
47
|
rgb,
|
|
46
48
|
sparkline,
|
|
@@ -50,4 +52,4 @@ export {
|
|
|
50
52
|
write,
|
|
51
53
|
writeLine
|
|
52
54
|
};
|
|
53
|
-
//# sourceMappingURL=terminal-
|
|
55
|
+
//# sourceMappingURL=terminal-YKA4O5CX.js.map
|
|
@@ -5,7 +5,8 @@ import {
|
|
|
5
5
|
getCurrentVersion,
|
|
6
6
|
performUpdate,
|
|
7
7
|
refreshVersionCache
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-4CMAEQQY.js";
|
|
9
|
+
import "./chunk-N7KDWU4W.js";
|
|
9
10
|
import "./chunk-7OCVIDC7.js";
|
|
10
11
|
export {
|
|
11
12
|
autoUpdateOnStartup,
|
|
@@ -14,4 +15,4 @@ export {
|
|
|
14
15
|
performUpdate,
|
|
15
16
|
refreshVersionCache
|
|
16
17
|
};
|
|
17
|
-
//# sourceMappingURL=update-
|
|
18
|
+
//# sourceMappingURL=update-ALJKFFM7.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "squads-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Your AI workforce. Every user gets an AI manager that runs their team — finance, marketing, engineering, operations — for the cost of API calls.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
7
|
"squads": "./dist/cli.js"
|
|
@@ -16,19 +16,10 @@
|
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
18
|
"dist",
|
|
19
|
-
"
|
|
20
|
-
"docker/docker-compose.engram.yml",
|
|
21
|
-
"docker/.env.example",
|
|
22
|
-
"docker/init-db.sql",
|
|
23
|
-
"docker/init-engram-db.sql",
|
|
24
|
-
"docker/init-langfuse-db.sh",
|
|
25
|
-
"docker/otel-collector.yaml",
|
|
26
|
-
"docker/README.md",
|
|
27
|
-
"docker/squads-bridge/",
|
|
28
|
-
"docker/telemetry-ping/"
|
|
19
|
+
"templates"
|
|
29
20
|
],
|
|
30
21
|
"scripts": {
|
|
31
|
-
"build": "tsup",
|
|
22
|
+
"build": "tsup && cp -r templates dist/",
|
|
32
23
|
"dev": "tsup --watch",
|
|
33
24
|
"start": "node dist/cli.js",
|
|
34
25
|
"lint": "eslint src",
|
|
@@ -39,6 +30,9 @@
|
|
|
39
30
|
"prepublishOnly": "npm run build"
|
|
40
31
|
},
|
|
41
32
|
"keywords": [
|
|
33
|
+
"ai-workforce",
|
|
34
|
+
"business-automation",
|
|
35
|
+
"ai-team",
|
|
42
36
|
"claude",
|
|
43
37
|
"claude-code",
|
|
44
38
|
"anthropic",
|
|
@@ -70,10 +64,6 @@
|
|
|
70
64
|
},
|
|
71
65
|
"dependencies": {
|
|
72
66
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
73
|
-
"@supabase/supabase-js": "^2.89.0",
|
|
74
|
-
"@types/blessed": "^0.1.27",
|
|
75
|
-
"blessed": "^0.1.81",
|
|
76
|
-
"blessed-contrib": "^4.11.0",
|
|
77
67
|
"chalk": "^5.3.0",
|
|
78
68
|
"chrono-node": "^2.9.0",
|
|
79
69
|
"commander": "^12.1.0",
|
|
@@ -82,15 +72,14 @@
|
|
|
82
72
|
"inquirer": "^9.2.12",
|
|
83
73
|
"minimatch": "^10.1.1",
|
|
84
74
|
"open": "^11.0.0",
|
|
85
|
-
"ora": "^8.0.1"
|
|
86
|
-
"pg": "^8.16.3"
|
|
75
|
+
"ora": "^8.0.1"
|
|
87
76
|
},
|
|
88
77
|
"devDependencies": {
|
|
89
78
|
"@eslint/js": "^9.39.2",
|
|
90
79
|
"@types/node": "^20.19.27",
|
|
91
|
-
"@types/pg": "^8.16.0",
|
|
92
80
|
"@typescript-eslint/eslint-plugin": "^8.51.0",
|
|
93
81
|
"@typescript-eslint/parser": "^8.51.0",
|
|
82
|
+
"@vitest/coverage-v8": "^4.0.18",
|
|
94
83
|
"eslint": "^9.39.2",
|
|
95
84
|
"tsup": "^8.0.1",
|
|
96
85
|
"typescript": "^5.3.0",
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
# Project guidance for AI coding agents (vendor-neutral)
|
|
3
|
+
|
|
4
|
+
This project uses AI agent squads for development and operations.
|
|
5
|
+
|
|
6
|
+
## Getting Started
|
|
7
|
+
|
|
8
|
+
If this project is not yet set up, run:
|
|
9
|
+
```bash
|
|
10
|
+
squads setup # Guided onboarding (recommended)
|
|
11
|
+
squads init # Quick init (non-interactive)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Provider: {{PROVIDER_NAME}}
|
|
15
|
+
|
|
16
|
+
Configure in: `.agents/config/provider.yaml`
|
|
17
|
+
|
|
18
|
+
## Repository Structure
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
.agents/
|
|
22
|
+
├── squads/ # Agent team definitions
|
|
23
|
+
│ └── <squad>/
|
|
24
|
+
│ ├── SQUAD.md # Squad definition
|
|
25
|
+
│ └── *.md # Agent files
|
|
26
|
+
├── memory/ # Persistent context
|
|
27
|
+
├── config/ # Provider and model configuration
|
|
28
|
+
└── outputs/ # Agent outputs
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Agent Guidelines
|
|
32
|
+
|
|
33
|
+
### Before Starting Work
|
|
34
|
+
1. Run `squads status` to understand current state
|
|
35
|
+
2. Check `squads memory query "<topic>"` for existing knowledge
|
|
36
|
+
3. Read relevant SQUAD.md files
|
|
37
|
+
|
|
38
|
+
### During Work
|
|
39
|
+
- Update todo list frequently for visibility
|
|
40
|
+
- Prefer editing existing files over creating new ones
|
|
41
|
+
- Keep changes focused - one task per commit/PR
|
|
42
|
+
|
|
43
|
+
### After Work
|
|
44
|
+
- Update memory in `.agents/memory/<squad>/<agent>/state.md`
|
|
45
|
+
- Create GitHub issues for follow-up work
|
|
46
|
+
|
|
47
|
+
## Quick Reference
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
squads setup # Guided onboarding (new projects)
|
|
51
|
+
squads status # Overview
|
|
52
|
+
squads dash # Full dashboard
|
|
53
|
+
squads run <squad> # Run a squad
|
|
54
|
+
squads list # All agents
|
|
55
|
+
squads memory query X # Search memory
|
|
56
|
+
squads goal list # View goals
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
## Model Aliases
|
|
60
|
+
|
|
61
|
+
Agents can use semantic model names that resolve per provider:
|
|
62
|
+
- `leader` - Most capable (complex tasks)
|
|
63
|
+
- `worker` - Balanced (standard tasks)
|
|
64
|
+
- `simple` - Fast (simple tasks)
|