Luma Events
Use this skill to create one or more Luma events by cloning a reference event's title, description, cover image, visibility, timezone, and duration, then scheduling copies at requested times.
Safety and secrets
- Read
LUMA_API_KEYfrom the shell environment or a local.env; do not print it. - Do not paste secrets into generated commands, logs, or files.
- The helper script prints event IDs, dates, and public URLs only.
- Leave virtual livestream links empty unless the user explicitly provides a URL.
Default workflow
- Determine the schedule.
- If the user gives explicit dates/times, convert them to script flags.
- If the user gives a date range, choose the matching weekly dates within that range.
- If the user does not specify a schedule, default to the next 3 Thursdays at 2:00pm ET.
- Run the bundled script in dry-run mode first when the request is ambiguous.
- Run with
--executewhen the user has clearly asked to create/update events. - Verify the returned URLs and summarize them.
Bundled script
Use scripts/luma_clone_events.py.
Common examples:
python .agents/skills/luma-events/scripts/luma_clone_events.py \
--weeks 3 \
--weekday thursday \
--time 14:00 \
--timezone America/New_York \
--title "Intro to <BRAND> + <CLOUD_PRODUCT>" \
--execute
Pass --dates 2026-05-07,2026-05-14 for explicit dates, or --range 2026-05-07..2026-05-21 with --weekday for a date range. Set the event to clone with --reference-url <url> or the LUMA_REFERENCE_URL env var — there is no built-in default.
Script behavior
- Without
--execute, the script performs a dry run and shows what it would create. - With
--execute, it calls the Luma API:GET /v1/entity/lookupto resolve the reference URL slug.GET /v1/event/getto fetch reference event metadata.POST /v1/event/createfor each scheduled copy.GET /v1/calendar/list-eventsto recover public URLs after creation.
- It omits
meeting_urlby default so livestream links remain empty.