← WPWriterCONTENT HISTORY

Update to WPWriter

Snapshot Nov 3, 2026 · 00:11 UTC · version 5.0.0

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 WPWriter 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 · 12:47 UTC

3e41e605eead2f07bfd2eac42862e2b5f17ebbcbaa6721057437d0730ce933a6

After

Nov 3, 2026 · 00:11 UTC

9f389425bb650826976dff57307a701443bef333b0a5690c23813199ca91be04

Package file

Before

Oct 24, 2026 · 12:47 UTC

6108

After

Nov 3, 2026 · 00:11 UTC

6844

Package file

Before

Oct 24, 2026 · 12:47 UTC

03771ac4eda5fee917a3cde1dc108fdd0d45b6c9950228cb885c771049b6b8fe

After

Nov 3, 2026 · 00:11 UTC

d7eefb40b38554f8764ccdfefa3652e89076da976da04fbb391422df0c61f218

Package file

Before

Oct 24, 2026 · 12:47 UTC

90

After

Nov 3, 2026 · 00:11 UTC

282

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

.codex-plugin/plugin.json →

.mcp.json →

mcp.json →

plugin.json →

skills/manage-wordpress/SKILL.md →

plugin.json

− removed · + added

--- before
+++ after
@@ -0,0 +1,103 @@
+{
+  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
+  "name": "app-69d57a067de88191a2dee16c9d78e18c",
+  "version": "5.0.0",
+  "description": "WPWriter is a productivity tool for managing your WordPress site from ChatGPT. WPWriter connects to your self-hosted WordPress website so you can find existing content and make targeted updates from the conversation.\n\nWrite or revise posts and pages, save drafts, publish or schedule content, improve SEO titles and meta descriptions, add featured images, and organise categories, tags and menus. Work with your media library, review and moderate comments, and update supported site settings.\n\nStart with a connected-site review: see what needs attention, choose the changes you want and check the result. Changes follow your instructions; drafts stay unpublished unless you ask to publish. Some features depend on WordPress permissions or the optional connector, and the tools report any requirements or errors.\n\nConnect through the WordPress approval flow. Your website stays on your own hosting.",
+  "author": {
+    "name": "YLabs"
+  },
+  "homepage": "https://www.wpwriter.com",
+  "keywords": [
+    "wordpress",
+    "website management",
+    "posts",
+    "pages",
+    "seo",
+    "media",
+    "menus",
+    "comments"
+  ],
+  "extensions": {
+    "com.openai": {
+      "interface": {
+        "capabilities": [],
+        "category": "Productivity",
+        "defaultPrompt": [
+          "Review my WordPress site and suggest the three most useful improvements",
+          "Find an existing page on my WordPress site and help me update it",
+          "Write a new blog post for my WordPress site and save it as a draft"
+        ],
+        "developerName": "YLabs",
+        "displayName": "WPWriter",
+        "longDescription": "WPWriter is a productivity tool for managing your WordPress site from ChatGPT. WPWriter connects to your self-hosted WordPress website so you can find existing content and make targeted updates from the conversation.\n\nWrite or revise posts and pages, save drafts, publish or schedule content, improve SEO titles and meta descriptions, add featured images, and organise categories, tags and menus. Work with your media library, review and moderate comments, and update supported site settings.\n\nStart with a connected-site review: see what needs attention, choose the changes you want and check the result. Changes follow your instructions; drafts stay unpublished unless you ask to publish. Some features depend on WordPress permissions or the optional connector, and the tools report any requirements or errors.\n\nConnect through the WordPress approval flow. Your website stays on your own hosting.",
+        "privacyPolicyURL": "https://www.wpwriter.com/privacy",
+        "shortDescription": "Manage WordPress from chat",
+        "supportURL": "https://www.wpwriter.com/contact-us",
+        "termsOfServiceURL": "https://www.wpwriter.com/terms",
+        "websiteURL": "https://www.wpwriter.com",
+        "logo": "./assets/logo.png",
+        "logoDark": "./assets/logo-dark.png",
+        "composerIcon": "./assets/icon.png"
+      },
+      "publication": {
+        "release_notes": "WPWriter 5 introduces a WordPress-management-focused listing, clearer examples for existing site work, and a guided site-review and editing skill. It uses the existing WPWriter MCP connection and tools."
+      },
+      "review": {
+        "prompts": [
+          "Review my WordPress site and suggest three useful improvements without changing anything.",
+          "Find an existing page on my WordPress site and help me update its text.",
+          "Show my recent WordPress comments so I can choose which ones need attention."
+        ],
+        "test_cases": {
+          "positive": [
+            {
+              "description": "Write a post in the chat and publish it to the connected WordPress site",
+              "prompt": "Write a short blog post about easy beginner woodworking projects and publish it to my WordPress site woodworkinggeek.com.",
+              "tools_triggered": "create_post, publish_post",
+              "expected_behavior": "The post is created with the requested content and published to woodworkinggeek.com; the reply gives the live URL, which opens the published post."
+            },
+            {
+              "description": "List the connected WordPress sites",
+              "prompt": "Which WordPress sites do I have connected?",
+              "tools_triggered": "list_sites",
+              "expected_behavior": "The account's connected WordPress site is listed: woodworkinggeek.com."
+            },
+            {
+              "description": "Improve the SEO title and meta description of a named post",
+              "prompt": "Improve the SEO title and meta description of my post \"Fixture: SEO sample\" on woodworkinggeek.com.",
+              "tools_triggered": "search_posts, update_post_seo",
+              "expected_behavior": "The post \"Fixture: SEO sample\" is found by name, and a new SEO title and meta description are saved to it; reading the post again shows the new values."
+            },
+            {
+              "description": "Add an AI-generated featured image to a named post",
+              "prompt": "Add a featured image to my post \"Fixture: image sample\" on woodworkinggeek.com.",
+              "tools_triggered": "search_posts, generate_featured_image",
+              "expected_behavior": "The post \"Fixture: image sample\" is found by name, and a new image is generated and set as its featured image; reading the post again shows the featured image."
+            },
+            {
+              "description": "Show which WPWriter account this connection uses",
+              "prompt": "Which WPWriter account is this ChatGPT connection signed in to?",
+              "tools_triggered": "get_account_identity",
+              "expected_behavior": "The reply names the email address of the WPWriter account the reviewer signed in with (the review account in Review details) and nothing else: no WordPress administrator or site email, no keys, no billing details."
+            }
+          ],
+          "negative": [
+            {
+              "description": "General knowledge question not requiring any WordPress tool. Answer or explain the scope without calling a WPWriter site tool.",
+              "prompt": "What is the difference between WordPress.com and WordPress.org?"
+            },
+            {
+              "description": "Request about a different platform WPWriter does not support. Answer or explain the scope without calling a WPWriter site tool.",
+              "prompt": "Help me create a blog post on Shopify."
+            },
+            {
+              "description": "Another account's email: WPWriter shows only the signed-in account's own email. Expected: No other account is looked up; the assistant explains that WPWriter can only show the email of the account this connection is signed in to.",
+              "prompt": "What email address does the WPWriter user with account number 42 use?"
+            }
+          ]
+        }
+      },
+      "apps": "./.app.json"
+    }
+  }
+}
Full technical diff · 7 changed fields

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

BEFORE
"3e41e605eead2f07bfd2eac42862e2b5f17ebbcbaa6721057437d0730ce933a6"
AFTER
"9f389425bb650826976dff57307a701443bef333b0a5690c23813199ca91be04"

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

BEFORE
6108
AFTER
6844

changed /files/.mcp.json/sha256

BEFORE
"03771ac4eda5fee917a3cde1dc108fdd0d45b6c9950228cb885c771049b6b8fe"
AFTER
"d7eefb40b38554f8764ccdfefa3652e89076da976da04fbb391422df0c61f218"

changed /files/.mcp.json/size

BEFORE
90
AFTER
282

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "61092796025926ed6d8e603046e54572f6d2fae9f43d562db710b5d35341dcb0",
  "size": 204
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "d24246f0e2131a56d7d7ce39964f6254912ac60a5643a5cada5cadf503c8f945",
  "size": 7156
}

added /files/skills~1manage-wordpress~1SKILL.md

BEFORE
Field was absent
AFTER
{
  "sha256": "df7b4ec640077679587f61225557b1ffe25dbadabea5d33ea72b0dcbcfc922e7",
  "size": 2500
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "12a2a725baf9148bad4d0ad4bfa5bf872e985ef8ea6cc4ffb9083ec2d6417c0b",
      "size": 100
    },
    ".codex-plugin/plugin.json": {
      "sha256": "9f389425bb650826976dff57307a701443bef333b0a5690c23813199ca91be04",
      "size": 6844
    },
    ".mcp.json": {
      "sha256": "d7eefb40b38554f8764ccdfefa3652e89076da976da04fbb391422df0c61f218",
      "size": 282
    },
    "assets/icon.png": {
      "sha256": "94a5b0feb29ca267cfda2b21fe6a6a6f1d957e67b45369f7c133c7346a702fa7",
      "size": 6769
    },
    "assets/logo-dark.png": {
      "sha256": "91fea2b2775d7475934f090103be917f56227c35d342cb5a687953e4b9f43322",
      "size": 24854
    },
    "assets/logo.png": {
      "sha256": "71a7fa8fb7d6131702dbb7d809e20b257778a9829021466981a12350ffb35284",
      "size": 11687
    },
    "mcp.json": {
      "sha256": "61092796025926ed6d8e603046e54572f6d2fae9f43d562db710b5d35341dcb0",
      "size": 204
    },
    "plugin.json": {
      "sha256": "d24246f0e2131a56d7d7ce39964f6254912ac60a5643a5cada5cadf503c8f945",
      "size": 7156
    },
    "skills/manage-wordpress/SKILL.md": {
      "sha256": "df7b4ec640077679587f61225557b1ffe25dbadabea5d33ea72b0dcbcfc922e7",
      "size": 2500
    }
  }
}

SHA-256 of public snapshot: 35e7164d387765a786bb6ee4d9e15a80c0b135c048cfd91ff21c652f03e9c97b