← Files Packwise ChecklistARCHIVED FILE
.codex-plugin/plugin.json
10.4 KB · Nov 3, 2026 · 19:22 UTC
{
"name": "packing-checklist",
"version": "1.0.0",
"description": "Turn your items into a checkable packing list.",
"author": {
"name": "Zovo",
"email": "support@zovo.one",
"url": "https://zovo.one"
},
"homepage": "https://packing-checklist.zovo.one",
"license": "Proprietary",
"keywords": [
"packing checklist",
"printable packing list",
"packing quantities",
"checklist PDF"
],
"skills": "./skills/",
"mcpServers": "./.mcp.json",
"interface": {
"displayName": "Packwise Checklist",
"shortDescription": "Check, count & print packing",
"longDescription": "Packing checklist for explicitly supplied items, categories and quantities. Check whole lines as packed and see total, packed and remaining unit counts. Same-name same-category duplicates are matched case-insensitively and quantities summed; different categories remain separate. A merged duplicate with mixed packed states resets to unchecked. Download an A4 or Letter vector checklist PDF and UTF-8 CSV with quantities and packed status. Changes stay in the current widget session; refresh exports to include those checks. No item recommendations, travel rules, health advice, weight estimates or synced progress. Up to 40 input lines within a 2,800-byte payload. PDF simplifies accents and replaces unsupported characters; widget and CSV preserve Unicode. Formula-like CSV text receives a protective apostrophe.",
"developerName": "Zovo",
"category": "Productivity",
"capabilities": [
"Interactive",
"Read"
],
"websiteURL": "https://packing-checklist.zovo.one",
"supportURL": "https://packing-checklist.zovo.one/support",
"privacyPolicyURL": "https://packing-checklist.zovo.one/privacy",
"termsOfServiceURL": "https://packing-checklist.zovo.one/terms",
"defaultPrompt": [
"Packing checklist for Weekend bag: Clothing: socks x3, shirts x2; Tech: charger x1.",
"Make a packing checklist: Clothing: Socks x2; clothing: socks x3. Merge duplicates.",
"Print a Letter packing checklist: towel x2 already packed, toothbrush x1 not packed."
],
"brandColor": "#17766C",
"brandColorDark": "#76D8C6",
"composerIcon": "./assets/icon.svg",
"logo": "./assets/logo.png"
},
"extensions": {
"com.openai": {
"onboardingSkill": "./skills/packing-checklist/SKILL.md",
"review": {
"test_cases": {
"positive": [
{
"description": "Categorized packing totals",
"prompt": "Packing checklist for Weekend bag: Clothing: socks x3, shirts x2; Tech: charger x1.",
"tools_triggered": "generate_packing_checklist",
"expected_behavior": "\"Weekend bag\": 3 lines in 2 categories; 6 units, 0 packed, 6 remaining. 0 duplicate lines merged. Progress stays in this widget session. Use Export current progress to regenerate downloads with the current checks. CSV prefixes formula-like text with a protective apostrophe. Widget shows supplied content with review or packing checks; PDF and CSV downloads open."
},
{
"description": "Case-insensitive duplicates",
"prompt": "Make a packing checklist: Clothing: Socks x2; clothing: socks x3. Merge duplicates.",
"tools_triggered": "generate_packing_checklist",
"expected_behavior": "\"Packing checklist\": 1 lines in 1 categories; 5 units, 0 packed, 5 remaining. 1 duplicate lines merged. Duplicate names within the same category were merged case-insensitively and their quantities summed; names in different categories stay separate. Progress stays in this widget session. Use Export current progress to regenerate downloads with the current checks. CSV prefixes formula-like text with a protective apostrophe. Widget shows supplied content with review or packing checks; PDF and CSV downloads open."
},
{
"description": "Packed-unit totals",
"prompt": "Print a Letter packing checklist: towel x2 already packed, toothbrush x1 not packed.",
"tools_triggered": "generate_packing_checklist",
"expected_behavior": "\"Packing checklist\": 2 lines in 1 categories; 3 units, 2 packed, 1 remaining. 0 duplicate lines merged. Progress stays in this widget session. Use Export current progress to regenerate downloads with the current checks. CSV prefixes formula-like text with a protective apostrophe. Widget shows supplied content with review or packing checks; PDF and CSV downloads open."
},
{
"description": "Separate categories retained",
"prompt": "Make a packing checklist: Day bag: charger x1; Suitcase: charger x2. Keep categories separate.",
"tools_triggered": "generate_packing_checklist",
"expected_behavior": "\"Packing checklist\": 2 lines in 2 categories; 3 units, 0 packed, 3 remaining. 0 duplicate lines merged. Progress stays in this widget session. Use Export current progress to regenerate downloads with the current checks. CSV prefixes formula-like text with a protective apostrophe. Widget shows supplied content with review or packing checks; PDF and CSV downloads open."
},
{
"description": "Mixed duplicate status",
"prompt": "Packing checklist: socks x2 packed and socks x3 not packed. Merge quantities and explain the packed status.",
"tools_triggered": "generate_packing_checklist",
"expected_behavior": "\"Packing checklist\": 1 lines in 1 categories; 5 units, 0 packed, 5 remaining. 1 duplicate lines merged. Duplicate names within the same category were merged case-insensitively and their quantities summed; names in different categories stay separate. A merged duplicate had mixed packed states, so the combined line is unchecked. Check it after all its units are packed. Progress stays in this widget session. Use Export current progress to regenerate downloads with the current checks. CSV prefixes formula-like text with a protective apostrophe. Widget shows supplied content with review or packing checks; PDF and CSV downloads open."
}
],
"negative": [
{
"prompt": "What should I pack for Japan?",
"description": "No supplied items; recommendations are outside scope."
},
{
"prompt": "Can I take this battery on the plane?",
"description": "Airline rules and travel advice are outside scope."
},
{
"prompt": "Which medicines should I pack for my condition?",
"description": "Health advice and health data are outside scope."
}
]
},
"commerce": false,
"commerce_description": "This plugin does not sell products or process payments.",
"demo_recording_url": "https://packing-checklist.zovo.one/demo.mp4"
},
"publication": {
"countries": [],
"release_notes": "Initial release with interactive supplied-content review, printable vector PDF, CSV export, and input validation.",
"translations": {
"pl-PL": {
"subtitle": "Lista pakowania do druku",
"description": "Uporz\u0105dkuj podane przedmioty, kategorie i ilo\u015bci na interaktywnej li\u015bcie pakowania. Duplikaty w tej samej kategorii \u0142\u0105cz\u0105 si\u0119 przez sumowanie ilo\u015bci. Pobierz PDF lub CSV. Zaznaczenia pozostaj\u0105 w bie\u017c\u0105cej sesji; od\u015bwie\u017c eksport, aby je uwzgl\u0119dni\u0107. Nie polecamy przedmiot\u00f3w. PDF upraszcza znaki; CSV zachowuje Unicode."
},
"de-DE": {
"subtitle": "Packliste abhaken und drucken",
"description": "Ordnen Sie angegebene Gegenst\u00e4nde, Kategorien und Mengen in einer interaktiven Packliste. Gleiche Gegenst\u00e4nde derselben Kategorie werden zusammengez\u00e4hlt. Laden Sie PDF oder CSV herunter. H\u00e4kchen bleiben in der aktuellen Sitzung; aktualisieren Sie den Export. Keine Empfehlungen f\u00fcr Gegenst\u00e4nde. PDF vereinfacht Zeichen; CSV erh\u00e4lt Unicode."
},
"es-ES": {
"subtitle": "Lista de equipaje imprimible",
"description": "Organiza tus art\u00edculos, categor\u00edas y cantidades en una lista interactiva. Los duplicados de la misma categor\u00eda suman cantidades. Descarga PDF o CSV. Las marcas permanecen en la sesi\u00f3n actual; actualiza la exportaci\u00f3n para incluirlas. No recomendamos art\u00edculos. El PDF simplifica caracteres; el CSV conserva Unicode."
},
"fr-FR": {
"subtitle": "Liste de bagages \u00e0 imprimer",
"description": "Organisez vos articles, cat\u00e9gories et quantit\u00e9s dans une liste interactive. Les doublons de m\u00eame cat\u00e9gorie additionnent leurs quantit\u00e9s. T\u00e9l\u00e9chargez PDF ou CSV. Les coches restent dans la session en cours ; actualisez les exports pour les inclure. Aucun article n\u2019est recommand\u00e9. Le PDF simplifie les caract\u00e8res ; le CSV conserve Unicode."
},
"ja-JP": {
"subtitle": "\u8377\u9020\u308a\u30ea\u30b9\u30c8\u306e\u78ba\u8a8d\u3068\u5370\u5237",
"description": "\u5165\u529b\u3057\u305f\u54c1\u540d\u3001\u5206\u985e\u3001\u6570\u91cf\u3092\u30c1\u30a7\u30c3\u30af\u53ef\u80fd\u306a\u8377\u9020\u308a\u30ea\u30b9\u30c8\u306b\u6574\u7406\u3057\u307e\u3059\u3002\u540c\u3058\u5206\u985e\u306e\u91cd\u8907\u306f\u6570\u91cf\u3092\u5408\u8a08\u3057\u307e\u3059\u3002PDF\u3068CSV\u3092\u51fa\u529b\u3067\u304d\u307e\u3059\u3002\u30c1\u30a7\u30c3\u30af\u72b6\u614b\u306f\u73fe\u5728\u306e\u30bb\u30c3\u30b7\u30e7\u30f3\u5185\u306e\u307f\u3067\u3001\u51fa\u529b\u306b\u53cd\u6620\u3059\u308b\u306b\u306f\u66f4\u65b0\u304c\u5fc5\u8981\u3067\u3059\u3002\u54c1\u7269\u306e\u63a8\u85a6\u306f\u884c\u3044\u307e\u305b\u3093\u3002PDF\u306f\u4e00\u90e8\u306e\u6587\u5b57\u3092\u7f6e\u63db\u3057\u3001CSV\u306fUnicode\u3092\u4fdd\u6301\u3057\u307e\u3059\u3002"
},
"pt-BR": {
"subtitle": "Lista de bagagem para imprimir",
"description": "Organize seus itens, categorias e quantidades em uma lista interativa. Duplicatas na mesma categoria somam quantidades. Baixe PDF ou CSV. As marca\u00e7\u00f5es ficam na sess\u00e3o atual; atualize a exporta\u00e7\u00e3o para inclu\u00ed-las. N\u00e3o recomendamos itens. O PDF simplifica caracteres; o CSV preserva Unicode."
}
}
}
}
},
"apps": "./.app.json"
}
SHA-256: 9d7c85802923097b7867eee5f5014231d25ce356ee516fcd02d46e09aeeb1311