skills/tier-2-communication/google-calendar/SKILL.md
Calendar management for small businesses. Schedule meetings, check availability, prep for meetings, manage staff schedules, and coordinate with customers. Built on the gws CLI.
npx skillsauth add pbc-os/agent-skills-public google-calendarInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Calendar management built for how small businesses actually schedule.
Uses the gws CLI for all Calendar operations. See the google-workspace skill for setup.
gws CLI installed and authenticated with Calendar scopegws auth login -s calendar if not already donegws calendar +agenda # Today's upcoming events
gws calendar +agenda --week # This week's events
gws calendar +insert # Create a new event
gws workflow +meeting-prep # Prep for next meeting (attendees, docs, agenda)
gws workflow +standup-report # Today's meetings + open tasks
# What's on today?
gws calendar +agenda --format table
# Full week view (Monday planning)
gws calendar +agenda --week --format table
# Get attendees, description, linked docs for next meeting
gws workflow +meeting-prep
# Quick event from natural language
gws calendar events quickAdd --params '{"calendarId": "primary", "text": "Team standup tomorrow at 9am for 30 minutes"}'
# Structured event with attendees
gws calendar +insert
# Check free/busy for specific people
gws calendar freebusy query --json '{
"timeMin": "2026-01-15T09:00:00-05:00",
"timeMax": "2026-01-15T17:00:00-05:00",
"items": [
{"id": "[email protected]"},
{"id": "[email protected]"}
]
}'
# Create a recurring weekly team meeting
gws calendar events insert --params '{"calendarId": "primary"}' --json '{
"summary": "Weekly Team Standup",
"start": {"dateTime": "2026-01-20T09:00:00-05:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-01-20T09:30:00-05:00", "timeZone": "America/New_York"},
"recurrence": ["RRULE:FREQ=WEEKLY;BYDAY=MO"],
"attendees": [
{"email": "[email protected]"}
]
}'
# Schedule a customer meeting
gws calendar events insert --params '{"calendarId": "primary"}' --json '{
"summary": "Meeting with [Customer Name]",
"description": "Discuss: [agenda items]",
"start": {"dateTime": "2026-01-20T14:00:00-05:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-01-20T15:00:00-05:00", "timeZone": "America/New_York"},
"attendees": [
{"email": "[email protected]"}
],
"reminders": {
"useDefault": false,
"overrides": [
{"method": "email", "minutes": 60},
{"method": "popup", "minutes": 15}
]
}
}'
# Block focus time so meetings don't eat your day
gws calendar events insert --params '{"calendarId": "primary"}' --json '{
"summary": "Focus Time — Do Not Schedule",
"start": {"dateTime": "2026-01-20T08:00:00-05:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-01-20T10:00:00-05:00", "timeZone": "America/New_York"},
"recurrence": ["RRULE:FREQ=WEEKLY;BYDAY=TU,TH"],
"transparency": "opaque"
}'
# Find all events with a specific vendor this month
gws calendar events list --params '{
"calendarId": "primary",
"timeMin": "2026-01-01T00:00:00Z",
"timeMax": "2026-01-31T23:59:59Z",
"q": "vendor name"
}'
# Update an event's time (need the eventId)
gws calendar events patch --params '{"calendarId": "primary", "eventId": "EVENT_ID"}' --json '{
"start": {"dateTime": "2026-01-21T14:00:00-05:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-01-21T15:00:00-05:00", "timeZone": "America/New_York"}
}'
# Delete an event
gws calendar events delete --params '{"calendarId": "primary", "eventId": "EVENT_ID"}'
gws calendar events patch --params '{"calendarId": "primary", "eventId": "EVENT_ID"}' --json '{
"description": "Agenda:\n1. Review last week\n2. Discuss Q1 goals\n3. Action items"
}'
A good Monday routine for any small business owner:
Review the week:
gws calendar +agenda --week --format table
Identify conflicts: Look for overlapping events or back-to-back meetings without breaks
Block focus time: Protect at least 2 hours/day for deep work
Prep for key meetings:
gws workflow +meeting-prep
Check for missing follow-ups: Are there meetings from last week that need follow-up emails?
morning-briefing — Calendar is part of the daily briefinggmail — Meeting-related emails, sending agendasgoogle-tasks — Convert meeting action items to tasksgoogle-docs — Meeting notes and agendasplaybook-discovery — Analyze calendar for recurring meeting patternsquickAdd for fast event creation with natural language--dry-run before creating/modifying events to preview the requestgoogle-workspace — Required setup (install and auth)gmail — Email coordination around meetingsgoogle-tasks — Action items from meetingsmorning-briefing — Daily calendar + email + business digestYour calendar is your commitment log. Protect it.
tools
Generate and iteratively refine USPTO-style patent figure drawings from provisional patent application markdown files, using nano-banana for v1 generation and targeted single-fix edits for v2+ iteration.
data-ai
Weekly revenue / sales forecasting for small businesses with multiple locations or product lines. Blends recent trend + seasonal baseline + YoY growth with per-entity holiday multipliers and week-of-month adjustments. Ships autoresearch-compatible eval and parameters so you can tune it on your own historical data.
data-ai
Analyze email, calendar, and file patterns to discover repeatable workflows that AI agents can automate.
testing
Automated daily digest for small business owners. Combines email triage, calendar agenda, open tasks, and business KPIs into a single morning briefing. Composable — works with whatever data sources are available. Urgent emails require body inspection and explicit escalation signals — never classified from sender/timing metadata alone.