diff --git a/_skill-index.md b/_skill-index.md index 1599e92..29554ba 100644 --- a/_skill-index.md +++ b/_skill-index.md @@ -25,17 +25,16 @@ description: Master index of all skills in your robot assistant system. Your ass | "write a POV doc," "create a proof of value document," "POV criteria," "proof of concept criteria," "generate a POC document" | **pov-doc** | | "submit an expense," "navan expense," "file an expense," "upload receipt" | **navan-expense** | | "update the SE radar report," "add a column to the SE report," "edit the vNotes report," "run the SE radar report," "check SE validation stage," "update technical validation" | **update-salesforce-tech-validation** | -| "create a meeting note," "make meeting notes," "add a meeting to my daily note," "set up a meeting note" | **meeting-notes** | --- ## Skills ### Daily Briefing -**Purpose:** Pulls today's active tasks from Vikunja, reviews the daily note for targets and stretch goals, deduplicates across both sources, 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" +**Purpose:** Produces a morning overview of your day — calendar, tasks, deadlines, and anything else you need to know. +**Triggers:** "run my briefing," "morning briefing," "what's my day look like," "what's on deck" **File:** `skills/daily-briefing/SKILL.md` -**Dependencies:** `vik` CLI, daily notes at `~/notes/dn_YYMMDD.md`, weekly notes at `~/notes/week_YYMMDD.md` +**Dependencies:** Calendar MCP connector (when set up) ### Shutdown Routine **Purpose:** Reviews the day, checks what's outstanding, and previews tomorrow. @@ -109,12 +108,6 @@ description: Master index of all skills in your robot assistant system. Your ass **File:** `skills/update-salesforce-tech-validation/SKILL.md` **Dependencies:** Chrome browser with active Salesforce session (Okta SSO) -### Meeting Notes -**Purpose:** Create and update meeting notes in `mt/` with the `YYMMDD-account-description.md` naming convention, and link them in the corresponding daily note under the meetings section. -**Triggers:** "create a meeting note," "make meeting notes," "add a meeting to my daily note," "set up a meeting note" -**File:** `skills/meeting-notes/SKILL.md` -**Dependencies:** None - --- ## Adding New Skills diff --git a/daily-briefing/SKILL.md b/daily-briefing/SKILL.md index d05e392..f47f4c5 100644 --- a/daily-briefing/SKILL.md +++ b/daily-briefing/SKILL.md @@ -1,17 +1,16 @@ --- name: daily-briefing -description: Morning briefing that pulls today's tasks from Vikunja, reviews the daily note, checks gratitude, and surfaces the weekly theme. +description: Morning briefing that pulls today's tasks from Vikunja via vik and gives a clear picture of what's on deck. 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. +One command to start the day. Pull tasks, show what matters today. ## When to Use @@ -19,66 +18,31 @@ Run this at the start of your day. ## Instructions -### Step 1: Gather data +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. -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 +### 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.] +[Tasks from `vik task today`. Numbered list.] -**In Vikunja but not in daily note** -[Only show if there are tasks from vik that didn't match anything in the daily note.] +**Overdue** +[Any tasks past their due date. Flag these clearly.] -**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. +**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.] ## 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. +- 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.* diff --git a/meeting-notes/SKILL.md b/meeting-notes/SKILL.md deleted file mode 100644 index 58f7583..0000000 --- a/meeting-notes/SKILL.md +++ /dev/null @@ -1,77 +0,0 @@ ---- -name: meeting-notes -description: This skill should be used when the user asks to "create a meeting note," "make meeting notes," "set up a meeting note," "add a meeting to my daily note," or any request to create or update notes for an upcoming or past meeting. -version: 1.0.0 ---- - -# Meeting Notes - -Create and update meeting notes in the user's notes system. Meeting notes are individual markdown files linked from daily notes. - -## File Locations - -- **Meeting notes:** `~/notes/mt/` -- **Daily notes:** `~/notes/dn_YYMMDD.md` - -## Naming Convention - -Meeting note files use the format: - -``` -mt/YYMMDD-account-description.md -``` - -- `YYMMDD`: date of the meeting (two-digit year, zero-padded month and day) -- `account-description`: the account name or general topic, lowercase, hyphen-delimited -- Example: `260414-tdcj-demo.md`, `260209-berlick-1on1.md` - -If the user mentions a specific account that has an existing note in `~/notes/`, check if the account note has a wikilink to the meeting note under a meeting section. If so, also add a reverse link from the meeting note back to the account note. - -## Daily Note Link - -After creating the meeting note, link it in the corresponding daily note (`~/notes/dn_YYMMDD.md`) under the `## meetings` section: - -```markdown -## meetings -- [[mt/YYMMDD-account-description|Display Name]] -``` - -Use the meeting note's heading (usually `# Meeting Title`) as the display name. If the daily note does not exist yet, create it following the daily note template (see existing `dn_*.md` files for the format). - -## Meeting Note Template - -Use this structure when creating a new meeting note. Only include sections that have content. - -```markdown -# Meeting Title - -**Date:** YYYY-MM-DD -**Attendees:** (comma-separated list of people) - -## Agenda / Demo Flow / Topics -- (list of topics, agenda items, or demo flow steps) - -## Notes -- (key points, decisions, takeaways) - -## Next Steps -- [ ] (action items with owners if known) -``` - -Sections should be tailored to the meeting type: -- **Demos:** use "Demo Flow" instead of "Agenda" -- **1:1s:** use a simpler structure with key discussion points -- **Planning calls:** include "Planning Notes" and "Next Steps" -- **General meetings:** use "Agenda" and "Notes" - -## Updating Existing Meeting Notes - -If the user asks to update a meeting note that already exists: -1. Find it in `~/notes/mt/` by date and/or account name -2. Read the existing content -3. Append new information or edit existing sections as requested -4. Do not remove existing content unless explicitly asked - -## Finding Meeting Notes - -When the user references a meeting by account name or topic, search `~/notes/mt/` for matching files. You can also search account notes (e.g., `~/notes/NISD Northside ISD.md`) for wikilinks to meeting notes in the format `[[mt/...]]`.