Skip to content

Instantly share code, notes, and snippets.

@omayib
Last active June 6, 2026 03:55
Show Gist options
  • Select an option

  • Save omayib/e59ecc05fd624fa410bc223d7964720a to your computer and use it in GitHub Desktop.

Select an option

Save omayib/e59ecc05fd624fa410bc223d7964720a to your computer and use it in GitHub Desktop.
~/.hermes/skills/productivity/google-calendar-create/SKILL.md
---
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