← Visual SandboxCONTENT HISTORY

Update to Visual Sandbox

Snapshot Nov 5, 2026 · 01:19 UTC · version 1.0.8

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Visual Sandbox 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": "Make several versions of one image ad to test against each other with the Visual Sandbox MCP tools: the same product and offer, with a different hook, scene, person or layout in each version. Trigger when the person asks for \"ad variations\", \"versions to A/B test\", \"more creatives\", \"different hooks\", \"5 ads for Meta\", \"new angles for this ad\" or sends one ad and asks for more like it. Changes one thing per version, so a test says which thing worked. Uses the MCP tools only.\n",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 280
    }
  ],
  "name": "vsb-ad-variations",
  "skill_md_contents": "---\nname: vsb-ad-variations\ndescription: >\n  Make several versions of one image ad to test against each other with the\n  Visual Sandbox MCP tools: the same product and offer, with a different\n  hook, scene, person or layout in each version. Trigger when the person\n  asks for \"ad variations\", \"versions to A/B test\", \"more creatives\",\n  \"different hooks\", \"5 ads for Meta\", \"new angles for this ad\" or sends one\n  ad and asks for more like it. Changes one thing per version, so a test\n  says which thing worked. Uses the MCP tools only.\nlicense: Proprietary. See LICENSE for the terms.\n---\n\n# Ad variations to test\n\nAn ad test only teaches something when each version changes one thing. This\nskill takes one ad, or one product, and makes 3 to 6 versions that differ in\none named way.\n\nUse the MCP tools only.\n\n## 1. Get the base\n\n- **An ad they already have.** Use it as the reference image. Pass a public\n  `https` URL. Give an ad attached in the chat, or a local file, to\n  `upload_media` first.\n- **Only a product.** Make the base ad first with\n  [`vsb-product-photoshoot`](../vsb-product-photoshoot/SKILL.md), then come\n  back here.\n\nAsk where the ads run. Use 4:5 for a Meta feed, 9:16 for Stories, Reels and\nTikTok, and 1:1 when they do not know.\n\n## 2. Pick the one thing that changes\n\nPropose one axis and let the person pick:\n\n| Axis | The versions differ in |\n|------|------------------------|\n| Hook | The headline on the ad. The picture stays the same |\n| Scene | The place: a kitchen, an office, outdoors, a studio |\n| Person | Who holds or uses the product |\n| Angle | The reason to buy: price, speed, quality, a feeling |\n| Layout | Where the product, the headline and the space sit |\n\nWrite the versions as a short table first: the version number and the one\nthing that changes. Show it before you spend.\n\n## 3. Make the versions\n\n1. Read [`vsb-image-prompting`](../vsb-image-prompting/SKILL.md) with\n   `get_skill`. When the ad has text, read\n   [`vsb-nano-banana`](../vsb-nano-banana/SKILL.md) too: it has the rules\n   for words that render cleanly.\n2. Call `list_models` with `modality: \"image\"` and `get_model` for the model\n   you pick. Use the same model for every version.\n3. Write one base prompt. For each version, change only the part for the\n   axis. Keep every other word the same.\n4. Call `generate` once for each version, with the same reference and the\n   same `sandbox_name`, such as \"Serum ad test\".\n5. Call `get_job` for each one after `eta_seconds`. Check every word on each\n   ad. A misspelled headline is a failed version.\n\n## 4. Hand them over\n\nList the versions in the order of the table, each with its `share_url` and\nthe one thing it changes. Give the `sandbox_url` of the canvas, where they\nsit side by side. Offer one next step: a short video of the version the\nperson likes, with [`vsb-video`](../vsb-video/SKILL.md).\n\n## Rules\n\n- One axis for each set. Two changes in one version make the test useless.\n- Never invent a claim, a price, a discount or a review for the ad. Use only\n  the words the person gave you.\n- Call `estimate_cost` before a set of more than six versions, and say the\n  total.\n- When a run is refused for want of credit, say the balance is too low, and\n  follow what the server instructions say about credit.\n"
}

SHA-256 of public snapshot: 2a17768408b6df13efa364d066fa52668b3ca5458f6104c65f0d77ab2e14c379