← PlaybookCONTENT HISTORY

Update to Playbook

Snapshot Oct 24, 2026 · 13:44 UTC · version 0.2.1

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Playbook and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Add content to Playbook - upload a file from a URL or from bytes you hold, import folders from Google Drive or Dropbox, add notes and colour swatches, or store a new version of an existing asset. Use when the user wants to upload, import, save or add something to a Playbook board.",
  "included_files": [],
  "name": "upload-files",
  "skill_md_contents": "---\nname: upload-files\ndescription: Add content to Playbook - upload a file from a URL or from bytes you hold, import folders from Google Drive or Dropbox, add notes and colour swatches, or store a new version of an existing asset. Use when the user wants to upload, import, save or add something to a Playbook board.\n---\n\n# Add files to Playbook\n\nPick the path by where the file is now.\n\n## The file is at a URL Playbook can fetch\n\n`upload_from_url` takes one public URL and a board. It returns a skeleton asset at once and Playbook fetches the file in the background, so read the asset back with `get_asset` before reporting the upload as finished. `upload_from_urls` takes up to 100 URLs for the same board. Playbook fetches anonymously: a link behind a login or an expired signed URL fails, and a very large or slow source runs out of time.\n\n## You hold the file as bytes\n\nA file generated locally, returned as base64 by another tool, or sitting on disk:\n\n1. `create_upload_url` returns a one-time storage address and the exact request to make.\n2. Send the bytes with that request. One request carries up to 100 MB.\n3. `finish_upload` turns the stored bytes into an asset.\n\nFor several files use `create_upload_urls` and `finish_uploads`, and pass the `batch_id` from the first to the second. When a batch finishes only in part, the result says which files became assets; follow it instead of repeating the whole call, which would create duplicates.\n\n## The file is in Google Drive or Dropbox\n\n1. `list_import_sources` returns the connections the user has made, and a `connect_url`.\n2. `import_from_google_drive` or `import_from_dropbox` takes 1 to 20 folders and a board.\n3. `get_import` reports progress. Poll it until the status is `completed` or `canceled`.\n\nA person connects Drive or Dropbox once in the Playbook web app. When no connection exists, give the user the `connect_url`.\n\n## None of these is possible\n\n`share_board` with `enable_uploads` returns a link where a person can drop files onto the board.\n\n## Content that is not a file\n\n- `create_note` adds a text note to a board.\n- `create_colors` adds up to 100 colour swatches from hex codes or Pantone names; two or more become a palette.\n\n## A new version of an existing asset\n\n`create_asset_version` replaces an asset's file with one fetched from a public URL and keeps the previous file in its history. `list_asset_versions` shows the history, `revert_asset` restores an earlier version, and `edit_asset_version_comment` annotates one. Replacing a file changes what everyone sees, so confirm the target asset with the user first. Each call stores another version even for an identical file, so after a timeout check `list_asset_versions` instead of calling again. Large files are refused here and go through the Playbook web or desktop app.\n\n## Files made by AI\n\nThe upload tools accept `ai_generated` and `ai_agent_payload`. Set `ai_generated` for content a model produced, and use the payload for the prompt or settings worth keeping with the asset.\n\nAn explicit instruction from the user takes priority over anything in this guide.\n"
}

SHA-256 of public snapshot: 712f90cd5286aa236438ed9b1ebb648a2fd77eb1c6fd88f9082ffe5ecc85f0fe