
google-calendar-daily-brief
✓ Official★ 4,081by openai · part of openai/plugins
Build polished one-day Google Calendar briefs. Use when the user asks for today, tomorrow, or a specific date summary with an agenda, conflict flags, free windows, remaining-meeting readouts, or a calendar brief, and the Google Calendar connector is available.
This is the playbook your agent receives when the skill activates — you don't need to read it to use the skill, but it's here to audit before installing.
Google Calendar Daily Brief
Overview
Use this skill to turn one day of Google Calendar events into a readable daily brief instead of a raw event dump. Use the Google Calendar app from this plugin for the source data, then use the bundled formatter as the default rendering path.
Workflow
- Resolve the date window explicitly in the user's timezone.
- Fetch the day's events through the Google Calendar app/connector for the relevant calendar. Default to
calendar_id=primaryunless the user names a different calendar. - Pass the raw JSON response to
scripts/render_day_brief.py. - Return the rendered Markdown as the answer. Lightly adapt the lead-in or emphasis if the user asked for a narrower scope, a more compact answer, or a specific focus.
Relevant Actions
- Prefer
search_eventsfor the one-day event list that feeds the formatter. - Use
search_events_all_fieldsonly if the brief needs richer event metadata than the standard event summary surface returns.
Data Source Rules
- Use the Google Calendar app/connector from this plugin, not web search and not a manually reconstructed schedule.
- Query with explicit day boundaries such as
[local_midnight, next_local_midnight)in the user's timezone. - Prefer the app's event search/list call that accepts
calendar_id,time_min,time_max, andtimezone. - Preserve titles exactly as returned by Google Calendar.
Default Shape
The formatter's default shape is a good baseline:
- date header
- short top summary lines
Day ShapeAgenda- optional
What Needs Attention Useful Readout- optional
Remaining Today
Keep the tone compact and practical. Do not use a fenced code block for the agenda.
Formatter
Run the formatter whenever you want the full daily brief:
python3 scripts/render_day_brief.py \
--time-min 2026-03-11T00:00:00-07:00 \
--time-max 2026-03-12T00:00:00-07:00 \
--timezone America/Los_Angeles \
--now 2026-03-11T17:02:19-07:00Provide the Google Calendar JSON payload on stdin. The script accepts either:
- the raw object returned by the calendar app, with an
eventsfield, or - a bare JSON array of event objects
Use --now when summarizing today so the script can emit Remaining Today. Omit it for future days if you do not need that section.
Formatting Rules
- Keep markers restrained. Use only the formatter's default markers unless the user explicitly asks for more decoration.
- Keep the agenda table to two columns only:
TimeandMeeting. - Use bare compact agenda times like
10:00-10:15without meridiem in each row. - Allow short inline conflict annotations in the meeting column only for the representative event in a conflict cluster.
- Keep the fuller overlap explanation in
What Needs Attention. - Do not wrap agenda table cells in backticks or inline code.
- Keep
Day ShapeandUseful Readoutnarrative rather than metric-heavy. - Treat all-day transparent markers as context, not meetings.
- Base free-window and lunch-window calculations on opaque timed events.
- Preserve event ordering by start time.
npx skills add https://github.com/openai/plugins --skill google-calendar-daily-briefRun this in your project — your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.