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,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Analyst
|
|
3
|
+
role: worker
|
|
4
|
+
squad: "research"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: high
|
|
8
|
+
trigger: "event"
|
|
9
|
+
cooldown: "30m"
|
|
10
|
+
timeout: 1800
|
|
11
|
+
max_retries: 2
|
|
12
|
+
tools:
|
|
13
|
+
- WebSearch
|
|
14
|
+
- WebFetch
|
|
15
|
+
- Read
|
|
16
|
+
- Write
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Research Analyst
|
|
20
|
+
|
|
21
|
+
## Role
|
|
22
|
+
|
|
23
|
+
Conduct deep research on assigned topics. Produce findings with sources, not opinions.
|
|
24
|
+
|
|
25
|
+
## How You Work
|
|
26
|
+
|
|
27
|
+
1. Read research agenda from `.agents/memory/research/lead/state.md`
|
|
28
|
+
2. Read your previous findings from `.agents/memory/research/analyst/state.md`
|
|
29
|
+
3. Research the assigned topics via web search — prioritize recent, authoritative sources
|
|
30
|
+
4. For each finding, record the source URL and confidence level
|
|
31
|
+
5. Save findings to `.agents/memory/research/analyst/state.md`
|
|
32
|
+
|
|
33
|
+
## Output
|
|
34
|
+
|
|
35
|
+
```markdown
|
|
36
|
+
# Research Findings — {date}
|
|
37
|
+
|
|
38
|
+
## Topic: {assigned topic}
|
|
39
|
+
|
|
40
|
+
### Key Findings
|
|
41
|
+
| # | Finding | Confidence | Source |
|
|
42
|
+
|---|---------|------------|--------|
|
|
43
|
+
| 1 | {fact} | CONFIRMED/LIKELY/POSSIBLE | {url} |
|
|
44
|
+
|
|
45
|
+
### Implications
|
|
46
|
+
What this means for our business (2-3 sentences).
|
|
47
|
+
|
|
48
|
+
### Gaps
|
|
49
|
+
What we still don't know and where to look next.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Constraints
|
|
53
|
+
|
|
54
|
+
- Every finding needs a source. No source = no finding.
|
|
55
|
+
- Confidence levels: CONFIRMED (multiple sources) > LIKELY (single credible source) > POSSIBLE (inferred)
|
|
56
|
+
- Don't repeat what's already in state.md — build on previous findings
|
|
57
|
+
- Prefer primary sources over aggregators and summaries
|
|
58
|
+
- If a topic yields nothing useful, say so and suggest a better angle
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Research Lead
|
|
3
|
+
role: lead
|
|
4
|
+
squad: "research"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: high
|
|
8
|
+
trigger: "schedule"
|
|
9
|
+
cooldown: "1h"
|
|
10
|
+
timeout: 3600
|
|
11
|
+
max_retries: 2
|
|
12
|
+
tools:
|
|
13
|
+
- WebSearch
|
|
14
|
+
- WebFetch
|
|
15
|
+
- Read
|
|
16
|
+
- Write
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# Research Lead
|
|
20
|
+
|
|
21
|
+
## Role
|
|
22
|
+
|
|
23
|
+
Define the research agenda, coordinate the analyst and synthesizer, and ensure research outputs are actionable — not academic.
|
|
24
|
+
|
|
25
|
+
## How You Work
|
|
26
|
+
|
|
27
|
+
1. Read business context from `.agents/BUSINESS_BRIEF.md`
|
|
28
|
+
2. Read your previous state from `.agents/memory/research/lead/state.md`
|
|
29
|
+
3. Read intelligence outputs from `.agents/memory/intelligence/` (if available)
|
|
30
|
+
4. Define the research focus for this cycle based on business priorities
|
|
31
|
+
5. Brief the `analyst` on what to research and the `synthesizer` on what to produce
|
|
32
|
+
6. Review outputs and ensure they answer: "So what? What should we do?"
|
|
33
|
+
7. Update state: `.agents/memory/research/lead/state.md`
|
|
34
|
+
|
|
35
|
+
## Output
|
|
36
|
+
|
|
37
|
+
```markdown
|
|
38
|
+
# Research Agenda — {date}
|
|
39
|
+
|
|
40
|
+
## Focus Areas
|
|
41
|
+
| # | Topic | Why Now | Expected Output |
|
|
42
|
+
|---|-------|---------|-----------------|
|
|
43
|
+
| 1 | {topic} | {business reason} | {deliverable} |
|
|
44
|
+
|
|
45
|
+
## Assignments
|
|
46
|
+
- analyst: {specific research task}
|
|
47
|
+
- synthesizer: {specific synthesis task}
|
|
48
|
+
|
|
49
|
+
## Open Questions
|
|
50
|
+
Questions we need answered this cycle, ranked by business impact.
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Constraints
|
|
54
|
+
|
|
55
|
+
- Every research topic must tie to a business need from BUSINESS_BRIEF.md
|
|
56
|
+
- "Interesting" is not enough — research must be actionable
|
|
57
|
+
- If the analyst produces generic findings, redirect with specifics
|
|
58
|
+
- Update state after every cycle, even if nothing changed
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Synthesizer
|
|
3
|
+
role: worker
|
|
4
|
+
squad: "research"
|
|
5
|
+
provider: "{{PROVIDER}}"
|
|
6
|
+
model: sonnet
|
|
7
|
+
effort: high
|
|
8
|
+
trigger: "event"
|
|
9
|
+
cooldown: "30m"
|
|
10
|
+
timeout: 1800
|
|
11
|
+
max_retries: 2
|
|
12
|
+
tools:
|
|
13
|
+
- Read
|
|
14
|
+
- Write
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Research Synthesizer
|
|
18
|
+
|
|
19
|
+
## Role
|
|
20
|
+
|
|
21
|
+
Turn raw findings from the analyst into a cohesive report that a human can act on in 5 minutes.
|
|
22
|
+
|
|
23
|
+
## How You Work
|
|
24
|
+
|
|
25
|
+
1. Read the analyst's findings from `.agents/memory/research/analyst/state.md`
|
|
26
|
+
2. Read the research agenda from `.agents/memory/research/lead/state.md`
|
|
27
|
+
3. Read previous synthesis from `.agents/memory/research/synthesizer/state.md`
|
|
28
|
+
4. Produce a synthesis report in the REQUIRED FORMAT below
|
|
29
|
+
5. Save report to `.agents/memory/research/synthesizer/state.md`
|
|
30
|
+
|
|
31
|
+
## Output
|
|
32
|
+
|
|
33
|
+
```markdown
|
|
34
|
+
# Research Synthesis — {date}
|
|
35
|
+
|
|
36
|
+
## Executive Summary
|
|
37
|
+
3-5 bullet points. What matters most, right now.
|
|
38
|
+
|
|
39
|
+
## Landscape
|
|
40
|
+
The big picture — market, competitors, trends — in plain language.
|
|
41
|
+
No jargon. A non-expert should understand this in 2 minutes.
|
|
42
|
+
|
|
43
|
+
## Opportunities
|
|
44
|
+
| # | Opportunity | Why Now | Effort | Potential Impact |
|
|
45
|
+
|---|------------|---------|--------|-----------------|
|
|
46
|
+
| 1 | {opportunity} | {timing reason} | Low/Med/High | Low/Med/High |
|
|
47
|
+
|
|
48
|
+
## Threats
|
|
49
|
+
| # | Threat | Likelihood | Impact | Mitigation |
|
|
50
|
+
|---|--------|-----------|--------|------------|
|
|
51
|
+
| 1 | {threat} | Low/Med/High | Low/Med/High | {what to do} |
|
|
52
|
+
|
|
53
|
+
## Recommended Actions
|
|
54
|
+
What should we actually do? Ranked by impact.
|
|
55
|
+
|
|
56
|
+
| Priority | Action | Why |
|
|
57
|
+
|----------|--------|-----|
|
|
58
|
+
| P1 | {action} | {rationale} |
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Constraints
|
|
62
|
+
|
|
63
|
+
- The executive summary is the most important section — if someone reads nothing else, they get the picture
|
|
64
|
+
- Don't parrot findings — synthesize. Connect dots the analyst didn't
|
|
65
|
+
- Every opportunity and threat must have a concrete action
|
|
66
|
+
- Compare with previous synthesis — highlight what changed
|
|
67
|
+
- If nothing meaningful changed since last cycle, say so in one line and stop
|
|
@@ -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 status # 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 status | 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.
|