← TailwindCONTENT HISTORY

Update to Tailwind

Snapshot Oct 24, 2026 · 18:04 UTC · version 0.4.0

Collection source: downloaded plugin package.

WHAT CHANGED

Instructions updated for tailwind-pinterest-scheduling

Skill instructions — Now says: draft, which is right when the timing is undecided. The draft is saved in Tailwind only: nothing is created on Pinterest, so it does not appear...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save Tailwind and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

Skill instructions

Before

Oct 24, 2026 · 12:50 UTC

draft, which is right when the timing is undecided. To schedule in the same

After

Oct 24, 2026 · 18:04 UTC

draft, which is right when the timing is undecided. The draft is saved in Tailwind only: nothing is created on Pinterest, so it does not appear in Pinterest's own drafts or on the user's profile. It enters Tailwind's publishing flow only...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -55,7 +55,11 @@
 ## Drafts, scheduling, and editing
 
 A `create_post` call that omits both `sendAt` and `useNextOpenSlot` saves a
-draft, which is right when the timing is undecided. To schedule in the same
+draft, which is right when the timing is undecided. The draft is saved in
+Tailwind only: nothing is created on Pinterest, so it does not appear in
+Pinterest's own drafts or on the user's profile. It enters Tailwind's
+publishing flow only once it is scheduled with `schedule_post`, so never tell
+the user to look for it on Pinterest. To schedule in the same
 call, pass **exactly one** of them, plus `title`, `description`, `url`, and
 `boardId` (or `intervalBoards`). `schedule_post` puts an existing draft or
 queued Pin on the schedule with the same one-of choice, and expects `title`,
@@ -70,6 +74,13 @@
 `2026-01-15T15:00:00Z`: a local-offset time like `2026-01-15T09:00:00-06:00` is
 rejected as an invalid datetime, so convert the user's local time to UTC first.
 
+An explicit `sendAt` only sets the Pin's first publish time. It is not an
+exemption from Pin Spacing: a later respace or schedule shuffle can still move
+the Pin, and no tool can lock it in place. To see how far apart Pins to a URL
+will land, call `get_pin_spacing_rule` with that URL, or
+`list_pin_spacing_rules` for every rule on the account. The rules themselves
+can only be changed in the Tailwind dashboard.
+
 After scheduling, confirm it landed with `list_posts` using `status: "queued"`
 rather than assuming success from the tool's response text.
 
@@ -81,6 +92,12 @@
 design tools, starting with `get_pin_design`. Published Pins can't be edited
 through Tailwind at all.
 
+To take a queued Pin off the schedule without losing it, for example to hold
+back a time-sensitive Pin, use `unschedule_post`. The Pin goes back to draft with
+its image, copy and Board intact, and the credit charged for scheduling it is
+returned where one was taken. Scheduling it again charges again. Do not
+`delete_post` a queued Pin just to stop it publishing.
+
 ## Scheduling spends the user's credits
 
 On modular-billing accounts, moving a Pin to scheduled consumes a Pin credit
Full technical diff · 1 changed fields

changed /skill_md_contents

BEFORE
"---\nname: tailwind-pinterest-scheduling\ndescription: Create, schedule, and review Pinterest Pins through Tailwind. Use when the user wants to schedule Pins, pick a Pinterest Board, manage drafts, or check what is queued to publish.\n---\n\n# Scheduling Pinterest Pins with Tailwind\n\nThe Tailwind MCP server creates and schedules Pinterest Pins on the user's\nbehalf. Each tool's own description covers its parameters. This file covers the\nthings the tools cannot tell you — the places where a correct-looking call still\nfails.\n\n## Start by resolving the account\n\nEvery tool takes an `accountId`, and it is Tailwind's numeric account ID, not a\nPinterest username or profile URL. Call `list_accounts` first and use an ID from\nthe response. If the user has more than one account and hasn't said which,\nask — publishing to the wrong Pinterest profile is not something you can undo\nfrom here.\n\n## Board IDs are where this usually goes wrong\n\nScheduling requires `boardId`, and it must be the **numeric board ID as a\nstring** — for example `\"1106196864631757445\"`. A Board name, a Pinterest URL,\nor a slug will be rejected.\n\nBoard IDs come from `list_boards`, which takes the account ID and returns each\nBoard's numeric ID and name. Call it rather than asking the user to find an ID\nby hand.\n\nThe same data is also published as a resource:\n\n```\ntailwind://accounts/<accountId>/boards\n```\n\nIf you read it that way, substitute the real account ID — the server advertises\nthe URI with a literal `{accountId}` placeholder, and reading that string\nverbatim will not return the user's Boards. `list_boards` needs no such care,\nwhich is why it is the better route.\n\n## Board sections and several Boards at once\n\nTo publish into a section of a Board, pass `boardSectionId` alongside\n`boardId`. Section IDs come from `list_board_sections`. A section only belongs\nto its own Board, so moving a Pin with `boardId` alone clears whatever section\nit was in.\n\nTo put one Pin on several Boards, pass `intervalBoards` (in publishing order)\nplus `intervalType` in place of `boardId`, on a single scheduled `create_post`\ncall. Tailwind spaces the Boards out over time. Calling `create_post` once per\nBoard instead publishes them all at once. Each Board becomes its own scheduled\nPin and is charged like any other scheduled Pin (see credits below).\n\n## Drafts, scheduling, and editing\n\nA `create_post` call that omits both `sendAt` and `useNextOpenSlot` saves a\ndraft, which is right when the timing is undecided. To schedule in the same\ncall, pass **exactly one** of them, plus `title`, `description`, `url`, and\n`boardId` (or `intervalBoards`). `schedule_post` puts an existing draft or\nqueued Pin on the schedule with the same one-of choice, and expects `title`,\n`description`, and `url` to already be set. A draft saved without a Board also\nneeds `boardId` on that `schedule_post` call.\n\nPrefer `useNextOpenSlot: true` unless the user named a specific time. It takes\nthe account's next open smart schedule slot and applies the account's Pin\nSpacing rules for the destination URL, which a timestamp you invent cannot.\nNever compute a `sendAt` from `list_timeslots`. Reserve `sendAt` for a time the\nuser actually asked for. It must be a future UTC instant ending in `Z`, such as\n`2026-01-15T15:00:00Z`: a local-offset time like `2026-01-15T09:00:00-06:00` is\nrejected as an invalid datetime, so convert the user's local time to UTC first.\n\nAfter scheduling, confirm it landed with `list_posts` using `status: \"queued\"`\nrather than assuming success from the tool's response text.\n\nTo fix a draft or queued Pin's title, description, link, Board, section, alt\ntext, or product tags, use `update_post`. It is free and never changes when the\nPin publishes. Do not delete and recreate a Pin to fix a typo. The image is the\nexception: `update_post` cannot change it, so a new image means `delete_post`\nplus a fresh `create_post`. Pins that Tailwind's AI designed have their own\ndesign tools, starting with `get_pin_design`. Published Pins can't be edited\nthrough Tailwind at all.\n\n## Scheduling spends the user's credits\n\nOn modular-billing accounts, moving a Pin to scheduled consumes a Pin credit\n(or free-trial allowance). Winback plans schedule free, and legacy and Shopify\naccounts spend no credits; each Pin counts against their plan's post limit\ninstead. Saving a draft is always free, and rescheduling an already-queued Pin\nis not charged again.\n\nTwo consequences worth respecting: don't schedule speculatively to \"see if it\nworks\" — create a draft instead. And if a call comes back as a payment-required\nerror, that is a real billing outcome (out of credits, trial exhausted, or no\nplan access), not a transient failure to retry. Tell the user what happened\nrather than trying again.\n\n## When something fails\n\n- **Rejected board ID** — you almost certainly passed a name or URL. Call\n  `list_boards` and use an ID from the response.\n- **Missing required field on a scheduled Pin** — `title`, `description`, `url`,\n  and a Board are required once `sendAt` or `useNextOpenSlot` is present. Either\n  supply them, or drop both timing fields to save a draft instead.\n- **`intervalBoards` rejected** — it also needs `intervalType` and one of\n  `sendAt` or `useNextOpenSlot`, and it can't be combined with `boardId`. A draft\n  can't use it: to save a draft, pass a single `boardId` or no Board at all.\n- **`delete_post` fails** — it only works on Pins that have not published yet.\n  Published Pins have to be removed from Pinterest directly.\n"
AFTER
"---\nname: tailwind-pinterest-scheduling\ndescription: Create, schedule, and review Pinterest Pins through Tailwind. Use when the user wants to schedule Pins, pick a Pinterest Board, manage drafts, or check what is queued to publish.\n---\n\n# Scheduling Pinterest Pins with Tailwind\n\nThe Tailwind MCP server creates and schedules Pinterest Pins on the user's\nbehalf. Each tool's own description covers its parameters. This file covers the\nthings the tools cannot tell you — the places where a correct-looking call still\nfails.\n\n## Start by resolving the account\n\nEvery tool takes an `accountId`, and it is Tailwind's numeric account ID, not a\nPinterest username or profile URL. Call `list_accounts` first and use an ID from\nthe response. If the user has more than one account and hasn't said which,\nask — publishing to the wrong Pinterest profile is not something you can undo\nfrom here.\n\n## Board IDs are where this usually goes wrong\n\nScheduling requires `boardId`, and it must be the **numeric board ID as a\nstring** — for example `\"1106196864631757445\"`. A Board name, a Pinterest URL,\nor a slug will be rejected.\n\nBoard IDs come from `list_boards`, which takes the account ID and returns each\nBoard's numeric ID and name. Call it rather than asking the user to find an ID\nby hand.\n\nThe same data is also published as a resource:\n\n```\ntailwind://accounts/<accountId>/boards\n```\n\nIf you read it that way, substitute the real account ID — the server advertises\nthe URI with a literal `{accountId}` placeholder, and reading that string\nverbatim will not return the user's Boards. `list_boards` needs no such care,\nwhich is why it is the better route.\n\n## Board sections and several Boards at once\n\nTo publish into a section of a Board, pass `boardSectionId` alongside\n`boardId`. Section IDs come from `list_board_sections`. A section only belongs\nto its own Board, so moving a Pin with `boardId` alone clears whatever section\nit was in.\n\nTo put one Pin on several Boards, pass `intervalBoards` (in publishing order)\nplus `intervalType` in place of `boardId`, on a single scheduled `create_post`\ncall. Tailwind spaces the Boards out over time. Calling `create_post` once per\nBoard instead publishes them all at once. Each Board becomes its own scheduled\nPin and is charged like any other scheduled Pin (see credits below).\n\n## Drafts, scheduling, and editing\n\nA `create_post` call that omits both `sendAt` and `useNextOpenSlot` saves a\ndraft, which is right when the timing is undecided. The draft is saved in\nTailwind only: nothing is created on Pinterest, so it does not appear in\nPinterest's own drafts or on the user's profile. It enters Tailwind's\npublishing flow only once it is scheduled with `schedule_post`, so never tell\nthe user to look for it on Pinterest. To schedule in the same\ncall, pass **exactly one** of them, plus `title`, `description`, `url`, and\n`boardId` (or `intervalBoards`). `schedule_post` puts an existing draft or\nqueued Pin on the schedule with the same one-of choice, and expects `title`,\n`description`, and `url` to already be set. A draft saved without a Board also\nneeds `boardId` on that `schedule_post` call.\n\nPrefer `useNextOpenSlot: true` unless the user named a specific time. It takes\nthe account's next open smart schedule slot and applies the account's Pin\nSpacing rules for the destination URL, which a timestamp you invent cannot.\nNever compute a `sendAt` from `list_timeslots`. Reserve `sendAt` for a time the\nuser actually asked for. It must be a future UTC instant ending in `Z`, such as\n`2026-01-15T15:00:00Z`: a local-offset time like `2026-01-15T09:00:00-06:00` is\nrejected as an invalid datetime, so convert the user's local time to UTC first.\n\nAn explicit `sendAt` only sets the Pin's first publish time. It is not an\nexemption from Pin Spacing: a later respace or schedule shuffle can still move\nthe Pin, and no tool can lock it in place. To see how far apart Pins to a URL\nwill land, call `get_pin_spacing_rule` with that URL, or\n`list_pin_spacing_rules` for every rule on the account. The rules themselves\ncan only be changed in the Tailwind dashboard.\n\nAfter scheduling, confirm it landed with `list_posts` using `status: \"queued\"`\nrather than assuming success from the tool's response text.\n\nTo fix a draft or queued Pin's title, description, link, Board, section, alt\ntext, or product tags, use `update_post`. It is free and never changes when the\nPin publishes. Do not delete and recreate a Pin to fix a typo. The image is the\nexception: `update_post` cannot change it, so a new image means `delete_post`\nplus a fresh `create_post`. Pins that Tailwind's AI designed have their own\ndesign tools, starting with `get_pin_design`. Published Pins can't be edited\nthrough Tailwind at all.\n\nTo take a queued Pin off the schedule without losing it, for example to hold\nback a time-sensitive Pin, use `unschedule_post`. The Pin goes back to draft with\nits image, copy and Board intact, and the credit charged for scheduling it is\nreturned where one was taken. Scheduling it again charges again. Do not\n`delete_post` a queued Pin just to stop it publishing.\n\n## Scheduling spends the user's credits\n\nOn modular-billing accounts, moving a Pin to scheduled consumes a Pin credit\n(or free-trial allowance). Winback plans schedule free, and legacy and Shopify\naccounts spend no credits; each Pin counts against their plan's post limit\ninstead. Saving a draft is always free, and rescheduling an already-queued Pin\nis not charged again.\n\nTwo consequences worth respecting: don't schedule speculatively to \"see if it\nworks\" — create a draft instead. And if a call comes back as a payment-required\nerror, that is a real billing outcome (out of credits, trial exhausted, or no\nplan access), not a transient failure to retry. Tell the user what happened\nrather than trying again.\n\n## When something fails\n\n- **Rejected board ID** — you almost certainly passed a name or URL. Call\n  `list_boards` and use an ID from the response.\n- **Missing required field on a scheduled Pin** — `title`, `description`, `url`,\n  and a Board are required once `sendAt` or `useNextOpenSlot` is present. Either\n  supply them, or drop both timing fields to save a draft instead.\n- **`intervalBoards` rejected** — it also needs `intervalType` and one of\n  `sendAt` or `useNextOpenSlot`, and it can't be combined with `boardId`. A draft\n  can't use it: to save a draft, pass a single `boardId` or no Board at all.\n- **`delete_post` fails** — it only works on Pins that have not published yet.\n  Published Pins have to be removed from Pinterest directly.\n"
Full snapshot data
{
  "description": "Create, schedule, and review Pinterest Pins through Tailwind. Use when the user wants to schedule Pins, pick a Pinterest Board, manage drafts, or check what is queued to publish.",
  "included_files": [],
  "name": "tailwind-pinterest-scheduling",
  "skill_md_contents": "---\nname: tailwind-pinterest-scheduling\ndescription: Create, schedule, and review Pinterest Pins through Tailwind. Use when the user wants to schedule Pins, pick a Pinterest Board, manage drafts, or check what is queued to publish.\n---\n\n# Scheduling Pinterest Pins with Tailwind\n\nThe Tailwind MCP server creates and schedules Pinterest Pins on the user's\nbehalf. Each tool's own description covers its parameters. This file covers the\nthings the tools cannot tell you — the places where a correct-looking call still\nfails.\n\n## Start by resolving the account\n\nEvery tool takes an `accountId`, and it is Tailwind's numeric account ID, not a\nPinterest username or profile URL. Call `list_accounts` first and use an ID from\nthe response. If the user has more than one account and hasn't said which,\nask — publishing to the wrong Pinterest profile is not something you can undo\nfrom here.\n\n## Board IDs are where this usually goes wrong\n\nScheduling requires `boardId`, and it must be the **numeric board ID as a\nstring** — for example `\"1106196864631757445\"`. A Board name, a Pinterest URL,\nor a slug will be rejected.\n\nBoard IDs come from `list_boards`, which takes the account ID and returns each\nBoard's numeric ID and name. Call it rather than asking the user to find an ID\nby hand.\n\nThe same data is also published as a resource:\n\n```\ntailwind://accounts/<accountId>/boards\n```\n\nIf you read it that way, substitute the real account ID — the server advertises\nthe URI with a literal `{accountId}` placeholder, and reading that string\nverbatim will not return the user's Boards. `list_boards` needs no such care,\nwhich is why it is the better route.\n\n## Board sections and several Boards at once\n\nTo publish into a section of a Board, pass `boardSectionId` alongside\n`boardId`. Section IDs come from `list_board_sections`. A section only belongs\nto its own Board, so moving a Pin with `boardId` alone clears whatever section\nit was in.\n\nTo put one Pin on several Boards, pass `intervalBoards` (in publishing order)\nplus `intervalType` in place of `boardId`, on a single scheduled `create_post`\ncall. Tailwind spaces the Boards out over time. Calling `create_post` once per\nBoard instead publishes them all at once. Each Board becomes its own scheduled\nPin and is charged like any other scheduled Pin (see credits below).\n\n## Drafts, scheduling, and editing\n\nA `create_post` call that omits both `sendAt` and `useNextOpenSlot` saves a\ndraft, which is right when the timing is undecided. The draft is saved in\nTailwind only: nothing is created on Pinterest, so it does not appear in\nPinterest's own drafts or on the user's profile. It enters Tailwind's\npublishing flow only once it is scheduled with `schedule_post`, so never tell\nthe user to look for it on Pinterest. To schedule in the same\ncall, pass **exactly one** of them, plus `title`, `description`, `url`, and\n`boardId` (or `intervalBoards`). `schedule_post` puts an existing draft or\nqueued Pin on the schedule with the same one-of choice, and expects `title`,\n`description`, and `url` to already be set. A draft saved without a Board also\nneeds `boardId` on that `schedule_post` call.\n\nPrefer `useNextOpenSlot: true` unless the user named a specific time. It takes\nthe account's next open smart schedule slot and applies the account's Pin\nSpacing rules for the destination URL, which a timestamp you invent cannot.\nNever compute a `sendAt` from `list_timeslots`. Reserve `sendAt` for a time the\nuser actually asked for. It must be a future UTC instant ending in `Z`, such as\n`2026-01-15T15:00:00Z`: a local-offset time like `2026-01-15T09:00:00-06:00` is\nrejected as an invalid datetime, so convert the user's local time to UTC first.\n\nAn explicit `sendAt` only sets the Pin's first publish time. It is not an\nexemption from Pin Spacing: a later respace or schedule shuffle can still move\nthe Pin, and no tool can lock it in place. To see how far apart Pins to a URL\nwill land, call `get_pin_spacing_rule` with that URL, or\n`list_pin_spacing_rules` for every rule on the account. The rules themselves\ncan only be changed in the Tailwind dashboard.\n\nAfter scheduling, confirm it landed with `list_posts` using `status: \"queued\"`\nrather than assuming success from the tool's response text.\n\nTo fix a draft or queued Pin's title, description, link, Board, section, alt\ntext, or product tags, use `update_post`. It is free and never changes when the\nPin publishes. Do not delete and recreate a Pin to fix a typo. The image is the\nexception: `update_post` cannot change it, so a new image means `delete_post`\nplus a fresh `create_post`. Pins that Tailwind's AI designed have their own\ndesign tools, starting with `get_pin_design`. Published Pins can't be edited\nthrough Tailwind at all.\n\nTo take a queued Pin off the schedule without losing it, for example to hold\nback a time-sensitive Pin, use `unschedule_post`. The Pin goes back to draft with\nits image, copy and Board intact, and the credit charged for scheduling it is\nreturned where one was taken. Scheduling it again charges again. Do not\n`delete_post` a queued Pin just to stop it publishing.\n\n## Scheduling spends the user's credits\n\nOn modular-billing accounts, moving a Pin to scheduled consumes a Pin credit\n(or free-trial allowance). Winback plans schedule free, and legacy and Shopify\naccounts spend no credits; each Pin counts against their plan's post limit\ninstead. Saving a draft is always free, and rescheduling an already-queued Pin\nis not charged again.\n\nTwo consequences worth respecting: don't schedule speculatively to \"see if it\nworks\" — create a draft instead. And if a call comes back as a payment-required\nerror, that is a real billing outcome (out of credits, trial exhausted, or no\nplan access), not a transient failure to retry. Tell the user what happened\nrather than trying again.\n\n## When something fails\n\n- **Rejected board ID** — you almost certainly passed a name or URL. Call\n  `list_boards` and use an ID from the response.\n- **Missing required field on a scheduled Pin** — `title`, `description`, `url`,\n  and a Board are required once `sendAt` or `useNextOpenSlot` is present. Either\n  supply them, or drop both timing fields to save a draft instead.\n- **`intervalBoards` rejected** — it also needs `intervalType` and one of\n  `sendAt` or `useNextOpenSlot`, and it can't be combined with `boardId`. A draft\n  can't use it: to save a draft, pass a single `boardId` or no Board at all.\n- **`delete_post` fails** — it only works on Pins that have not published yet.\n  Published Pins have to be removed from Pinterest directly.\n"
}

SHA-256 of public snapshot: e3e793ae7ba0abecfa3c6e21cf0e66cfe77a8d5b4fa2352e33452276890bb058