← Moda - Slides & DesignsCONTENT HISTORY
WHAT CHANGED
Update to Moda - Slides & Designs
Snapshot Oct 26, 2026 · 18:06 UTC · version 1.0.2
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Moda - Slides & Designs and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "YouTube art: thumbnails (readable at 320px) and channel banners.",
"included_files": [
{
"relative_path": "references/charts.md",
"size_in_bytes": 5659
},
{
"relative_path": "references/design-quality.md",
"size_in_bytes": 22265
},
{
"relative_path": "references/edit-code.md",
"size_in_bytes": 16488
},
{
"relative_path": "references/gotchas.md",
"size_in_bytes": 8693
},
{
"relative_path": "references/markup.md",
"size_in_bytes": 23958
},
{
"relative_path": "references/multi-unit-workflow.md",
"size_in_bytes": 13300
},
{
"relative_path": "references/no-brand-design.md",
"size_in_bytes": 14257
},
{
"relative_path": "references/omni-and-media.md",
"size_in_bytes": 7338
},
{
"relative_path": "references/social-craft.md",
"size_in_bytes": 12086
},
{
"relative_path": "references/youtube.md",
"size_in_bytes": 2626
}
],
"name": "moda-social-youtube",
"skill_md_contents": "---\nname: moda-social-youtube\ndescription: >-\n YouTube art: thumbnails (readable at 320px) and channel banners.\n---\n\n# moda-social-youtube\n\n**PREREQUISITE — `load_skill(\"moda-core\")` once per session** (step-0, write\ncontract, free/metered map). Already loaded? Skip ahead. If you cannot load\nit, the non-negotiables: call `moda_bootstrap` before anything; `brand_list`\nbefore creating; revision-guarded writes use `expected_revision` from your last read.\n`canvas_edit_image` captures its own target state and has no revision argument.\nOn `stale_revision`, re-read and retry once; send the canvas link\nthe moment it exists; stuck or failed? `ask_expert(\"<question>\")` — free and\nfast, never guess.\n\n## Sizes and defaults\n\n| Format | Size | `category` | Notes |\n|---|---|---|---|\n| Thumbnail | 1280×720 | `social` | judged at ~320px wide — that is the real brief |\n| Channel banner | 2560×1440 | `social` | only 1546×423 centred is visible on every device |\n\n- **Thumbnail rules, not preferences**: ≤4 words of on-image text; the subject\n or face fills a third of the frame; one high-contrast focal point; type ≥120px\n at 1280 wide so it survives the shrink. No thin weights, no full sentences.\n- **Banner safe core**: everything that must be seen — name, tagline, upload\n cadence, logo — lives inside the centred 1546×423. Decoration extends outward\n into the 2560×1440 field, which desktop shows and phones crop away.\n\n## Recipe — thumbnail\n\n1. `canvas_create(name='[Episode] — thumb', intent='[one-line brief]', width=1280, height=720, category='social', brand_kit_id='[KIT]')` — send the link immediately.\n2. Subject first: a photo the user gave you (the `upload` tool) or after laying out the canvas and its hero shape, use `canvas_edit_image` targeting that shape, with `operation.kind=\"generate\"` and a full subject/style/brand-color prompt in `operation.prompt`.\n3. Author in ONE apply: `canvas_apply_markup(canvas_ref, page, markup)` — ≤4 words, type ≥120px, one focal point (references/markup.md).\n4. **The 320px check** (this recipe's verify twist): `screenshot=true` on that apply (or `canvas_screenshot(canvas_ref)`), then judge it at thumbnail scale — a thumbnail that only reads full-size is a failed thumbnail. Fix what fails in at most ONE repair write, captured the same way, then ship.\n5. `export(canvas_ref, format='png', pixel_ratio=2)` — hand over the link.\n\n## Recipe — channel banner\n\n1. `canvas_create(name='[Channel] — banner', intent='[brief]', width=2560, height=1440, category='social', brand_kit_id='[KIT]')` — link immediately.\n2. Author the safe core FIRST — the centred 1546×423 — then extend background,\n texture, and colour outward to the full frame in the same apply.\n3. `canvas_screenshot(canvas_ref)`; check that cropping to the core loses\n nothing that carries meaning; at most ONE repair write, captured the same way, then ship.\n4. `export(canvas_ref, format='png', pixel_ratio=2)` — hand over the link.\n\n## Examples\n\n- \"a thumbnail for this episode\" → thumbnail recipe, judged at 320px.\n- \"thumbnails for these 3 videos\" → run the thumbnail recipe per video, one\n canvas each; the winning layout goes to moda-templates.\n- \"refresh our channel art\" → banner recipe, everything meaningful in the core.\n- \"a YouTube banner AD\" → not channel art: moda-social-ads owns paid formats.\n\n## Errors\n\nAny typed error → load moda-core and read its recovery reference.\nMost likely here: type that passes full-size and dies at 320px — shrink the\nscreenshot before delivering. `stale_revision` heals — retry once.\n\n## Make it recurring\n\nTemplate-ize the winning thumbnail via moda-templates, then moda-automate the\nper-video instance — a thumbnail system beats a thumbnail.\n\nSee also: moda-social — other platforms, ad sets, one-off graphics ·\nmoda-core — the contract, recovery, everything Moda can do.\n\n## References\n\n| Doc | Load when |\n|---|---|\n| references/youtube.md | depth: thumbnail composition patterns, banner device crops |\n| references/markup.md | before any markup apply |\n| references/no-brand-design.md | no kit is active — inventing the identity: palette law, type, imagery, layout system |\n"
}SHA-256 of public snapshot: d0d0662ba3a0fecea19d64ecfa270bd79e9a352ce4b7d910e7cda0a0bbcc0e7f