skills/productivity/google-workspace/references/daily-brief.md
Produce an action-oriented start-of-day or next-day brief from Gmail and Google Calendar. Load this reference when the user asks for a morning brief, "what's on my calendar and what email needs attention," meeting preparation, or tomorrow's deadlines and conflicts. The main SKILL.md owns the commands; this reference owns the brief-composition procedure.
Credit: workflow contributed by Ben Barclay (benbarclay).
Confirm Google account, timezone, and target local day. Use an explicit half-open window [day_start, next_day_start) in the account's timezone rather than vague "today" filters — the account timezone and the machine timezone are frequently different. Done when the exact UTC and local window are stated.
Retrieve all calendars in scope, including accepted and tentative meetings, all-day events, travel/holds, location/video links, organizers, and attendee status. Detect overlaps and unrealistic travel gaps between consecutive events. Done when pagination is complete and declined/cancelled events are excluded intentionally.
Search a bounded recent window plus messages connected to meeting participants, subjects, projects, and explicit deadlines (see gmail-search-syntax.md for operators). Read full relevant threads. Do not dump every unread newsletter into the brief. Done when each included email changes preparation, priority, or follow-up.
Match by thread references, participant addresses, company/domain, event title, and project context. Treat fuzzy matches as suggestions, not facts — one shared keyword is not an association. Extract promised documents, unanswered questions, pre-read links, and decisions needed. Done when each meeting has either preparation items or an explicit "no preparation found."
Use this order:
Rank by consequence and time, not message count. Done when each included item has a clear preparation, deadline, conflict, or follow-up reason.
Draft replies, create calendar holds, or add tasks only after presenting them — a brief request is not authorization to mutate. Apply approved actions with the main skill's commands, then read them back. Done when every approved mutation has a Google object ID/link and correct time/recipient.