← Files InviteKit Calendar FilesARCHIVED FILE

.codex-plugin/plugin.json

16.6 KB · Nov 3, 2026 · 18:57 UTC

↓ Download file

{
  "name": "calendar-invite",
  "version": "1.0.0",
  "description": "Make .ics calendar files and add-to-calendar links for any event, including repeating events.",
  "author": {
    "name": "Zovo",
    "email": "support@zovo.one",
    "url": "https://zovo.one"
  },
  "homepage": "https://calendar-invite.zovo.one",
  "license": "Proprietary",
  "keywords": [
    "ics file generator",
    "add to calendar link",
    "calendar invite generator",
    "ics",
    "icalendar",
    "google calendar link",
    "outlook calendar link",
    "recurring event",
    "event schedule",
    "time zones"
  ],
  "skills": "./skills/",
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "InviteKit Calendar Files",
    "shortDescription": ".ics files & calendar links",
    "longDescription": "An .ics file generator and add-to-calendar link maker for anyone sending an event: webinars, classes, parties, launches, deadlines, and course schedules.\n\nDescribe the event in plain words and InviteKit builds a calendar invite that imports cleanly into Apple Calendar, Google Calendar, Outlook and other calendar apps, plus ready-to-share add to calendar links for Google Calendar, Outlook.com, Office 365 and Yahoo Calendar. Paste the links into an email, a newsletter, an event page or a chat; attach the .ics file to an invitation.\n\nTime zones are handled properly. Give the local time and the city (Warsaw, Chicago, Sydney) or zone name, and the file carries a full time zone definition, so attendees in other countries see the right local time, including the weeks when daylight saving time starts or ends. Times that are skipped or repeated when clocks change are explained. Optionally list your attendees' cities to see their local times next to yours.\n\nRecurring meeting invites: daily, weekly on chosen weekdays (every Tuesday and Thursday), every other week, monthly by date or by weekday (the second Tuesday, the last Friday, the last working day of the month), and yearly (the fourth Thursday of November). End after a number of times or on a date, and skip holidays or cancelled dates. The card lists the next dates of the series and the last one.\n\nCreate an ics file with multiple events: give a list of session dates (a course, training plan, match fixtures, conference agenda) and get one file that adds every session at once.\n\nAlso included: all-day and multi-day events, events that end after midnight, location, details, a meeting or event link, organizer name, and up to three reminders.\n\nEvery file follows the iCalendar standard (RFC 5545): correct line folding and escaping for commas, semicolons and accented or non-Latin text, stable event IDs, and standard recurrence rules (RRULE) that calendar apps expand the same way.\n\nLimitations: InviteKit makes files and links only. It does not email invitations, add attendees, track replies, or read or change your calendar. The Outlook.com, Office 365 and Yahoo links add the first date of a repeating event; the .ics file and the Google Calendar link add the whole series. Reminders are kept in the .ics file; web links use each calendar's default reminders.",
    "developerName": "Zovo",
    "category": "Productivity",
    "capabilities": [
      "Interactive",
      "Read"
    ],
    "websiteURL": "https://calendar-invite.zovo.one",
    "supportURL": "https://calendar-invite.zovo.one/support",
    "privacyPolicyURL": "https://calendar-invite.zovo.one/privacy",
    "termsOfServiceURL": "https://calendar-invite.zovo.one/terms",
    "defaultPrompt": [
      "Make an .ics file and add-to-calendar links for 'Product launch webinar', 2026-11-05, 18:30-20:00 Warsaw time",
      "Calendar invite for a yoga class every Tue and Thu, 7-8am Chicago time, 10 sessions starting 2026-10-27",
      "One calendar file for my Spanish course: 2027-01-12, 01-19 and 01-26, 18:00-19:30 London time, Room 4"
    ],
    "brandColor": "#C2410C",
    "brandColorDark": "#FB923C",
    "composerIcon": "./assets/icon.svg",
    "logo": "./assets/logo.png"
  },
  "extensions": {
    "com.openai": {
      "onboardingSkill": "./skills/calendar-invite/SKILL.md",
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Single event with reminder and an attendee's local time",
              "prompt": "Make a calendar invite for 'Product launch webinar' on 2026-11-05 from 18:30 to 20:00 Warsaw time with a 30-minute reminder, and show the time in New York",
              "tools_triggered": "generate_calendar_event",
              "expected_behavior": "Calls generate_calendar_event with title Product launch webinar, start 2026-11-05T18:30, end 20:00, time_zone Warsaw, reminders_minutes_before [30], viewer_time_zones [New York]. Returns Thu 5 Nov 2026, 18:30-20:00 CET (UTC+1, Europe/Warsaw); New York sees 12:30-14:00 EST. The card shows a date badge, a Download .ics button (file with a Europe/Warsaw time zone definition and a reminder 30 minutes before) and Google, Outlook.com, Office 365 and Yahoo buttons."
            },
            {
              "description": "Weekly repeating class across a daylight saving change, with a skipped date",
              "prompt": "Create a calendar invite for a yoga class every Tuesday and Thursday 7:00-8:00 am Chicago time, 10 sessions starting 2026-10-27, skipping 2026-11-26",
              "tools_triggered": "generate_calendar_event",
              "expected_behavior": "Calls generate_calendar_event with start 2026-10-27T07:00, end 08:00, time_zone Chicago, recurrence weekly on TU and TH, count 10, exceptions [2026-11-26]. The repeat rule is FREQ=WEEKLY;BYDAY=TU,TH;COUNT=10 with 2026-11-26 skipped, so 9 events, the last on 2026-11-24. The next dates list 2026-10-27 and 2026-10-29 at 07:00 CDT (UTC-5) and, from 2026-11-03, 07:00 CST (UTC-6), with a note that clocks change and the class stays at 07:00 local time. It notes that the Outlook.com, Office 365 and Yahoo links add the first date only."
            },
            {
              "description": "Monthly meeting on the second Tuesday with an end date",
              "prompt": "I need an .ics file for our board meeting on the second Tuesday of every month, 10:00-12:00 New York time, starting 2026-11-10, until 2027-06-30",
              "tools_triggered": "generate_calendar_event",
              "expected_behavior": "Calls generate_calendar_event with start 2026-11-10T10:00, end 12:00, time_zone New York, recurrence monthly, monthly_on nth_weekday, nth 2, weekdays [TU], until 2027-06-30. The rule is FREQ=MONTHLY;BYDAY=2TU;UNTIL=20270701T035959Z (the end of 30 Jun 2027 in New York, in UTC): 8 events, the last on 2027-06-08. The first dates are 2026-11-10, 2026-12-08, 2027-01-12, 2027-02-09 and 2027-03-09, each 10:00-12:00 EST."
            },
            {
              "description": "Multi-day all-day event",
              "prompt": "Add-to-calendar links for the 'Design Summit' conference, all day from 2026-11-05 to 2026-11-07, location Lisbon",
              "tools_triggered": "generate_calendar_event",
              "expected_behavior": "Calls generate_calendar_event with title Design Summit, start 2026-11-05, end 2026-11-07, location Lisbon. Returns an all-day event Thu 5 Nov 2026 to Sat 7 Nov 2026 (3 days). The .ics uses date values with an exclusive end (DTEND 20261108), and the Google Calendar link uses dates 20261105/20261108, so every calendar shows 3 full days. Outlook.com, Office 365 and Yahoo links are marked all day."
            },
            {
              "description": "Course schedule as one .ics file",
              "prompt": "Make one calendar file for my Spanish A1 evening course: 2027-01-12, 2027-01-19 and 2027-01-26, 18:00-19:30 London time, in Room 4, with a 1-hour reminder",
              "tools_triggered": "generate_event_series",
              "expected_behavior": "Calls generate_event_series with calendar_name Spanish A1 evening course, time_zone London, location Room 4, a reminder of one hour, and 3 events starting 2027-01-12T18:00, 2027-01-19T18:00 and 2027-01-26T18:00, each ending 19:30. Returns 3 events from 2027-01-12 to 2027-01-26, each Tue 18:00-19:30 GMT in Room 4 with a reminder 1 hour before, and one .ics download that adds all 3 sessions at once."
            }
          ],
          "negative": [
            {
              "description": "Reading a calendar is out of scope. Expected: the tools are not called; the assistant explains this app makes calendar files and links but cannot see the user's calendar.",
              "prompt": "What's on my Google Calendar tomorrow?"
            },
            {
              "description": "Finding a meeting time across time zones is a different task. Expected: the tools are not called; the assistant helps without this app or suggests choosing a time first.",
              "prompt": "Find a time next week when people in New York, London and Tokyo are all in working hours"
            },
            {
              "description": "Changing or deleting existing calendar entries is out of scope. Expected: the tools are not called; the assistant explains it cannot change the user's Outlook calendar.",
              "prompt": "Delete the recurring standup from my Outlook calendar"
            }
          ]
        },
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments.",
        "demo_recording_url": "https://calendar-invite.zovo.one/demo.mp4"
      },
      "publication": {
        "countries": [],
        "release_notes": "Initial release: RFC 5545 .ics files with time zone definitions, add-to-calendar links for Google Calendar, Outlook.com, Office 365 and Yahoo, repeating events with end dates and skipped dates, attendee local times, reminders, and multi-session schedule files.",
        "translations": {
          "pl-PL": {
            "subtitle": "Pliki .ics i linki kalendarza",
            "description": "Generator plik\u00f3w .ics i link\u00f3w \"dodaj do kalendarza\" dla ka\u017cdego wydarzenia: webinar\u00f3w, zaj\u0119\u0107, imprez, premier, termin\u00f3w i harmonogram\u00f3w kurs\u00f3w. Opisz wydarzenie, a InviteKit przygotuje zaproszenie, kt\u00f3re poprawnie importuje si\u0119 do Apple Calendar, Google Calendar i Outlooka, oraz linki do Google Calendar, Outlook.com, Office 365 i Yahoo. Strefy czasowe i zmiana czasu s\u0105 uwzgl\u0119dniane: podaj lokaln\u0105 godzin\u0119 i miasto, a plik zawiera pe\u0142n\u0105 definicj\u0119 strefy. Obs\u0142uguje wydarzenia cykliczne (codziennie, co tydzie\u0144 w wybrane dni, co miesi\u0105c wed\u0142ug daty lub dnia tygodnia, np. ostatni pi\u0105tek, co rok), z liczb\u0105 powt\u00f3rze\u0144, dat\u0105 ko\u0144cow\u0105 i pomini\u0119tymi datami, a tak\u017ce jeden plik z wieloma r\u00f3\u017cnymi terminami. Ograniczenia: nie wysy\u0142a zaprosze\u0144 e-mailem i nie czyta ani nie zmienia Twojego kalendarza."
          },
          "de-DE": {
            "subtitle": ".ics-Dateien & Kalenderlinks",
            "description": "Erstellt .ics-Kalenderdateien und \"Zum Kalender hinzuf\u00fcgen\"-Links f\u00fcr Webinare, Kurse, Feiern, Launches, Fristen und Kurspl\u00e4ne. Beschreibe den Termin, und InviteKit erstellt eine Einladung, die sich sauber in Apple Kalender, Google Kalender und Outlook importieren l\u00e4sst, dazu Links f\u00fcr Google Kalender, Outlook.com, Office 365 und Yahoo. Zeitzonen und Sommerzeit werden korrekt ber\u00fccksichtigt: Ortszeit und Stadt gen\u00fcgen, die Datei enth\u00e4lt die vollst\u00e4ndige Zeitzonendefinition. Wiederkehrende Termine (t\u00e4glich, w\u00f6chentlich an gew\u00e4hlten Tagen, monatlich nach Datum oder Wochentag wie dem letzten Freitag, j\u00e4hrlich) mit Anzahl, Enddatum und ausgelassenen Terminen sowie eine Datei mit vielen einzelnen Sitzungen. Einschr\u00e4nkungen: versendet keine Einladungen per E-Mail und liest oder \u00e4ndert keinen Kalender."
          },
          "es-ES": {
            "subtitle": "Archivos .ics y enlaces",
            "description": "Generador de archivos .ics y enlaces \"a\u00f1adir al calendario\" para webinars, clases, fiestas, lanzamientos, plazos y calendarios de cursos. Describe el evento e InviteKit crea una invitaci\u00f3n que se importa correctamente en Apple Calendar, Google Calendar y Outlook, adem\u00e1s de enlaces para Google Calendar, Outlook.com, Office 365 y Yahoo. Gestiona zonas horarias y cambios de hora: indica la hora local y la ciudad, y el archivo incluye la definici\u00f3n completa de la zona. Admite eventos peri\u00f3dicos (diarios, semanales en d\u00edas elegidos, mensuales por fecha o por d\u00eda de la semana como el \u00faltimo viernes, anuales) con n\u00famero de repeticiones, fecha final y fechas omitidas, y un solo archivo con varias sesiones distintas. Limitaciones: no env\u00eda invitaciones por correo ni lee o modifica tu calendario."
          },
          "fr-FR": {
            "subtitle": "Fichiers .ics et liens agenda",
            "description": "G\u00e9n\u00e9rateur de fichiers .ics et de liens \"ajouter \u00e0 l'agenda\" pour webinaires, cours, f\u00eates, lancements, \u00e9ch\u00e9ances et plannings de formation. D\u00e9crivez l'\u00e9v\u00e9nement et InviteKit cr\u00e9e une invitation qui s'importe proprement dans Apple Calendrier, Google Agenda et Outlook, ainsi que des liens pour Google Agenda, Outlook.com, Office 365 et Yahoo. Fuseaux horaires et changements d'heure sont g\u00e9r\u00e9s : indiquez l'heure locale et la ville, le fichier contient la d\u00e9finition compl\u00e8te du fuseau. \u00c9v\u00e9nements r\u00e9currents (quotidiens, hebdomadaires certains jours, mensuels par date ou par jour comme le dernier vendredi, annuels) avec nombre d'occurrences, date de fin et dates exclues, et un seul fichier pour plusieurs s\u00e9ances diff\u00e9rentes. Limites : n'envoie pas d'invitations par e-mail et ne lit ni ne modifie votre agenda."
          },
          "ja-JP": {
            "subtitle": ".ics\u30d5\u30a1\u30a4\u30eb\u3068\u30ab\u30ec\u30f3\u30c0\u30fc\u30ea\u30f3\u30af",
            "description": "\u30a6\u30a7\u30d3\u30ca\u30fc\u3001\u6388\u696d\u3001\u30d1\u30fc\u30c6\u30a3\u30fc\u3001\u30ed\u30fc\u30f3\u30c1\u3001\u7de0\u3081\u5207\u308a\u3001\u8b1b\u5ea7\u30b9\u30b1\u30b8\u30e5\u30fc\u30eb\u306a\u3069\u3001\u3042\u3089\u3086\u308b\u30a4\u30d9\u30f3\u30c8\u306e.ics\u30d5\u30a1\u30a4\u30eb\u3068\u300c\u30ab\u30ec\u30f3\u30c0\u30fc\u306b\u8ffd\u52a0\u300d\u30ea\u30f3\u30af\u3092\u4f5c\u6210\u3057\u307e\u3059\u3002\u30a4\u30d9\u30f3\u30c8\u5185\u5bb9\u3092\u4f1d\u3048\u308b\u3060\u3051\u3067\u3001Apple\u30ab\u30ec\u30f3\u30c0\u30fc\u3001Google\u30ab\u30ec\u30f3\u30c0\u30fc\u3001Outlook\u306b\u6b63\u3057\u304f\u53d6\u308a\u8fbc\u3081\u308b\u62db\u5f85\u30d5\u30a1\u30a4\u30eb\u3068\u3001Google\u30ab\u30ec\u30f3\u30c0\u30fc\u3001Outlook.com\u3001Office 365\u3001Yahoo\u306e\u30ea\u30f3\u30af\u3092\u7528\u610f\u3057\u307e\u3059\u3002\u73fe\u5730\u6642\u523b\u3068\u90fd\u5e02\u3092\u6307\u5b9a\u3059\u308c\u3070\u3001\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u5b9a\u7fa9\u3092\u542b\u3080\u30d5\u30a1\u30a4\u30eb\u306b\u306a\u308a\u3001\u590f\u6642\u9593\u306e\u5207\u308a\u66ff\u3048\u3082\u6b63\u78ba\u3067\u3059\u3002\u7e70\u308a\u8fd4\u3057\u4e88\u5b9a\uff08\u6bce\u65e5\u3001\u6307\u5b9a\u66dc\u65e5\u306e\u6bce\u9031\u3001\u65e5\u4ed8\u307e\u305f\u306f\u300c\u6700\u7d42\u91d1\u66dc\u65e5\u300d\u306a\u3069\u306e\u6bce\u6708\u3001\u6bce\u5e74\uff09\u306b\u56de\u6570\u30fb\u7d42\u4e86\u65e5\u30fb\u9664\u5916\u65e5\u3092\u8a2d\u5b9a\u3067\u304d\u3001\u8907\u6570\u306e\u7570\u306a\u308b\u65e5\u7a0b\u30921\u3064\u306e\u30d5\u30a1\u30a4\u30eb\u306b\u307e\u3068\u3081\u308b\u3053\u3068\u3082\u3067\u304d\u307e\u3059\u3002\u5236\u9650\uff1a\u62db\u5f85\u30e1\u30fc\u30eb\u306e\u9001\u4fe1\u3084\u3001\u30ab\u30ec\u30f3\u30c0\u30fc\u306e\u95b2\u89a7\u30fb\u5909\u66f4\u306f\u884c\u3044\u307e\u305b\u3093\u3002"
          },
          "pt-BR": {
            "subtitle": "Arquivos .ics e links",
            "description": "Gerador de arquivos .ics e links \"adicionar \u00e0 agenda\" para webinars, aulas, festas, lan\u00e7amentos, prazos e cronogramas de cursos. Descreva o evento e o InviteKit cria um convite que importa corretamente no Apple Calendar, Google Agenda e Outlook, al\u00e9m de links para Google Agenda, Outlook.com, Office 365 e Yahoo. Fusos hor\u00e1rios e hor\u00e1rio de ver\u00e3o s\u00e3o tratados corretamente: informe o hor\u00e1rio local e a cidade, e o arquivo traz a defini\u00e7\u00e3o completa do fuso. Eventos recorrentes (di\u00e1rios, semanais em dias escolhidos, mensais por data ou por dia da semana como a \u00faltima sexta-feira, anuais) com n\u00famero de repeti\u00e7\u00f5es, data final e datas puladas, e um \u00fanico arquivo com v\u00e1rias sess\u00f5es diferentes. Limita\u00e7\u00f5es: n\u00e3o envia convites por e-mail nem l\u00ea ou altera sua agenda."
          }
        }
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 86615a3afa33ede38fe7c8c74f008689ef247e17079060c8f0da2d7011a8b308