Skip to main content

groove-utilities-memory-promises

Capture and resolve deferred items from a session ('we'll come back to that'). Use $ARGUMENTS as the promise text, or --list / --resolve N.

Source facts

Repository
andreadellacorte/groove
Last source activity
March 9, 2026 at 19:59
Detected SKILL.md language
English
Stars
5
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions ยท Read-only preview
name
groove-utilities-memory-promises
description
Capture and resolve deferred items from a session ('we'll come back to that'). Use $ARGUMENTS as the promise text, or --list / --resolve N.
license
MIT
allowed-tools
Read Write Edit Glob Bash(beans:*) AskUserQuestion
metadata
{"author":"andreadellacorte"}
# groove-utilities-memory-promises Use $ARGUMENTS as the promise text if provided, or a flag: - `--list`: show all open promises - `--resolve <N>`: mark promise N as resolved ## Outcome Deferred items from a session are captured before they are forgotten, or existing open promises are reviewed and resolved. ## Acceptance Criteria - New promise captured with date and optional context - `--list` shows all open promises clearly numbered - `--resolve N` marks promise N as resolved ## Task backend Read `tasks.backend` from `.groove/index.md`. Promises 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. Promises are stored as tasks under a shared "Groove Memory" milestone โ†’ "Promises" epic hierarchy. This keeps them organised and out of the main work task list. ### 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 output is non-empty, use the first ID; otherwise `beans create "Groove Memory" -t milestone` and capture the new ID 2. Find or create the **Promises** epic under that milestone: - `beans list -t epic --parent <milestone-id> --search "Promises" -q` โ€” if non-empty, use first ID; otherwise `beans create "Promises" -t epic --parent <milestone-id>` and capture the new ID Use the Promises epic ID as `<parent-id>` for all promise tasks. ### `--list` 1. Resolve `<parent-id>` (see above) 2. `beans list --parent <parent-id> -s todo -t task` 3. Display as numbered list: `1. [<id>] <title>` โ€” position number for `--resolve N`, beans ID in brackets 4. If empty: print "No open promises." ### `--resolve <N>` 1. Resolve `<parent-id>`; run `beans list --parent <parent-id> -s todo -t task` 2. Find the Nth item; if not found: print "No open promise #N" and exit 3. `beans update <id> -s completed` 4. Confirm: "Promise #N resolved." ### Default โ€” add a promise 1. Resolve `<parent-id>` (see above) 2. Get promise text from $ARGUMENTS if provided; otherwise ask: "What's being deferred?" 3. Optionally ask: "Any context? (enter to skip)" 4. `beans create "<text>" -t task --parent <parent-id> -s todo -p deferred` 5. If context given: `beans update <id> -d "<context>"` 6. Confirm: "Promise captured: [<id>] <text>" ## Constraints - Read `tasks.backend` from `.groove/index.md` at the start of every invocation - Requires a configured task backend โ€” if `tasks.backend: none`, prompt user to install one - Never auto-capture promises without user confirmation โ€” always explicit - Milestone/epic parent hierarchy is idempotent โ€” always check before creating; never create duplicates - Use `-s todo` for open, `-s completed` for resolved; `-p deferred` to signal not active work - Do not resolve all promises automatically; resolve one at a time unless user asks for `--resolve-all` - `--resolve-all` requires confirmation: "Resolve all N open promises?" before proceeding
View on GitHub