groove-utilities-memory-retrospective
groove-utilities-memory-retrospective
Use $ARGUMENTS to specify period: week (default), month, or all.
Outcome
A period retrospective is output to the conversation: session rating trend, recurring mistake patterns, top learnings captured, and a short workflow health summary. No files are written.
Acceptance Criteria
- Session ratings trend shown (if
learned/signals.mdhas data) - Mistake patterns summarised (from resolved incidents in task backend)
- Top learnings listed by topic (from
learned/*.mddated entries) - Workflow health summary: one sentence on overall trend
- All output goes to conversation only
Steps
-
Memory path is always
.groove/memory/ -
Determine date range from $ARGUMENTS:
week: last 7 days (today - 7)month: last 30 daysall: all available data- Default if absent:
week
-
Session ratings — read
.groove/memory/learned/signals.mdif it exists:- Parse table rows matching the date range:
| YYYY-MM-DD | N/5 | context | - Compute: count, average rating, trend (last 3 vs first 3 if enough data)
- If no data: note "No session ratings recorded yet"
- Parse table rows matching the date range:
-
Mistakes — query the task backend for resolved incidents under "Groove Memory" → "Mistakes":
beans list --parent <mistakes-epic-id> -t bug -s completedfor resolved;-s in-progressfor open- Group by title keywords to identify recurring patterns
- Count total resolved vs open incidents
- If no task backend or no data: note "No incidents recorded yet"
-
Learnings — glob
.groove/memory/learned/*.md(excludesignals.md):- For each file: read and collect dated entries (
## YYYY-MM-DDheadings) within the date range - Group by topic (filename stem)
- Count entries per topic; show the most recent bullet per topic as a sample
- If no files: note "No learnings captured yet"
- For each file: read and collect dated entries (
-
Git activity — run
git log --oneline --since="<start-date>"to count commits in the period as a proxy for work volume -
Output retrospective to conversation in this format:
## Groove Retrospective — <period> (<start-date> to <today>)
### Session Ratings
<count> sessions rated | avg: <N>/5 | trend: <up/down/flat or n/a>
<sparkline of ratings if ≥3 data points, e.g. ▂▄█▆▇>
### Mistakes
<N> incidents resolved | <N> open
Top patterns:
- <root cause pattern> (N occurrences)
- ...
(No recurring patterns) if all unique
### Learnings
<N total entries across <M> topics>
- patterns (<N> entries): <most recent bullet>
- anti-patterns (<N> entries): <most recent bullet>
- ...
### Workflow Health
<git commits in period> commits | <1-sentence summary of overall trend>
e.g. "Stable week — ratings above 4, one incident (resolved), 3 new patterns captured."
Sparkline generation
Use block characters to render a simple ratings sparkline:
- 1/5 → ▁, 2/5 → ▂, 3/5 → ▄, 4/5 → ▆, 5/5 → █
- Only show if ≥ 3 ratings in the period
Constraints
- Read only — do not write to any file
- If a data source file is absent, skip that section gracefully with a one-line note
- Parse table rows defensively: skip malformed rows rather than erroring
- Date filtering: match rows where the
YYYY-MM-DDdate falls within the range; skip rows without a valid date - Output to conversation only — never write to AGENTS.md or memory files