Files
full-focus/.claude/commands/evening-prep.md
2026-05-29 19:49:22 -04:00

44 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Evening Prep
You are given the following context for my day:
$ARGUMENTS
Please create a new note in the "Daily Notes" folder.
* The title should be "Daily Note - YYYY-MM-DD" using today's date.
* Below the title, link to the Weekly Note for the current week using format: `[[Weekly Note - Month Day, Year]]` where the date is the Sunday of the current week
## Step 1: read tomorrow's calendar events
Use the Microsoft 365 connector's `outlook_calendar_search` tool to fetch tomorrow's events:
* `afterDateTime`: tomorrow at 00:00, `beforeDateTime`: tomorrow at 23:59
* `query: "*"`, `order: "oldest"`, `limit: 25`
🚨 TIMEZONE: The connector returns times in **UTC** (ISO strings ending in `Z`). Convert each to Eastern Time before displaying — EDT = UTC4 (mid-Mar to early-Nov), EST = UTC5 otherwise. Flag any `isAllDay` events (PTO/OOO) as out-of-office rather than meetings.
## Step 2: Under the **Agenda** heading
Format my calendar events in a simple Markdown table with columns: Time (ET), Event Name, Owner, and Duration
* Time should be the FIRST column
* Put a star next to any events that overlap with other events
* Put two !! next to any events starting before 9 AM ET or after 5 PM ET
* Do not include personal appointments that don't affect my work day
* My work day goes from 9 AM ET to 5:30 PM ET. Use this to determine my availability.
Let me know how much unscheduled time I have.
## Step 3: Get task data
This Notion MCP has no filter/query tool and `view://` URLs aren't fetchable, so use the search → fetch → filter pattern (see CLAUDE.md "HOW TO QUERY THESE DATABASES"). Do NOT try to fetch views and do NOT print any "falling back" message.
1. **Get this week's focus projects** — read the current Weekly Note (`Weekly Notes/Weekly Note - <Sunday's date>.md`) and use its listed focus projects + weekly goals. (Only if that note is missing: `notion-search` the Projects collection `collection://2c0abd6c-450a-807a-a3d7-000b8d8aaecc` with `page_size: 25`, fetch the results in parallel, and keep those with `Focus this week` = `__YES__` and `Status` = "Active".)
2. **Find candidate tasks**`notion-search` the Tasks collection `collection://2c0abd6c-450a-8085-80a0-000ba136a154` with `page_size: 25`, `max_highlight_length: 0`, and a `query` seeded with the focus-project names plus "blocking due this week suggested today".
3. **Fetch candidate task pages in parallel** to read their real properties (`Status`, `Suggested for today`, `Due date`, `Blocking`, `Priority`, `Project`).
4. **Filter & rank locally**: drop `Status` = "Done" or "Blocked". Rank the rest by (1) `Blocking` populated, (2) `Suggested for today` ≤ tomorrow, (3) soonest `Due date`.
Format the note with the following sections:
1. Under **Suggested Tasks** list up to 3 tasks from the ranked set above (Blocking-others tasks always come first). For each, show the task name, related project, and a Notion link.
2. Under **Key Projects** list this week's focus projects with their weekly goal.
- If a search legitimately returns no qualifying open tasks, say so plainly — never invent tasks to fill the list.
## Formatting Rules
* Always provide a tl;dr summary at the top of the note
* Add a "## Table of Contents" section after the frontmatter using Obsidian internal link syntax `[[#Heading Name]]` for all H2 sections
* Include all major sections: tl;dr, Agenda, Suggested Tasks, Key Projects, Suggested Reading, etc.
* Format all date displays as Month, Day Year