← Files Nadirball Football GridARCHIVED FILE
plugin.json
12.5 KB · Nov 2, 2026 · 18:11 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "nadirball",
"version": "1.0.1",
"description": "A daily 3x3 football grid in ChatGPT: name a footballer who played for both the row club and the column club (S\u00fcper Lig, Premier League and Bundesliga, sometimes a nation). The rarer your correct answer among everyone playing that day, the better your score. One shared grid a day, streaks and share links.",
"author": {
"name": "The Open Apps, Inc.",
"email": "support@theopenapps.com",
"url": "https://nadirball.ambientapp.ai"
},
"homepage": "https://nadirball.ambientapp.ai",
"keywords": [
"football grid",
"futbol grid",
"football quiz",
"futbol quiz",
"football trivia",
"soccer trivia",
"soccer quiz",
"soccer game",
"football game",
"football tic tac toe",
"futbol xox",
"daily football game",
"g\u00fcnl\u00fck futbol oyunu",
"gunluk futbol oyunu",
"futbol oyunu",
"futbol bilgi yar\u0131\u015fmas\u0131",
"futbol bilgi yarismasi",
"S\u00fcper Lig",
"Super Lig",
"Premier League",
"Bundesliga",
"played for both clubs",
"iki tak\u0131mda oynayan futbolcu",
"daily puzzle"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Nadirball Football Grid",
"shortDescription": "S\u00fcper Lig, Premier League quiz",
"longDescription": "Nadirball is a daily football (soccer) trivia grid in ChatGPT, in English and Turkish: name players who played for both clubs, from the S\u00fcper Lig, Premier League and Bundesliga. Every day everyone gets the same 3x3 grid: three clubs or nations across the top and three down the side. Each square needs a footballer who played for both its row and its column, at any point in his career.\n\nTap a square and pick a player from the list, or just tell ChatGPT, for example \"Podolski for Galatasaray and Arsenal\". Turkish letters and accents are optional. You have 9 guesses a day.\n\nEvery correct answer gets a rarity: the share of that day's players who picked the same footballer for that square. The lower your total, the better. When you finish, Nadirball shows the most picked and the rarest answers for every square, and you can share your result as coloured squares that spoil nothing. Your streak grows each day you play.\n\nAnswers are checked against club histories from Wikidata, including every past club and loan spell. If a correct answer is rejected, report it from the grid: a person checks it, and if you were right your guess turns correct.\n\nLimits:\n- One grid a day for everyone. A new grid starts at midnight T\u00fcrkiye time (21:00 UTC).\n- Clubs from the S\u00fcper Lig, Premier League and Bundesliga, plus some nations. No other leagues yet.\n- No accounts: Nadirball keeps your guesses and streak under ChatGPT's anonymous user ID. Say \"Delete my Nadirball data\" to delete them.\n- ChatGPT never receives a square's answers while you can still play it.\n- Not affiliated with any club, league or federation.",
"developerName": "The Open Apps, Inc.",
"category": "Entertainment",
"capabilities": [
"Interactive",
"Write"
],
"websiteURL": "https://nadirball.ambientapp.ai",
"supportURL": "https://nadirball.ambientapp.ai/support",
"privacyPolicyURL": "https://nadirball.ambientapp.ai/privacy",
"termsOfServiceURL": "https://nadirball.ambientapp.ai/terms",
"defaultPrompt": [
"Let's play today's Nadirball football grid",
"Bug\u00fcn\u00fcn Nadirball futbol grid'ini a\u00e7",
"What's my Nadirball streak?"
],
"brandColor": "#5B21B6",
"brandColorDark": "#B392FF",
"composerIcon": "./assets/composerIcon.png",
"logo": "./assets/logo.png",
"onboardingSkill": "./skills/football-grid/SKILL.md"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Open today's grid. Run this first, in a new chat. There is nothing to sign in to: each ChatGPT user has their own board, which follows them across chats. If this ChatGPT account already played today's grid (for example on a rerun), first say \"Delete my Nadirball data\" and allow it, so the board starts empty. ChatGPT may open the grid in a side panel instead of in the chat; the panel shows the same grid. The grid changes every day at midnight T\u00fcrkiye time (21:00 UTC), and the review sheet (its link is in Review details) always shows the current one.",
"prompt": "Let's play today's Nadirball football grid.",
"tools_triggered": "show_daily_grid",
"expected_behavior": "Shows the grid card: Nadirball and today's grid number, three column headers and three row headers (clubs with their league, or a nation with its flag), nine empty squares, 9 guesses left and a rarity score of 900. The reply names the headers and explains the rules in a sentence or two. It names no players, not even as examples: ChatGPT never receives a square's answers while the grid is open, and the result's summary names none."
},
{
"description": "Answer a square in chat, with the Turkish letters and accents left out. Run after case 1. Open the review sheet (its link is in Review details) and copy the case 2 line under Ready to paste: it is this prompt with a right answer for row 1, column 1 of today's grid, already typed in plain letters (for example \"Row 1, column 1: Hakan Sukur\" for Hakan \u015e\u00fck\u00fcr). ChatGPT may call show_daily_grid first to read the grid, and may show its own 'Allow ChatGPT to use Nadirball?' prompt; choose Allow once. The case passes with or without either.",
"prompt": "Row 1, column 1: [the right answer from the review sheet's case 2 line]",
"tools_triggered": "submit_answer",
"expected_behavior": "The square fills with the player's correctly spelled name and a percentage (the share of today's players who picked him there). The card shows 8 guesses left. The reply says the answer is correct and gives the percentage. Saying the same thing again changes nothing and uses no guess."
},
{
"description": "A wrong answer, from the grid card. Run after case 2. In the card, tap the square in row 2, column 2, type the first letters of the wrong answer from the review sheet's case 3 line (its link is in Review details) and pick him from the list that appears. Alternatively, paste the case 3 line from the sheet as the prompt below. The sheet's wrong answer fits no square of today's grid.",
"prompt": "Row 2, column 2: [the wrong answer from the review sheet's case 3 line]",
"tools_triggered": "submit_answer",
"expected_behavior": "The card shows 'Not a match' with the player's name, a 'Wrong? Report it' link and the try listed under the square; the square stays open with a small cross. One guess is used (7 left). A made-up name such as 'Qqzz Xxyy', sent with 'Submit this name', is refused in plain words ('so no guess was used') and the card still shows 7 left."
},
{
"description": "Finish and see the answers. Run after case 3. Finishing ends today's game for this user, so ChatGPT may ask you to confirm or show 'Allow ChatGPT to use Nadirball?'; allow it if it does. The case passes with or without the question.",
"prompt": "I'm done for today, show me the answers.",
"tools_triggered": "finish_grid",
"expected_behavior": "The card reads Finished, with the final rarity score (lower is better) and 1/9 correct. Tapping any square shows its number of possible answers, its most picked answers with percentages and its rarest pick. The reply gives the score and may name a few answers, which ChatGPT receives only now that the grid is finished. No more answers are accepted today."
},
{
"description": "Streak and sharing. Run after case 4. ChatGPT may show 'Allow ChatGPT to use Nadirball?' before making the link, because the link opens a public page; choose Allow once. The case passes with or without it.",
"prompt": "What's my Nadirball streak? And give me a link to share my grid.",
"tools_triggered": "get_my_stats, create_share_link",
"expected_behavior": "The stats card shows a 1-day streak, 1 grid played and today's score. The reply also gives a link on nadirball.ambientapp.ai/s/, and may add a short text with the grid number, 1/9, the rarity score and three rows of coloured squares. The link opens a page with the same squares and percentages and no player names; names appear there only after the grid closes at midnight T\u00fcrkiye time. Saying 'Delete my Nadirball data' afterwards (ChatGPT may ask to confirm, because it can't be undone) deletes the board, the streak and the link, which then shows 'This page doesn't exist'."
}
],
"negative": [
{
"description": "General football knowledge. Nadirball is a daily grid game, not a football encyclopedia; ChatGPT answers this itself.",
"prompt": "Who won the S\u00fcper Lig in the 2010-11 season?",
"expected_behavior": "No Nadirball tool is called. ChatGPT answers the question itself."
},
{
"description": "Live scores. Nadirball has no match data.",
"prompt": "What's the score in the Galatasaray game right now?",
"expected_behavior": "No Nadirball tool is called. ChatGPT answers with its own search or says it can't see live scores."
},
{
"description": "A custom quiz. Making a trivia quiz is ChatGPT's own job; Nadirball offers only its shared daily grid.",
"prompt": "Make me a 10-question football trivia quiz for my friends.",
"expected_behavior": "No Nadirball tool is called. ChatGPT writes the quiz itself."
}
]
},
"commerce": false,
"demo_recording_url": "https://nadirball.ambientapp.ai/demo.mp4"
},
"publication": {
"countries": [],
"release_notes": "1.0.1: listing update. English and Turkish search keywords (football trivia, soccer quiz, football tic tac toe, futbol xox, futbol bilgi yar\u0131\u015fmas\u0131 and more), a description that opens with what the game is, and a football-grid skill. The show_daily_grid description and the server instructions now name the game as a football (soccer) trivia grid, also called football tic-tac-toe or futbol grid'i. The game, its tools and their inputs are unchanged.",
"translations": {
"tr-TR": {
"subtitle": "G\u00fcnl\u00fck futbol grid'i",
"description": "Nadirball her g\u00fcn yeni bir futbol grid'i. Herkes ayn\u0131 3x3 grid'i oynar: \u00fcstte \u00fc\u00e7, yanda \u00fc\u00e7 kul\u00fcp ya da milli tak\u0131m \u00fclkesi; S\u00fcper Lig, Premier Lig ve Bundesliga'dan. Her kare, sat\u0131r\u0131ndaki ve s\u00fctunundaki ikisinde de kariyerinin herhangi bir d\u00f6neminde oynam\u0131\u015f bir futbolcu ister.\n\nBir kareye dokunup listeden oyuncu se\u00e7 ya da ChatGPT'ye s\u00f6yle: \"Galatasaray ve Arsenal i\u00e7in Podolski\" gibi. T\u00fcrk\u00e7e karakter \u015fart de\u011fil. G\u00fcnde 9 tahmin hakk\u0131n var.\n\nHer do\u011fru cevap bir nadirlik al\u0131r: o g\u00fcn o kareye ayn\u0131 oyuncuyu yazanlar\u0131n y\u00fczdesi. Toplam ne kadar d\u00fc\u015f\u00fckse o kadar iyi. Bitirince her karenin en \u00e7ok se\u00e7ilen ve en nadir cevaplar\u0131n\u0131 g\u00f6r\u00fcrs\u00fcn; sonucunu spoiler vermeyen renkli karelerle payla\u015fabilirsin. Her oynad\u0131\u011f\u0131n g\u00fcn serin b\u00fcy\u00fcr.\n\nCevaplar Wikidata'daki kul\u00fcp ge\u00e7mi\u015fleriyle kontrol edilir; eski kul\u00fcpler ve kiral\u0131k d\u00f6nemler dahil. Do\u011fru bir cevab\u0131n reddedildi\u011fini d\u00fc\u015f\u00fcn\u00fcyorsan grid'den bildir; bir ki\u015fi kontrol eder, hakl\u0131ysan tahminin do\u011fruya d\u00f6ner.\n\nS\u0131n\u0131rlar:\n- Herkese g\u00fcnde bir grid; yeni grid her gece yar\u0131s\u0131 (TS\u0130).\n- S\u00fcper Lig, Premier Lig ve Bundesliga kul\u00fcpleri ve baz\u0131 \u00fclkeler.\n- Hesap yok: tahminlerin ve serin ChatGPT'nin anonim kimli\u011fiyle saklan\u0131r. \"Nadirball verilerimi sil\" diyerek silebilirsin.\n- Hi\u00e7bir kul\u00fcp, lig ya da federasyonla ba\u011flant\u0131l\u0131 de\u011fildir."
}
}
},
"apps": "./.app.json"
}
}
}
SHA-256: e3acdcba8446f5272b393168f8aefb620a83bf7f7da5c23a6c04fd56f9fff6a9