google-calendar-daily-brief

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.

685 stars

Best use case

google-calendar-daily-brief is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

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.

Teams using google-calendar-daily-brief should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/google-calendar-daily-brief/SKILL.md --create-dirs "https://raw.githubusercontent.com/openai/plugins/main/plugins/google-calendar/skills/google-calendar-daily-brief/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/google-calendar-daily-brief/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How google-calendar-daily-brief Compares

Feature / Agentgoogle-calendar-daily-briefStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# 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

1. Resolve the date window explicitly in the user's timezone.
2. Fetch the day's events through the Google Calendar app/connector for the relevant calendar. Default to `calendar_id=primary` unless the user names a different calendar.
3. Pass the raw JSON response to `scripts/render_day_brief.py`.
4. 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_events` for the one-day event list that feeds the formatter.
- Use `search_events_all_fields` only 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`, and `timezone`.
- 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 Shape`
- `Agenda`
- 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:

```bash
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:00
```

Provide the Google Calendar JSON payload on stdin. The script accepts either:

- the raw object returned by the calendar app, with an `events` field, 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: `Time` and `Meeting`.
- Use bare compact agenda times like `10:00-10:15` without 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 Shape` and `Useful Readout` narrative 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.

Related Skills

teams-daily-digest

685
from openai/plugins

Create a daily Microsoft Teams digest from selected chats, channels, or workstreams. Use when the user asks for a daily Teams recap or summary of today's Teams activity.

slack-daily-digest

685
from openai/plugins

Create a daily Slack digest from selected channels or topics. Use when the user asks for a daily Slack recap or summary of today's Slack activity.

outlook-calendar

685
from openai/plugins

Handle Outlook Calendar workflows. Use when the user asks for schedule understanding, availability checks, meeting scheduling, intelligent rescheduling, meeting prep, reminder updates, RSVP responses, recurring maintenance, travel coordination, deadline planning, or safe create, update, reschedule, or cancel changes with timezone-aware event times and attendee validation.

outlook-calendar-meeting-prep

685
from openai/plugins

Build a practical meeting prep brief from an Outlook Calendar event and its nearby Microsoft context. Use when the user wants to prepare for an upcoming meeting, understand what to read beforehand, pull in linked notes or docs, or get a concise brief on what the meeting appears to require.

outlook-calendar-group-scheduler

685
from openai/plugins

Find and rank good meeting times for several people using Outlook Calendar data. Use when the user wants to schedule a meeting, compare candidate slots across attendees, find the best compromise time, or add a room/resource check after narrowing the attendee-compatible options.

outlook-calendar-free-up-time

685
from openai/plugins

Find ways to open up meaningful free time in Outlook Calendar. Use when the user wants to clear part of their schedule, make room for focus time, create a longer uninterrupted block, or see the smallest set of calendar changes that would give time back.

outlook-calendar-daily-brief

685
from openai/plugins

Build polished one-day Outlook 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 Outlook Calendar is available.

google-slides

685
from openai/plugins

Inspect, create, import, summarize, and update Google Slides presentations through connected Google Slides data. Use when the user wants to find a deck, read slide structure, summarize a presentation or specific slide, understand charts, graphs, or other slide visuals by combining slide text with thumbnail-based image understanding, create a new presentation, import a `.ppt`, `.pptx`, or `.odp`, or make general content edits in Google Slides. For visual polish on an existing deck, such as formatting cleanup, alignment fixes, overflow cleanup, or slide-by-slide deck cleanup, prefer `google-slides-visual-iteration`.

google-slides-visual-iteration

685
from openai/plugins

Iteratively inspect and polish existing connected Google Slides presentations in Codex using slide thumbnails plus raw Slides edits. Use when a user asks to fix a slide visually, clean up formatting, improve slide quality, make a deck look better, fix alignment, spacing, overlap, overflow, crowding, awkward whitespace, or deck-wide visual consistency in an existing Google Slides deck or shared Slides link, especially when the work should follow a thumbnail -> diagnose -> batch_update -> re-thumbnail verification loop.

google-slides-template-surgery

685
from openai/plugins

Perform structural rework in connected Google Slides decks. Use when local visual cleanup is not enough and repeated layout defects require batch_update structure edits plus strict verification.

google-slides-template-migration

685
from openai/plugins

Migrate a Google Slides deck onto a target template. Use when the user wants to preserve source content while rebuilding slides from a branded template structure instead of making incremental in-place edits.

google-slides-import-presentation

685
from openai/plugins

Import a local `.ppt`, `.pptx`, or `.odp` file into Google Slides, verify the resulting native deck, and hand it off to the right follow-on workflow. Use when the user wants to convert a presentation file into a native Google Slides deck before follow-on work.