AgentSkillsCN

calendar-fgp

通过 FGP 守护进程实现 Google 日历的快速操作(速度比 MCP 快 10 倍)。

SKILL.md
--- frontmatter
name: calendar-fgp
description: Fast Google Calendar operations via FGP daemon (10x faster than MCP)
tools: ["Bash"]
triggers:
  - "calendar"
  - "what's on my calendar"
  - "today's events"
  - "upcoming events"
  - "schedule"
  - "find free time"
  - "book a meeting"

Calendar FGP Skill

Fast Google Calendar operations using the FGP daemon protocol. 10-30ms response times via persistent UNIX sockets.

Prerequisites

  1. Google OAuth configured: Credentials in ~/.fgp/auth/google/credentials.json
  2. FGP daemon running: fgp start calendar or daemon auto-starts on first call

Available Methods

MethodDescription
calendar.todayGet today's events
calendar.upcomingGet events for next N days
calendar.searchSearch events by query
calendar.createCreate a new event
calendar.free_slotsFind available time slots

calendar.today - Today's Events

bash
fgp call calendar.today

Response:

json
{
  "date": "2026-01-13",
  "events": [
    {
      "id": "abc123",
      "summary": "Team standup",
      "start": "2026-01-13T09:00:00Z",
      "end": "2026-01-13T09:30:00Z",
      "location": null,
      "all_day": false
    }
  ],
  "count": 5
}

calendar.upcoming - Upcoming Events

Parameters:

ParameterTypeRequiredDefaultDescription
daysintegerNo7Number of days to look ahead
limitintegerNo20Maximum events to return
bash
fgp call calendar.upcoming -p '{"days": 7, "limit": 20}'

calendar.search - Search Events

Parameters:

ParameterTypeRequiredDefaultDescription
querystringYes-Search query
daysintegerNo30Days to search forward
bash
fgp call calendar.search -p '{"query": "meeting", "days": 14}'

calendar.create - Create Event

Parameters:

ParameterTypeRequiredDescription
summarystringYesEvent title
startstringYesStart time (ISO 8601)
endstringYesEnd time (ISO 8601)
descriptionstringNoEvent description
bash
fgp call calendar.create -p '{"summary": "Team sync", "start": "2026-01-15T14:00:00Z", "end": "2026-01-15T15:00:00Z"}'

Response:

json
{
  "created": true,
  "event_id": "abc123",
  "html_link": "https://calendar.google.com/calendar/event?eid=...",
  "summary": "Team sync"
}

calendar.free_slots - Find Free Time

Parameters:

ParameterTypeRequiredDefaultDescription
duration_minutesintegerYes-Required meeting duration
daysintegerNo7Days to search
bash
fgp call calendar.free_slots -p '{"duration_minutes": 30, "days": 7}'

Response:

json
{
  "duration_minutes": 30,
  "free_slots": [
    {"start": "2026-01-13T10:00:00Z", "end": "2026-01-13T10:30:00Z"},
    {"start": "2026-01-13T14:00:00Z", "end": "2026-01-13T14:30:00Z"}
  ],
  "count": 20
}

Note: Returns slots during working hours (9am-5pm) on weekdays only.

Error Handling

ErrorCauseSolution
Calendar API error: invalid_grantOAuth token expiredRe-run OAuth flow
Calendar API error: 403Insufficient permissionsCheck OAuth scopes
calendar-cli failedPython script errorCheck Python 3 installed

Troubleshooting

IssueCheckFix
Daemon not runningfgp status calendarfgp start calendar
OAuth expiredToken ageDelete token, restart
No credentials~/.fgp/auth/google/Add credentials.json

Performance

  • Cold start: ~50ms
  • Warm call: ~10-30ms (10x faster than MCP)