@bradygaster/squad-cli 0.9.1 → 0.9.2-insider.5

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 (276) hide show
  1. package/README.md +329 -329
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +10 -10
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/config.d.ts +12 -0
  6. package/dist/cli/commands/config.d.ts.map +1 -0
  7. package/dist/cli/commands/config.js +157 -0
  8. package/dist/cli/commands/config.js.map +1 -0
  9. package/dist/cli/commands/consult.d.ts.map +1 -1
  10. package/dist/cli/commands/consult.js +9 -4
  11. package/dist/cli/commands/consult.js.map +1 -1
  12. package/dist/cli/commands/copilot.d.ts.map +1 -1
  13. package/dist/cli/commands/copilot.js +8 -7
  14. package/dist/cli/commands/copilot.js.map +1 -1
  15. package/dist/cli/commands/doctor.d.ts.map +1 -1
  16. package/dist/cli/commands/doctor.js +50 -17
  17. package/dist/cli/commands/doctor.js.map +1 -1
  18. package/dist/cli/commands/economy.d.ts.map +1 -1
  19. package/dist/cli/commands/economy.js +3 -2
  20. package/dist/cli/commands/economy.js.map +1 -1
  21. package/dist/cli/commands/export.d.ts.map +1 -1
  22. package/dist/cli/commands/export.js +22 -16
  23. package/dist/cli/commands/export.js.map +1 -1
  24. package/dist/cli/commands/extract.d.ts.map +1 -1
  25. package/dist/cli/commands/extract.js +14 -10
  26. package/dist/cli/commands/extract.js.map +1 -1
  27. package/dist/cli/commands/import.d.ts.map +1 -1
  28. package/dist/cli/commands/import.js +21 -18
  29. package/dist/cli/commands/import.js.map +1 -1
  30. package/dist/cli/commands/init-remote.d.ts.map +1 -1
  31. package/dist/cli/commands/init-remote.js +7 -6
  32. package/dist/cli/commands/init-remote.js.map +1 -1
  33. package/dist/cli/commands/link.d.ts.map +1 -1
  34. package/dist/cli/commands/link.js +11 -10
  35. package/dist/cli/commands/link.js.map +1 -1
  36. package/dist/cli/commands/migrate.d.ts.map +1 -1
  37. package/dist/cli/commands/migrate.js +19 -18
  38. package/dist/cli/commands/migrate.js.map +1 -1
  39. package/dist/cli/commands/personal.d.ts.map +1 -1
  40. package/dist/cli/commands/personal.js +57 -65
  41. package/dist/cli/commands/personal.js.map +1 -1
  42. package/dist/cli/commands/plugin.d.ts.map +1 -1
  43. package/dist/cli/commands/plugin.js +8 -7
  44. package/dist/cli/commands/plugin.js.map +1 -1
  45. package/dist/cli/commands/rc.d.ts.map +1 -1
  46. package/dist/cli/commands/rc.js +19 -12
  47. package/dist/cli/commands/rc.js.map +1 -1
  48. package/dist/cli/commands/schedule.d.ts.map +1 -1
  49. package/dist/cli/commands/schedule.js +6 -5
  50. package/dist/cli/commands/schedule.js.map +1 -1
  51. package/dist/cli/commands/start.d.ts.map +1 -1
  52. package/dist/cli/commands/start.js +18 -11
  53. package/dist/cli/commands/start.js.map +1 -1
  54. package/dist/cli/commands/streams.d.ts.map +1 -1
  55. package/dist/cli/commands/streams.js +3 -2
  56. package/dist/cli/commands/streams.js.map +1 -1
  57. package/dist/cli/commands/upstream.d.ts.map +1 -1
  58. package/dist/cli/commands/upstream.js +23 -19
  59. package/dist/cli/commands/upstream.js.map +1 -1
  60. package/dist/cli/commands/watch/capabilities/board.d.ts +22 -0
  61. package/dist/cli/commands/watch/capabilities/board.d.ts.map +1 -0
  62. package/dist/cli/commands/watch/capabilities/board.js +121 -0
  63. package/dist/cli/commands/watch/capabilities/board.js.map +1 -0
  64. package/dist/cli/commands/watch/capabilities/decision-hygiene.d.ts +14 -0
  65. package/dist/cli/commands/watch/capabilities/decision-hygiene.d.ts.map +1 -0
  66. package/dist/cli/commands/watch/capabilities/decision-hygiene.js +72 -0
  67. package/dist/cli/commands/watch/capabilities/decision-hygiene.js.map +1 -0
  68. package/dist/cli/commands/watch/capabilities/execute.d.ts +33 -0
  69. package/dist/cli/commands/watch/capabilities/execute.d.ts.map +1 -0
  70. package/dist/cli/commands/watch/capabilities/execute.js +119 -0
  71. package/dist/cli/commands/watch/capabilities/execute.js.map +1 -0
  72. package/dist/cli/commands/watch/capabilities/index.d.ts +7 -0
  73. package/dist/cli/commands/watch/capabilities/index.d.ts.map +1 -0
  74. package/dist/cli/commands/watch/capabilities/index.js +28 -0
  75. package/dist/cli/commands/watch/capabilities/index.js.map +1 -0
  76. package/dist/cli/commands/watch/capabilities/monitor-email.d.ts +14 -0
  77. package/dist/cli/commands/watch/capabilities/monitor-email.d.ts.map +1 -0
  78. package/dist/cli/commands/watch/capabilities/monitor-email.js +54 -0
  79. package/dist/cli/commands/watch/capabilities/monitor-email.js.map +1 -0
  80. package/dist/cli/commands/watch/capabilities/monitor-teams.d.ts +14 -0
  81. package/dist/cli/commands/watch/capabilities/monitor-teams.d.ts.map +1 -0
  82. package/dist/cli/commands/watch/capabilities/monitor-teams.js +55 -0
  83. package/dist/cli/commands/watch/capabilities/monitor-teams.js.map +1 -0
  84. package/dist/cli/commands/watch/capabilities/retro.d.ts +14 -0
  85. package/dist/cli/commands/watch/capabilities/retro.d.ts.map +1 -0
  86. package/dist/cli/commands/watch/capabilities/retro.js +81 -0
  87. package/dist/cli/commands/watch/capabilities/retro.js.map +1 -0
  88. package/dist/cli/commands/watch/capabilities/self-pull.d.ts +14 -0
  89. package/dist/cli/commands/watch/capabilities/self-pull.d.ts.map +1 -0
  90. package/dist/cli/commands/watch/capabilities/self-pull.js +33 -0
  91. package/dist/cli/commands/watch/capabilities/self-pull.js.map +1 -0
  92. package/dist/cli/commands/watch/capabilities/two-pass.d.ts +14 -0
  93. package/dist/cli/commands/watch/capabilities/two-pass.d.ts.map +1 -0
  94. package/dist/cli/commands/watch/capabilities/two-pass.js +66 -0
  95. package/dist/cli/commands/watch/capabilities/two-pass.js.map +1 -0
  96. package/dist/cli/commands/watch/capabilities/wave-dispatch.d.ts +14 -0
  97. package/dist/cli/commands/watch/capabilities/wave-dispatch.d.ts.map +1 -0
  98. package/dist/cli/commands/watch/capabilities/wave-dispatch.js +117 -0
  99. package/dist/cli/commands/watch/capabilities/wave-dispatch.js.map +1 -0
  100. package/dist/cli/commands/watch/config.d.ts +25 -0
  101. package/dist/cli/commands/watch/config.d.ts.map +1 -0
  102. package/dist/cli/commands/watch/config.js +82 -0
  103. package/dist/cli/commands/watch/config.js.map +1 -0
  104. package/dist/cli/commands/watch/index.d.ts +95 -0
  105. package/dist/cli/commands/watch/index.d.ts.map +1 -0
  106. package/dist/cli/commands/watch/index.js +704 -0
  107. package/dist/cli/commands/watch/index.js.map +1 -0
  108. package/dist/cli/commands/watch/registry.d.ts +19 -0
  109. package/dist/cli/commands/watch/registry.d.ts.map +1 -0
  110. package/dist/cli/commands/watch/registry.js +28 -0
  111. package/dist/cli/commands/watch/registry.js.map +1 -0
  112. package/dist/cli/commands/watch/types.d.ts +57 -0
  113. package/dist/cli/commands/watch/types.d.ts.map +1 -0
  114. package/dist/cli/commands/watch/types.js +8 -0
  115. package/dist/cli/commands/watch/types.js.map +1 -0
  116. package/dist/cli/core/cast.d.ts.map +1 -1
  117. package/dist/cli/core/cast.js +15 -19
  118. package/dist/cli/core/cast.js.map +1 -1
  119. package/dist/cli/core/detect-squad-dir.d.ts.map +1 -1
  120. package/dist/cli/core/detect-squad-dir.js +12 -10
  121. package/dist/cli/core/detect-squad-dir.js.map +1 -1
  122. package/dist/cli/core/email-scrub.d.ts.map +1 -1
  123. package/dist/cli/core/email-scrub.js +12 -11
  124. package/dist/cli/core/email-scrub.js.map +1 -1
  125. package/dist/cli/core/gh-cli.d.ts +13 -0
  126. package/dist/cli/core/gh-cli.d.ts.map +1 -1
  127. package/dist/cli/core/gh-cli.js +24 -0
  128. package/dist/cli/core/gh-cli.js.map +1 -1
  129. package/dist/cli/core/init.d.ts +2 -0
  130. package/dist/cli/core/init.d.ts.map +1 -1
  131. package/dist/cli/core/init.js +22 -5
  132. package/dist/cli/core/init.js.map +1 -1
  133. package/dist/cli/core/migrate-directory.d.ts.map +1 -1
  134. package/dist/cli/core/migrate-directory.js +14 -13
  135. package/dist/cli/core/migrate-directory.js.map +1 -1
  136. package/dist/cli/core/migrations.d.ts.map +1 -1
  137. package/dist/cli/core/migrations.js +22 -8
  138. package/dist/cli/core/migrations.js.map +1 -1
  139. package/dist/cli/core/nap.d.ts.map +1 -1
  140. package/dist/cli/core/nap.js +111 -49
  141. package/dist/cli/core/nap.js.map +1 -1
  142. package/dist/cli/core/project-type.d.ts.map +1 -1
  143. package/dist/cli/core/project-type.js +11 -10
  144. package/dist/cli/core/project-type.js.map +1 -1
  145. package/dist/cli/core/team-md.d.ts.map +1 -1
  146. package/dist/cli/core/team-md.js +43 -38
  147. package/dist/cli/core/team-md.js.map +1 -1
  148. package/dist/cli/core/templates.d.ts.map +1 -1
  149. package/dist/cli/core/templates.js +4 -3
  150. package/dist/cli/core/templates.js.map +1 -1
  151. package/dist/cli/core/upgrade.d.ts.map +1 -1
  152. package/dist/cli/core/upgrade.js +68 -55
  153. package/dist/cli/core/upgrade.js.map +1 -1
  154. package/dist/cli/core/version.d.ts.map +1 -1
  155. package/dist/cli/core/version.js +8 -7
  156. package/dist/cli/core/version.js.map +1 -1
  157. package/dist/cli/index.d.ts +1 -1
  158. package/dist/cli/index.d.ts.map +1 -1
  159. package/dist/cli/index.js +1 -1
  160. package/dist/cli/index.js.map +1 -1
  161. package/dist/cli/self-update.d.ts.map +1 -1
  162. package/dist/cli/self-update.js +7 -4
  163. package/dist/cli/self-update.js.map +1 -1
  164. package/dist/cli/shell/agent-name-parser.d.ts +16 -0
  165. package/dist/cli/shell/agent-name-parser.d.ts.map +1 -0
  166. package/dist/cli/shell/agent-name-parser.js +54 -0
  167. package/dist/cli/shell/agent-name-parser.js.map +1 -0
  168. package/dist/cli/shell/commands.d.ts.map +1 -1
  169. package/dist/cli/shell/commands.js +4 -3
  170. package/dist/cli/shell/commands.js.map +1 -1
  171. package/dist/cli/shell/coordinator.d.ts +4 -1
  172. package/dist/cli/shell/coordinator.d.ts.map +1 -1
  173. package/dist/cli/shell/coordinator.js +29 -26
  174. package/dist/cli/shell/coordinator.js.map +1 -1
  175. package/dist/cli/shell/index.d.ts.map +1 -1
  176. package/dist/cli/shell/index.js +33 -35
  177. package/dist/cli/shell/index.js.map +1 -1
  178. package/dist/cli/shell/lifecycle.d.ts +13 -2
  179. package/dist/cli/shell/lifecycle.d.ts.map +1 -1
  180. package/dist/cli/shell/lifecycle.js +26 -13
  181. package/dist/cli/shell/lifecycle.js.map +1 -1
  182. package/dist/cli/shell/session-store.d.ts.map +1 -1
  183. package/dist/cli/shell/session-store.js +16 -12
  184. package/dist/cli/shell/session-store.js.map +1 -1
  185. package/dist/cli/shell/spawn.d.ts +4 -1
  186. package/dist/cli/shell/spawn.d.ts.map +1 -1
  187. package/dist/cli/shell/spawn.js +28 -10
  188. package/dist/cli/shell/spawn.js.map +1 -1
  189. package/dist/cli-entry.js +83 -12
  190. package/dist/cli-entry.js.map +1 -1
  191. package/package.json +8 -4
  192. package/scripts/patch-esm-imports.mjs +105 -105
  193. package/scripts/patch-ink-rendering.mjs +115 -115
  194. package/templates/casting/Futurama.json +9 -9
  195. package/templates/casting-history.json +4 -4
  196. package/templates/casting-policy.json +37 -37
  197. package/templates/casting-reference.md +104 -104
  198. package/templates/casting-registry.json +3 -3
  199. package/templates/ceremonies.md +41 -41
  200. package/templates/charter.md +53 -53
  201. package/templates/constraint-tracking.md +38 -38
  202. package/templates/cooperative-rate-limiting.md +229 -229
  203. package/templates/copilot-instructions.md +46 -46
  204. package/templates/history.md +10 -10
  205. package/templates/identity/now.md +9 -9
  206. package/templates/identity/wisdom.md +15 -15
  207. package/templates/issue-lifecycle.md +412 -412
  208. package/templates/keda-scaler.md +164 -164
  209. package/templates/machine-capabilities.md +74 -74
  210. package/templates/mcp-config.md +90 -90
  211. package/templates/multi-agent-format.md +28 -28
  212. package/templates/orchestration-log.md +27 -27
  213. package/templates/plugin-marketplace.md +49 -49
  214. package/templates/ralph-circuit-breaker.md +313 -313
  215. package/templates/raw-agent-output.md +37 -37
  216. package/templates/roster.md +60 -60
  217. package/templates/routing.md +39 -39
  218. package/templates/run-output.md +50 -50
  219. package/templates/scribe-charter.md +123 -119
  220. package/templates/skill.md +24 -24
  221. package/templates/skills/agent-collaboration/SKILL.md +42 -42
  222. package/templates/skills/agent-conduct/SKILL.md +24 -24
  223. package/templates/skills/architectural-proposals/SKILL.md +151 -151
  224. package/templates/skills/ci-validation-gates/SKILL.md +84 -84
  225. package/templates/skills/cli-wiring/SKILL.md +47 -47
  226. package/templates/skills/client-compatibility/SKILL.md +89 -89
  227. package/templates/skills/cross-machine-coordination/SKILL.md +434 -0
  228. package/templates/skills/cross-squad/SKILL.md +114 -114
  229. package/templates/skills/distributed-mesh/SKILL.md +287 -287
  230. package/templates/skills/distributed-mesh/mesh.json.example +30 -30
  231. package/templates/skills/distributed-mesh/sync-mesh.ps1 +111 -111
  232. package/templates/skills/distributed-mesh/sync-mesh.sh +104 -104
  233. package/templates/skills/docs-standards/SKILL.md +71 -71
  234. package/templates/skills/economy-mode/SKILL.md +114 -114
  235. package/templates/skills/error-recovery/SKILL.md +99 -0
  236. package/templates/skills/external-comms/SKILL.md +329 -329
  237. package/templates/skills/gh-auth-isolation/SKILL.md +183 -183
  238. package/templates/skills/git-workflow/SKILL.md +204 -204
  239. package/templates/skills/github-multi-account/SKILL.md +95 -95
  240. package/templates/skills/history-hygiene/SKILL.md +36 -36
  241. package/templates/skills/humanizer/SKILL.md +105 -105
  242. package/templates/skills/init-mode/SKILL.md +102 -102
  243. package/templates/skills/iterative-retrieval/SKILL.md +165 -0
  244. package/templates/skills/model-selection/SKILL.md +117 -117
  245. package/templates/skills/nap/SKILL.md +24 -24
  246. package/templates/skills/notification-routing/SKILL.md +105 -0
  247. package/templates/skills/personal-squad/SKILL.md +57 -57
  248. package/templates/skills/pr-screenshots/SKILL.md +149 -0
  249. package/templates/skills/ralph-two-pass-scan/SKILL.md +35 -0
  250. package/templates/skills/reflect/SKILL.md +229 -0
  251. package/templates/skills/release-process/SKILL.md +131 -423
  252. package/templates/skills/reskill/SKILL.md +92 -92
  253. package/templates/skills/retro-enforcement/SKILL.md +148 -0
  254. package/templates/skills/reviewer-protocol/SKILL.md +79 -79
  255. package/templates/skills/secret-handling/SKILL.md +200 -200
  256. package/templates/skills/session-recovery/SKILL.md +155 -155
  257. package/templates/skills/squad-conventions/SKILL.md +69 -69
  258. package/templates/skills/test-discipline/SKILL.md +37 -37
  259. package/templates/skills/tiered-memory/SKILL.md +234 -0
  260. package/templates/skills/windows-compatibility/SKILL.md +98 -74
  261. package/templates/{squad.agent.md → squad.agent.md.template} +1316 -1287
  262. package/templates/workflows/squad-ci.yml +24 -24
  263. package/templates/workflows/squad-docs.yml +54 -54
  264. package/templates/workflows/squad-heartbeat.yml +0 -4
  265. package/templates/workflows/squad-insider-release.yml +61 -61
  266. package/templates/workflows/squad-issue-assign.yml +161 -161
  267. package/templates/workflows/squad-label-enforce.yml +181 -181
  268. package/templates/workflows/squad-preview.yml +55 -55
  269. package/templates/workflows/squad-promote.yml +120 -120
  270. package/templates/workflows/squad-release.yml +77 -77
  271. package/templates/workflows/squad-triage.yml +260 -260
  272. package/templates/workflows/sync-squad-labels.yml +169 -169
  273. package/dist/cli/commands/watch.d.ts +0 -18
  274. package/dist/cli/commands/watch.d.ts.map +0 -1
  275. package/dist/cli/commands/watch.js +0 -306
  276. package/dist/cli/commands/watch.js.map +0 -1
@@ -0,0 +1,35 @@
1
+ # Skill: Ralph — Two-Pass Issue Scanning
2
+ **Confidence:** high
3
+ **Domain:** work-monitoring
4
+ **Last validated:** 2026-03-24
5
+
6
+ ## Context
7
+ Cuts GitHub API calls from N+1 to ~7 per round (~72% reduction) by separating list scanning from full hydration.
8
+ Addresses the scanning inefficiency described in issue #596.
9
+
10
+ ## Pattern
11
+
12
+ ### Pass 1 — Lightweight Scan
13
+
14
+ ```
15
+ gh issue list --state open --json number,title,labels,assignees --limit 100
16
+ ```
17
+
18
+ **Skip hydration if ANY of these match:**
19
+
20
+ | Condition | Skip reason |
21
+ |-----------|-------------|
22
+ | `assignees` non-empty AND no `status:needs-review` | Already owned |
23
+ | Labels contain `status:blocked` or `status:waiting-external` | Externally gated |
24
+ | Labels contain `status:done` or `status:postponed` | Closed loop |
25
+ | Title matches stale/noisy pattern (`[chore]`, `[auto]`) | Low-signal |
26
+
27
+ ### Pass 2 — Selective Hydration
28
+
29
+ For each issue surviving Pass 1:
30
+
31
+ ```
32
+ gh issue view <number> --json number,title,body,labels,assignees,comments,state
33
+ ```
34
+
35
+ Then apply normal Ralph triage logic. Rule of thumb: hydrate ≤ 30% of scanned list. If more than 30% survive Pass 1, tighten filter rules.
@@ -0,0 +1,229 @@
1
+ ---
2
+ name: reflect
3
+ description: Learning capture system that extracts HIGH/MED/LOW confidence patterns from conversations to prevent repeating mistakes. Use after user corrections ("no", "wrong"), praise ("perfect", "exactly"), or when discovering edge cases. Complements .squad/agents/{agent}/history.md and .squad/decisions.md.
4
+ license: MIT
5
+ version: 1.0.0-squad
6
+ domain: team-memory, learning
7
+ confidence: high
8
+ ---
9
+
10
+ # Reflect Skill
11
+
12
+ **Critical learning capture system** for Squad. Prevents repeating mistakes and preserves successful patterns across sessions.
13
+
14
+ Analyze conversations and propose improvements to squad knowledge based on what worked, what didn't, and edge cases discovered. **Every correction is a learning opportunity.**
15
+
16
+ ---
17
+
18
+ ## Integration with Squad Architecture
19
+
20
+ **Reflect complements existing Squad knowledge systems:**
21
+
22
+ 1. **`.squad/agents/{agent}/history.md`** — Permanent learnings from completed work (append-only; each agent updates their own file; Scribe propagates cross-agent updates)
23
+ 2. **`.squad/decisions.md`** — Team-wide decisions that all agents respect
24
+ 3. **`reflect` skill** — Captures in-flight learnings from conversations that may graduate to history.md or decisions.md
25
+
26
+ **Workflow:**
27
+ - Use `reflect` during work to capture learnings
28
+ - At session end, review captured learnings
29
+ - Promote HIGH confidence patterns → lead agent for decision.md review
30
+ - Promote agent-specific patterns → `{agent}/history.md` updates
31
+
32
+ ---
33
+
34
+ ## Triggers
35
+
36
+ ### 🔴 HIGH Priority (Invoke Immediately)
37
+
38
+ | Trigger | Example | Why Critical |
39
+ |---------|---------|--------------|
40
+ | User correction | "no", "wrong", "not like that", "never do" | Captures mistakes to prevent repetition |
41
+ | Architectural insight | "you removed that without understanding why" | Documents design decisions (Chesterton's Fence) |
42
+ | Immediate fixes | "debug", "root cause", "fix all" | Learns from errors in real-time |
43
+
44
+ ### 🟡 MEDIUM Priority (Invoke After Multiple)
45
+
46
+ | Trigger | Example | Why Important |
47
+ |---------|---------|---------------|
48
+ | User praise | "perfect", "exactly", "great" | Reinforces successful patterns |
49
+ | Tool preferences | "use X instead of Y", "prefer" | Builds workflow preferences |
50
+ | Edge cases | "what if X happens?", "don't forget", "ensure" | Captures scenarios to handle |
51
+
52
+ ### 🟢 LOW Priority (Invoke at Session End)
53
+
54
+ | Trigger | Example | Why Useful |
55
+ |---------|---------|------------|
56
+ | Repeated patterns | Frequent use of specific commands/tools | Identifies workflow preferences |
57
+ | Session end | After complex work | Consolidates all session learnings |
58
+
59
+ ---
60
+
61
+ ## Process
62
+
63
+ ### Phase 1: Identify Learning Target
64
+
65
+ Determine what knowledge system should be updated:
66
+
67
+ 1. **Agent-specific learning** → `.squad/agents/{agent}/history.md`
68
+ 2. **Team-wide decision** → `.squad/decisions/inbox/{agent}-{topic}.md`
69
+ 3. **Skill-specific improvement** → Document in session, recommend to skill owner
70
+
71
+ ### Phase 2: Analyze Conversation
72
+
73
+ Scan for learning signals with confidence levels:
74
+
75
+ #### HIGH Confidence: Corrections
76
+
77
+ User actively steered or corrected output.
78
+
79
+ **Detection patterns:**
80
+ - Explicit rejection: "no", "not like that", "that's wrong"
81
+ - Strong directives: "never do", "always do", "don't ever"
82
+ - User provided alternative implementation
83
+
84
+ **Example:**
85
+ ```text
86
+ User: "No, use the azure-devops MCP tool instead of raw API calls"
87
+ → [HIGH] + Add constraint: "Prefer azure-devops MCP tools over REST API"
88
+ ```
89
+
90
+ #### MEDIUM Confidence: Success Patterns
91
+
92
+ Output was accepted or praised.
93
+
94
+ **Detection patterns:**
95
+ - Explicit praise: "perfect", "great", "yes", "exactly"
96
+ - User built on output without modification
97
+ - Output was committed without changes
98
+
99
+ **Example:**
100
+ ```text
101
+ User: "Perfect, that's exactly what I needed"
102
+ → [MED] + Add preference: "Include usage examples in documentation"
103
+ ```
104
+
105
+ #### MEDIUM Confidence: Edge Cases
106
+
107
+ Scenarios not anticipated.
108
+
109
+ **Detection patterns:**
110
+ - Questions not answered
111
+ - Workarounds user had to apply
112
+ - Error handling gaps discovered
113
+
114
+ #### LOW Confidence: Preferences
115
+
116
+ Accumulated patterns over time.
117
+
118
+ ---
119
+
120
+ ### Phase 3: Propose Learnings
121
+
122
+ Present findings:
123
+
124
+ ```text
125
+ ┌─────────────────────────────────────────────────────────────┐
126
+ │ REFLECTION: {target (agent/decision/skill)} │
127
+ ├─────────────────────────────────────────────────────────────┤
128
+ │ │
129
+ │ [HIGH] + Add constraint: "{specific constraint}" │
130
+ │ Source: "{quoted user correction}" │
131
+ │ Target: .squad/decisions/inbox/{agent}-{topic}.md │
132
+ │ │
133
+ │ [MED] + Add preference: "{specific preference}" │
134
+ │ Source: "{evidence from conversation}" │
135
+ │ Target: .squad/agents/{agent}/history.md │
136
+ │ │
137
+ │ [LOW] ~ Note for review: "{observation}" │
138
+ │ Source: "{pattern observed}" │
139
+ │ Target: Session notes only │
140
+ │ │
141
+ ├─────────────────────────────────────────────────────────────┤
142
+ │ Apply changes? [Y/n/edit] │
143
+ └─────────────────────────────────────────────────────────────┘
144
+ ```
145
+
146
+ **Confidence Threshold:**
147
+
148
+ | Threshold | Action |
149
+ |-----------|--------|
150
+ | ≥1 HIGH signal | Always propose (user explicitly corrected) |
151
+ | ≥2 MED signals | Propose (sufficient pattern) |
152
+ | ≥3 LOW signals | Propose (accumulated evidence) |
153
+ | 1-2 LOW only | Skip (insufficient evidence) |
154
+
155
+ ### Phase 4: Persist Learnings
156
+
157
+ **ALWAYS show changes before applying.**
158
+
159
+ After user approval:
160
+
161
+ 1. **For Agent History:**
162
+ - Append to `.squad/agents/{agent}/history.md` under `## Learnings` section
163
+ - Format: Date, assignment context, key learning
164
+
165
+ 2. **For Team Decisions:**
166
+ - Create `.squad/decisions/inbox/{agent}-{topic}.md`
167
+ - Lead agent reviews and merges to `decisions.md` if appropriate
168
+
169
+ 3. **For Skills:**
170
+ - Document recommendation in session notes
171
+ - Squad lead reviews and routes to skill owner
172
+
173
+ ---
174
+
175
+ ## Usage Examples
176
+
177
+ ### Example 1: User Correction
178
+
179
+ **Conversation:**
180
+ ```
181
+ Agent: "I'll use grep to search the repository"
182
+ User: "No, use the code search tools first, grep is too slow"
183
+ ```
184
+
185
+ **Reflection Output:**
186
+ ```
187
+ [HIGH] + Add constraint: "Use code intelligence tools before grep"
188
+ Source: "No, use the code search tools first, grep is too slow"
189
+ Target: .squad/agents/{agent}/history.md
190
+ ```
191
+
192
+ ### Example 2: Success Pattern
193
+
194
+ **Conversation:**
195
+ ```
196
+ Agent: [Creates PR with detailed description and test plan]
197
+ User: "Perfect! This is exactly the format I want for all PRs"
198
+ ```
199
+
200
+ **Reflection Output:**
201
+ ```
202
+ [MED] + Add preference: "Include test plan in PR descriptions"
203
+ Source: User praised detailed PR format
204
+ Target: .squad/decisions/inbox/pr-format.md (for team adoption)
205
+ ```
206
+
207
+ ---
208
+
209
+ ## When to Use
210
+
211
+ ✅ **Use reflect when:**
212
+ - User says "no", "wrong", "not like that" (HIGH priority)
213
+ - User says "perfect", "exactly", "great" (MED priority)
214
+ - You discover edge cases or gaps
215
+ - Complex work session with multiple learnings
216
+ - At end of sprint/milestone to consolidate patterns
217
+
218
+ ❌ **Don't use reflect when:**
219
+ - Simple one-off questions with no pattern
220
+ - User is just exploring ideas (no concrete decisions)
221
+ - Learning is already captured in history.md/decisions.md
222
+
223
+ ---
224
+
225
+ ## See Also
226
+
227
+ - `.squad/decisions.md` — Team-wide decisions
228
+ - `.squad/agents/*/history.md` — Agent-specific learnings
229
+ - `.squad/routing.md` — Work assignment patterns