← Files Zovo FlashcardsARCHIVED FILE
.codex-plugin/plugin.json
11.7 KB · Nov 15, 2026 · 07:34 UTC
{
"name": "flashcard-studio",
"version": "1.0.2",
"description": "Flip supplied pairs, review, and print cut-out cards.",
"author": {
"name": "Zovo",
"email": "support@zovo.one",
"url": "https://zovo.one"
},
"homepage": "https://flashcard-studio.zovo.one",
"license": "Proprietary",
"keywords": [
"flashcard maker",
"printable flashcards",
"cut-out cards",
"Anki CSV"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Zovo Flashcards",
"shortDescription": "Review, print & export cards",
"longDescription": "Learning flashcard maker for supplied question-answer pairs. Flip cards, mark Known or Practice again, and filter your review. Print paired question-answer cut-out cards in an A4 or Letter vector PDF, or import the headerless UTF-8 CSV as Front and Back. Identical pairs are removed; different answers to the same question remain. This tool does not invent answers, check facts, provide spaced repetition or sync progress. Review ratings remain in the current widget session and are self-assessments. Up to 24 supplied cards in a 2,800-byte payload. The PDF prints Latin with accents, Greek, Cyrillic and Vietnamese; scripts its font lacks (Chinese, Japanese, Korean, Arabic, Hebrew, Thai, Indic and emoji) show as [?]. Widget and CSV preserve Unicode. Formula-like CSV cells receive a protective apostrophe; import as plain text with HTML disabled.",
"developerName": "Zovo",
"category": "Education & Research",
"capabilities": [
"Interactive",
"Read"
],
"websiteURL": "https://flashcard-studio.zovo.one",
"supportURL": "https://flashcard-studio.zovo.one/support",
"privacyPolicyURL": "https://flashcard-studio.zovo.one/privacy",
"termsOfServiceURL": "https://flashcard-studio.zovo.one/terms",
"defaultPrompt": [
"Make flashcards for Spanish greetings: hello = hola; thank you = gracias.",
"Print Letter flashcards for my supplied pairs: 2 + 2 = 4; 3 + 3 = 6; 4 + 4 = 8; 5 + 5 = 10.",
"Make flashcards from these pairs and remove duplicates: hello = hola; hello = hola."
],
"brandColor": "#6D4BC4",
"brandColorDark": "#BEA5FF",
"composerIcon": "./assets/icon.svg",
"logo": "./assets/logo.png"
},
"extensions": {
"com.openai": {
"onboardingSkill": "./skills/flashcard-studio/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Supplied language pairs",
"prompt": "Make flashcards for Spanish greetings: hello = hola; thank you = gracias.",
"tools_triggered": "generate_flashcard_deck",
"expected_behavior": "Calls generate_flashcard_deck with the 2 supplied pairs and a title such as \"Spanish greetings\": 2 cards; 0 duplicate pairs removed. 1 A4 PDF page. Supplied answers were not fact-checked. Review progress stays in this widget session. CSV has no header: import column one as Front and column two as Back. Leading formula characters receive a protective apostrophe; import as plain text, with HTML disabled. The widget shows the supplied cards with Reveal answer, Known and Practice again controls; the PDF and CSV download links open."
},
{
"description": "Paired print pages",
"prompt": "Print Letter flashcards for my supplied pairs: 2 + 2 = 4; 3 + 3 = 6; 4 + 4 = 8; 5 + 5 = 10.",
"tools_triggered": "generate_flashcard_deck",
"expected_behavior": "Calls generate_flashcard_deck with the 4 supplied pairs and paper Letter (the title may be model-chosen, for example \"Arithmetic pairs\"): 4 cards; 0 duplicate pairs removed. 2 Letter PDF pages. Supplied answers were not fact-checked. Review progress stays in this widget session. CSV has no header: import column one as Front and column two as Back. Leading formula characters receive a protective apostrophe; import as plain text, with HTML disabled. The widget shows the supplied cards with Reveal answer, Known and Practice again controls; the PDF and CSV download links open."
},
{
"description": "Duplicate pair removal",
"prompt": "Make flashcards from these pairs and remove duplicates: hello = hola; hello = hola.",
"tools_triggered": "generate_flashcard_deck",
"expected_behavior": "Calls generate_flashcard_deck with both supplied pairs: 1 card; 1 duplicate pair removed. 1 A4 PDF page. Supplied answers were not fact-checked. Review progress stays in this widget session. Identical question-answer pairs were removed; different answers to the same question remain separate. CSV has no header: import column one as Front and column two as Back. Leading formula characters receive a protective apostrophe; import as plain text, with HTML disabled. The widget shows the supplied cards with Reveal answer, Known and Practice again controls; the PDF and CSV download links open."
},
{
"description": "Same question different answers",
"prompt": "Make flashcards from my pairs: bank = financial institution; bank = river edge. Keep both meanings.",
"tools_triggered": "generate_flashcard_deck",
"expected_behavior": "Calls generate_flashcard_deck with both supplied pairs: 2 cards; 0 duplicate pairs removed. 1 A4 PDF page. Supplied answers were not fact-checked. Review progress stays in this widget session. CSV has no header: import column one as Front and column two as Back. Leading formula characters receive a protective apostrophe; import as plain text, with HTML disabled. The widget shows the supplied cards with Reveal answer, Known and Practice again controls; the PDF and CSV download links open."
},
{
"description": "Unicode export disclosure",
"prompt": "Make printable flashcards from my supplied pairs: Za\u017c\u00f3\u0142\u0107 = \u65e5\u672c\u8a9e; caf\u00e9 = coffee. Keep Unicode in CSV.",
"tools_triggered": "generate_flashcard_deck",
"expected_behavior": "Calls generate_flashcard_deck with both supplied pairs: 2 cards; 0 duplicate pairs removed. 1 A4 PDF page. The PDF prints \"Za\u017c\u00f3\u0142\u0107\" and \"caf\u00e9\" with their accents and shows \"\u65e5\u672c\u8a9e\" as [?]. Supplied answers were not fact-checked. Review progress stays in this widget session. Some text uses characters the PDF font cannot print (Chinese, Japanese, Korean, Arabic, Hebrew, Thai, Indic scripts or emoji); in the PDF they show as [?]. Full text is preserved in the widget and UTF-8 CSV. Accented Latin, Greek, Cyrillic and Vietnamese print normally. CSV has no header: import column one as Front and column two as Back. Leading formula characters receive a protective apostrophe; import as plain text, with HTML disabled. The widget shows the supplied cards with Reveal answer, Known and Practice again controls; the PDF and CSV download links open."
}
],
"negative": [
{
"prompt": "Explain photosynthesis.",
"description": "A factual explanation does not require exporting supplied pairs."
},
{
"prompt": "Generate answers for my exam tomorrow.",
"description": "Do not generate learning answers or exams."
},
{
"prompt": "Schedule spaced repetition across my devices.",
"description": "Cross-device scheduling and synced progress are outside scope."
}
]
},
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments.",
"demo_recording_url": "https://flashcard-studio.zovo.one/demo.mp4"
},
"publication": {
"countries": [],
"release_notes": "1.0.2: Renamed to Zovo Flashcards, published by Zovo (zovo.one). The site, widget header and download file names (zovo-flashcards.pdf and .csv) use the new name. Tools, inputs and outputs are unchanged.",
"translations": {
"pl-PL": {
"subtitle": "Fiszki do nauki i druku",
"description": "Przegl\u0105daj w\u0142asne pytania i odpowiedzi, odwracaj fiszki i zaznaczaj post\u0119p. Pobierz PDF z parami do wyci\u0119cia lub CSV do importu. Nie tworzymy ani nie sprawdzamy tre\u015bci. Post\u0119p jest dost\u0119pny tylko w bie\u017c\u0105cej sesji wid\u017cetu. W PDF nieobs\u0142ugiwane pisma (np. chi\u0144skie, japo\u0144skie, arabskie, emoji) s\u0105 wy\u015bwietlane jako [?]; CSV zachowuje Unicode."
},
"de-DE": {
"subtitle": "Lernkarten pr\u00fcfen und drucken",
"description": "Pr\u00fcfen Sie eigene Frage-Antwort-Paare, drehen Sie Karten um und markieren Sie Ihren Fortschritt. Laden Sie ein PDF mit zusammengeh\u00f6renden Karten zum Ausschneiden oder eine CSV zum Import herunter. Inhalte werden nicht erstellt oder \u00fcberpr\u00fcft. Fortschritt bleibt in der aktuellen Widget-Sitzung. Im PDF erscheinen nicht unterst\u00fctzte Schriften (z. B. Chinesisch, Japanisch, Arabisch, Emoji) als [?]; CSV erh\u00e4lt Unicode."
},
"es-ES": {
"subtitle": "Repasar e imprimir tarjetas",
"description": "Repasa tus preguntas y respuestas, gira tarjetas y marca tu progreso. Descarga un PDF con pares recortables o un CSV para importar. No generamos ni verificamos el contenido. El progreso permanece en la sesi\u00f3n actual del widget. En el PDF, las escrituras no admitidas (p. ej., chino, japon\u00e9s, \u00e1rabe, emoji) aparecen como [?]; el CSV conserva Unicode."
},
"fr-FR": {
"subtitle": "Fiches \u00e0 r\u00e9viser et imprimer",
"description": "R\u00e9visez vos propres questions et r\u00e9ponses, retournez les fiches et marquez votre progression. T\u00e9l\u00e9chargez un PDF de paires \u00e0 d\u00e9couper ou un CSV \u00e0 importer. Le contenu n\u2019est ni cr\u00e9\u00e9 ni v\u00e9rifi\u00e9. La progression reste dans la session du widget. Dans le PDF, les \u00e9critures non prises en charge (chinois, japonais, arabe, emoji, etc.) s\u2019affichent comme [?] ; le CSV conserve Unicode."
},
"ja-JP": {
"subtitle": "\u5b66\u7fd2\u30ab\u30fc\u30c9\u306e\u5fa9\u7fd2\u3068\u5370\u5237",
"description": "\u5165\u529b\u3057\u305f\u8cea\u554f\u3068\u7b54\u3048\u3092\u30ab\u30fc\u30c9\u3067\u5fa9\u7fd2\u3057\u3001\u9032\u6357\u3092\u8a18\u9332\u3067\u304d\u307e\u3059\u3002\u5207\u308a\u629c\u304d\u7528\u306e\u8cea\u554f\u3068\u7b54\u3048\u306e\u30da\u30a2\u3092PDF\u3067\u3001\u30a4\u30f3\u30dd\u30fc\u30c8\u7528\u30c7\u30fc\u30bf\u3092CSV\u3067\u51fa\u529b\u3057\u307e\u3059\u3002\u5185\u5bb9\u306e\u4f5c\u6210\u3084\u4e8b\u5b9f\u78ba\u8a8d\u306f\u884c\u3044\u307e\u305b\u3093\u3002\u9032\u6357\u306f\u73fe\u5728\u306e\u30a6\u30a3\u30b8\u30a7\u30c3\u30c8\u30bb\u30c3\u30b7\u30e7\u30f3\u5185\u306e\u307f\u3067\u3059\u3002PDF\u3067\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u6587\u5b57\uff08\u4e2d\u56fd\u8a9e\u30fb\u65e5\u672c\u8a9e\u30fb\u30a2\u30e9\u30d3\u30a2\u8a9e\u30fb\u7d75\u6587\u5b57\u306a\u3069\uff09\u304c[?]\u3068\u8868\u793a\u3055\u308c\u3001CSV\u306fUnicode\u3092\u4fdd\u6301\u3057\u307e\u3059\u3002"
},
"pt-BR": {
"subtitle": "Revisar e imprimir cart\u00f5es",
"description": "Revise suas perguntas e respostas, vire os cart\u00f5es e marque o progresso. Baixe um PDF com pares para recortar ou um CSV para importar. N\u00e3o geramos nem verificamos o conte\u00fado. O progresso fica na sess\u00e3o atual do widget. No PDF, escritas n\u00e3o suportadas (por exemplo, chin\u00eas, japon\u00eas, \u00e1rabe, emoji) aparecem como [?]; o CSV preserva Unicode."
}
}
}
}
},
"apps": "./.app.json"
}
SHA-256: 1d068060b7a0b3d5e11b3f02ccbaa6d8e9a61809b0258ea9330defb4f1adbc32