xiaohongshu
xiaohongshu
google-calendar-skill
Manage Google Calendar - search, create, update events and answer calendar questions. Use when user wants to interact with their Google Calendar for scheduling and calendar operations.
Full skill instructions
This skill provides comprehensive Google Calendar integration through lightweight CLI scripts. All operations are token-efficient and composable.
Before using this skill, you must set up OAuth authentication:
Install dependencies:
cd ~/.claude/skills/google-calendar-skill && npm install
Set up Google Cloud credentials:
docs/google-cloud-setup.mdcredentials.json and save to scripts/auth/credentials.jsonAuthenticate:
cd ~/.claude/skills/google-calendar-skill && npm run setup
This will open a browser for Google OAuth and save your token locally.
The Calendar skill supports multiple accounts (e.g., personal and work calendars):
# Add a second account (from skill directory)
npm run setup -- --account work
# Add a third account
npm run setup -- --account personal
Each account needs separate OAuth authentication.
# List all configured accounts
node scripts/manage-accounts.js --list
# Set default account (used when --account is not specified)
node scripts/manage-accounts.js --set-default work
# Remove an account
node scripts/manage-accounts.js --remove old-account
All Calendar operations support the --account parameter:
# List work calendar events
node calendar-events-list.js --account work --limit 10
# Create event on personal calendar (or omit --account to use default)
node calendar-events-create.js --account personal --summary "..." --start "..." --end "..."
# Search work calendar
node calendar-events-list.js --account work --query "team meeting"
If --account is not specified, the default account is used.
When first using Calendar operations, read the comprehensive README:
cat ~/.claude/skills/google-calendar-skill/README.md
This provides detailed usage examples for all operations.
All scripts are in the scripts/ directory and output JSON for easy parsing:
cd ~/.claude/skills/google-calendar-skill/scripts
All scripts return JSON. Parse the output and present relevant information to the user in a friendly format.
Save intermediate results to files when chaining operations:
# List events and save
node calendar-events-list.js --query "team meeting" > /tmp/events.json
# Get details for first event
EVENT_ID=$(cat /tmp/events.json | jq -r '.events[0].id')
node calendar-events-get.js --id "$EVENT_ID"
node calendar-list.js
# Upcoming events
node calendar-events-list.js --limit 10
# Search by date range
node calendar-events-list.js \
--timeMin "2025-11-15T00:00:00Z" \
--timeMax "2025-11-30T23:59:59Z"
# Search by keyword
node calendar-events-list.js --query "team meeting"
node calendar-events-get.js --id "EVENT_ID"
# Timed event
node calendar-events-create.js \
--summary "Team Meeting" \
--start "2025-11-20T14:00:00-08:00" \
--end "2025-11-20T15:00:00-08:00" \
--location "Conference Room A" \
--attendees "[email protected],[email protected]"
# All-day event
node calendar-events-create.js \
--summary "Company Holiday" \
--allDay \
--date "2025-12-25"
# With Google Meet
node calendar-events-create.js \
--summary "Team Sync" \
--start "2025-11-20T14:00:00-08:00" \
--end "2025-11-20T15:00:00-08:00" \
--addMeet
# Update title
node calendar-events-update.js --id "EVENT_ID" --summary "New Title"
# Update time
node calendar-events-update.js \
--id "EVENT_ID" \
--start "2025-11-20T15:00:00-08:00" \
--end "2025-11-20T16:00:00-08:00"
# Add attendees (preserves existing)
node calendar-events-update.js --id "EVENT_ID" --addAttendees "[email protected]"
node calendar-events-delete.js --id "EVENT_ID"
node calendar-events-quick.js --text "Lunch with Sarah tomorrow at 12pm"
When users ask about their schedule:
calendar-events-list.js with appropriate time filtersExample:
# User asks: "What's on my calendar today?"
TODAY_START=$(date -u +"%Y-%m-%dT00:00:00Z")
TODAY_END=$(date -u +"%Y-%m-%dT23:59:59Z")
node calendar-events-list.js --timeMin "$TODAY_START" --timeMax "$TODAY_END"
For simple event creation, use quick add:
# User says: "Schedule lunch with Bob tomorrow at noon"
node calendar-events-quick.js --text "Lunch with Bob tomorrow at 12pm"
For detailed events with specific requirements, use create:
node calendar-events-create.js \
--summary "Lunch with Bob" \
--start "2025-11-16T12:00:00-08:00" \
--end "2025-11-16T13:00:00-08:00" \
--location "Restaurant Name"
# Find event
node calendar-events-list.js --query "team meeting" > /tmp/results.json
EVENT_ID=$(cat /tmp/results.json | jq -r '.events[0].id')
# Update it
node calendar-events-update.js --id "$EVENT_ID" --location "New Location"
Use for --start and --end with timed events:
2025-11-20T14:00:00-08:00 (2pm Pacific)
2025-11-20T14:00:00-05:00 (2pm Eastern)
2025-11-20T14:00:00Z (2pm UTC)
Use for --date with all-day events:
2025-11-20 (YYYY-MM-DD)
# Default is America/Los_Angeles
node calendar-events-create.js --summary "..." --start "..." --end "..."
# Custom timezone
node calendar-events-create.js \
--summary "..." \
--start "..." \
--end "..." \
--timezone "America/New_York"
If scripts fail:
token.json exists in scripts/auth/npm run setup againCommon error patterns:
{
"success": false,
"error": "Token not found. Run: npm run setup"
}
This skill is designed for minimal token usage:
xiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience