← Files ScenelingoARCHIVED FILE
plugin.json
6.77 KB · Nov 4, 2026 · 00:13 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "scenelingo",
"version": "0.1.0",
"description": "Save selected vocabulary and corrected expressions from your conversation to Scenelingo.",
"author": {
"name": "Scenelingo",
"url": "https://scenelingo.com"
},
"homepage": "https://scenelingo.com",
"keywords": [
"language-learning",
"vocabulary",
"expressions"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Scenelingo",
"shortDescription": "Save words and expressions",
"longDescription": "Save the vocabulary and corrected expressions you choose from a ChatGPT conversation into your Scenelingo account for later study. Choose your default ChatGPT collection, an existing private scene you own, or a new named private scene. Uses your account's current learning and translation languages. Requires a Scenelingo account and authorization. Only the selected learning material is saved; audio and full conversation transcripts are not stored.",
"developerName": "Scenelingo",
"category": "Education & Research",
"capabilities": [
"Read learning context",
"Save learning material"
],
"websiteURL": "https://scenelingo.com",
"supportURL": "https://scenelingo.com/about",
"privacyPolicyURL": "https://scenelingo.com/privacy",
"termsOfServiceURL": "https://scenelingo.com/terms",
"defaultPrompt": [
"Save the important vocabulary from this conversation to my default Scenelingo collection.",
"Save the corrected expressions we practised to a new Scenelingo scene called Travel.",
"Show my private Scenelingo scenes so I can choose where to save these expressions."
],
"composerIcon": "./assets/logo.svg",
"logo": "./assets/logo.svg"
},
"review": {
"demo_recording_url": "https://youtu.be/V78khwM_SK8",
"commerce": false,
"commerce_description": "This plugin saves selected learning material. It does not sell products or process payments.",
"test_cases": {
"positive": [
{
"description": "Save a complete vocabulary card to the default private collection.",
"prompt": "Save the German word Termin to my default Scenelingo collection, with a contextual example and its translation.",
"tools_triggered": "get_learning_context, save_learning_items",
"expected_behavior": "Read the account language pair, save dictionary-form Termin with applicable article, plural, word class, concise explanation and one translated example. Return the successful counts and scene link. The private scene appears in Scenelingo and the word is available for study and review."
},
{
"description": "Create a named private collection with mixed learning material.",
"prompt": "Save the German word vereinbaren and the sentence Ich m\u00f6chte einen Termin vereinbaren. to a new Scenelingo scene called Appointment practice.",
"tools_triggered": "get_learning_context, save_learning_items",
"expected_behavior": "Create one private owned scene named Appointment practice with one Tutor, the requested vocabulary card with a translated example, and the sentence translated into the account translation language. Report only after the save succeeds."
},
{
"description": "Append a corrected expression to an existing owned scene.",
"prompt": "Save K\u00f6nnten Sie das bitte wiederholen? to my existing Appointment practice scene in Scenelingo.",
"tools_triggered": "get_learning_context, save_learning_items",
"expected_behavior": "Resolve the existing private scene ID, clarify only if names are ambiguous, and append one translated sentence. Do not create another scene, edit existing items or change language settings."
},
{
"description": "Reuse a private empty scene created in the application.",
"prompt": "Find my private Scenelingo scenes. Let me choose one, then save Ich lerne jeden Tag Deutsch. there.",
"tools_triggered": "get_learning_context, save_learning_items",
"expected_behavior": "List private owned scenes, wait for the selection, then save the translated sentence into the selected scene. A scene created empty in Scenelingo can receive material and retains its existing Tutor."
},
{
"description": "Repeated saving preserves material and review progress.",
"prompt": "Save K\u00f6nnten Sie das bitte wiederholen? to Appointment practice again. Keep the existing learning content.",
"tools_triggered": "get_learning_context, save_learning_items",
"expected_behavior": "Use the existing scene and return zero new saves and one existing item when the earlier case was run. Do not duplicate the sentence, overwrite it or reset review progress. A retry of the same operation key and payload returns its stored result."
}
],
"negative": [
{
"description": "Deletion and publication are unsupported.",
"prompt": "Delete my Appointment practice scene and publish my default ChatGPT collection.",
"expected_behavior": "Explain that the plugin supports context lookup and additive private saving only. Do not delete, publish or change any existing learning material."
},
{
"description": "Another user's or public scene cannot be a capture target.",
"prompt": "Save the German sentence Ich lerne jeden Tag Deutsch. into another user's public Scenelingo scene.",
"expected_behavior": "Do not claim a save or use a public or foreign target. Explain that saving requires a private scene owned by the connected user. Do not silently create a fallback destination."
},
{
"description": "A language pair conflicting with account settings is rejected.",
"prompt": "Keep my German learning settings, but save the English word appointment as English vocabulary to my default Scenelingo collection.",
"expected_behavior": "Read the configured language pair and explain the mismatch without changing account settings or saving a conflicting item. If the mismatched request reaches the tool, it returns an error without partial writes."
}
]
}
},
"publication": {
"release_notes": "Initial release: save selected vocabulary with learning examples and corrected expressions into private Scenelingo scenes for study and review."
},
"apps": "./.app.json"
}
}
}
SHA-256: bc048fc392a0aa652bd9002d0ff01d86674ed3ed1fd13b7d4ec0d793274127b1