Last active
June 6, 2026 03:55
-
-
Save omayib/e59ecc05fd624fa410bc223d7964720a to your computer and use it in GitHub Desktop.
~/.hermes/skills/productivity/google-calendar-create/SKILL.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| name: google-calendar-create | |
| description: "Add a new Google Calendar event via the existing Google Workspace skill." | |
| version: 1.0.0 | |
| license: MIT | |
| platforms: [linux, macos, windows] | |
| required_skill_files: | |
| - skill_dir: productivity/google-workspace | |
| path: SKILL.md | |
| --- | |
| # Google Calendar Create | |
| Thin skill to create Google Calendar events using the `google-workspace` skill. | |
| Use this when the goal is exactly: create one event in Google Calendar. | |
| ## Prerequisites | |
| - Setup `productivity/google-workspace` already completed: | |
| `google_token.json` present and accessible. | |
| - `calendar` scope authorized. | |
| ## Rules | |
| 1. **Confirm before creating** with the user when possible. Show event fields before | |
| executing the command. | |
| 2. **Use ISO 8601 with timezone offset** for all start/end values. Example for WIB: | |
| `2026-01-18T09:00:00+07:00` | |
| 3. If the time is **all day**, omit the time and offset: `2026-01-18`. | |
| 4. Use `--attendees` only if the user provides an email list. Otherwise omit. | |
| 5. Never expose client secrets or tokens. | |
| 6. **Avoid duplicate events**: before creating, list events for the same date/time | |
| window and only create if the event is not already present. | |
| ## Usage | |
| Set the helper if needed: | |
| ```bash | |
| GAPI="python ${HERMES_HOME:-$HOME/.hermes}/skills/productivity/google-workspace/scripts/google_api.py" | |
| ``` | |
| Create an event: | |
| ```bash | |
| $GAPI calendar create \ | |
| --summary "Standup" \ | |
| --start 2026-01-18T09:00:00+07:00 \ | |
| --end 2026-01-18T09:30:00+07:00 \ | |
| --location "Zoom" \ | |
| --attendees "alice@example.com,bob@example.com" | |
| ``` | |
| ### Parameters | |
| - `--summary` : event title | |
| - `--start` : ISO 8601 start time with timezone offset (`+07:00` / `Z`) | |
| - `--end` : ISO 8601 end time with timezone offset (`+07:00` / `Z`) | |
| - `--location` : optional location | |
| - `--attendees` : optional, comma-separated emails | |
| - `--description` : optional description text | |
| - `--calendarId` : optional calendar ID, default is primary | |
| ## Output | |
| Success returns: | |
| ```json | |
| {"status": "created", "id": "...", "summary": "...", "htmlLink": "..."} | |
| ``` | |
| ## Troubleshooting | |
| | Problem | Fix | | |
| |---------|-----| | |
| | Not authenticated | Follow `productivity/google-workspace` setup, then rerun setup `--check` | | |
| | Missing scope | Revoke and reauth with `--services calendar` | | |
| | Timezone missing | Always include offset in `--start` and `--end` | | |
| ### Preflight check before creating events | |
| Avoid duplicate events by listing first: | |
| ```bash | |
| python3 .../google_api.py calendar list --start 2026-06-06T00:00:00+07:00 --end 2026-06-06T23:59:59+07:00 | |
| ``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment