Rewrite daily briefing to include daily notes, gratitude check, and weekly theme

This commit is contained in:
Connor Rhodes 2026-04-13 09:24:01 -05:00
parent 15373991fd
commit 6b279731e3
2 changed files with 57 additions and 21 deletions

View file

@ -1,16 +1,17 @@
---
name: daily-briefing
description: Morning briefing that pulls today's tasks from Vikunja via vik and gives a clear picture of what's on deck.
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, show what matters today.
One command to start the day. Pull tasks, review the daily note, check gratitude, and surface the weekly theme.
## When to Use
@ -18,31 +19,66 @@ Run this at the start of your day.
## Instructions
1. Run `vik task today` to get tasks due or starting today.
2. Run `vik task upcoming --due-only --days 2` to check for tasks with a due date in the next 2 days.
3. Produce the briefing below.
### Step 1: Gather data
### Output Format
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**
[Tasks from `vik task today`. Numbered list.]
[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.]
**Overdue**
[Any tasks past their due date. Flag these clearly.]
**In Vikunja but not in daily note**
[Only show if there are tasks from vik that didn't match anything in the daily note.]
**Due Soon**
[Tasks from `vik task upcoming --due-only --days 2` that are not already in Today's Tasks. Only show this section if results exist.]
**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.
- Overdue items always appear, even if the list is long.
- Only show upcoming tasks if they have a due date within 2 days — don't surface tasks based on start date alone.
- If there are no tasks in a section, omit that section header.
---
*Customized in Video 7 via the assembler.*
- 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.