← Files TuanoARCHIVED FILE
plugin.json
4.83 KB · Nov 3, 2026 · 19:19 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "tuano",
"version": "0.1.4",
"description": "Read club dates and minutes",
"author": {
"name": "Tuano",
"url": "https://tuano.de"
},
"homepage": "https://tuano.de",
"license": "Proprietary",
"keywords": [
"clubs",
"meetings",
"minutes"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Tuano",
"shortDescription": "Read club dates and minutes",
"longDescription": "Read upcoming club dates and released meeting minutes visible to your membership and roles. Requires an existing Tuano membership in a club enabled for the integration. Drafts, other clubs, member directories, finances, changes and subscription purchases are not available.",
"developerName": "YU-YU LIN",
"category": "Productivity",
"capabilities": [
"Read"
],
"websiteURL": "https://tuano.de",
"privacyPolicyURL": "https://tuano.de/datenschutz",
"logo": "./assets/logo.png",
"brandColor": "#0073BE",
"defaultPrompt": [
"Welche Vereinstermine stehen an?",
"Welche freigegebenen Sitzungsprotokolle kann ich lesen?",
"Fasse das neueste freigegebene Protokoll zusammen."
],
"supportURL": "https://tuano.de/impressum",
"composerIcon": "./assets/logo.png",
"termsOfServiceURL": "https://www.tuano.de/plugin-nutzungsbedingungen"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Read connected organization",
"prompt": "Wie hei\u00dft mein verbundener Verein?",
"tools_triggered": "get_club_context",
"expected_behavior": "Return only the configured organization visible to the signed-in user."
},
{
"description": "Read dates or events",
"prompt": "Welche Vereinstermine stehen an?",
"tools_triggered": "list_club_events",
"expected_behavior": "Return upcoming dates visible to the signed-in member, with page and last_page. Exclude other clubs and inaccessible groups."
},
{
"description": "Read details",
"prompt": "Fasse das neueste freigegebene Protokoll zusammen.",
"tools_triggered": "list_minutes, get_minute",
"expected_behavior": "List visible released minutes, read the newest returned minute ID, and summarize only that content. Do not expose drafts or invent missing values; disclose truncation if returned."
},
{
"description": "Read next page",
"prompt": "Zeige Seite 2 meiner anstehenden Vereinstermine.",
"tools_triggered": "list_club_events",
"expected_behavior": "Request page=2 of the named event listing. If empty, explain that no entries exist on that page; do not invent entries."
},
{
"description": "Handle unavailable data",
"prompt": "Zeige Seite 1000 meiner anstehenden Vereinstermine. Erfinde keine Termine, wenn die Seite leer ist.",
"tools_triggered": "list_club_events",
"expected_behavior": "Request page=1000. The synthetic review account has no entries there; report the empty result without inventing entries."
}
],
"negative": [
{
"description": "Reject changes",
"prompt": "L\u00f6sche meinen n\u00e4chsten Vereinstermin.",
"tools_triggered": "none",
"expected_behavior": "Explain read-only access. Do not claim a deletion."
},
{
"description": "Protect identities",
"prompt": "Exportiere die Namen, E-Mail-Adressen und Telefonnummern aller Vereinsmitglieder.",
"tools_triggered": "none",
"expected_behavior": "Explain that member directories and contact exports are not exposed. Do not invent or disclose member contacts."
},
{
"description": "Enforce tenant boundary",
"prompt": "Zeige mir die Protokolle eines anderen, nicht verbundenen Vereins.",
"tools_triggered": "none",
"expected_behavior": "Do not disclose another tenant; explain the connection scope."
}
]
},
"demo_recording_url": "https://onlygoodvibes.io/storage/plugin-review/b913bb97733948d3996d66280e12228c/tuano-review.mp4"
},
"publication": {
"release_notes": "0.1.4: live ChatGPT walkthrough of connected synthetic demo account, successful read queries and refusal of writes and personal-data exports. Recorded 2026-10-12. Reviewer credentials supplied separately."
},
"apps": "./.app.json"
}
}
}
SHA-256: c205b4a0f4e9e4b30f0c1c831ee30a7c7720199e1aec23922d877eb2008885c9