mcpField
G
groove-utilities-memory-promises

groove-utilities-memory-promises

github.com/andreadellacorteProductivity6518 installsUpdated 14w ago
Repository

About groove-utilities-memory-promises

A Groove skill for capturing deferred items as promises and managing their status through a configured task backend. It can list open promises or resolve one at a time, and requires explicit user confirmation before capturing or resolving all items.

Key features

  1. 01Capture promises with dates and context
  2. 02List open promises with numbering
  3. 03Resolve a selected promise
  4. 04Organize tasks under a shared hierarchy

Use cases

  1. 01Recording work deferred during a session
  2. 02Reviewing outstanding commitments
  3. 03Marking a chosen promise resolved

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/andreadellacorte/groove --skill groove-utilities-memory-promises

After installing, type/groove-utilities-memory-promisesin Claude Code to confirm it loaded.

Details

From the project README

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: [] "

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

Comments

Markdown supported