assistant-skills/daily-briefing/SKILL.md

3.2 KiB

name description triggers
daily-briefing Morning briefing that pulls today's tasks from Vikunja, reviews the daily note, checks gratitude, and surfaces the weekly theme.
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.