Google Calendar Daily Planner
Pulls today's or tomorrow's Google Calendar events via gcalcli, analyzes meeting density, identifies focus blocks, and generates a time-blocked daily plan. Prerequisites: gcalcli, gcloud, curl, jq.
MCP get_skill({ skillId: "google-calendar-daily-planner-79ebd69b" })Use this skill with your agent
Create a free account and connect via MCP
# Google Calendar Daily Planner
Pull your Google Calendar events, analyze meeting density, find focus blocks, and generate an optimized time-blocked daily plan.
## When to Use
- "Plan my day based on my calendar"
- "What does tomorrow look like?"
- "Find focus time blocks in my schedule today"
## Requirements
- **gcalcli** installed (`pip install gcalcli`)
- Google Calendar OAuth configured (`gcalcli init`)
- Alternative: **Google Cloud CLI** (`gcloud`) with Calendar API enabled
## Workflow
### Step 1 — Fetch Today's Events
```bash
# Using gcalcli
gcalcli agenda "today" "tomorrow" --details all --tsv 2>/dev/null
# Alternative: using Google Calendar API directly
ACCESS_TOKEN=$(gcloud auth print-access-token)
TIME_MIN=$(date -u '+%Y-%m-%dT00:00:00Z')
TIME_MAX=$(date -u -d 'tomorrow' '+%Y-%m-%dT00:00:00Z')
curl -s -H "Authorization: Bearer $ACCESS_TOKEN" \
"https://www.googleapis.com/calendar/v3/calendars/primary/events?timeMin=${TIME_MIN}&timeMax=${TIME_MAX}&singleEvents=true&orderBy=startTime" | \
jq '.items[] | {summary: .summary, start: .start.dateTime, end: .end.dateTime, attendees: [.attendees[]?.email], location: .location, status: .status}'
```
### Step 2 — Classify Events
For each event, apply labels:
| Label | Criteria |
|-------|----------|
| 🔴 **External** | Has attendees from different email domains |
| 🟡 **Internal** | All attendees share your domain |
| 🔵 **Personal** | No attendees, or in personal calendar |
| ⚡ **Focus Block** | Calendar event with "focus" or "deep work" in title |
| 🍽️ **Lunch** | Overlaps 12:00-13:00, or titled lunch/break |
### Step 3 — Analyze Schedule Quality
Calculate:
- **Total meeting hours** — sum of all events
- **Largest free block** — longest gap between events
- **Context switches** — number of back-to-back events with different attendee groups
- **Focus time available** — total unscheduled time in 30+ min blocks
### Step 4 — Generate Time-Blocked Plan
Fill gaps between meetings with task blocks:
```markdown
# Daily Plan — {DATE}
## Schedule
| Time | Block | Type |
|------|-------|------|
| 08:00-08:30 | Morning routine & inbox scan | ⚡ Focus |
| 08:30-09:00 | Review PRs from yesterday | ⚡ Focus |
| 09:00-09:30 | Standup with Team | 🟡 Internal |
| 09:30-11:00 | Deep work — {top priority task} | ⚡ Focus |
| 11:00-12:00 | Client sync — Acme Corp | 🔴 External |
| 12:00-13:00 | Lunch | 🍽️ Break |
| 13:00-15:00 | Deep work — {second priority task} | ⚡ Focus |
| 15:00-15:30 | 1:1 with manager | 🟡 Internal |
| 15:30-16:00 | Email + Slack catchup | 📧 Admin |
## Day Score: 🟢 72%
- Focus time: 3.5h / 4h target
- Meetings: 2.5h (under 4h threshold ✅)
- Largest focus block: 1.5h (09:30-11:00)
- Context switches: 3 (moderate)
```
### Step 5 — Suggest Optimizations
If the day is meeting-heavy:
- Identify moveable meetings (internal, optional, or recurring)
- Suggest declining or rescheduling specific events
- Recommend batching short meetings together
Save plan to `outputs/YYYY/MM/YYYY-MM-DD-daily-plan.md`.
## Important Rules
- Read-only — never create, modify, or delete calendar events without explicit user request
- Respect event privacy — don't expose attendee lists unless asked
- Factor in commute time for in-person meetings with locations
## Example Prompts
- "Plan my day"
- "What's my schedule tomorrow?"
- "Find 2 hours of focus time today"
- "Rate how productive my Wednesday looks"Related Skills
More skills in Calendar & Scheduling
Google Calendar Availability Finder
Finds mutual free times across multiple Google Calendar users and proposes meeting slots. Generates scheduling links or draft calendar invites. Prerequisites: gcalcli, gcloud, curl, jq.
Google Calendar Event Creator
Creates Google Calendar events from natural language descriptions using gcalcli or Calendar API. Handles recurring events, attendees, reminders, and conference links. Prerequisites: gcalcli, gcloud, curl, jq.
Google Calendar Meeting Prep
Pulls upcoming meeting details from Google Calendar, researches attendees and topics via Brave Search, and generates a meeting prep brief with talking points. Prerequisites: gcalcli, gcloud, curl, jq, brave-search MCP.
Google Calendar Weekly Review
Generates a weekly calendar review: time spent in meetings vs focus work, meeting categories, overload analysis, and improvement recommendations. Prerequisites: gcalcli, gcloud, curl, jq.
Explore Other Categories
Skills from other categories with shared topics
Project Breakdown & WBS Generator
Breaks any project into a Work Breakdown Structure with tasks, dependencies, time estimates, and a Mermaid Gantt chart. Researches best practices via Brave Search. Prerequisites: brave-search MCP, python3.
Weekly Review & Planning System
Runs a structured weekly review covering accomplishments, energy audit, and next-week priority planning. Generates time-blocked schedules with focus session integration. Prerequisites: python3.
50/30/20 Budget Planner
Creates a personalized monthly budget using the 50/30/20 framework. Calculates target allocations from income, maps actual spending from CSV data, and identifies overspending. Prerequisites: python3.