--- name: review-voice-notes description: | Find, list, and act on voice notes by date. Searches the voice_notes directory for files matching a given date, reads each one, and presents them as a numbered table for the user to pick which ones to act on. Triggers when user mentions: - "review voice notes" - "what voice notes do I have" - "show me today's voice notes" - "review my dictations" --- # Review Voice Notes Review voice notes from a given date (defaults to today). Present them as a numbered summary table, then act on whichever ones the user selects by number. ## How It Works Voice notes live in `Inbox/voice_notes/` with subdirectories like `unprocessed/`, `journal_box/`, `project_ideas/`, `zk/`, `inbox/`, `drafts/`, and `misc_dictations/`. Files are named with a date prefix in the format `YYMMDD-HHMM`. ## Steps ### 1. Determine the date If the user says "today", use today's date. If they specify a date, use that. Convert it to the `YYMMDD` prefix format used in filenames. ### 2. Find all matching files Use `fd Inbox/voice_notes` to find every voice note file matching that date. This searches all subdirectories at once and returns the full picture. ### 3. Read every file Read the contents of every file found. Do not skip any. If there are many files, read them all in parallel. ### 4. Present a numbered table Create a markdown table with these columns: | # | File | Folder | One-line Summary | - **#**: Sequential number (1, 2, 3...) - **File**: The `YYMMDD-HHMM` prefix plus the descriptive part of the filename (not the full path) - **Folder**: The subdirectory it was found in (e.g., `unprocessed`, `journal_box`, `zk`) - **One-line Summary**: A concise summary of what the voice note contains ### 5. Wait for the user to pick After presenting the table, ask: "Which ones do you want me to act on?" ### 6. Act on selected items When the user gives you numbers, reduce the table to only those items and ask what they want done. Common actions: - **Move/categorize**: Move a note from `unprocessed/` to the appropriate folder (`project_ideas/`, `zk/`, `journal_box/`, etc.) - **Extract action items**: Pull out tasks, follow-ups, or messages from the note - **Draft messages**: Write clean versions of dictated messages - **Create tasks**: Turn the note into Vikunja tasks or other task items - **Summarize**: Produce a polished summary for meeting notes or journal entries - **Combine**: Merge multiple related notes into a single document Do not act without the user specifying what to do. If they just give numbers, show the reduced table and ask what action they want. ## Constraints - Never skip files. If `fd` returns 15 files, the table must have 15 rows. - Keep one-line summaries concise; the user can ask for detail on specific items. - If the user asks to reduce the table to specific numbers (e.g., "reduce to 4, 6, 9"), show only those rows before asking what to do next. - Do not assume the date is today unless the user says "today" or similar.