Install to Claude Code
npx -y skills add https://github.com/andreadellacorte/groove --skill groove-utilities-memory-mistakesDescription
groove utilities memory mistakes
SKILL.md
--- name: groove-utilities-memory-mistakes description: "Log a workflow mistake, fix its root cause, and graduate the lesson to learned memory. Use when the agent makes an error you want to prevent recurring." license: MIT allowed-tools: Read Write Edit Glob Grep Bash(git:*) Bash(beans:*) AskUserQuestion metadata: author: andreadellacorte --- # groove-utilities-memory-mistakes Use $ARGUMENTS as the mistake description if provided (e.g. `--list` to show open incidents only). ## Outcome The workflow mistake is logged, its root cause is fixed in the relevant memory or learned file, and the lesson is graduated to `.groove/memory/learned/<topic>.md`. The incident is closed. ## Acceptance Criteria - Incident is recorded with root cause and fix - Permanent fix applied to `.groove/memory/learned/<topic>.md` - Incident marked resolved ## Task backend Read `tasks.backend` from `.groove/index.md`. Incidents are tracked as tasks in the configured backend. If no task backend is configured (`tasks.backend: none`), tell the user to run `/groove-utilities-task-install` first. Incidents are stored as bugs under a shared "Groove Memory" milestone → "Mistakes" epic. ### Ensure parent hierarchy Before any operation, resolve or create the parent epic: 1. Find or create the **Groove Memory** milestone: - `beans list -t milestone --search "Groove Memory" -q` — if non-empty, use first ID; otherwise `beans create "Groove Memory" -t milestone` 2. Find or create the **Mistakes** epic under that milestone: - `beans list -t epic --parent <milestone-id> --search "Mistakes" -q` — if non-empty, use first ID; otherwise `beans create "Mistakes" -t epic --parent <milestone-id>` ### `--list` 1. Resolve `<parent-id>` 2. `beans list --parent <parent-id> -t bug -s in-progress` 3. Display as numbered list: `1. [<id>] <title>` 4. If empty: print "No open incidents." ### Log and resolve an incident 1. Resolve `<parent-id>` 2. Get description from $ARGUMENTS or ask: "What mistake did I make?" 3. Ask: "Root cause — why did it happen?" (propose from context; user confirms) 4. Ask: "What fix should be applied?" (propose; user confirms) 5. `beans create "<description>" -t bug --parent <parent-id> -s in-progress` 6. Apply the fix immediately (edit the relevant file) 7. Ask: "Which learned topic? (e.g. `anti-patterns`, `tools`)" — suggest based on root cause 8. Append lesson to `.groove/memory/learned/<topic>.md` under `## YYYY-MM-DD` heading 9. `beans update <id> -s completed` 10. Report: "Incident resolved → learned/<topic>.md" ## Constraints - Read `tasks.backend` from `.groove/index.md`; memory path is always `.groove/memory/` - Requires a configured task backend — if `tasks.backend: none`, prompt user to install one - Never auto-create incidents without user confirmation - Root cause is required before resolving — do not skip the audit step - Parent hierarchy is idempotent — always check before creating - If the fix targets a `skills/` file: note that `skills/` is managed by groove:update; redirect fix to `learned/anti-patterns.md`
