Skip to main content

calendar

Use for reviewing the owner's Google Calendar - listing the day's / week's events, flagging conflicts and overlaps, proposing reschedule slots, and creating calendar events from travel bookings. Part of the daily brief; also for ad-hoc "what's my day / find me a slot / is X on my calendar". Pairs with `number-one:mailbird`, `number-one:meeting-prep`, `number-one:daily-brief`.

Datos de origen

Repositorio
bbinoy/number-one
Última actividad en el origen
11 de octubre de 2026 a las 14:27
Idioma detectado de SKILL.md
inglés
Estrellas
1
Forks
0

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
calendar
description
Use for reviewing the owner's Google Calendar - listing the day's / week's events, flagging conflicts and overlaps, proposing reschedule slots, and creating calendar events from travel bookings. Part of the daily brief; also for ad-hoc "what's my day / find me a slot / is X on my calendar". Pairs with `number-one:mailbird`, `number-one:meeting-prep`, `number-one:daily-brief`.
# Calendar review ## Setup (from the owner's notes) Which calendars to check, the time zone and which calendar travel bookings go on are in the owner's `setup-calendars` note (the `setup` notes in your memory block or `MEMORY.md`). Use exactly those; do not guess calendar ids. **If the calendar tools (`list_calendars`, `list_events`) do not exist** (the connector is not connected in the owner's Claude account), say so plainly, never guess or invent calendar data, skip this part, and in an unattended run end the brief with one line: "🔌 <connector> isn't connected, so calendar was skipped." In chat, add how to fix it: connect it under Settings, Connectors in their Claude account, then message you again. **If there is no `setup-calendars` note:** - in chat, load `number-one:setup` and set it up with the owner now; - in an unattended run (nobody to ask), skip the calendar parts, and end the brief with one line: "Calendar is not set up yet. Message me 'set up my calendar'." Google Calendar via MCP. Call `list_events` with an explicit start/end range and the owner's time zone, for **all of the listed calendars in the same turn** (they are independent). The note may list calendars that are **not** connected (a work account that cannot be added, say): those are invisible, so never assume the list is complete, and if a workday looks empty, say so. ## Window - **Daily brief run:** today + tomorrow (forward), and back to the previous brief's send time (for the post-meeting pass handoff to `number-one:meeting-prep`). Produce a clean event list for the window - time, title, attendees, location - and hand it to `number-one:meeting-prep`, which decides what needs prep. ## Conflicts and hygiene (flag in the brief, never fix) - Overlapping events. - Back-to-back meetings with no gap, especially across locations. - A meeting that collides with travel, or with a task due that day. - An external meeting with no agenda / no video link. - A day that is wall-to-wall with no break. ## Reschedules (suggest only, never execute) If an email asks to move a meeting, or two things clash, propose 2-3 concrete alternative slots from the owner's actual free time in the brief. Do **not** call `update_event` on your own - the owner decides, then asks. ## Travel bookings -> calendar (the one automatic write) Scan recent booking-confirmation emails (flights, trains, hotels, buses) via `number-one:mailbird` `search_conversations`. For each **confirmed** booking with a firm date/time that is **not already on the calendar**: - `create_event` on the calendar the setup note names for bookings: clear title ("Flight ZRH -> BCN LX123", "Hotel: <name>, <city>", "Train <A> -> <B>"), correct start/end (booking's own timezone, else the owner's time zone), location, and confirmation number + one-line summary in the description. - Note each created event in the brief under "Changed by the assistant". - Ambiguous booking (no firm time, possible duplicate): do not create - list it as "booking found, no calendar entry - add it?". ## Guardrails - May: `create_event` for travel bookings as above. - May not: `update_event` or reschedule on its own, `delete_event` ever, create non-travel events, edit other people's events, send or respond to invites. - The agent's policy (`src/policy.ts`) also asks the owner on the phone before any calendar write, whatever this skill says. ## In the briefing - **Conflicts / reschedules** section - only if there is something; each as a suggestion. - Created travel events -> "Changed by the assistant". - The meeting list itself is rendered by `number-one:meeting-prep`.
Ver en GitHub