{"id":47849,"plugin_id":"plugin_asdk_app_6abd1eef831c81918a361577d5bf4192","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-24T13:34:45.373Z","digest":"00d3b7ec9ff1a9895588453bf82b80d1591cd6b1ada1331e84004bb73734dd23","against":null,"payload":{"description":"Set up a meeting in Tana and the user's calendar: check the user's calendar for a free slot, then create the event with the right people, time and an agenda. Use when the user says 'set up a meeting with Anna and Mads on Thursday about pricing', 'book 30 minutes with the Acme team next week', 'schedule a follow-up to today's design review', 'find time for a 1:1 with Hilde', or 'put a call with lena@acme.com on my calendar'.","included_files":[],"name":"schedule-meeting","skill_md_contents":"---\nname: schedule-meeting\ndescription: \"Set up a meeting in Tana and the user's calendar: check the user's calendar for a free slot, then create the event with the right people, time and an agenda. Use when the user says 'set up a meeting with Anna and Mads on Thursday about pricing', 'book 30 minutes with the Acme team next week', 'schedule a follow-up to today's design review', 'find time for a 1:1 with Hilde', or 'put a call with lena@acme.com on my calendar'.\"\n---\n\n# Schedule a meeting\n\nTurn \"set up a meeting with X and Y about Z\" into a real calendar event with the right people, a\nsensible time and an agenda, so the meeting starts with context instead of \"so, why are we here?\".\n\n## Steps\n\n1. **Parse the ask:** who, when (a day or a window), how long (default 30 minutes), what about.\n\n2. **Resolve the people.**\n   - Teammates: `listOrgMembers` gives user-profile URIs. They go in `participants` as `{ \"uri\": \"tana:user-profile:...\" }`\n     and get access to the meeting's notes in Tana. Never list the user themselves; they are the organizer.\n   - External people: only email addresses the user gave you go in `attendeeEmails`. Never guess or\n     complete an address. If the user only gave a name, look for it in a past meeting's `attendees`\n     (`readEvent`), and confirm the address with the user before using it.\n\n3. **Check the user's calendar.**\n   - `listCalendars`: the calendar with `isDefaultWriteTarget: true` is where the event goes. If none is\n     marked, or `connectionAccess` is `\"read-only\"`, the event stays in Tana and no invites go out. Tell\n     the user before you create it.\n   - `listEvents({ startDate, endDate, timezone })` over the window to find free slots. You can see only\n     the user's own calendar, not other people's availability; say so when you propose a time.\n\n4. **Build the agenda.** From the topic, in 2–5 lines. For a follow-up (\"follow-up to today's design\n   review\"), read that meeting with the `tana-meeting` skill, including its screen-share screenshots,\n   and build the agenda from what is still open and what was shown (\"revisit the checkout sketch from\n   12:10\"). Link the earlier meeting with `getShareLink`.\n\n5. **Confirm in 2–3 lines** and wait for an OK: title, day and time with timezone, people, agenda.\n\n6. **Create it:**\n   ```json\n   { \"title\": \"Pricing: annual plans\",\n     \"startTime\": \"2026-10-01T14:00:00\",\n     \"endTime\": \"2026-10-01T14:30:00\",\n     \"timezone\": \"Europe/Oslo\",\n     \"description\": \"Agenda\\n- Annual discount: 15% or 20%?\\n- Who owns the pricing page change\\nContext: Pricing sync 22 Sep <link>\",\n     \"participants\": [{ \"uri\": \"tana:user-profile:...\" }],\n     \"attendeeEmails\": [\"lena@acme.com\"],\n     \"recap\": \"A 30-minute pricing meeting with Anna and Mads on Thursday, agenda included.\" }\n   ```\n   (`createEvent`). This lands as a proposal in Tana for the user to approve. Approving it creates the\n   event and may send real calendar invitations.\n\n7. **Report** in one or two lines, and pass on anything the result says about a missing calendar\n   connection or default calendar, including the step it points to.\n\n## Output\n\n```\nProposed in Tana: \"Pricing: annual plans\", Thu 1 Oct 14:00–14:30 (Oslo) with Anna, Mads and\nlena@acme.com, agenda included. Approve it in Tana to add it to your Google Calendar and send invites.\n```\n\n## Rules\n\n- Times are local wall times without a UTC offset (`2026-10-01T14:00:00`) plus `timezone` (an IANA\n  name like `Europe/Oslo`). Never compute offsets or Unix timestamps. If the tool asks a\n  daylight-saving question, ask the user and wait.\n- Always set `endTime`; otherwise the external copy defaults to 30 minutes.\n- No all-day events: this tool only makes timed ones. Ask for a time.\n- No start time given and no window to search? Ask; don't guess.\n- To move or change a meeting that already exists, use `updateEvent` with `eventUri`, `startTime`,\n  `endTime` and `inputTimezone`; to add external invitees, use `addAttendeeEmails`.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}