← OrshotCONTENT HISTORY

Update to Orshot

Snapshot Oct 24, 2026 · 12:51 UTC · version 3.3.0

Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED

Instructions updated for orshot-design

Full description — Now says: thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion),

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

Save Orshot and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

Full description

Before

Sep 30, 2026 · 22:48 UTC

thumbnails. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color),

After

Oct 24, 2026 · 12:51 UTC

thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion),

Skill instructions

Before

Sep 30, 2026 · 22:48 UTC

thumbnails. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create...

After

Oct 24, 2026 · 12:51 UTC

thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat by type, and runs a ...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -1,9 +1,9 @@
 ---
 name: orshot-design
-description: Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools.
+description: Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools.
 metadata:
   author: Rishi Mohan
-  version: "1.0.0"
+  version: "1.1.0"
   mcp-server: orshot
 ---
 
@@ -22,7 +22,7 @@
 ## Boundaries
 - This is design guidance — it does NOT replace the schema spec. Style values are always
   strings with units; `position`/`dimensions` are nested objects. See Compatibility below.
-- It composes with the `orshot` skill (API/generation mechanics) — use that to render.
+- To render, use the Orshot MCP render tools (`orshot_render_template`, or `orshot_verify_design` to render and check in one call).
 
 ## Operating principle
 **Design serves the task.** Decide the ONE thing the viewer must take away, then make
@@ -82,6 +82,25 @@
   canvas/container→"backgroundColor").
 - Shapes with transparent fill + a border render nothing; SVG `content` must be a data-URI.
 
+## Motion & audio (video templates)
+Making video look designed, not generated:
+- **Reveal in sections over ~4–5s.** Elements that form one unit (icon+label, a spec row,
+  the footer) share the SAME `enter` type and `showAt`; stagger ~0.3–0.5s BETWEEN sections in
+  reading order. `showAt`/`hideAt` are siblings of `enter`/`exit` — never nested inside them.
+- **Every full-bleed photo gets a `kenBurns` ambient** (zoom 1.08–1.15). A still photo held
+  3 seconds reads as a dead frame; a slow push reads as footage. Alternate `panX` direction
+  between pages.
+- **Ambient stays subtle and SLOW** — 6–10s cycles against a 0.5s enter. If the viewer can
+  name the motion it is too strong, unless it is a deliberate accent (a badge that wiggles).
+  `shake`/`slowRotate` need `easing: "linear"` or the loop seam shows.
+- **One `pageTransition` for the whole video**, 0.3–0.5s. A different transition per cut is
+  the clearest tell of an auto-generated edit.
+- **Sound default**: narration track at volume 1 + a restrained generated ambient bed
+  (`sfx`, volume 0.08–0.18, loop) + `page.subtitle { source: "auto-audio" }` with a caption
+  preset (`karaoke`/`bold`) and strokeWidth 2–3 over busy footage. Budget narration at
+  ~2 words/second with 1s headroom. Call `orshot_get_audio_authoring_options` before
+  authoring generated audio; give `tts.parameterId` so spoken copy stays a render parameter.
+
 ## Anti-patterns (the AI-slop tells — avoid)
 - Everything centered and stacked; no focal point.
 - 3+ fonts, or random sizes with no hierarchy.
Full technical diff · 2 changed fields

changed /description

BEFORE
"Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools."
AFTER
"Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools."

changed /skill_md_contents

BEFORE
"---\nname: orshot-design\ndescription: Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools.\nmetadata:\n  author: Rishi Mohan\n  version: \"1.0.0\"\n  mcp-server: orshot\n---\n\n# Orshot Design — the craft layer\n\nMake Orshot studio templates that look trendy and professionally designed, not the\ngeneric centered-text \"AI\" look. This skill is the knowledge layer on top of the Orshot\nMCP server's design tools (`orshot_create_template_design`, `orshot_update_template_design`,\n`orshot_patch_template_elements`, `orshot_get_brand_kit`).\n\n## When to use\nUse whenever you are designing or refining a visual template: a social post/story/carousel,\nan ad creative, a banner, a thumbnail, a launch graphic. For the studio element schema and\nrender gotchas, also consult the MCP resource `orshot://template-design-spec`.\n\n## Boundaries\n- This is design guidance — it does NOT replace the schema spec. Style values are always\n  strings with units; `position`/`dimensions` are nested objects. See Compatibility below.\n- It composes with the `orshot` skill (API/generation mechanics) — use that to render.\n\n## Operating principle\n**Design serves the task.** Decide the ONE thing the viewer must take away, then make\neverything support it. Respect the brand and the platform over generic prettiness. Prefer\nthe deterministic rules below over subjective iteration.\n\n## Required workflow (in order)\n1. **Shape** — restate the goal, audience, and the single key message before placing anything.\n2. **Inherit the brand (when on-brand)** — IF the design should match the user's\n   brand/product (the prompt implies it, or asks for \"our\" style), call `orshot_get_brand_kit`\n   (tag-filter to the purpose) and map brand colors/fonts/logo onto the roles in Systems. If\n   the prompt asks for a generic/standalone look, use the pack defaults — don't force brand in.\n3. **Pick the vertical pack** — read the matching file in `references/` (e.g.\n   `references/social-media.md`) for format, safe areas, archetypes, and a concrete recipe.\n   Choose a DIFFERENT archetype from recent templates of this type.\n4. **Build** — establish one focal element, then support it. Keep the design simple on the\n   first create; refine in a follow-up update.\n5. **Critique** — create/update with `includeThumbnails:true`, READ the thumbnail, and fix\n   issues with `orshot_update_template_design` / `orshot_patch_template_elements`. Never ship\n   the first pass unseen. (The create tool also returns a \"🎨 Design check\" — resolve its ⚠s.)\n\n## Systems\n- **Hierarchy** — one clear focal point via size, weight, and position. Not everything centered.\n- **Typography** — exactly **2 font families** (display + body). Hierarchy from scale/weight.\n  Tight `lineHeight` (1.0–1.15) and slightly negative `letterSpacing` on large display type.\n  Heaviest brand font → display, lighter → body.\n- **Color — 60-30-10** — 60% dominant, 30% secondary, 10% accent. Cohesive palette beats more\n  colors. Clear WCAG AA contrast. Map brand colors to roles by USAGE, not by \"primary\" label.\n- **Composition & space** — generous margins (≥ ~6% of canvas per edge), align to an implied\n  grid, prefer off-center over dead-center stacking.\n- **Imagery** — full-bleed or intentionally framed; `objectFit:\"cover\"` for photos; add a\n  gradient scrim under text over busy photos.\n\n## Brand (contextual — not mandatory)\nUse the brand kit WHEN the design should be on-brand (the prompt references the user's brand,\nproduct, or identity): colors → 60-30-10 roles, fonts → display/body, logo → a small\ncorner/footer mark, images → hero/product. For a generic/exploratory/standalone look, the\npack palette is fine — don't force brand assets in.\n\n## Variety\n**Never repeat a layout for the same content type.** Vary archetype, focal placement, and\ncolor emphasis between designs of the same kind.\n\n## Compatibility (get these right or the render silently breaks)\n- ALL style values are **strings with units**: `\"48px\"`, `\"700\"`, `\"12px\"` — never bare numbers.\n- `position` and `dimensions` are **nested objects** (`{x,y}`, `{width,height}`).\n- **Set `textMode:\"fit\"` + `minFontSize` on EVERY text element** (floors: headline 48,\n  subtitle 28, body 24, kicker 18, caption 14). The default `\"overflow\"` does not shrink or\n  reflow — long/parameterized text spills out of its box.\n- Line breaks: use `\\n`, **NEVER `<br>`**; avoid multiple `<p>` blocks (they overlap). For a\n  multi-line headline with one accent-colored word, use one text element per line.\n- A **background-highlight `<span>` (colored pill) forces the whole element to one line**\n  (`white-space: nowrap`) → overflow on long text. Highlight only 1–3 words; for long\n  headlines use `color` emphasis (no background) or split per line.\n- Parameterizable fields need `parameterizable:true`, a unique snake_case `parameterId`, and a\n  `parameterType` matching the element (text→\"text\", image→\"imageUrl\", shape→\"fill\",\n  canvas/container→\"backgroundColor\").\n- Shapes with transparent fill + a border render nothing; SVG `content` must be a data-URI.\n\n## Anti-patterns (the AI-slop tells — avoid)\n- Everything centered and stacked; no focal point.\n- 3+ fonts, or random sizes with no hierarchy.\n- Low-contrast text on a busy photo with no scrim.\n- Forcing brand assets when the prompt didn't ask for an on-brand design (or ignoring the kit when it clearly did).\n- A tiny headline above a paragraph of body copy (a template is not a document).\n- Re-emitting the previous layout for the same content type.\n\n## Vertical packs (progressive disclosure)\nRead the one matching the task — each adds format/safe-areas, archetypes, and a recipe:\n- `references/social-media.md` — posts, stories, carousels.\n- (more verticals — ads, real-estate, e-commerce — added here over time.)\n\n## Examples\n\n### Example 1 — \"Make an Instagram post announcing our new feature\"\n1. `orshot_get_brand_kit` (tags: \"social-media\") → brand colors/fonts/logo.\n2. Read `references/social-media.md` → default 4:5 portrait 1080×1350; pick the `type-hero`\n   archetype (different from the last post).\n3. `orshot_create_template_design` with brand display font for an oversized headline, brand\n   dominant color as background, accent color on one word, logo + @handle footer,\n   `includeThumbnails:true`.\n4. Read the thumbnail + \"🎨 Design check\"; patch contrast/spacing as needed.\n\n### Example 2 — \"Refine this template, it looks generic\"\n1. `orshot_get_studio_template` to inspect the current design.\n2. Diagnose against Anti-patterns (centered? 3+ fonts? no focal point? brand ignored?).\n3. `orshot_patch_template_elements` to set one focal headline, trim to 2 fonts, apply brand\n   60-30-10, left/bottom-align. Re-render with `includeThumbnails:true` and verify.\n\n## Troubleshooting\n\n**Headline shows on one line / `<br>` ignored.** Use `\\n`, not `<br>`. For a colored word on\na multi-line headline, split into one text element per line.\n\n**Colors/fonts look off-brand.** You skipped step 2 — call `orshot_get_brand_kit` and map the\nreturned `value` (colors) and `name` (fonts) onto the design.\n\n**\"🎨 Design check\" warns about repetition.** This layout matches a recent same-type template.\nSwitch archetype and move the focal point.\n"
AFTER
"---\nname: orshot-design\ndescription: Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools.\nmetadata:\n  author: Rishi Mohan\n  version: \"1.1.0\"\n  mcp-server: orshot\n---\n\n# Orshot Design — the craft layer\n\nMake Orshot studio templates that look trendy and professionally designed, not the\ngeneric centered-text \"AI\" look. This skill is the knowledge layer on top of the Orshot\nMCP server's design tools (`orshot_create_template_design`, `orshot_update_template_design`,\n`orshot_patch_template_elements`, `orshot_get_brand_kit`).\n\n## When to use\nUse whenever you are designing or refining a visual template: a social post/story/carousel,\nan ad creative, a banner, a thumbnail, a launch graphic. For the studio element schema and\nrender gotchas, also consult the MCP resource `orshot://template-design-spec`.\n\n## Boundaries\n- This is design guidance — it does NOT replace the schema spec. Style values are always\n  strings with units; `position`/`dimensions` are nested objects. See Compatibility below.\n- To render, use the Orshot MCP render tools (`orshot_render_template`, or `orshot_verify_design` to render and check in one call).\n\n## Operating principle\n**Design serves the task.** Decide the ONE thing the viewer must take away, then make\neverything support it. Respect the brand and the platform over generic prettiness. Prefer\nthe deterministic rules below over subjective iteration.\n\n## Required workflow (in order)\n1. **Shape** — restate the goal, audience, and the single key message before placing anything.\n2. **Inherit the brand (when on-brand)** — IF the design should match the user's\n   brand/product (the prompt implies it, or asks for \"our\" style), call `orshot_get_brand_kit`\n   (tag-filter to the purpose) and map brand colors/fonts/logo onto the roles in Systems. If\n   the prompt asks for a generic/standalone look, use the pack defaults — don't force brand in.\n3. **Pick the vertical pack** — read the matching file in `references/` (e.g.\n   `references/social-media.md`) for format, safe areas, archetypes, and a concrete recipe.\n   Choose a DIFFERENT archetype from recent templates of this type.\n4. **Build** — establish one focal element, then support it. Keep the design simple on the\n   first create; refine in a follow-up update.\n5. **Critique** — create/update with `includeThumbnails:true`, READ the thumbnail, and fix\n   issues with `orshot_update_template_design` / `orshot_patch_template_elements`. Never ship\n   the first pass unseen. (The create tool also returns a \"🎨 Design check\" — resolve its ⚠s.)\n\n## Systems\n- **Hierarchy** — one clear focal point via size, weight, and position. Not everything centered.\n- **Typography** — exactly **2 font families** (display + body). Hierarchy from scale/weight.\n  Tight `lineHeight` (1.0–1.15) and slightly negative `letterSpacing` on large display type.\n  Heaviest brand font → display, lighter → body.\n- **Color — 60-30-10** — 60% dominant, 30% secondary, 10% accent. Cohesive palette beats more\n  colors. Clear WCAG AA contrast. Map brand colors to roles by USAGE, not by \"primary\" label.\n- **Composition & space** — generous margins (≥ ~6% of canvas per edge), align to an implied\n  grid, prefer off-center over dead-center stacking.\n- **Imagery** — full-bleed or intentionally framed; `objectFit:\"cover\"` for photos; add a\n  gradient scrim under text over busy photos.\n\n## Brand (contextual — not mandatory)\nUse the brand kit WHEN the design should be on-brand (the prompt references the user's brand,\nproduct, or identity): colors → 60-30-10 roles, fonts → display/body, logo → a small\ncorner/footer mark, images → hero/product. For a generic/exploratory/standalone look, the\npack palette is fine — don't force brand assets in.\n\n## Variety\n**Never repeat a layout for the same content type.** Vary archetype, focal placement, and\ncolor emphasis between designs of the same kind.\n\n## Compatibility (get these right or the render silently breaks)\n- ALL style values are **strings with units**: `\"48px\"`, `\"700\"`, `\"12px\"` — never bare numbers.\n- `position` and `dimensions` are **nested objects** (`{x,y}`, `{width,height}`).\n- **Set `textMode:\"fit\"` + `minFontSize` on EVERY text element** (floors: headline 48,\n  subtitle 28, body 24, kicker 18, caption 14). The default `\"overflow\"` does not shrink or\n  reflow — long/parameterized text spills out of its box.\n- Line breaks: use `\\n`, **NEVER `<br>`**; avoid multiple `<p>` blocks (they overlap). For a\n  multi-line headline with one accent-colored word, use one text element per line.\n- A **background-highlight `<span>` (colored pill) forces the whole element to one line**\n  (`white-space: nowrap`) → overflow on long text. Highlight only 1–3 words; for long\n  headlines use `color` emphasis (no background) or split per line.\n- Parameterizable fields need `parameterizable:true`, a unique snake_case `parameterId`, and a\n  `parameterType` matching the element (text→\"text\", image→\"imageUrl\", shape→\"fill\",\n  canvas/container→\"backgroundColor\").\n- Shapes with transparent fill + a border render nothing; SVG `content` must be a data-URI.\n\n## Motion & audio (video templates)\nMaking video look designed, not generated:\n- **Reveal in sections over ~4–5s.** Elements that form one unit (icon+label, a spec row,\n  the footer) share the SAME `enter` type and `showAt`; stagger ~0.3–0.5s BETWEEN sections in\n  reading order. `showAt`/`hideAt` are siblings of `enter`/`exit` — never nested inside them.\n- **Every full-bleed photo gets a `kenBurns` ambient** (zoom 1.08–1.15). A still photo held\n  3 seconds reads as a dead frame; a slow push reads as footage. Alternate `panX` direction\n  between pages.\n- **Ambient stays subtle and SLOW** — 6–10s cycles against a 0.5s enter. If the viewer can\n  name the motion it is too strong, unless it is a deliberate accent (a badge that wiggles).\n  `shake`/`slowRotate` need `easing: \"linear\"` or the loop seam shows.\n- **One `pageTransition` for the whole video**, 0.3–0.5s. A different transition per cut is\n  the clearest tell of an auto-generated edit.\n- **Sound default**: narration track at volume 1 + a restrained generated ambient bed\n  (`sfx`, volume 0.08–0.18, loop) + `page.subtitle { source: \"auto-audio\" }` with a caption\n  preset (`karaoke`/`bold`) and strokeWidth 2–3 over busy footage. Budget narration at\n  ~2 words/second with 1s headroom. Call `orshot_get_audio_authoring_options` before\n  authoring generated audio; give `tts.parameterId` so spoken copy stays a render parameter.\n\n## Anti-patterns (the AI-slop tells — avoid)\n- Everything centered and stacked; no focal point.\n- 3+ fonts, or random sizes with no hierarchy.\n- Low-contrast text on a busy photo with no scrim.\n- Forcing brand assets when the prompt didn't ask for an on-brand design (or ignoring the kit when it clearly did).\n- A tiny headline above a paragraph of body copy (a template is not a document).\n- Re-emitting the previous layout for the same content type.\n\n## Vertical packs (progressive disclosure)\nRead the one matching the task — each adds format/safe-areas, archetypes, and a recipe:\n- `references/social-media.md` — posts, stories, carousels.\n- (more verticals — ads, real-estate, e-commerce — added here over time.)\n\n## Examples\n\n### Example 1 — \"Make an Instagram post announcing our new feature\"\n1. `orshot_get_brand_kit` (tags: \"social-media\") → brand colors/fonts/logo.\n2. Read `references/social-media.md` → default 4:5 portrait 1080×1350; pick the `type-hero`\n   archetype (different from the last post).\n3. `orshot_create_template_design` with brand display font for an oversized headline, brand\n   dominant color as background, accent color on one word, logo + @handle footer,\n   `includeThumbnails:true`.\n4. Read the thumbnail + \"🎨 Design check\"; patch contrast/spacing as needed.\n\n### Example 2 — \"Refine this template, it looks generic\"\n1. `orshot_get_studio_template` to inspect the current design.\n2. Diagnose against Anti-patterns (centered? 3+ fonts? no focal point? brand ignored?).\n3. `orshot_patch_template_elements` to set one focal headline, trim to 2 fonts, apply brand\n   60-30-10, left/bottom-align. Re-render with `includeThumbnails:true` and verify.\n\n## Troubleshooting\n\n**Headline shows on one line / `<br>` ignored.** Use `\\n`, not `<br>`. For a colored word on\na multi-line headline, split into one text element per line.\n\n**Colors/fonts look off-brand.** You skipped step 2 — call `orshot_get_brand_kit` and map the\nreturned `value` (colors) and `name` (fonts) onto the design.\n\n**\"🎨 Design check\" warns about repetition.** This layout matches a recent same-type template.\nSwitch archetype and move the focal point.\n"
Full snapshot data
{
  "description": "Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools.",
  "included_files": [
    {
      "relative_path": "references/social-media.md",
      "size_in_bytes": 4811
    }
  ],
  "name": "orshot-design",
  "skill_md_contents": "---\nname: orshot-design\ndescription: Design trendy, professional, on-brand Orshot studio templates. Use when creating or refining a template design via the Orshot MCP — social posts, ads, stories, carousels, banners, thumbnails, and animated/narrated video templates. Applies the craft rules (clear hierarchy, 2-font typography, 60-30-10 color, restrained motion), consults the brand kit first, varies layouts so designs never repeat by type, and runs a render-and-critique loop. Pairs with the orshot MCP create/update/patch tools.\nmetadata:\n  author: Rishi Mohan\n  version: \"1.1.0\"\n  mcp-server: orshot\n---\n\n# Orshot Design — the craft layer\n\nMake Orshot studio templates that look trendy and professionally designed, not the\ngeneric centered-text \"AI\" look. This skill is the knowledge layer on top of the Orshot\nMCP server's design tools (`orshot_create_template_design`, `orshot_update_template_design`,\n`orshot_patch_template_elements`, `orshot_get_brand_kit`).\n\n## When to use\nUse whenever you are designing or refining a visual template: a social post/story/carousel,\nan ad creative, a banner, a thumbnail, a launch graphic. For the studio element schema and\nrender gotchas, also consult the MCP resource `orshot://template-design-spec`.\n\n## Boundaries\n- This is design guidance — it does NOT replace the schema spec. Style values are always\n  strings with units; `position`/`dimensions` are nested objects. See Compatibility below.\n- To render, use the Orshot MCP render tools (`orshot_render_template`, or `orshot_verify_design` to render and check in one call).\n\n## Operating principle\n**Design serves the task.** Decide the ONE thing the viewer must take away, then make\neverything support it. Respect the brand and the platform over generic prettiness. Prefer\nthe deterministic rules below over subjective iteration.\n\n## Required workflow (in order)\n1. **Shape** — restate the goal, audience, and the single key message before placing anything.\n2. **Inherit the brand (when on-brand)** — IF the design should match the user's\n   brand/product (the prompt implies it, or asks for \"our\" style), call `orshot_get_brand_kit`\n   (tag-filter to the purpose) and map brand colors/fonts/logo onto the roles in Systems. If\n   the prompt asks for a generic/standalone look, use the pack defaults — don't force brand in.\n3. **Pick the vertical pack** — read the matching file in `references/` (e.g.\n   `references/social-media.md`) for format, safe areas, archetypes, and a concrete recipe.\n   Choose a DIFFERENT archetype from recent templates of this type.\n4. **Build** — establish one focal element, then support it. Keep the design simple on the\n   first create; refine in a follow-up update.\n5. **Critique** — create/update with `includeThumbnails:true`, READ the thumbnail, and fix\n   issues with `orshot_update_template_design` / `orshot_patch_template_elements`. Never ship\n   the first pass unseen. (The create tool also returns a \"🎨 Design check\" — resolve its ⚠s.)\n\n## Systems\n- **Hierarchy** — one clear focal point via size, weight, and position. Not everything centered.\n- **Typography** — exactly **2 font families** (display + body). Hierarchy from scale/weight.\n  Tight `lineHeight` (1.0–1.15) and slightly negative `letterSpacing` on large display type.\n  Heaviest brand font → display, lighter → body.\n- **Color — 60-30-10** — 60% dominant, 30% secondary, 10% accent. Cohesive palette beats more\n  colors. Clear WCAG AA contrast. Map brand colors to roles by USAGE, not by \"primary\" label.\n- **Composition & space** — generous margins (≥ ~6% of canvas per edge), align to an implied\n  grid, prefer off-center over dead-center stacking.\n- **Imagery** — full-bleed or intentionally framed; `objectFit:\"cover\"` for photos; add a\n  gradient scrim under text over busy photos.\n\n## Brand (contextual — not mandatory)\nUse the brand kit WHEN the design should be on-brand (the prompt references the user's brand,\nproduct, or identity): colors → 60-30-10 roles, fonts → display/body, logo → a small\ncorner/footer mark, images → hero/product. For a generic/exploratory/standalone look, the\npack palette is fine — don't force brand assets in.\n\n## Variety\n**Never repeat a layout for the same content type.** Vary archetype, focal placement, and\ncolor emphasis between designs of the same kind.\n\n## Compatibility (get these right or the render silently breaks)\n- ALL style values are **strings with units**: `\"48px\"`, `\"700\"`, `\"12px\"` — never bare numbers.\n- `position` and `dimensions` are **nested objects** (`{x,y}`, `{width,height}`).\n- **Set `textMode:\"fit\"` + `minFontSize` on EVERY text element** (floors: headline 48,\n  subtitle 28, body 24, kicker 18, caption 14). The default `\"overflow\"` does not shrink or\n  reflow — long/parameterized text spills out of its box.\n- Line breaks: use `\\n`, **NEVER `<br>`**; avoid multiple `<p>` blocks (they overlap). For a\n  multi-line headline with one accent-colored word, use one text element per line.\n- A **background-highlight `<span>` (colored pill) forces the whole element to one line**\n  (`white-space: nowrap`) → overflow on long text. Highlight only 1–3 words; for long\n  headlines use `color` emphasis (no background) or split per line.\n- Parameterizable fields need `parameterizable:true`, a unique snake_case `parameterId`, and a\n  `parameterType` matching the element (text→\"text\", image→\"imageUrl\", shape→\"fill\",\n  canvas/container→\"backgroundColor\").\n- Shapes with transparent fill + a border render nothing; SVG `content` must be a data-URI.\n\n## Motion & audio (video templates)\nMaking video look designed, not generated:\n- **Reveal in sections over ~4–5s.** Elements that form one unit (icon+label, a spec row,\n  the footer) share the SAME `enter` type and `showAt`; stagger ~0.3–0.5s BETWEEN sections in\n  reading order. `showAt`/`hideAt` are siblings of `enter`/`exit` — never nested inside them.\n- **Every full-bleed photo gets a `kenBurns` ambient** (zoom 1.08–1.15). A still photo held\n  3 seconds reads as a dead frame; a slow push reads as footage. Alternate `panX` direction\n  between pages.\n- **Ambient stays subtle and SLOW** — 6–10s cycles against a 0.5s enter. If the viewer can\n  name the motion it is too strong, unless it is a deliberate accent (a badge that wiggles).\n  `shake`/`slowRotate` need `easing: \"linear\"` or the loop seam shows.\n- **One `pageTransition` for the whole video**, 0.3–0.5s. A different transition per cut is\n  the clearest tell of an auto-generated edit.\n- **Sound default**: narration track at volume 1 + a restrained generated ambient bed\n  (`sfx`, volume 0.08–0.18, loop) + `page.subtitle { source: \"auto-audio\" }` with a caption\n  preset (`karaoke`/`bold`) and strokeWidth 2–3 over busy footage. Budget narration at\n  ~2 words/second with 1s headroom. Call `orshot_get_audio_authoring_options` before\n  authoring generated audio; give `tts.parameterId` so spoken copy stays a render parameter.\n\n## Anti-patterns (the AI-slop tells — avoid)\n- Everything centered and stacked; no focal point.\n- 3+ fonts, or random sizes with no hierarchy.\n- Low-contrast text on a busy photo with no scrim.\n- Forcing brand assets when the prompt didn't ask for an on-brand design (or ignoring the kit when it clearly did).\n- A tiny headline above a paragraph of body copy (a template is not a document).\n- Re-emitting the previous layout for the same content type.\n\n## Vertical packs (progressive disclosure)\nRead the one matching the task — each adds format/safe-areas, archetypes, and a recipe:\n- `references/social-media.md` — posts, stories, carousels.\n- (more verticals — ads, real-estate, e-commerce — added here over time.)\n\n## Examples\n\n### Example 1 — \"Make an Instagram post announcing our new feature\"\n1. `orshot_get_brand_kit` (tags: \"social-media\") → brand colors/fonts/logo.\n2. Read `references/social-media.md` → default 4:5 portrait 1080×1350; pick the `type-hero`\n   archetype (different from the last post).\n3. `orshot_create_template_design` with brand display font for an oversized headline, brand\n   dominant color as background, accent color on one word, logo + @handle footer,\n   `includeThumbnails:true`.\n4. Read the thumbnail + \"🎨 Design check\"; patch contrast/spacing as needed.\n\n### Example 2 — \"Refine this template, it looks generic\"\n1. `orshot_get_studio_template` to inspect the current design.\n2. Diagnose against Anti-patterns (centered? 3+ fonts? no focal point? brand ignored?).\n3. `orshot_patch_template_elements` to set one focal headline, trim to 2 fonts, apply brand\n   60-30-10, left/bottom-align. Re-render with `includeThumbnails:true` and verify.\n\n## Troubleshooting\n\n**Headline shows on one line / `<br>` ignored.** Use `\\n`, not `<br>`. For a colored word on\na multi-line headline, split into one text element per line.\n\n**Colors/fonts look off-brand.** You skipped step 2 — call `orshot_get_brand_kit` and map the\nreturned `value` (colors) and `name` (fonts) onto the design.\n\n**\"🎨 Design check\" warns about repetition.** This layout matches a recent same-type template.\nSwitch archetype and move the focal point.\n"
}

SHA-256 of public snapshot: 16159decb1b52eac82ed770b0fcc05f1b8a5695d6cde4212064373e18872c065