← CharmingCONTENT HISTORY

Update to Charming

Snapshot Oct 8, 2026 · 06:08 UTC · version 1.2.1

WHAT CHANGED · RULE-BASED ANALYSIS

Package or technical metadata updated

Package contents changed in 7 files: .app.json, .codex-plugin/plugin.json, assets/icon.png, …. Open the file diff to inspect the edits.

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Package file

Before

{"sha256":"9317e2fdf6db1eace15d22cec5dffe58622382c7670ae87242f4ff363abe0d77","size":127}

After

Not present

Package file

Before

{"sha256":"054a6485ab1341d1386418aeb5867653810d1fbba44bcb1c30f00f5bc1041a3e","size":1333}

After

Not present

Package file

Before

Not present

After

{"sha256":"667d112dde6e894b3be7dd9fbc4ab1983884120043beb19c573a2813ab2352f9","size":15472}

Package file

Before

Not present

After

{"sha256":"667d112dde6e894b3be7dd9fbc4ab1983884120043beb19c573a2813ab2352f9","size":15472}

Compare saved observations

Download comparison JSON

plugin.json

--- before
+++ after
@@ -0,0 +1,90 @@
+{
+  "$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."
+      }
+    }
+  }
+}
Full technical diff · 8 changed fields

removed /files/.app.json

BEFORE
{
  "sha256": "9317e2fdf6db1eace15d22cec5dffe58622382c7670ae87242f4ff363abe0d77",
  "size": 127
}
AFTER
Field is absent

removed /files/.codex-plugin~1plugin.json

BEFORE
{
  "sha256": "054a6485ab1341d1386418aeb5867653810d1fbba44bcb1c30f00f5bc1041a3e",
  "size": 1333
}
AFTER
Field is absent

added /files/assets~1icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "667d112dde6e894b3be7dd9fbc4ab1983884120043beb19c573a2813ab2352f9",
  "size": 15472
}

added /files/assets~1logo.png

BEFORE
Field was absent
AFTER
{
  "sha256": "667d112dde6e894b3be7dd9fbc4ab1983884120043beb19c573a2813ab2352f9",
  "size": 15472
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "01e4c4f04f0513c8d0929a3de48c7c3041e069481295325778fb394fb85b13e0",
  "size": 200
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "f22271ec26095355a4b0a82d71622f779ebeb73dcccb3732ea0cca325a91b4a6",
  "size": 5288
}

changed /files/skills~1build-a-charming-app~1SKILL.md/sha256

BEFORE
"279c13c5e49e184d5542c3bf62b61946660a72d5afe12814bdcdd9b74c8cca90"
AFTER
"f1cd30d2dfc477c5dccb1fba612917bac583cf975a02b3d19d43a58221ad868a"

changed /files/skills~1build-a-charming-app~1SKILL.md/size

BEFORE
5955
AFTER
6205
Full snapshot data
{
  "files": {
    "assets/icon.png": {
      "sha256": "667d112dde6e894b3be7dd9fbc4ab1983884120043beb19c573a2813ab2352f9",
      "size": 15472
    },
    "assets/logo.png": {
      "sha256": "667d112dde6e894b3be7dd9fbc4ab1983884120043beb19c573a2813ab2352f9",
      "size": 15472
    },
    "mcp.json": {
      "sha256": "01e4c4f04f0513c8d0929a3de48c7c3041e069481295325778fb394fb85b13e0",
      "size": 200
    },
    "plugin.json": {
      "sha256": "f22271ec26095355a4b0a82d71622f779ebeb73dcccb3732ea0cca325a91b4a6",
      "size": 5288
    },
    "skills/build-a-charming-app/SKILL.md": {
      "sha256": "f1cd30d2dfc477c5dccb1fba612917bac583cf975a02b3d19d43a58221ad868a",
      "size": 6205
    }
  }
}

SHA-256 of public snapshot: c39a5d9d4b568633181dd3757f4a7133f1d4065629985e4aa33af3697e9ab48c