cleaned up to use 365 connector instead of json
This commit is contained in:
23
CLAUDE.md
23
CLAUDE.md
@@ -11,7 +11,7 @@ This is an Obsidian vault - a personal knowledge management system based on mark
|
||||
|
||||
* Always add relevant tags to each file
|
||||
* Notes can be informal in tone, I am a casual guy
|
||||
* You can fetch calendar information in /Users/aj.siegel/OneDrive - ServiceNow/BoxData/CalendarEvents_YYYYMMDD.json wheree YYYYMMDD is the date of interest.
|
||||
* Fetch calendar information via the Microsoft 365 connector (`outlook_calendar_search` tool). See the Data Sources section for details.
|
||||
* My work day is 9:00 AM - 5:30 PM ET
|
||||
|
||||
## Context
|
||||
@@ -67,20 +67,19 @@ When creating or modifying notes:
|
||||
- Link integrity matters - renaming files may break existing links unless done through Obsidian's rename feature
|
||||
|
||||
## Data Sources
|
||||
* You have access to a OneDrive folder with AJ's calendar for the current day and the next day
|
||||
* IMPORTANT: Use the startET and endET fields to get the times in my local time zone.
|
||||
* **Calendar — Microsoft 365 connector**: Use the `outlook_calendar_search` tool (Microsoft 365 MCP) to fetch AJ's calendar events. Search with `afterDateTime`/`beforeDateTime` for the day(s) of interest, `query: "*"`, and `order: "oldest"`.
|
||||
* 🚨 IMPORTANT — TIMEZONE: The connector returns all times in **UTC** (ISO strings ending in `Z`). Convert to AJ's local Eastern Time before displaying or doing any time math. EDT = UTC−4 (mid-Mar to early-Nov), EST = UTC−5 (rest of year). Example: `2026-05-29T16:30:00Z` → 12:30 PM ET (EDT).
|
||||
* `isAllDay: true` events (PTO, OOO, etc.) and `showAs: "oof"`/`"free"` indicate AJ may be out — call these out, don't count them as meetings.
|
||||
* ALWAYS exclude "NDS Design Readiness & Refinement" meetings from calendar displays and time calculations.
|
||||
* Notion MCP – Projects: https://www.notion.so/solutioninnovation/2c0abd6c450a8090aca3e0b2b0373c17 — All active projects with Status, Focus This Week checkbox, and weekly goals. Data source: `collection://2c0abd6c-450a-807a-a3d7-000b8d8aaecc`
|
||||
* Notion MCP – Task Tracker: https://www.notion.so/solutioninnovation/2c0abd6c450a805098d3cc0e7d3dfccf — All units of work with: Name and Status, Blocking (multi-select of people waiting on AJ), Deadline dates, Project relation, Key Contact, Priority, Effort Estimate, Energy Type. Data source: `collection://2c0abd6c-450a-8085-80a0-000ba136a154`
|
||||
* IMPORTANT: Always fetch these databases using the full `https://www.notion.so/solutioninnovation/...` URL — bare UUIDs and collection:// URIs will fail. The collection:// URIs can be used as `data_source_url` in searches after the initial fetch.
|
||||
* Useful pre-filtered views in Tasks Tracker:
|
||||
* **Blocking others**: `view://2c0abd6c-450a-8060-b247-000c30138b80` — tasks with Blocking populated, not Done
|
||||
* **Daily planning**: `view://2c0abd6c-450a-8064-869a-000cf1f5a919` — all incomplete tasks sorted by Suggested for today
|
||||
* **This week**: `view://2c0abd6c-450a-80ce-9fa7-000c27dd9719` — incomplete tasks sorted by Suggested for today
|
||||
* Useful pre-filtered views in Projects:
|
||||
* **This week's focus**: `view://2c0abd6c-450a-806e-a2c9-000c8aa14a44` — projects with Focus this week = true
|
||||
* **Active**: `view://2c0abd6c-450a-8053-b2e8-000caaf77931` — Active status projects only
|
||||
* CRITICAL: Always read these resources when planning. Check: 1. Which tasks have Blocking field populated (priority #1) 2. Which deadlines are this week 3. Which projects have Focus This Week = true 4. Task Status (ignore Done tasks) Base ALL suggestions on this real data, not examples.
|
||||
* 🚨 HOW TO QUERY THESE DATABASES — on AJ's **Notion Plus seat**, the MCP grants no server-side filter/query tool. `query_data_sources` is described but not callable — it requires an **Enterprise plan with Notion AI**. Revisit only if AJ moves to that tier. `view://…` URLs are NOT fetchable, and `fetch` on a `collection://…` returns only the schema (no rows). Do NOT attempt either, and never print a "view fetch failed, falling back" message. Use this 3-step pattern instead:
|
||||
1. **Find candidate pages** — call `notion-search` with `data_source_url` set to the collection URI, a work-focused `query`, `page_size: 25`, `max_highlight_length: 0`. Collections: Tasks = `collection://2c0abd6c-450a-8085-80a0-000ba136a154`, Projects = `collection://2c0abd6c-450a-807a-a3d7-000b8d8aaecc`. This returns page IDs/titles only — NOT property values.
|
||||
2. **Read properties** — `notion-fetch` each returned page ID, **batched in parallel**. Page fetches return all properties (`Status`, `Due date`, `Suggested for today`, `Blocking`, `Priority`, `Project`, and for projects `Focus this week`, `Weekly goal`, etc.).
|
||||
3. **Filter & sort locally** — drop anything with `Status` = "Done". For tasks, rank: (1) `Blocking` populated, (2) `Suggested for today` ≤ target date, (3) soonest `Due date`. For projects, keep `Focus this week` = `__YES__` and `Status` = "Active" (exclude `Type` = "Personal").
|
||||
* `notion-search` is **semantic** (ranked by relevance, not status), so seed `query` with this week's focus-project names plus terms like "blocking due this week" to surface the right open items. Relation fields like `Blocking` aren't text-searchable, so confirm them only after fetching the page.
|
||||
* EFFICIENCY: the weekly focus projects + goals are written into the current Weekly Note every Sunday. In daily/evening planning, read those from the Weekly Note (a local `.md` file) instead of re-scanning the Projects DB.
|
||||
* CRITICAL: Base ALL suggestions on this real fetched data, never on examples. When planning, prioritize: 1) tasks with `Blocking` populated (priority #1), 2) deadlines this week, 3) tasks tied to `Focus this week` projects, ignoring `Status` = "Done".
|
||||
|
||||
## Your job
|
||||
*When AJ asks "help me plan today" or "what should I focus on":
|
||||
|
||||
Reference in New Issue
Block a user