{"id":66485,"plugin_id":"plugin_asdk_app_69eb5805dfd8819199af656b161c9b91","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-28T12:13:04.934Z","digest":"517d403bcfefc27f5ae7b8013b38c5cae9b18aec9942c0e3c16bc079cc4b4e24","against":null,"payload":{"description":"Turn event details into a reviewed calendar-invite QR code. Use when the user wants a meeting, appointment, class, performance, reservation, or all-day event encoded for calendar import and needs help resolving missing dates, end times, locations, or timezone ambiguity. Do not use to write directly to a calendar account or promise recurrence, reminders, organizer fields, or attendee invitations.","included_files":[{"relative_path":"agents/openai.yaml","size_in_bytes":237}],"name":"calendar-invite-qr-planner","skill_md_contents":"---\nname: calendar-invite-qr-planner\ndescription: Turn event details into a reviewed calendar-invite QR code. Use when the user wants a meeting, appointment, class, performance, reservation, or all-day event encoded for calendar import and needs help resolving missing dates, end times, locations, or timezone ambiguity. Do not use to write directly to a calendar account or promise recurrence, reminders, organizer fields, or attendee invitations.\n---\n\n# Calendar Invite QR Planner\n\n## Gather the event details\n\nCollect:\n\n- Summary.\n- Optional description and location.\n- Start.\n- End.\n- Whether the event is all-day.\n\nAsk only about details whose ambiguity could put the event on the wrong date or time. Do not invent a duration, timezone, or end date without a clear contextual basis.\n\n## Normalize the schedule\n\n1. Use `YYYY-MM-DD` values for all-day events.\n2. Treat an all-day `DTEND` as exclusive. When the user states an inclusive final day, encode the following date as the end and explain that representation in the preview.\n3. Use ISO-like local values such as `YYYY-MM-DDTHH:mm` for floating local times.\n4. Use a trailing `Z` only when the event time is explicitly UTC or has been unambiguously converted to UTC.\n5. If attendees may be in multiple timezones and the user supplied only a named timezone, clarify how to represent it because the app schema has no named-timezone field.\n6. Verify that the end is after the start. Resolve contradictions before creating the QR.\n\n## Create the calendar QR\n\nCall `qr-code` with only `qrCodeInformation` using:\n\n- `kind: \"calendar\"`\n- The normalized `summary`, `description`, `location`, `start`, `end`, and `allDay` fields.\n- `encodedText: \"\"` so the app creates the calendar payload.\n\nTreat returned `structuredContent.qrCodeInformation` as authoritative.\n\n## Deliver the result\n\nProvide a plain-language preview containing:\n\n- Event title and location.\n- Start and end as the user should understand them.\n- The assumed timezone behavior: UTC, floating local time, or all-day.\n- Any omitted optional fields.\n- Confirmation that the widget is editable and exportable.\n\n## Boundaries\n\nDo not claim the event was added to a calendar, invitations were sent, availability was checked, or reminders were scheduled. The supported payload has no organizer, attendee, recurrence, alarm, or named-timezone field; do not hide those values in another field as if they were structurally supported.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}