← WistiaCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Wistia
Snapshot Sep 30, 2026 · 22:53 UTC · version 3.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "wistia-video-upload",
"description": "Runs the standard set of setup steps for a new Wistia video: folder placement, tagging, metadata (title/description), and player customizations (captions/branding). Use this skill whenever the user asks to upload a video to Wistia via Claude, or references a video they just uploaded and wants it set up/organized/finished/published. Trigger on phrases like \"upload this to Wistia\", \"set up this video\", \"finish setting up the video I just uploaded\", \"organize this video\", \"run the upload checklist\", or when a Wistia hashed_id/URL is shared right after an upload. Do NOT trigger for general Wistia analytics, editing, or remix requests that aren't about onboarding a newly uploaded video.",
"included_files": [],
"skill_md_contents": "---\nname: wistia-video-upload\ndescription: >\n Runs the standard set of setup steps for a new Wistia video: folder placement, tagging,\n metadata (title/description), and player customizations (captions/branding). Use this\n skill whenever the user asks to upload a video to Wistia via Claude, or references a\n video they just uploaded and wants it set up/organized/finished/published. Trigger on\n phrases like \"upload this to Wistia\", \"set up this video\", \"finish setting up the video\n I just uploaded\", \"organize this video\", \"run the upload checklist\", or when a Wistia\n hashed_id/URL is shared right after an upload. Do NOT trigger for general Wistia\n analytics, editing, or remix requests that aren't about onboarding a newly uploaded video.\n---\n\n# Wistia Video Upload Workflow\n\n## Welcome message\n\nShow this to the user before starting the workflow:\n\n> Let's finish setting up your new video: folder, tags, title, description, captions, and branding.\n>\n> Have the video file or URL ready if it's not uploaded yet. Know which folder it belongs in? Even better, though not required.\n>\n> When we're done, it'll be fully organized and ready to publish.\n\n---\n\nRuns Wistia's standard new-video setup: folder placement, tagging, metadata, and player\ncustomizations. Works whether the user is uploading a video through Claude right now or\npointing at a video they just uploaded some other way.\n\nAll Wistia actions use the Wistia MCP tools — call `tool_search` for the relevant tool name\n(e.g. \"wistia folders\", \"wistia tags\", \"wistia update media\") before each new tool family,\nsince these are deferred tools and their exact parameters aren't in context by default.\n\n---\n\n## Step 0: Identify the video\n\n- **New upload**: if the user is providing a file or URL to upload, hold off on calling\n `upload-media-to-folder` / `import-media-from-url` until Step 1 (folder) is resolved —\n folder is required at upload time for `upload-media-to-folder`.\n- **Existing/recent upload**: if the user references a video without a hashed_id (e.g. \"the\n video I just uploaded\"), use `get-medias` (sorted by most recent) to find the likely match\n and confirm the title with the user before proceeding. If a hashed_id or Wistia URL is\n given directly, use `get-medias` to pull its current details as a baseline.\n\nNever guess a hashed_id. If there's any ambiguity about which video, ask.\n\n---\n\n## Step 1: Folder placement (always ask)\n\nFolder is never inferred — always ask the user which folder/project this belongs in, every\ntime, even if a recent chat used the same folder.\n\n1. Call `get-folders` to list current folders so you can offer real options rather than\n guessing names.\n2. Ask the user which folder to use (or whether to create a new one).\n3. If new upload: pass the folder into `upload-media-to-folder` directly. If existing video:\n use `move-media` to relocate it.\n4. If the user wants a new folder, use `create-folder` first, then place the video there.\n\n---\n\n## Step 2: Metadata (title & description)\n\nWrite clean, sensible title and description copy from context — the video's existing title,\nany source material discussed in the conversation, and the folder/purpose. There's no fixed\nnaming convention to follow, so use good judgment: clear, specific, human-readable.\n\n- Apply directly via `update-media` (no need to ask for approval first).\n- Always show the user what title/description was set as part of your final summary, so\n they can ask for edits if it's off.\n\n---\n\n## Step 3: Tagging (confirm before applying)\n\nUnlike metadata, tags are **not** applied without confirmation.\n\n1. Call `get-tags` to pull the account's existing tag list.\n2. Suggest tags for this video by matching against the existing taxonomy first — reuse\n existing tags wherever they reasonably fit rather than inventing near-duplicates (e.g.\n don't create \"onboarding-video\" if \"Onboarding\" already exists).\n3. Only propose a brand-new tag if nothing in the existing list fits.\n4. Present the proposed tag list to the user and wait for confirmation (or edits) before\n applying anything.\n5. Once confirmed: use `create-tags` for any genuinely new tags, then `bulk-tag-media` (or\n the single-media tagging path) to apply the final set.\n\n---\n\n## Step 4: Player customizations (standard preset — apply directly)\n\nThe standard preset is: **use Wistia's account-level defaults, and make sure captions and\nbranding are turned on.** No per-video customization, no need to ask — just verify and fix\nthese two things:\n\n1. **Captions**: check `get-captions` / `show-accessibility-customizations` for this media.\n - If captions already exist and are enabled, leave as-is.\n - If captions exist but are disabled, enable them via\n `update-accessibility-customizations`.\n - If no captions exist, note it in your summary and point the user to caption\n generation in the Wistia app — don't generate captions from here.\n - Note in your summary if caption generation is still processing (it's async — use\n `get-background-job-status` if you need to check on it), since it won't be instant.\n2. **Branding**: check `show-sharing-customizations` and/or `show-appearance-customizations`\n for this media to see whether Wistia branding is currently shown or hidden.\n - If branding is off, turn it back on (account default) via the corresponding\n `update-*-customizations` call.\n - If branding is already on (the default), leave everything else untouched — don't apply\n any other appearance changes.\n\nDo not touch thumbnail, colors, CTAs, or other appearance settings beyond this — those stay\nat whatever the account default already is.\n\n---\n\n## Step 5: Summary\n\nEnd with a short, concrete recap of what was actually done, e.g.:\n\n```\n✅ Video: [title] ([hashed_id])\n📁 Folder: [folder name]\n🏷️ Tags: [tag1, tag2, ...]\n📝 Title: [title set]\n📝 Description: [description set]\n🎬 Captions: [on / processing / already present / missing — add in Wistia]\n🎨 Branding: [on (default) / re-enabled]\n```\n\nIf anything is still pending (e.g. captions processing), say so explicitly rather than\nimplying the checklist is fully done.\n\n---\n\n## Handling gaps and edge cases\n\n- **Can't find the video** → ask for the hashed_id or Wistia share URL directly rather than\n guessing from `get-medias`.\n- **No folders exist yet** → offer to create one before proceeding; don't default to \"no\n folder\" silently.\n- **Ambiguous tag match** (e.g. both \"Webinar\" and \"Webinars\" exist) → surface the ambiguity\n to the user in the confirmation step rather than picking one.\n- **Caption generation still processing** → just note the pending status in the summary.\n- **User only wants part of the checklist** (e.g. \"just tag this one\") → run only the\n requested step(s), skip the rest, and don't ask about folder/customizations unless they\n bring it up.\n"
}SHA-256: 3c4e9dda0971d624a3721b878bd11ea73a65229a7e807e339ce9dd5f7dbaa50b