← ContexterCONTENT HISTORY

Update to Contexter

Snapshot Oct 27, 2026 · 06:07 UTC · version 1.9.1

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

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

Save Contexter and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Oct 24, 2026 · 13:36 UTC

d2bb1541f99b0ab5e15c2b675e25d519f521ef081a6350382bb2d41ed20786ec

After

Oct 27, 2026 · 06:07 UTC

ce6e4187629b92120223fbe453bc1dbd937313d7b7f54088e93e59eb79a18903

Package file

Before

Oct 24, 2026 · 13:36 UTC

3384

After

Oct 27, 2026 · 06:07 UTC

4224

Package file

Before

Oct 24, 2026 · 13:36 UTC

9aed789bd5b0cdde777779e14b24cf5ca5c90e8ad0753cfcbc053496e7b46803

After

Oct 27, 2026 · 06:07 UTC

3433e2c334da2779207a049a0bd03fccf068942512b77059017b6e95a7aaab45

Package file

Before

Oct 24, 2026 · 13:36 UTC

13679

After

Oct 27, 2026 · 06:07 UTC

94992

Compare saved observations

Download comparison JSON

.codex-plugin/plugin.json

− removed · + added

--- before
+++ after
@@ -2,7 +2,7 @@
   "author": {
     "name": "Contexter"
   },
-  "description": "Contexter is a personal working environment that lives outside any single AI. Your Telegram messages and the results you produce with AI assistants become records in your own pool; you curate them into contexts and work with the same, always-current state from ChatGPT, Claude, Telegram or the web.\n\nWith Contexter connected, ChatGPT can:\n- list your contexts and show what each one holds;\n- read a context's records and answer questions from them;\n- save a result of your work (a plan, a list, a summary) into a context \u2014 only when you explicitly ask;\n- tell you who will see a record before it lands in a shared context;\n- send a result into a Telegram group chat you take part in, or post an invitation link so the people there can join a shared context \u2014 both only when you ask for it.\n\nContexter never saves anything silently: every write happens on your explicit request, deletions are reversible for 7 days, and shared contexts always show their audience. Nothing is collected from your conversation beyond what you ask to save.",
+  "description": "Contexter is memory that stays the same in every AI you use. What you save in ChatGPT is there when you open Claude or write to the Telegram bot, and what arrives in Telegram is there for ChatGPT. No copying, no explaining the project again in a new chat.\n\nHow it works\n- Save a result of your work (a plan, a list, a summary, a decision) into a context: a folder for one project or idea.\n- Add notes, photos and files from Telegram: send them to the bot, or let it collect a group chat you have joined.\n- Ask about a context in any assistant and continue where you stopped yesterday, even if that was a different AI.\n- Share a context with a person: they read it in their own AI, and both of you add to it.\n\nWhat ChatGPT can do with Contexter connected\n- list your contexts and show what each one holds;\n- read a context's records and answer from them;\n- save a result into a context, or update a saved list instead of making a second copy;\n- tell you who will see a record before it lands in a shared context;\n- send a result into a Telegram group chat you take part in, or post an invitation link so the people there can join a shared context, both only when you ask for it.\n\nWhat Contexter never does\nNothing is saved silently: every write happens on your explicit request. Deletions are reversible for 7 days. Shared contexts always show their audience. Nothing is collected from your conversation beyond what you ask to save.",
   "interface": {
     "capabilities": [],
     "category": "Productivity",
@@ -13,9 +13,9 @@
     ],
     "developerName": "Contexter",
     "displayName": "Contexter",
-    "longDescription": "Contexter is a personal working environment that lives outside any single AI. Your Telegram messages and the results you produce with AI assistants become records in your own pool; you curate them into contexts and work with the same, always-current state from ChatGPT, Claude, Telegram or the web.\n\nWith Contexter connected, ChatGPT can:\n- list your contexts and show what each one holds;\n- read a context's records and answer questions from them;\n- save a result of your work (a plan, a list, a summary) into a context \u2014 only when you explicitly ask;\n- tell you who will see a record before it lands in a shared context;\n- send a result into a Telegram group chat you take part in, or post an invitation link so the people there can join a shared context \u2014 both only when you ask for it.\n\nContexter never saves anything silently: every write happens on your explicit request, deletions are reversible for 7 days, and shared contexts always show their audience. Nothing is collected from your conversation beyond what you ask to save.",
+    "longDescription": "Contexter is memory that stays the same in every AI you use. What you save in ChatGPT is there when you open Claude or write to the Telegram bot, and what arrives in Telegram is there for ChatGPT. No copying, no explaining the project again in a new chat.\n\nHow it works\n- Save a result of your work (a plan, a list, a summary, a decision) into a context: a folder for one project or idea.\n- Add notes, photos and files from Telegram: send them to the bot, or let it collect a group chat you have joined.\n- Ask about a context in any assistant and continue where you stopped yesterday, even if that was a different AI.\n- Share a context with a person: they read it in their own AI, and both of you add to it.\n\nWhat ChatGPT can do with Contexter connected\n- list your contexts and show what each one holds;\n- read a context's records and answer from them;\n- save a result into a context, or update a saved list instead of making a second copy;\n- tell you who will see a record before it lands in a shared context;\n- send a result into a Telegram group chat you take part in, or post an invitation link so the people there can join a shared context, both only when you ask for it.\n\nWhat Contexter never does\nNothing is saved silently: every write happens on your explicit request. Deletions are reversible for 7 days. Shared contexts always show their audience. Nothing is collected from your conversation beyond what you ask to save.",
     "privacyPolicyURL": "https://contexterai.com/privacy",
-    "shortDescription": "One context for AI & Telegram",
+    "shortDescription": "Memory for any AI & Telegram",
     "supportURL": "https://contexterai.com/help",
     "termsOfServiceURL": "https://contexterai.com/terms",
     "websiteURL": "https://contexterai.com",
@@ -23,14 +23,16 @@
     "composerIcon": "./assets/icon.png"
   },
   "name": "app-6a777270fd2c8191a13c72d793d7a277",
-  "version": "1.9.0",
+  "version": "1.9.1",
   "mcpServers": "./.mcp.json",
   "extensions": {
     "com.openai": {
       "publication": {
-        "release_notes": "Tool descriptions are English throughout: the example phrases that used to be Russian are translated, and the Russian wordings now live in the server instructions, which only the model reads. No tools, schemas or annotations changed. New short description."
-      }
+        "release_notes": "Listing update and four bundled skills (get started, recall, save, share) that teach ChatGPT the order of the existing tools. New short description and description; app icon restored. No tools, schemas, prompts or annotations changed."
+      },
+      "onboardingSkill": "./skills/setup/SKILL.md"
     }
   },
+  "skills": "./skills/",
   "apps": "./.app.json"
 }
Full technical diff · 14 changed fields

changed /files/.codex-plugin~1plugin.json/sha256

BEFORE
"d2bb1541f99b0ab5e15c2b675e25d519f521ef081a6350382bb2d41ed20786ec"
AFTER
"ce6e4187629b92120223fbe453bc1dbd937313d7b7f54088e93e59eb79a18903"

changed /files/.codex-plugin~1plugin.json/size

BEFORE
3384
AFTER
4224

changed /files/assets~1icon.png/sha256

BEFORE
"9aed789bd5b0cdde777779e14b24cf5ca5c90e8ad0753cfcbc053496e7b46803"
AFTER
"3433e2c334da2779207a049a0bd03fccf068942512b77059017b6e95a7aaab45"

changed /files/assets~1icon.png/size

BEFORE
13679
AFTER
94992

changed /files/assets~1logo.png/sha256

BEFORE
"9aed789bd5b0cdde777779e14b24cf5ca5c90e8ad0753cfcbc053496e7b46803"
AFTER
"3433e2c334da2779207a049a0bd03fccf068942512b77059017b6e95a7aaab45"

changed /files/assets~1logo.png/size

BEFORE
13679
AFTER
94992

added /files/skills~1recall-from-contexter~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "3cd7a7b2edb9941c2901c33b4ac493d26de24b702c6660bdeb8e29bf1b597fd8",
  "size": 3529
}

added /files/skills~1recall-from-contexter~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "70d5ed708189e833c4035154f93453519df556a44a976c5814de44bcf64689b2",
  "size": 284
}

added /files/skills~1save-to-contexter~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "2b7acf495a19b0f25c4953bf8cd27ef2c58ee3f634034e1571d86ddc20c72c91",
  "size": 5252
}

added /files/skills~1save-to-contexter~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "f9806c5e4788b0525dd4ed52a1162c7e74b3b6548b3869b0f1595a4a27855dc6",
  "size": 263
}

added /files/skills~1setup~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "5a70800d6c93a8aad5386cd3dd3932384b909e0356bc5bcc6c9539e51197a9f0",
  "size": 2702
}

added /files/skills~1setup~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "30df5ac7a9f40a83ecc8744d90397f2a895aaf89ccc74d924cd5502f92d33cb2",
  "size": 284
}

added /files/skills~1share-context~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "fd57f35bb8daacea3599cba4f39a70a029dbbbfc23cc737001dbf7c66a68edc9",
  "size": 3707
}

added /files/skills~1share-context~1agents~1openai.yaml

BEFORE
Field was absent
AFTER
{
  "sha256": "7fb22503ac834651821bb6b8da8fb6225838db8864ec84a0817ce8a6d02f7370",
  "size": 260
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "337fc0acf8f05e67bd8d0f1da80fcb53cd6acceb055e9e52d9600f8262636e19",
      "size": 101
    },
    ".codex-plugin/plugin.json": {
      "sha256": "ce6e4187629b92120223fbe453bc1dbd937313d7b7f54088e93e59eb79a18903",
      "size": 4224
    },
    ".mcp.json": {
      "sha256": "b60546b7951871c0350f82149d9e8bb4b84993203761a5e8995c06c4cad896e5",
      "size": 94
    },
    "assets/icon.png": {
      "sha256": "3433e2c334da2779207a049a0bd03fccf068942512b77059017b6e95a7aaab45",
      "size": 94992
    },
    "assets/logo.png": {
      "sha256": "3433e2c334da2779207a049a0bd03fccf068942512b77059017b6e95a7aaab45",
      "size": 94992
    },
    "skills/recall-from-contexter/SKILL.md": {
      "sha256": "3cd7a7b2edb9941c2901c33b4ac493d26de24b702c6660bdeb8e29bf1b597fd8",
      "size": 3529
    },
    "skills/recall-from-contexter/agents/openai.yaml": {
      "sha256": "70d5ed708189e833c4035154f93453519df556a44a976c5814de44bcf64689b2",
      "size": 284
    },
    "skills/save-to-contexter/SKILL.md": {
      "sha256": "2b7acf495a19b0f25c4953bf8cd27ef2c58ee3f634034e1571d86ddc20c72c91",
      "size": 5252
    },
    "skills/save-to-contexter/agents/openai.yaml": {
      "sha256": "f9806c5e4788b0525dd4ed52a1162c7e74b3b6548b3869b0f1595a4a27855dc6",
      "size": 263
    },
    "skills/setup/SKILL.md": {
      "sha256": "5a70800d6c93a8aad5386cd3dd3932384b909e0356bc5bcc6c9539e51197a9f0",
      "size": 2702
    },
    "skills/setup/agents/openai.yaml": {
      "sha256": "30df5ac7a9f40a83ecc8744d90397f2a895aaf89ccc74d924cd5502f92d33cb2",
      "size": 284
    },
    "skills/share-context/SKILL.md": {
      "sha256": "fd57f35bb8daacea3599cba4f39a70a029dbbbfc23cc737001dbf7c66a68edc9",
      "size": 3707
    },
    "skills/share-context/agents/openai.yaml": {
      "sha256": "7fb22503ac834651821bb6b8da8fb6225838db8864ec84a0817ce8a6d02f7370",
      "size": 260
    }
  }
}

SHA-256 of public snapshot: 51af3c5b751a044586c5b33210dfc818201a7557f8ad685bdf8d87e8a9fc5389