--- name: daily-briefing description: Morning briefing that pulls today's tasks from Vikunja, reviews the daily note, checks gratitude, and surfaces the weekly theme. triggers: - run my briefing - morning briefing - what's my day look like - what's on deck - daily briefing --- # Daily Briefing One command to start the day. Pull tasks, review the daily note, check gratitude, and surface the weekly theme. ## When to Use Run this at the start of your day. ## Instructions ### Step 1: Gather data Run these in parallel: - `vik t up 0` to get tasks active as of today from Vikunja - Read today's daily note at `~/notes/dn_YYMMDD.md` (where YYMMDD is today's date) - Read the weekly note (see Step 4 for filename logic) ### Step 2: Deduplicate tasks Combine tasks from Vikunja and the daily note's "target tasks" and "I could also" sections into a single list. **Deduplication rules:** - If a daily note task contains a Vikunja link like `https://tasks.connorrhodes.com/tasks/XXX`, match on that task ID against the Vikunja output - If no task link/ID is present, match on title similarity - When a task appears in both sources, present it once - Note which source(s) each task came from (this helps Connor see if something is in Vikunja but not his daily note, or vice versa) ### Step 3: Produce the briefing #### Output Format **Daily Briefing — [Weekday, Month Day]** **Today's Tasks** [Combined, deduplicated list. Numbered. Group target tasks first, then "I could also" tasks. After each item, note the source in parentheses: vik, daily note, or both.] **In Vikunja but not in daily note** [Only show if there are tasks from vik that didn't match anything in the daily note.] **In daily note but not in Vikunja** [Only show if there are tasks from the daily note that didn't match anything in vik.] ### Step 4: Gratitude check Check the `I'm grateful for` section in today's daily note. - **If it has content (non-empty bullet points):** Display the gratitude entries under a "Gratitude" heading in the briefing. - **If it's empty:** After the briefing output, ask Connor what he's grateful for today. Wait for his response, then edit the daily note file to fill in the `I'm grateful for` section with his answers. ### Step 5: Weekly theme Read the weekly theme from the `# Theme` heading in the weekly note. **Weekly note filename logic:** - Calculate the Monday of the current week (ISO week, Monday = day 1) - If today is Saturday or Sunday (ISO day 6 or 7), use the Monday of the *following* week instead - The filename is `week_YYMMDD.md` using that Monday's date - The file lives at `~/notes/week_YYMMDD.md` Display the theme at the bottom of the briefing: **This Week's Theme: *[theme text]*** [Include the one-line description if present] **If no weekly note exists for the calculated date:** Include a notification line: "No weekly note found for this week." Still produce the rest of the briefing. ## Rules - Keep it scannable. Short lines, clear sections. - Don't editorialize. Present the tasks as written. Let Connor decide priorities. - If a section has no items, omit that section header. - Use the Edit tool (not Write) when updating the gratitude section in the daily note. - Date calculations should use today's actual date, not hardcoded values.