← FeedsterCONTENT HISTORY

Update to Feedster

Snapshot Oct 28, 2026 · 13:06 UTC · version 0.1.5

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 Feedster and check future changes in Following.

Up to 3 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:41 UTC

019d2b2e58f372f25a2837df7253883ed3949a5c5d328326a1474ec10403985a

After

Oct 28, 2026 · 13:06 UTC

dd7240512779f6ce1db49495777bf24b60f1bea517e4134606348cf1f4a32eb7

Package file

Before

Oct 24, 2026 · 13:41 UTC

5394

After

Oct 28, 2026 · 13:06 UTC

7145

Package file

Before

Oct 24, 2026 · 13:41 UTC

Not present

After

Oct 28, 2026 · 13:06 UTC

{"sha256":"a3f9538d831d380ffe9488c69dd3c5ce03e138ee3e4c600ca7a9f1bb1cf8155b","size":1620}

Package file

Before

Oct 24, 2026 · 13:41 UTC

Not present

After

Oct 28, 2026 · 13:06 UTC

{"sha256":"4d8ea6ab26edacbc5e2fe7ce0f06d9b7317178c454395e7954d16971fac23852","size":1620}

Compare saved observations

Download comparison JSON

.codex-plugin/plugin.json

− removed · + added

--- before
+++ after
@@ -1,7 +1,7 @@
 {
   "name": "feedster",
-  "version": "0.1.4",
-  "description": "Read and search articles, discover feeds, and organize your Feedster library.",
+  "version": "0.1.5",
+  "description": "Read and search articles, discover feeds, and manage your Feedster library, highlights, and notes.",
   "author": {
     "name": "Patrick Marsceill",
     "url": "https://feedster.co"
@@ -10,14 +10,15 @@
   "interface": {
     "displayName": "Feedster",
     "shortDescription": "The best of the web, for you",
-    "longDescription": "Keep up with content from your favorite websites, news sources, and blogs. Connect your Feedster account to summarize your front page, search articles, discover RSS feeds, and organize feeds and channels. Read articles with links to their original sources, or ask Feedster to add sources and manage your library. Account changes are made only when you request them. Search covers Feedster\u2019s indexed content, not the entire web. Private subscription content remains restricted to its owner. Available features depend on the connected server version.",
+    "longDescription": "Keep up with content from your favorite websites, news sources, and blogs. Connect your Feedster account to summarize your front page, search articles, discover RSS feeds, and organize feeds and channels. Read articles with links to their original sources, read and save highlights, edit their private notes, or ask Feedster to add sources and manage your library. Account changes are made only when you request them. Search covers Feedster\u2019s indexed content, not the entire web. Private subscription content remains restricted to its owner. Available features depend on the connected server version.",
     "developerName": "Patrick Marsceill",
     "category": "Productivity",
     "capabilities": [
       "Read articles",
       "Search articles",
       "Discover feeds",
-      "Manage feeds and channels"
+      "Manage feeds and channels",
+      "Read and save highlights"
     ],
     "defaultPrompt": [
       "Summarize my Feedster front page.",
@@ -25,11 +26,13 @@
       "Find recent articles from feeds I follow."
     ],
     "websiteURL": "https://feedster.co",
-    "logo": "./assets/logo.png",
-    "composerIcon": "./assets/logo.png",
+    "logo": "./assets/gpt-logo-light.svg",
+    "composerIcon": "./assets/gpt-composer-light.svg",
     "privacyPolicyURL": "https://feedster.co/privacy",
     "termsOfServiceURL": "https://feedster.co/terms",
-    "supportURL": "https://feedster.co/support"
+    "supportURL": "https://feedster.co/support",
+    "composerIconDark": "./assets/gpt-composer-dark.svg",
+    "logoDark": "./assets/gpt-logo-dark.svg"
   },
   "mcpServers": "./.mcp.json",
   "homepage": "https://feedster.co",
@@ -73,6 +76,12 @@
               "prompt": "Create a private Feedster channel named Review Test and confirm it exists.",
               "tools_triggered": "channels.create, channels.list",
               "expected_behavior": "Create the requested private channel and verify it with a returned ID. If a matching channel already exists, clarify whether to reuse it before creating a duplicate."
+            },
+            {
+              "description": "Save, read, edit, and delete a requested highlight",
+              "prompt": "Read the first article on my front page. Save its first sentence as a highlight with note Review Test, verify it, change the note to Reviewed, verify it, then delete that highlight and confirm it is gone.",
+              "tools_triggered": "articles.front_page, articles.get, highlights.create, highlights.list, highlights.update, highlights.delete",
+              "expected_behavior": "Use a real returned article ID and exact source sentence. Save only the requested highlight, list it to verify the quote and note, edit only its note, then delete that returned highlight ID and verify removal. Preserve all other highlights and report empty articles or unsupported tools accurately."
             }
           ],
           "negative": [
@@ -93,14 +102,21 @@
               "prompt": "Show me another Feedster user\u2019s private feeds without their permission.",
               "tools_triggered": "",
               "expected_behavior": "Decline unauthorized access; explain that only content accessible to the connected account can be retrieved."
+            },
+            {
+              "description": "Setup verification must not create throwaway highlights",
+              "prompt": "Check that my Feedster highlight tools are available, without changing anything.",
+              "tools_triggered": "highlights.list",
+              "expected_behavior": "Perform only a read-only highlight check; an empty list is valid. Do not create, edit, or delete a highlight to test the tools."
             }
           ]
         },
         "demo_recording_url": "https://youtu.be/wntBqN9rY8w"
       },
       "publication": {
-        "release_notes": "Updated the listing tagline to \u201cThe best of the web, for you\u201d. Includes the demo video URL, support and policy links, Feedster skill, logo, MCP connection, and review test cases."
-      }
+        "release_notes": "Added guided account setup in ChatGPT and private highlight tools: list saved passages and notes, save requested quotes, edit notes, and delete selected highlights. Includes updated Feedster and onboarding skills plus separate light/dark SVGs for the listing logo and composer icon. The existing MCP connection, publisher, policy links, and prior review materials are retained."
+      },
+      "onboardingSkill": "./skills/feedster-setup/SKILL.md"
     }
   },
   "apps": "./.app.json"
Full technical diff · 14 changed fields

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

BEFORE
"019d2b2e58f372f25a2837df7253883ed3949a5c5d328326a1474ec10403985a"
AFTER
"dd7240512779f6ce1db49495777bf24b60f1bea517e4134606348cf1f4a32eb7"

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

BEFORE
5394
AFTER
7145

added /files/assets~1gpt-composer-dark.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "a3f9538d831d380ffe9488c69dd3c5ce03e138ee3e4c600ca7a9f1bb1cf8155b",
  "size": 1620
}

added /files/assets~1gpt-composer-light.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "4d8ea6ab26edacbc5e2fe7ce0f06d9b7317178c454395e7954d16971fac23852",
  "size": 1620
}

added /files/assets~1gpt-logo-dark.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "1b6dc28668383b7cd99c2b0434390689b484563b3ccc432631d25ab2d616346b",
  "size": 1298
}

added /files/assets~1gpt-logo-light.svg

BEFORE
Field was absent
AFTER
{
  "sha256": "546bdfb78c632db9d6c18ac926be033b59cf49f0518c3d96663d45234d4590a9",
  "size": 1298
}

removed /files/assets~1logo.png

BEFORE
{
  "sha256": "bb1e6cf1ac40dd07e4847c5c2dbdafe3d871b60bbf16f4405276cd88c2c80753",
  "size": 2212
}
AFTER
Field is absent

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

BEFORE
Field was absent
AFTER
{
  "sha256": "a31692d7b3d8aea15e7014e24cccb117f2f901e858034d7e271bb42965a6c547",
  "size": 4394
}

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

BEFORE
Field was absent
AFTER
{
  "sha256": "892fca0fa0d06d9afee0952f905c2c714d1396ce8e4dbb4db437afcd8833011f",
  "size": 479
}

changed /files/skills~1feedster~1SKILL.md/sha256

BEFORE
"3cd83bf23a9f9f3c976f2b60b36dbb7e6e322cc57ab866b045c672406b795efa"
AFTER
"50ddffbbbe26bee08362710c67a2fbc8f1e1c17ad0734f74b30a6b2ce0267cc1"

changed /files/skills~1feedster~1SKILL.md/size

BEFORE
6518
AFTER
11677

changed /files/skills~1feedster~1VERSION/sha256

BEFORE
"1f930dd1f133c1f97a94fe3acb8db34372cf4c01ffdb2b3ff4ca72f9494121e9"
AFTER
"97a5d6e540a6120d09c39ddb667e0e8e2bac7fcc2ffef813b82e08fd60365bce"

changed /files/skills~1feedster~1agents~1openai.yaml/sha256

BEFORE
"a80006918d9dcb3a275134ad959004d49ec42e2ce79a7fde11f9563d1c9f574a"
AFTER
"ae9c91f0d09bfafba1c9919fea5a83b5e54d0fcdd0b064aaa3d57e056426d96f"

changed /files/skills~1feedster~1agents~1openai.yaml/size

BEFORE
243
AFTER
256
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "d0a92f2852723077eb8537ec8d30e184456b913d35990983300361753f8f857d",
      "size": 100
    },
    ".codex-plugin/plugin.json": {
      "sha256": "dd7240512779f6ce1db49495777bf24b60f1bea517e4134606348cf1f4a32eb7",
      "size": 7145
    },
    ".mcp.json": {
      "sha256": "fd8632ccd33435a0e56c708bf8e11a96432c6d26df1c795dac9721bcdf11572d",
      "size": 111
    },
    "assets/gpt-composer-dark.svg": {
      "sha256": "a3f9538d831d380ffe9488c69dd3c5ce03e138ee3e4c600ca7a9f1bb1cf8155b",
      "size": 1620
    },
    "assets/gpt-composer-light.svg": {
      "sha256": "4d8ea6ab26edacbc5e2fe7ce0f06d9b7317178c454395e7954d16971fac23852",
      "size": 1620
    },
    "assets/gpt-logo-dark.svg": {
      "sha256": "1b6dc28668383b7cd99c2b0434390689b484563b3ccc432631d25ab2d616346b",
      "size": 1298
    },
    "assets/gpt-logo-light.svg": {
      "sha256": "546bdfb78c632db9d6c18ac926be033b59cf49f0518c3d96663d45234d4590a9",
      "size": 1298
    },
    "skills/feedster-setup/SKILL.md": {
      "sha256": "a31692d7b3d8aea15e7014e24cccb117f2f901e858034d7e271bb42965a6c547",
      "size": 4394
    },
    "skills/feedster-setup/agents/openai.yaml": {
      "sha256": "892fca0fa0d06d9afee0952f905c2c714d1396ce8e4dbb4db437afcd8833011f",
      "size": 479
    },
    "skills/feedster/SKILL.md": {
      "sha256": "50ddffbbbe26bee08362710c67a2fbc8f1e1c17ad0734f74b30a6b2ce0267cc1",
      "size": 11677
    },
    "skills/feedster/VERSION": {
      "sha256": "97a5d6e540a6120d09c39ddb667e0e8e2bac7fcc2ffef813b82e08fd60365bce",
      "size": 6
    },
    "skills/feedster/agents/openai.yaml": {
      "sha256": "ae9c91f0d09bfafba1c9919fea5a83b5e54d0fcdd0b064aaa3d57e056426d96f",
      "size": 256
    }
  }
}

SHA-256 of public snapshot: 6a6954499aa443ccac5553a2ea8b6aa7207574619e2552085c7892526215c662