# Send gcal-pro - Google Calendar to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "gcal-pro-calendar",
    "name": "gcal-pro - Google Calendar",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/bilalmohamed187-cpu/gcal-pro-calendar",
    "canonicalUrl": "https://clawhub.ai/bilalmohamed187-cpu/gcal-pro-calendar",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/gcal-pro-calendar",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=gcal-pro-calendar",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "docs/GOOGLE_CLOUD_SETUP.md",
      "README-INSTALL.txt",
      "README.md",
      "references/api-quickref.md",
      "requirements.txt",
      "scripts/gcal_auth.py"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/gcal-pro-calendar"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/gcal-pro-calendar",
    "downloadUrl": "https://openagent3.xyz/downloads/gcal-pro-calendar",
    "agentUrl": "https://openagent3.xyz/skills/gcal-pro-calendar/agent",
    "manifestUrl": "https://openagent3.xyz/skills/gcal-pro-calendar/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/gcal-pro-calendar/agent.md"
  }
}
```
## Documentation

### gcal-pro

Manage Google Calendar through natural conversation.

### Quick Reference

ActionCommandTierView todaypython scripts/gcal_core.py todayFreeView tomorrowpython scripts/gcal_core.py tomorrowFreeView weekpython scripts/gcal_core.py weekFreeSearch eventspython scripts/gcal_core.py search -q "meeting"FreeList calendarspython scripts/gcal_core.py calendarsFreeFind free timepython scripts/gcal_core.py freeFreeQuick addpython scripts/gcal_core.py quick -q "Lunch Friday noon"ProDelete eventpython scripts/gcal_core.py delete --id EVENT_ID -yProMorning briefpython scripts/gcal_core.py briefPro

### Setup

First-time setup required:

User must create Google Cloud project and OAuth credentials
Save client_secret.json to ~/.config/gcal-pro/
Run authentication:
python scripts/gcal_auth.py auth


Browser opens → user grants calendar access → done

Check auth status:

python scripts/gcal_auth.py status

### Free Tier

View events (today, tomorrow, week, month)
Search events
List calendars
Find free time slots

### Pro Tier ($12 one-time)

Everything in Free, plus:
Create events
Quick add (natural language)
Update/reschedule events
Delete events
Morning brief via cron

### Viewing Schedule

When user asks "What's on my calendar?" or "What do I have today?":

cd /path/to/gcal-pro
python scripts/gcal_core.py today

For specific ranges:

"tomorrow" → python scripts/gcal_core.py tomorrow
"this week" → python scripts/gcal_core.py week
"meetings with Alex" → python scripts/gcal_core.py search -q "Alex"

### Creating Events (Pro)

When user says "Add X to my calendar" or "Schedule Y":

Option 1: Quick add (natural language)

python scripts/gcal_core.py quick -q "Lunch with Alex Friday at noon"

Option 2: Structured create (via Python)

from scripts.gcal_core import create_event, parse_datetime

create_event(
    summary="Lunch with Alex",
    start=parse_datetime("Friday noon"),
    location="Cafe Roma",
    confirmed=True  # Set False to show confirmation prompt
)

### Modifying Events (Pro)

⚠️ CONFIRMATION REQUIRED for destructive actions!

Before deleting or significantly modifying an event, ALWAYS confirm with the user:

Show event details
Ask "Should I delete/reschedule this?"
Only proceed with confirmed=True or -y flag after user confirms

Delete:

# First, find the event
python scripts/gcal_core.py search -q "dentist"
# Shows event ID

# Then delete (with user confirmation)
python scripts/gcal_core.py delete --id abc123xyz -y

### Finding Free Time

When user asks "When am I free?" or "Find time for a 1-hour meeting":

python scripts/gcal_core.py free

### Morning Brief (Pro + Cron)

Set up via Clawdbot cron to send daily agenda:

from scripts.gcal_core import generate_morning_brief
print(generate_morning_brief())

Cron setup example:

Schedule: 8:00 AM daily
Action: Run python scripts/gcal_core.py brief
Delivery: Send output to user's messaging channel

### Error Handling

ErrorCauseSolution"client_secret.json not found"Setup incompleteComplete Google Cloud setup"Token refresh failed"Expired/revokedRun python scripts/gcal_auth.py auth --force"requires Pro tier"Free user attempting writePrompt upgrade or explain limitation"Event not found"Invalid event IDSearch for correct event first

### Timezone Handling

All times are interpreted in user's local timezone (default: America/New_York)
When user specifies timezone (e.g., "2 PM EST"), honor it
Display times in user's local timezone
Store in ISO 8601 format with timezone

### Response Formatting

For event lists, use this format:

📅 **Monday, January 27**
  • 9:00 AM — Team standup
  • 12:00 PM — Lunch with Alex 📍 Cafe Roma
  • 3:00 PM — Client call

📅 **Tuesday, January 28**
  • 10:00 AM — Dentist appointment 📍 123 Main St

For confirmations:

✓ Event created: "Lunch with Alex"
  📅 Friday, Jan 31 at 12:00 PM
  📍 Cafe Roma

For morning brief:

☀️ Good morning! Here's your day:
📆 Monday, January 27, 2026

You have 3 events today:
  • 9:00 AM — Team standup
  • 12:00 PM — Lunch with Alex
  • 3:00 PM — Client call

👀 Tomorrow: 2 events

### File Locations

~/.config/gcal-pro/
├── client_secret.json   # OAuth app credentials (user provides)
├── token.json           # User's access token (auto-generated)
└── license.json         # Pro license (if purchased)

### Integration with Clawdbot

This skill works with:

Cron: Schedule morning briefs
Memory: Store calendar preferences
Messaging: Deliver briefs via Telegram/WhatsApp/etc.

### Upgrade Prompt

When a Free user attempts a Pro action, respond:

⚠️ Creating events requires gcal-pro Pro ($12 one-time).
Pro includes: Create, edit, delete events + morning briefs.
👉 Upgrade: [gumroad-link]
For now, I can show you your schedule (free) — want to see today's events?
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: bilalmohamed187-cpu
- Version: 1.0.0
## Source health
- Status: healthy
- Source download looks usable.
- Yavira can redirect you to the upstream package for this source.
- Health scope: source
- Reason: direct_download_ok
- Checked at: 2026-04-30T16:55:25.780Z
- Expires at: 2026-05-07T16:55:25.780Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/gcal-pro-calendar)
- [Send to Agent page](https://openagent3.xyz/skills/gcal-pro-calendar/agent)
- [JSON manifest](https://openagent3.xyz/skills/gcal-pro-calendar/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/gcal-pro-calendar/agent.md)
- [Download page](https://openagent3.xyz/downloads/gcal-pro-calendar)