← Files Zovo League FixturesARCHIVED FILE
.codex-plugin/plugin.json
15.1 KB · Nov 13, 2026 · 06:10 UTC
{
"name": "league-schedule",
"version": "1.0.0",
"description": "A round robin league schedule on real dates, with home and away balanced and one calendar per team.",
"author": {
"name": "Zovo",
"email": "support@zovo.one",
"url": "https://zovo.one"
},
"homepage": "https://league-schedule.zovo.one",
"license": "Proprietary",
"keywords": [
"league schedule",
"round robin schedule",
"fixture list",
"season schedule",
"home and away",
"sports league",
"ics",
"printable schedule"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Zovo League Fixtures",
"shortDescription": "Round robin league schedules",
"longDescription": "Make a round robin league schedule for 3 to 24 teams on real dates, ready to print and to add to calendars. Zovo League Fixtures turns your team list into season fixtures: each pair meets once (single round robin, the default) or twice, once at each home (double round robin, home and away); no team plays twice in a round; with an odd number of teams one team has a bye each round and the byes are shared out evenly.\n\nHome and away games are balanced: in a double round robin each team has as many home games as away games, and in a single round robin the counts differ by at most one. Runs of home or away games stay short, and the result states the longest run.\n\nRounds land on your play days (for example Saturdays, or Tuesdays and Thursdays), weekly or fortnightly, and skip blackout dates such as holidays or a school break. Give an end date and it tells you if the season does not fit and what to change. Add shared fields or courts with time slots (the slots rotate so the same team does not keep the first slot), or each team's home ground, and an optional kickoff time.\n\nYou get a printable schedule PDF (rounds with dates, a who-plays-whom grid, the home and away balance and a list for each team), an Excel workbook, a calendar file (ICS) with all games and one calendar file per team for Google Calendar, Outlook or Apple Calendar.\n\nGood for recreational leagues, school and club sports, darts, pool, chess, bowling and esports leagues.\n\nLimitations: it does not record scores, standings or tables, does not make knockout brackets or one-day tournaments, plays one round per play date, and handles up to 24 teams.",
"developerName": "Zovo",
"category": "Entertainment",
"capabilities": [
"Interactive",
"Read"
],
"websiteURL": "https://league-schedule.zovo.one",
"supportURL": "https://league-schedule.zovo.one/support",
"privacyPolicyURL": "https://league-schedule.zovo.one/privacy",
"termsOfServiceURL": "https://league-schedule.zovo.one/terms",
"defaultPrompt": [
"Single round robin for Lions, Tigers, Bears, Wolves, Hawks and Sharks, weekly on Saturdays from 2027-01-09",
"Home and away schedule for Ajax, Rovers, City, United, Athletic and Wanderers, Saturdays from 2027-01-09, skip 2027-02-13",
"Single round robin for Red, Blue, Green, Gold and Black, weekly on Tuesdays from 2027-03-02"
],
"brandColor": "#0F6B45",
"brandColorDark": "#7FD3A8",
"composerIcon": "./assets/icon.svg",
"logo": "./assets/logo.png"
},
"extensions": {
"com.openai": {
"onboardingSkill": "./skills/league-schedule/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Single round robin on Saturdays",
"prompt": "Make a league schedule for Lions, Tigers, Bears, Wolves, Hawks and Sharks, single round robin on Saturdays starting 2027-01-09",
"tools_triggered": "generate_league_schedule",
"expected_behavior": "Calls generate_league_schedule with the 6 teams, format single, start_date 2027-01-09 and play_days Saturday. Returns 5 rounds and 15 games from 2027-01-09 to 2027-02-06; round 1 is Lions v Sharks, Tigers v Hawks and Wolves v Bears. Every pair meets once, home and away counts differ by at most one (Lions 3 home, 2 away), and the longest home or away run is 2. Offers the PDF, Excel, all-games ICS and per-team ICS downloads."
},
{
"description": "Home and away season with blackout dates",
"prompt": "Home and away schedule for Lions, Tigers, Bears, Wolves, Hawks, Sharks, Eagles and Foxes on Saturdays from 2027-01-09, no games on 2027-02-13 or 2027-04-03",
"tools_triggered": "generate_league_schedule",
"expected_behavior": "Calls generate_league_schedule with the 8 teams, format double, start_date 2027-01-09, play_days Saturday and both blackout dates. Returns 14 rounds and 56 games ending 2027-04-24; 2027-02-13 and 2027-04-03 are listed as skipped. Every team has 7 home and 7 away games, and every pair meets twice with home and away swapped."
},
{
"description": "Odd number of teams with byes",
"prompt": "Round robin for Red, Blue, Green, Gold and Black on Tuesdays from 2027-03-02",
"tools_triggered": "generate_league_schedule",
"expected_behavior": "Calls generate_league_schedule with the 5 teams, start_date 2027-03-02 and play_days Tuesday. Returns 5 rounds and 10 games from 2027-03-02 to 2027-03-30; one team has a bye each round (Red in round 1) and every team gets 1 bye, 2 home and 2 away games."
},
{
"description": "Shared fields and time slots",
"prompt": "Schedule 10 teams A to J on Saturdays from 2027-04-10 on Field 1 and Field 2 with kickoffs at 09:00, 10:30 and 12:00",
"tools_triggered": "generate_league_schedule",
"expected_behavior": "Calls generate_league_schedule with teams A to J, start_date 2027-04-10, play_days Saturday, venues Field 1 and Field 2 and time_slots 09:00, 10:30, 12:00. Returns 9 rounds and 45 games ending 2027-06-05; round 1 starts with A v J at 09:00 on Field 1, and the 5 games of each round fit in the venue slots."
},
{
"description": "Two play days and an end date",
"prompt": "Double round robin for Rockets, Comets, Meteors, Stars, Planets, Moons, Suns and Novas on Tuesdays and Thursdays at 7pm from 2027-01-12, done by 2027-05-31",
"tools_triggered": "generate_league_schedule",
"expected_behavior": "Calls generate_league_schedule with the 8 teams, format double, start_date 2027-01-12, end_date 2027-05-31, play_days Tuesday and Thursday and kickoff_time 7pm. Returns 14 rounds and 56 games from 2027-01-12 to 2027-02-25 at 19:00, inside the end date; round 1 starts with Rockets v Novas, and every team has 7 home and 7 away games."
}
],
"negative": [
{
"description": "Knockout brackets are out of scope. Expected: the tool is not called; the assistant answers without this plugin or offers a bracket another way.",
"prompt": "Make a single elimination bracket for 16 players"
},
{
"description": "Standings from results are out of scope. Expected: the tool is not called; the assistant explains this makes schedules, not league tables.",
"prompt": "Here are last week's scores, update our league table"
},
{
"description": "Real professional league fixtures are not generated. Expected: the tool is not called; the assistant does not invent an official fixture list.",
"prompt": "When does Arsenal play Chelsea this season?"
}
]
},
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments.",
"demo_recording_url": "https://league-schedule.zovo.one/demo.mp4"
},
"publication": {
"countries": [],
"release_notes": "Initial release: single and double round robin league schedules for 3 to 24 teams on real dates with balanced home and away games, byes, play days, blackout dates, venues and time slots; printable PDF, Excel workbook, an ICS with all games and one ICS per team.",
"translations": {
"pl-PL": {
"subtitle": "Terminarze ligowe na sezon",
"description": "Tw\u00f3rz terminarz ligi systemem ka\u017cdy z ka\u017cdym dla 3 do 24 dru\u017cyn, na prawdziwe daty, gotowy do druku i do kalendarza. Ka\u017cda para gra raz (jedna runda) albo dwa razy, u siebie i na wyje\u017adzie; \u017cadna dru\u017cyna nie gra dwa razy w kolejce; przy nieparzystej liczbie dru\u017cyn jedna pauzuje w ka\u017cdej kolejce, a pauzy rozk\u0142adaj\u0105 si\u0119 r\u00f3wno. Mecze domowe i wyjazdowe s\u0105 zr\u00f3wnowa\u017cone, a serie mecz\u00f3w u siebie lub na wyje\u017adzie pozostaj\u0105 kr\u00f3tkie. Kolejki trafiaj\u0105 w wybrane dni tygodnia, co tydzie\u0144 lub co dwa tygodnie, i omijaj\u0105 daty wy\u0142\u0105czone (\u015bwi\u0119ta, ferie). Dodaj wsp\u00f3lne boiska z godzinami lub boisko ka\u017cdej dru\u017cyny. Otrzymasz PDF do druku, skoroszyt Excel, plik kalendarza ze wszystkimi meczami i osobny plik kalendarza dla ka\u017cdej dru\u017cyny. Ograniczenia: nie zapisuje wynik\u00f3w ani tabel i nie tworzy drabinek pucharowych."
},
"de-DE": {
"subtitle": "Spielpl\u00e4ne jeder gegen jeden",
"description": "Erstelle einen Ligaspielplan im Modus jeder gegen jeden f\u00fcr 3 bis 24 Teams auf echten Terminen, druckfertig und f\u00fcr den Kalender. Jedes Paar spielt einmal (Einfachrunde) oder zweimal mit Hin- und R\u00fcckspiel; kein Team spielt zweimal pro Spieltag; bei ungerader Teamzahl hat in jeder Runde ein Team spielfrei, und alle bekommen gleich viele spielfreie Runden. Heim- und Ausw\u00e4rtsspiele sind ausgeglichen, Serien bleiben kurz. Die Spieltage liegen auf deinen Wochentagen, w\u00f6chentlich oder alle zwei Wochen, und \u00fcberspringen Sperrtermine wie Ferien. F\u00fcge gemeinsame Pl\u00e4tze mit Ansto\u00dfzeiten oder die Heimpl\u00e4tze der Teams hinzu. Du erh\u00e4ltst ein druckbares PDF, eine Excel-Arbeitsmappe, eine Kalenderdatei mit allen Spielen und eine Kalenderdatei pro Team. Grenzen: keine Ergebnisse oder Tabellen, keine K.-o.-Turniere."
},
"es-ES": {
"subtitle": "Calendario de partidos de liga",
"description": "Crea el calendario de una liga todos contra todos para 3 a 24 equipos en fechas reales, listo para imprimir y a\u00f1adir al calendario. Cada pareja juega una vez (una vuelta) o dos veces, en casa y fuera; ning\u00fan equipo juega dos veces en una jornada; con un n\u00famero impar de equipos uno descansa en cada jornada y todos descansan lo mismo. Los partidos en casa y fuera est\u00e1n equilibrados y las rachas son cortas. Las jornadas caen en tus d\u00edas de juego, cada semana o cada dos semanas, y saltan las fechas bloqueadas como festivos. A\u00f1ade campos compartidos con horarios o el campo de cada equipo. Obtienes un PDF imprimible, un libro de Excel, un archivo de calendario con todos los partidos y uno por equipo. L\u00edmites: no registra resultados ni clasificaciones y no crea cuadros eliminatorios."
},
"fr-FR": {
"subtitle": "Calendriers de championnat",
"description": "Cr\u00e9ez le calendrier d'un championnat en round robin pour 3 \u00e0 24 \u00e9quipes sur de vraies dates, pr\u00eat \u00e0 imprimer et \u00e0 ajouter \u00e0 l'agenda. Chaque paire se rencontre une fois (phase simple) ou deux fois, \u00e0 domicile et \u00e0 l'ext\u00e9rieur ; aucune \u00e9quipe ne joue deux fois dans une journ\u00e9e ; avec un nombre impair d'\u00e9quipes, une \u00e9quipe est exempte \u00e0 chaque journ\u00e9e et toutes le sont autant. Les matchs \u00e0 domicile et \u00e0 l'ext\u00e9rieur sont \u00e9quilibr\u00e9s et les s\u00e9ries restent courtes. Les journ\u00e9es tombent sur vos jours de jeu, chaque semaine ou toutes les deux semaines, en sautant les dates bloqu\u00e9es comme les vacances. Ajoutez des terrains partag\u00e9s avec des cr\u00e9neaux ou le terrain de chaque \u00e9quipe. Vous obtenez un PDF imprimable, un classeur Excel, un fichier d'agenda avec tous les matchs et un par \u00e9quipe. Limites : pas de r\u00e9sultats ni de classement, pas de tableaux \u00e0 \u00e9limination directe."
},
"ja-JP": {
"subtitle": "\u7dcf\u5f53\u305f\u308a\u30ea\u30fc\u30b0\u306e\u65e5\u7a0b\u8868",
"description": "3\u301c24\u30c1\u30fc\u30e0\u306e\u7dcf\u5f53\u305f\u308a\u30ea\u30fc\u30b0\u65e5\u7a0b\u3092\u5b9f\u969b\u306e\u65e5\u4ed8\u3067\u4f5c\u6210\u3057\u3001\u5370\u5237\u3084\u30ab\u30ec\u30f3\u30c0\u30fc\u767b\u9332\u306b\u4f7f\u3048\u307e\u3059\u3002\u5404\u30da\u30a2\u306f1\u56de\uff08\u30b7\u30f3\u30b0\u30eb\uff09\u307e\u305f\u306f\u30db\u30fc\u30e0\u3068\u30a2\u30a6\u30a7\u30fc\u30672\u56de\uff08\u30c0\u30d6\u30eb\uff09\u5bfe\u6226\u3057\u3001\u540c\u3058\u7bc0\u306b2\u8a66\u5408\u3059\u308b\u30c1\u30fc\u30e0\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u30c1\u30fc\u30e0\u6570\u304c\u5947\u6570\u306e\u3068\u304d\u306f\u5404\u7bc0\u30671\u30c1\u30fc\u30e0\u304c\u4f11\u307f\u306b\u306a\u308a\u3001\u4f11\u307f\u306e\u56de\u6570\u306f\u5168\u30c1\u30fc\u30e0\u3067\u540c\u3058\u3067\u3059\u3002\u30db\u30fc\u30e0\u3068\u30a2\u30a6\u30a7\u30fc\u306e\u8a66\u5408\u6570\u306f\u5747\u7b49\u306b\u306a\u308a\u3001\u9023\u7d9a\u3082\u77ed\u304f\u6291\u3048\u307e\u3059\u3002\u7bc0\u306f\u6307\u5b9a\u3057\u305f\u66dc\u65e5\u306b\u6bce\u9031\u307e\u305f\u306f\u9694\u9031\u3067\u5165\u308a\u3001\u795d\u65e5\u3084\u4f11\u6687\u306a\u3069\u306e\u9664\u5916\u65e5\u3092\u98db\u3070\u3057\u307e\u3059\u3002\u5171\u6709\u30b0\u30e9\u30a6\u30f3\u30c9\u3068\u958b\u59cb\u6642\u523b\u3001\u307e\u305f\u306f\u5404\u30c1\u30fc\u30e0\u306e\u30db\u30fc\u30e0\u4f1a\u5834\u3082\u6307\u5b9a\u3067\u304d\u307e\u3059\u3002\u5370\u5237\u7528PDF\u3001Excel\u30d6\u30c3\u30af\u3001\u5168\u8a66\u5408\u306e\u30ab\u30ec\u30f3\u30c0\u30fc\u30d5\u30a1\u30a4\u30eb\uff08ICS\uff09\u3001\u30c1\u30fc\u30e0\u3054\u3068\u306e\u30ab\u30ec\u30f3\u30c0\u30fc\u30d5\u30a1\u30a4\u30eb\u304c\u624b\u306b\u5165\u308a\u307e\u3059\u3002\u5236\u9650\uff1a\u30b9\u30b3\u30a2\u3084\u9806\u4f4d\u8868\u306e\u7ba1\u7406\u3001\u30c8\u30fc\u30ca\u30e1\u30f3\u30c8\u8868\u306e\u4f5c\u6210\u306f\u3067\u304d\u307e\u305b\u3093\u3002"
},
"pt-BR": {
"subtitle": "Tabelas de jogos da liga",
"description": "Crie a tabela de uma liga todos contra todos para 3 a 24 times em datas reais, pronta para imprimir e adicionar \u00e0 agenda. Cada dupla se enfrenta uma vez (turno \u00fanico) ou duas vezes, em casa e fora; nenhum time joga duas vezes na mesma rodada; com n\u00famero \u00edmpar de times, um folga em cada rodada e todos folgam o mesmo n\u00famero de vezes. Jogos em casa e fora ficam equilibrados e as sequ\u00eancias s\u00e3o curtas. As rodadas caem nos seus dias de jogo, toda semana ou a cada duas semanas, e pulam datas bloqueadas como feriados. Adicione campos compartilhados com hor\u00e1rios ou o campo de cada time. Voc\u00ea recebe um PDF para imprimir, uma planilha Excel, um arquivo de agenda com todos os jogos e um por time. Limites: n\u00e3o registra placares nem classifica\u00e7\u00e3o e n\u00e3o cria chaves eliminat\u00f3rias."
}
}
}
}
},
"apps": "./.app.json"
}
SHA-256: e1ed046dc8beeb39f24d063c6038207a6bae00879edd5ab372018b2a594aeeab