[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-ac4dec8d-216c-4b1e-a11a-b0538710cced":3,"$ffRSeVePy8hSLQYrrn09APhs_M5V7U5FmAa3D1pUPYqQ":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"ac4dec8d-216c-4b1e-a11a-b0538710cced","google-calendar-automation","轻量级谷歌日历集成，独立OAuth认证。无需MCP服务器。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: google-calendar-automation\ndescription: \"Lightweight Google Calendar integration with standalone OAuth authentication. No MCP server required.\"\nlicense: Apache-2.0\nrisk: critical\nsource: community\nmetadata:\n  author: sanjay3290\n  version: \"1.0\"\n---\n\n# Google Calendar\n\nLightweight Google Calendar integration with standalone OAuth authentication. No MCP server required.\n\n> **⚠️ Requires Google Workspace account.** Personal Gmail accounts are not supported.\n\n## When to Use\n- You need to list, create, inspect, or update Google Calendar events from local scripts.\n- The task requires OAuth-backed calendar automation without standing up an MCP server.\n- You need quick operational access to calendars, schedules, attendees, or event details in a Workspace environment.\n\n## First-Time Setup\n\nAuthenticate with Google (opens browser):\n```bash\npython scripts\u002Fauth.py login\n```\n\nCheck authentication status:\n```bash\npython scripts\u002Fauth.py status\n```\n\nLogout when needed:\n```bash\npython scripts\u002Fauth.py logout\n```\n\n## Commands\n\nAll operations via `scripts\u002Fgcal.py`. Auto-authenticates on first use if not logged in.\n\n### List Calendars\n```bash\npython scripts\u002Fgcal.py list-calendars\n```\n\n### List Events\n```bash\n# List events from primary calendar (default: next 30 days)\npython scripts\u002Fgcal.py list-events\n\n# List events with specific time range\npython scripts\u002Fgcal.py list-events --time-min 2024-01-15T00:00:00Z --time-max 2024-01-31T23:59:59Z\n\n# List events from a specific calendar\npython scripts\u002Fgcal.py list-events --calendar \"work@example.com\"\n\n# Limit results\npython scripts\u002Fgcal.py list-events --max-results 10\n```\n\n### Get Event Details\n```bash\npython scripts\u002Fgcal.py get-event EVENT_ID\npython scripts\u002Fgcal.py get-event EVENT_ID --calendar \"work@example.com\"\n```\n\n### Create Event\n```bash\n# Basic event\npython scripts\u002Fgcal.py create-event \"Team Meeting\" \"2024-01-15T10:00:00Z\" \"2024-01-15T11:00:00Z\"\n\n# Event with description and location\npython scripts\u002Fgcal.py create-event \"Team Meeting\" \"2024-01-15T10:00:00Z\" \"2024-01-15T11:00:00Z\" \\\n    --description \"Weekly sync\" --location \"Conference Room A\"\n\n# Event with attendees\npython scripts\u002Fgcal.py create-event \"Team Meeting\" \"2024-01-15T10:00:00Z\" \"2024-01-15T11:00:00Z\" \\\n    --attendees user1@example.com user2@example.com\n\n# Event on specific calendar\npython scripts\u002Fgcal.py create-event \"Meeting\" \"2024-01-15T10:00:00Z\" \"2024-01-15T11:00:00Z\" \\\n    --calendar \"work@example.com\"\n```\n\n### Update Event\n```bash\n# Update event title\npython scripts\u002Fgcal.py update-event EVENT_ID --summary \"New Title\"\n\n# Update event time\npython scripts\u002Fgcal.py update-event EVENT_ID --start \"2024-01-15T14:00:00Z\" --end \"2024-01-15T15:00:00Z\"\n\n# Update multiple fields\npython scripts\u002Fgcal.py update-event EVENT_ID \\\n    --summary \"Updated Meeting\" --description \"New agenda\" --location \"Room B\"\n\n# Update attendees\npython scripts\u002Fgcal.py update-event EVENT_ID --attendees user1@example.com user3@example.com\n```\n\n### Delete Event\n```bash\npython scripts\u002Fgcal.py delete-event EVENT_ID\npython scripts\u002Fgcal.py delete-event EVENT_ID --calendar \"work@example.com\"\n```\n\n### Find Free Time\nFind the first available slot for a meeting with specified attendees:\n```bash\n# Find 30-minute slot for yourself\npython scripts\u002Fgcal.py find-free-time \\\n    --attendees me \\\n    --time-min \"2024-01-15T09:00:00Z\" \\\n    --time-max \"2024-01-15T17:00:00Z\" \\\n    --duration 30\n\n# Find 60-minute slot with multiple attendees\npython scripts\u002Fgcal.py find-free-time \\\n    --attendees me user1@example.com user2@example.com \\\n    --time-min \"2024-01-15T09:00:00Z\" \\\n    --time-max \"2024-01-19T17:00:00Z\" \\\n    --duration 60\n```\n\n### Respond to Event Invitation\n```bash\n# Accept an invitation\npython scripts\u002Fgcal.py respond-to-event EVENT_ID accepted\n\n# Decline an invitation\npython scripts\u002Fgcal.py respond-to-event EVENT_ID declined\n\n# Mark as tentative\npython scripts\u002Fgcal.py respond-to-event EVENT_ID tentative\n\n# Respond without notifying organizer\npython scripts\u002Fgcal.py respond-to-event EVENT_ID accepted --no-notify\n```\n\n## Date\u002FTime Format\n\nAll times use ISO 8601 format with timezone:\n- UTC: `2024-01-15T10:30:00Z`\n- With offset: `2024-01-15T10:30:00-05:00` (EST)\n\n## Calendar ID Format\n\n- Primary calendar: Use `primary` or omit the `--calendar` flag\n- Other calendars: Use the calendar ID from `list-calendars` (usually an email address)\n\n## Token Management\n\nTokens stored securely using the system keyring:\n- **macOS**: Keychain\n- **Windows**: Windows Credential Locker\n- **Linux**: Secret Service API (GNOME Keyring, KDE Wallet, etc.)\n\nService name: `google-calendar-skill-oauth`\n\nTokens are automatically refreshed when expired using Google's cloud function.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,119,501,"2026-05-16 13:21:06",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"8d0f67d0-3475-4df4-b8a0-49f178a5d670","1.0.0","google-calendar-automation.zip",1863,"uploads\u002Fskills\u002Fac4dec8d-216c-4b1e-a11a-b0538710cced\u002Fgoogle-calendar-automation.zip","3be6d08ee795ff032cc7cb8b5e4dd826b9d82382f1b9838306fdd5511f6903d4","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":5018}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]