← Files CharmingARCHIVED FILE
plugin.json
5.16 KB · Oct 8, 2026 · 06:08 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "app-6a56c533cd7c8191b9a16cb7973a65e6",
"version": "1.2.1",
"description": "The secure cloud for apps your AI builds.",
"author": {
"name": "Tambo"
},
"extensions": {
"com.openai": {
"interface": {
"displayName": "Charming",
"shortDescription": "Secure cloud for AI-built apps",
"longDescription": "Charming is a secure cloud for apps you build with AI. Ask your assistant to build an app with Charming. Charming gives your app a link you can open anywhere and use to invite people to use it with you. They can use the app from their own AI assistant or their browser.",
"developerName": "Tambo",
"category": "Developer Tools",
"capabilities": [],
"websiteURL": "https://usecharming.com",
"supportURL": "https://www.usecharming.com/contact-us",
"privacyPolicyURL": "https://www.usecharming.com/privacy",
"termsOfServiceURL": "https://www.usecharming.com/terms",
"defaultPrompt": [
"Help me build a personal app that feels handcrafted, like a real object.",
"Create a meal planner I can update each week.",
"Make a shared trip planner for my friends."
],
"brandColor": "#F77448",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Connect and create a personal app from a natural-language request.",
"prompt": "Make me a simple habit tracker that lets me add habits and mark them complete for today.",
"tools_triggered": "create_app",
"expected_behavior": "After OAuth connect, creates a Charming app, renders it inline as an interactive widget, and returns its app ID and hosted URL for later use across agents."
},
{
"description": "Update an existing personal app and keep its data available.",
"prompt": "Add a weekly summary section to the habit tracker you just built.",
"tools_triggered": "update_app",
"expected_behavior": "Updates the existing Charming app in place and shows the refreshed interactive version at the same URL, without rebuilding from scratch or losing saved data."
},
{
"description": "Read app state, then change it through the app's declared operations.",
"prompt": "Tell me whether 'drink water' is complete today, then mark it complete if it is not.",
"tools_triggered": "query_app, mutate_app",
"expected_behavior": "Reads the current value through query_app, uses mutate_app only if a change is needed, and returns the resulting state without editing the app's source."
},
{
"description": "Submit app feedback and disclose its delivery to the Charming team.",
"prompt": "Report that the habit tracker sometimes fails to save a completed habit.",
"tools_triggered": "submit_feedback",
"expected_behavior": "Records a bug report for the app and returns its feedback ID; the feedback is also delivered to the Charming team's internal support channel."
},
{
"description": "Safely delete an app the user no longer needs, with fail-closed confirmation.",
"prompt": "Delete the old budget tracker app.",
"tools_triggered": "list_apps, delete_app",
"expected_behavior": "Finds the target app, then asks the host to show a confirmation prompt before deleting. On hosts that cannot prompt, delete_app refuses with a confirmation_required error and only proceeds after the caller re-invokes with confirm: true; it never deletes without an obtained confirmation."
}
],
"negative": [
{
"description": "Do not trigger for general coding help that does not ask to create or manage a Charming app.",
"prompt": "Explain how JavaScript promises work.",
"expected_behavior": "The app should not be invoked because the request is general programming education."
},
{
"description": "Do not trigger for unrelated calendar or scheduling requests.",
"prompt": "What meetings do I have tomorrow?",
"expected_behavior": "The app should not be invoked because Charming does not manage calendars."
},
{
"description": "Do not trigger for requests to publish content to third-party services.",
"prompt": "Post this announcement to my company's LinkedIn page.",
"expected_behavior": "The app should not be invoked because Charming does not publish to external social platforms."
}
]
},
"demo_recording_url": "https://drive.google.com/file/d/1rZoLRJhFshmjKC3hTr4yBX_TpmbnwTf_/view?usp=sharing"
},
"publication": {
"release_notes": "Updates the Charming app-building skill and marks set_template and cancel_app_build as destructive."
}
}
}
}
SHA-256: f22271ec26095355a4b0a82d71622f779ebeb73dcccb3732ea0cca325a91b4a6