← PieterPostCONTENT HISTORY

Update to PieterPost

Snapshot Nov 3, 2026 · 00:12 UTC · version 0.4.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 PieterPost 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:46 UTC

5e44f2cd20fa12bdd0850cc4dd360c5e857710930490e69319c11c66c8bed3b1

After

Nov 3, 2026 · 00:12 UTC

4c0c860c94e5e5f932d85ada56484904c926a7e3e91420e2be348218ab24c968

Package file

Before

Oct 24, 2026 · 13:46 UTC

7715

After

Nov 3, 2026 · 00:12 UTC

10148

Package file

Before

Oct 24, 2026 · 13:46 UTC

187bcfb97cbf994591c79aa26a2262c208a31691ca7c9406f78bae4aaa1f4b96

After

Nov 3, 2026 · 00:12 UTC

7ea9ae15aa9e2aadb0fb865b37beb5c6ee5eb54d934830344ef179105f30c1db

Package file

Before

Oct 24, 2026 · 13:46 UTC

3285

After

Nov 3, 2026 · 00:12 UTC

6674

Compare saved observations

Download comparison JSON

Changed files

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

plugin.json →

skills/send-mail/SKILL.md →

plugin.json

− removed · + added

--- before
+++ after
@@ -1,8 +1,8 @@
 {
   "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
   "name": "pieterpost",
-  "version": "0.2.2",
-  "description": "Prepare, quote, and track physical letters and postcards without a PieterPost account.",
+  "version": "0.4.0",
+  "description": "Design letters and printed greeting cards, and prepare, quote, and track letters and postcards without an account.",
   "author": {
     "name": "Post B.V.",
     "email": "pieter@pieterpost.com",
@@ -13,18 +13,23 @@
     "mail",
     "letters",
     "postcards",
+    "greeting cards",
+    "card design",
+    "letter design",
     "postage"
   ],
   "extensions": {
     "com.openai": {
       "interface": {
         "displayName": "PieterPost",
-        "shortDescription": "Send letters and postcards",
-        "longDescription": "Send your words as physical mail without creating a PieterPost account. PieterPost prints and posts letters and postcards to the postal address you provide. Draft correspondence, check postage, upload a photo or PDF, and get an editable preview or a secure checkout link. Review and pay on PieterPost\u2019s website before printing and posting. Check payment and fulfillment status using the order reference returned by the plugin. Saved contacts, account history, wallets, and API-key management are unavailable in this guest plugin.",
+        "shortDescription": "Send letters, postcards, cards",
+        "longDescription": "Send your words as physical mail without creating a PieterPost account. Prepare letters and postcards, check postage, upload a photo or PDF, and get an editable preview or a secure checkout link. Design printed greeting cards for a birth, wedding, remembrance, thank-you, or another occasion. Choose a starter design, add your own photo, and adjust text, colours, paper, and print technique with PNG previews. Design a letter the same way, with fonts, colours, photos, illustrations, and extra pages, in the right postal layout for the recipient's country. Open your private PieterPost editor link to refine and order the card, or to add recipients and order the letter. Review and pay on PieterPost\u2019s website before printing and posting. Check letter and postcard payment and fulfillment status using the order reference returned by the plugin. Saved contacts, account history, wallets, and API-key management are unavailable in this guest plugin.",
         "developerName": "Post B.V.",
         "category": "Communication",
         "capabilities": [
           "Prepare letters and postcards",
+          "Design printed greeting cards",
+          "Design letters",
           "Quote postage",
           "Create guest checkout links",
           "Track a mail order"
@@ -35,8 +40,8 @@
         "termsOfServiceURL": "https://pieterpost.com/en/terms/",
         "defaultPrompt": [
           "Help me prepare a letter to send by post.",
-          "How much would a postcard to the Netherlands cost?",
-          "Check the status of this PieterPost order reference."
+          "Help me design a printed thank-you card with my photo.",
+          "Design a birthday letter for my grandmother."
         ],
         "brandColor": "#2566eb",
         "composerIcon": "./assets/logo.png",
@@ -45,7 +50,7 @@
       "onboardingSkill": "./skills/send-mail/SKILL.md",
       "review": {
         "commerce": true,
-        "commerce_description": "PieterPost sells physical letters and postcards, including printing and postal delivery. Users review and pay through hosted guest checkout on PieterPost\u2019s domain. No PieterPost account, wallet funding, subscription, digital purchase, or API key is required. Test-mode orders never send physical mail.",
+        "commerce_description": "PieterPost sells physical letters, postcards, and printed greeting cards. Users review and pay on PieterPost\u2019s website before printing. Card and letter design tools create private editable drafts with PNG previews; the person refines and orders the card or letter in the editor. No account, subscription, wallet funding, digital purchase, or API key is required for the guest tools. Test-mode letter and postcard orders never send physical mail.",
         "test_cases": {
           "positive": [
             {
@@ -55,28 +60,31 @@
               "expected_behavior": "Search and fetch public guidance. Explain physical mail and guest checkout, with source links. Do not ask for login or create an order."
             },
             {
-              "description": "Quote a guest letter",
-              "prompt": "Quote a test-mode letter to Pieter Example, Damrak 1, 1012 AB Amsterdam, Netherlands. Message: Hello from PieterPost. Do not create or send it.",
-              "tools_triggered": "quote_order",
-              "expected_behavior": "Use mode=test and a structured NL recipient in letters. Return amountCents and currency. Do not create an order, request login, pay, or send mail."
-            },
-            {
-              "description": "Quote a guest postcard",
-              "prompt": "Quote a test-mode postcard to Pieter Example, Damrak 1, 1012 AB Amsterdam, Netherlands. Message: Hello from PieterPost. Do not create or send it.",
-              "tools_triggered": "quote_order",
-              "expected_behavior": "Use mode=test and a structured NL recipient in postcard. Return amountCents and currency without creating an order, requesting login, paying, or sending mail."
-            },
-            {
-              "description": "Create an editable guest letter preview",
-              "prompt": "Create a PieterPost review link for a test letter to Pieter Example, Damrak 1, 1012 AB Amsterdam, Netherlands. The exact message is: Thank you for your help. Do not pay or send it.",
-              "tools_triggered": "create_compose_link",
-              "expected_behavior": "Use mode=test, structured recipient, exact message, and a fresh random UUID idempotencyKey. Return the preview URL and expiry. No account or payment is needed to create the preview."
+              "description": "Design a greeting card with an uploaded photo",
+              "prompt": "Make a printed thank-you card using the attached coastal photo. Put the photo on the front with the exact text: Thank you. Put this on the back: Thank you for your kindness. Show the card previews, change the front text to A little thank you, then give me the private editor link. Do not order, pay, or print it.",
+              "tools_triggered": "list_card_options, upload_asset, create_card_design, get_card_design, update_card_design",
+              "expected_behavior": "List suitable formats and fonts. Upload the supplied photo with upload_asset using kind=postcard-image and use its assetId in add_image. Create the card, read its current version, and update the front text using baseVersion. Show PNG previews and editorUrl only to the user. Check characterIssues, printIssues, and technique issues. Do not return a print PDF, create a postal checkout, or claim anything was sent.",
+              "file_attachment_urls": [
+                "https://pieterpost.com/images/designer/north-coast-house-editorial.jpg"
+              ]
+            },
+            {
+              "description": "Explain a card character that uses a fallback font",
+              "prompt": "Create a blank printed greeting card with the exact front text Thank you \u2665 in Cormorant Garamond. Keep the heart. Show me the preview and tell me if a character uses a different font. Give me the private editor link. Do not order, pay, or print it.",
+              "tools_triggered": "list_card_options, create_card_design",
+              "expected_behavior": "Find Cormorant Garamond with list_card_options. Preserve the exact text and inspect characterIssues. If the heart uses a fallback font, explain that it prints in DejaVu Sans and may look different, without silently deleting or replacing it. Fix blocking missing characters before ordering, and mention or fix print and technique issues. Share the PNG preview and private editor link with the user; no order or payment occurs."
+            },
+            {
+              "description": "Design a letter for a recipient in France",
+              "prompt": "Design a two-page birthday letter for my aunt in Lyon, France. Page 1: the heading Joyeux anniversaire in an elegant serif font and the exact text Ch\u00e8re {{first_name}}, je pense fort \u00e0 toi aujourd'hui. Add a small illustration. Page 2: Avec tout mon amour, Marie. Show me the previews, make the heading dark red, then give me the private editor link. Do not order, pay, or print it.",
+              "tools_triggered": "list_letter_options, create_letter_design, update_letter_design",
+              "expected_behavior": "Pick the A4 France layout from list_letter_options because the recipient is in France. Create the letter with the exact texts, a font from the list, a listed illustration, and a second page. Show PNG previews, check printIssues and printIssuesInOtherLayouts, and fix blocking issues. Recolour the heading with update_letter_design and baseVersion. Share the previews and editorUrl only with the user. Do not create a postal checkout or claim anything was sent."
             },
             {
               "description": "Prepare a guest test letter, checkout link, and status",
-              "prompt": "In test mode, prepare a letter to Pieter Example, Damrak 1, 1012 AB Amsterdam, Netherlands. Message: This is a test letter. Give me its test checkout link and then check the order status. Do not complete payment.",
-              "tools_triggered": "prepare_letter, create_payment_link, get_order_status",
-              "expected_behavior": "Prepare with mode=test, letters, and a fresh random UUID idempotencyKey. Use the returned preparedOrderRef with a separate UUID key and the same mode for create_payment_link, then check its orderRef. Report price, paymentLinkUrl, and minimal payment and fulfillment status without claiming payment completed. No login, payment, or physical sending occurs."
+              "prompt": "In test mode, quote and prepare a letter to Pieter Example, Damrak 1, 1012 AB Amsterdam, Netherlands. Message: This is a test letter. Give me its test checkout link and then check the order status. Do not complete payment.",
+              "tools_triggered": "quote_order, prepare_letter, create_payment_link, get_order_status",
+              "expected_behavior": "Quote with mode=test and show the amount and currency. Prepare with mode=test, letters, and a fresh random UUID idempotencyKey. Use the returned preparedOrderRef with a separate UUID key and the same mode for create_payment_link, then check its orderRef. Report price, paymentLinkUrl, and minimal payment and fulfillment status without claiming payment completed. No login, payment, or physical sending occurs."
             }
           ],
           "negative": [
@@ -100,10 +108,10 @@
             }
           ]
         },
-        "demo_recording_url": "https://pieterpost.com/plugin-review/pieterpost-chatgpt-walkthrough-0.2.1.mp4"
+        "demo_recording_url": "https://pieterpost.com/plugin-review/pieterpost-chatgpt-walkthrough-0.3.0.mp4"
       },
       "publication": {
-        "release_notes": "Version 0.2.2 repackages the guest plugin for a new upload and automated review. Includes the same nine public MCP tools, guest workflow instructions, review test cases, and walkthrough. The hosted server now handles discovery requests with non-JSON content types without a server error and omits a browser-incompatible order status URL. The linked privacy policy and terms now explain ChatGPT/MCP data use and cleanup after successful processing. Users review and pay through hosted checkout before fulfillment."
+        "release_notes": "Version 0.4.0 adds designed letters to the listing and guest skill. Covers list_letter_options, create_letter_design, get_letter_design, and update_letter_design alongside the card and mail tools. Letter drafts use the postal layout for the recipient's country, report print issues per page, and return private editor links and PNG previews; users add recipients and order on PieterPost. Replaces the compose-link reviewer case with a letter design case. No authentication or endpoint changes."
       },
       "apps": "./.app.json"
     }
Full technical diff · 4 changed fields

changed /files/plugin.json/sha256

BEFORE
"5e44f2cd20fa12bdd0850cc4dd360c5e857710930490e69319c11c66c8bed3b1"
AFTER
"4c0c860c94e5e5f932d85ada56484904c926a7e3e91420e2be348218ab24c968"

changed /files/plugin.json/size

BEFORE
7715
AFTER
10148

changed /files/skills~1send-mail~1SKILL.md/sha256

BEFORE
"187bcfb97cbf994591c79aa26a2262c208a31691ca7c9406f78bae4aaa1f4b96"
AFTER
"7ea9ae15aa9e2aadb0fb865b37beb5c6ee5eb54d934830344ef179105f30c1db"

changed /files/skills~1send-mail~1SKILL.md/size

BEFORE
3285
AFTER
6674
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "67e0ab1be95e7bb22825d11ded1052d153dc80fded942db9190bfb6547cdfd49",
      "size": 102
    },
    "assets/logo.png": {
      "sha256": "90ab829e6c8d03a45e60d6bc6c0723e64fae7ee03f2ded3c12b1c6157b4a5b1b",
      "size": 19405
    },
    "assets/logo.svg": {
      "sha256": "e10fce36315c556c5ef0c8645b7c3cdf7790c1785c0f62bc9aa403b0b69bc80d",
      "size": 15457
    },
    "mcp.json": {
      "sha256": "9f96c06823a06b0472b19eab1de867f92ed0d1605ef2f1caba6128b1b96a3de4",
      "size": 207
    },
    "plugin.json": {
      "sha256": "4c0c860c94e5e5f932d85ada56484904c926a7e3e91420e2be348218ab24c968",
      "size": 10148
    },
    "skills/send-mail/SKILL.md": {
      "sha256": "7ea9ae15aa9e2aadb0fb865b37beb5c6ee5eb54d934830344ef179105f30c1db",
      "size": 6674
    }
  }
}

SHA-256 of public snapshot: 307005549e088d4487d59323f41270418d031105505cff0d1dd8f83692f1001d