{"id":56040,"plugin_id":"plugin_asdk_app_6ada7bec545881919206a8cf89db59f8","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-26T18:06:28.464Z","digest":"6af58b69353a4b301bee9803ba1a943fadb21fb07e1847e9aba5240d7339caed","against":null,"payload":{"description":"LinkedIn creative: posts, document carousels (exported as ONE multi-page PDF), banners, company-page art.","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/export.md","size_in_bytes":7949},{"relative_path":"references/gotchas.md","size_in_bytes":8693},{"relative_path":"references/linkedin.md","size_in_bytes":4980},{"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}],"name":"moda-social-linkedin","skill_md_contents":"---\nname: moda-social-linkedin\ndescription: >-\n  LinkedIn creative: posts, document carousels (exported as ONE multi-page\n  PDF), banners, company-page art.\n---\n\n# moda-social-linkedin\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| Link/landscape post image | 1200×627 | `social` | the feed default for a link-style post |\n| Portrait post image | 1080×1350 | `social` | more feed height; use when the piece is type-led |\n| Document-carousel page | 1080×1350 | `carousel` | 6–10 pages; ships as ONE PDF |\n| Profile banner | 1584×396 | `social` | the profile photo covers the bottom-left |\n| Company page cover | 1128×191 | `social` | very short — a lockup and one line, nothing else |\n\n- Document carousels are read SMALL in the feed: headline-first pages, one idea\n  per page, body type no smaller than ~34px at 1080 wide.\n- Profile banner: keep the bottom-left quiet, place content center/right (the\n  right two-thirds), copy limited to a name/role plus at most one short line.\n- Carousel page bottom-center ~60px is overlapped by LinkedIn's own chrome.\n\n## Recipe — document carousel (the signature move)\n\n**A LinkedIn carousel is a document — ONE multi-page PDF, never a zip of\nimages.** The description promises it; the export step is where it is kept.\n\n1. `canvas_create(name='[Topic] — LinkedIn doc', intent='[brief]', width=1080, height=1350, category='carousel', brand_kit_id='[KIT]')` — send the link immediately.\n2. Lock the system first: 2–4 colors, exactly two fonts, one grid, one motif.\n3. Author page 1 ALONE — the hook, 5–9 words, no logo: `canvas_apply_markup(canvas_ref, page, markup, screenshot=true)`; at most one repair write, then it is the look.\n4. Create the remaining pages in `canvas_edit` code (`create('page', …)`, then re-read for the fresh page ids), then one markup apply per page — serial on one canvas. Last page carries the one ask and the brand.\n5. `canvas_screenshot(canvas_ref, pages=[IDS])` in ≤3-page batches; judge as a set, fix in ONE repair round, then export.\n6. `export(canvas_ref, format='pdf')` — one multi-page PDF. Read `warnings[]` and relay any caveat honestly; put the URL in the caption, since LinkedIn consumes the pages as images.\n\n## Recipe — single post image, banner, or company art\n\n1. `canvas_create(name='[Topic] — LinkedIn', intent='[brief]', width=[W], height=[H], category='social', brand_kit_id='[KIT]')` — link immediately.\n2. Person-first when a name is given (the name is the hero lockup, the company\n   supports); company-led only on request: logo + one value prop, no headshots.\n3. Author in one apply: `canvas_apply_markup(canvas_ref, page, markup)`.\n4. `canvas_screenshot(canvas_ref)` — check the bottom-left avatar zone on a\n   banner, contrast and type floor everywhere (`screenshot=true` on the apply saves the separate call); 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## Examples\n\n- \"a LinkedIn carousel about our launch\" → document-carousel recipe → ONE PDF.\n- \"a post image for this announcement\" → single recipe at 1200×627.\n- \"refresh my LinkedIn banner\" → single recipe at 1584×396, content center/right.\n- \"company page cover for [Company]\" → single recipe at 1128×191, lockup only.\n- \"a 10-page LinkedIn doc on [Topic]\" → carousel recipe, 10 pages, one PDF.\n\n## Errors\n\nAny typed error → load moda-core and read its recovery reference.\nThe trap here is exporting a carousel as a zip: png/jpeg multi-page arrives as a\nzip, so carousels export `format='pdf'`. `stale_revision` heals — retry once.\n\n## Make it recurring\n\nA weekly thought-leadership carousel → moda-automate runs the schedule (the\nartifact still routes here); the winning page system → moda-templates.\n\nSee also: moda-social — other platforms, ad sets, carousel theory ·\nmoda-core — the contract, recovery, everything Moda can do.\n\n## References\n\n| Doc | Load when |\n|---|---|\n| references/linkedin.md | depth: document-post conventions, banner lockups, feed legibility |\n| references/markup.md | before any markup apply |\n| references/export.md | PDF vs zip, warnings, pixel ratio |\n| references/no-brand-design.md | no kit is active — inventing the identity: palette law, type, imagery, layout system |\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}