Agent skill
calendar
Install this agent skill to your Project
npx add-skill https://github.com/nexi-lab/nexus/tree/develop/src/nexus/backends/connectors/calendar
SKILL.md
Google Calendar Connector
Mount Path
/mnt/calendar/
Overview
The Google Calendar connector provides file-based access to Google Calendar events. Each event is represented as a YAML file that can be read, created, updated, or deleted.
Directory Structure
/mnt/calendar/
primary/ # User's primary calendar
event_id.yaml # Individual event files
_new.yaml # Write here to create new events
work@example.com/ # Secondary calendars by ID
...
Operations
Create Event
Write to <calendar_id>/_new.yaml:
# agent_intent: <reason for this operation>
summary: "Meeting Title"
start:
dateTime: "2024-01-15T09:00:00-08:00"
timeZone: America/Los_Angeles
end:
dateTime: "2024-01-15T10:00:00-08:00"
timeZone: America/Los_Angeles
description: "Event description"
location: "Conference Room A"
attendees:
- email: attendee@example.com
displayName: Attendee Name
reminders:
- method: email
minutes: 30
- method: popup
minutes: 10
recurrence:
- "RRULE:FREQ=WEEKLY;BYDAY=MO"
visibility: default # default, public, private, confidential
colorId: "1" # 1-11
Read Event
Read from <calendar_id>/<event_id>.yaml:
nexus cat /mnt/calendar/primary/abc123.yaml
Update Event
Write to existing <calendar_id>/<event_id>.yaml:
# agent_intent: <reason for this operation>
summary: "Updated Meeting Title"
description: "Updated description"
# Only include fields you want to change
Delete Event
Delete requires explicit confirmation:
# agent_intent: <reason for this operation>
# confirm: true
send_notifications: true
List Events
nexus ls /mnt/calendar/primary/
Required Format
All operations require # agent_intent: <reason> as the first line explaining why you're performing this action.
Operations requiring explicit confirmation (delete_event):
- Add
# confirm: trueafter agent_intent
DateTime Format
Use ISO 8601 format with timezone offset (RFC 3339):
2024-01-15T09:00:00-08:00(with offset)2024-01-15T09:00:00Z(UTC)
TimeZone should be IANA format: America/Los_Angeles, Europe/London, Asia/Tokyo, etc.
Recurrence Rules
Use RFC 5545 RRULE format:
RRULE:FREQ=DAILY- Every dayRRULE:FREQ=WEEKLY;BYDAY=MO,WE,FR- Mon, Wed, FriRRULE:FREQ=MONTHLY;BYMONTHDAY=1- First of each monthRRULE:FREQ=YEARLY;BYMONTH=1;BYMONTHDAY=1- January 1st
Error Codes
MISSING_AGENT_INTENT
Calendar operations require agent_intent explaining why you're performing this action.
Fix:
# agent_intent: User requested to schedule a team meeting for Monday
AGENT_INTENT_TOO_SHORT
agent_intent must be at least 10 characters to provide meaningful context.
Fix:
# agent_intent: User asked to create weekly standup meeting with the team
MISSING_CONFIRM
Delete operations require explicit confirmation.
Fix:
# agent_intent: User wants to cancel the meeting
# confirm: true
INVALID_DATETIME_FORMAT
Invalid datetime format. Use ISO 8601 with timezone offset.
Fix:
start:
dateTime: "2024-01-15T09:00:00-08:00"
timeZone: America/Los_Angeles
MISSING_REQUIRED_FIELD
Missing required field for this operation.
Fix:
summary: Meeting Title
start:
dateTime: "2024-01-15T09:00:00-08:00"
end:
dateTime: "2024-01-15T10:00:00-08:00"
END_BEFORE_START
Event end time must be after start time.
Fix:
start:
dateTime: "2024-01-15T09:00:00-08:00"
end:
dateTime: "2024-01-15T10:00:00-08:00" # Must be after start
EVENT_NOT_FOUND
Event not found. It may have been deleted or you may not have access.
Fix:
# List events first to get valid event IDs:
nexus ls /mnt/calendar/primary/
CALENDAR_NOT_FOUND
Calendar not found. Check the calendar ID.
Fix:
# Use 'primary' for the user's main calendar:
nexus ls /mnt/calendar/primary/
PERMISSION_DENIED
You don't have permission to modify this event.
QUOTA_EXCEEDED
Google Calendar API quota exceeded. Try again later.
Examples
Create a Team Meeting
# agent_intent: User requested to schedule weekly team sync meeting
summary: Weekly Team Sync
description: Weekly sync to discuss project progress and blockers
start:
dateTime: "2024-01-15T10:00:00-08:00"
timeZone: America/Los_Angeles
end:
dateTime: "2024-01-15T11:00:00-08:00"
timeZone: America/Los_Angeles
location: Conference Room B
attendees:
- email: alice@example.com
- email: bob@example.com
recurrence:
- "RRULE:FREQ=WEEKLY;BYDAY=MO"
reminders:
- method: popup
minutes: 15
Update Event Title
# agent_intent: User wants to rename the meeting to be more specific
summary: Q1 Planning - Weekly Team Sync
Delete an Event
# agent_intent: User requested to cancel the meeting as project is complete
# confirm: true
send_notifications: true
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
herb-enterprise-context
Search enterprise context data (Slack, docs, meetings, PRs) from the HERB benchmark to answer questions about products, employees, customers, and organizational activities. Use when answering questions that require searching through enterprise communication and documentation.
mcp-builder
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
gmail
hn
auth
Activate when code touches token management, credential resolution, git auth flows, GITHUB_APM_PAT, ADO_APM_PAT, AuthResolver, HostInfo, AuthContext, or any remote host authentication — even if 'auth' isn't mentioned explicitly.
python-architecture
Activate when creating new modules, refactoring class hierarchies, introducing design patterns, or making changes spanning 3+ files in the APM CLI codebase.
Didn't find tool you were looking for?