{"id":"ec564c49-4db2-433b-97d5-149394d0c9be","shortId":"vKDfGJ","kind":"skill","title":"linkedin","tagline":"Publish and manage LinkedIn content via the Hyper MCP — text posts, article / link previews, document and PDF posts, organization (company page) posts, and AI-generated text-to-carousel posts. Use when the user wants to post on LinkedIn, share an article on LinkedIn, post to a Li","description":"# LinkedIn\n\nSkill for publishing to LinkedIn through the LinkedIn integration exposed by the Hyper MCP.\n\n## Out of scope — defer to other skills\n\n| Request | Send them to |\n| --- | --- |\n| Instagram post / Reel / Story | `instagram` |\n| TikTok organic posting | `tiktok` |\n| TikTok ad campaign | `tiktok-ads` |\n| Meta (Facebook / Instagram) ads | `meta-ads` |\n| Google Ads campaign | `google-ads` |\n| Amazon Sponsored Products campaign | `amazon-ads` |\n\n## Requirements\n\n- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)\n- **LinkedIn integration connected** at [https://app.hyperfx.ai/integrations](https://app.hyperfx.ai/integrations).\n- For company-page posts, the connected member account must have permission to post for that organization.\n\nIf `linkedin_create_text_post` is not in the tool list, stop and tell the user to enable Hyper MCP and connect LinkedIn.\n\n## Tool surface\n\n| Tool | Purpose |\n| --- | --- |\n| `linkedin_create_text_post` | Standard member or organization text post; also article / link posts via the article fields. |\n| `linkedin_create_organization_post` | Post explicitly as a company page (when you already know `organization_id`). |\n| `linkedin_create_document_post` | PDF / document post — LinkedIn renders pages as a swipeable document. |\n| `linkedin_create_carousel_from_text` | AI text-to-carousel pipeline — generates slides + assembles a PDF + publishes as a document post. |\n\n## Posting Rules\n\n1. Use `linkedin_create_text_post` for standard member or organization posts.\n2. Use `linkedin_create_organization_post` when the user explicitly wants to post as a company page **and** you already know the `organization_id`.\n3. Use `linkedin_create_document_post` for PDF / document uploads. LinkedIn renders PDF pages as a swipeable document post.\n4. Use `linkedin_create_carousel_from_text` when the user wants a text-to-carousel workflow driven by AI-generated slides.\n\n## Article / Link Posts\n\nDo not rely on LinkedIn to scrape Open Graph metadata for API-created posts.\n\nFor reliable article posts:\n\n- Provide `article_url`.\n- Prefer explicit `article_title`, `article_description`, and `thumbnail_url`.\n- If those fields are omitted, the backend may derive them from the shared page metadata, but explicit values are still more reliable.\n\nUse this shape when editing or preparing a LinkedIn article post:\n\n```python\nlinkedin_create_text_post(\n    text=\"Caption text\",\n    article_url=\"https://example.com/article\",\n    article_title=\"Explicit preview title\",\n    article_description=\"Explicit preview description\",\n    thumbnail_url=\"https://example.com/thumbnail.jpg\",\n    organization_id=\"123456789\",  # optional\n)\n```\n\n## Document and Carousel Posts\n\nLinkedIn carousels are implemented as document posts backed by a PDF.\n\n### Native PDF flow\n\nUse `linkedin_create_document_post` when you already have a PDF URL or stored file ID:\n\n```python\nlinkedin_create_document_post(\n    text=\"Caption text\",\n    title=\"Deck title\",\n    document_url=\"https://example.com/deck.pdf\",\n    organization_id=\"123456789\",  # optional\n)\n```\n\n### Text-to-carousel flow\n\nUse `linkedin_create_carousel_from_text` when the user wants the system to build the carousel from a block of source text:\n\n```python\nlinkedin_create_carousel_from_text(\n    text_content=\"Source content for the slides\",\n    title=\"Carousel title\",\n    caption=\"LinkedIn caption\",\n    num_slides=4,\n    style=\"professional\",\n    color_scheme=\"blue\",\n    organization_id=\"123456789\",  # optional\n)\n```\n\nThe current implementation:\n\n- Parses the source text into slide content.\n- Generates a single grid image with an image model.\n- Splits the grid into individual slide images.\n- Assembles a PDF.\n- Publishes the PDF as a LinkedIn document post.\n- Returns the live post URL — present this to the user to confirm the carousel is live.\n\nSupported slide counts are `4`, `6`, and `9`.\n\n## Manual Slide Editing\n\nThe current LinkedIn carousel pipeline is PDF-based. It does not provide a first-class live canvas editing loop before publish.\n\nIf a user wants manual refinement:\n\n1. Generate the carousel assets first.\n2. Review or edit the generated slide images / PDF externally.\n3. Post the final PDF with `linkedin_create_document_post`.\n\nDo not promise an in-product editable canvas workflow unless the tool is actually available in the current environment.\n\n## Organization Posting\n\nWhen posting to a company page:\n\n- If you don't know the `organization_id`, call `linkedin_get_my_managed_pages()` first — it returns all company pages the connected account can post to, with their IDs.\n- Use `linkedin_get_organization_posts_detailed(organization_id=...)` to preview recent posts before publishing — avoids accidental duplicates.\n- Pass `organization_id` to whichever posting tool you're using.\n- Expect LinkedIn org posting permissions to matter.\n- If a post fails with a permissions error, verify that the authenticated account can post to that organization.\n\n## Failure Modes & Recovery\n\n- **Article preview is empty / wrong.** LinkedIn ignored the scraped metadata. Re-call `linkedin_create_text_post` with explicit `article_title`, `article_description`, and `thumbnail_url`.\n- **Permission error on organization post.** Confirm with the user that their LinkedIn account has page-posting permission for the target `organization_id`.\n- **`linkedin_create_carousel_from_text` returned an unexpected slide count.** Only `num_slides` of `4`, `6`, or `9` are supported.\n- **Document post fails with an invalid URL.** The `document_url` must be a directly-fetchable PDF (no auth, no HTML redirect page).","tags":["linkedin","marketing","skills","hyperfx-ai","agent-skills","ai-agent","claude","claude-code","claude-skills","codex","cursor","google-ads"],"capabilities":["skill","source-hyperfx-ai","skill-linkedin","topic-agent-skills","topic-ai-agent","topic-claude","topic-claude-code","topic-claude-skills","topic-codex","topic-cursor","topic-google-ads","topic-hermes","topic-marketing","topic-mcp","topic-meta-ads"],"categories":["marketing-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/hyperfx-ai/marketing-skills/linkedin","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add hyperfx-ai/marketing-skills","source_repo":"https://github.com/hyperfx-ai/marketing-skills","install_from":"skills.sh"}},"qualityScore":"0.462","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 24 github stars · SKILL.md body (5,636 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:05:16.659Z","embedding":null,"createdAt":"2026-05-07T13:06:43.474Z","updatedAt":"2026-05-18T19:05:16.659Z","lastSeenAt":"2026-05-18T19:05:16.659Z","tsv":"'/article':400 '/deck.pdf':469 '/integrations](https://app.hyperfx.ai/integrations).':127 '/mcp](https://app.hyperfx.ai/mcp)':120 '/thumbnail.jpg':415 '1':243,625 '123456789':418,472,530 '2':255,631 '3':279,641 '4':298,522,589,826 '6':590,827 '9':592,829 'accident':723 'account':136,701,754,801 'actual':665 'ad':87,91,95,98,100,104,111 'ai':26,225,318 'ai-gener':25,317 'alreadi':202,274,445 'also':182 'amazon':105,110 'amazon-ad':109 'api':336 'api-cr':335 'app.hyperfx.ai':119,126 'app.hyperfx.ai/integrations](https://app.hyperfx.ai/integrations).':125 'app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)':118 'articl':13,44,183,188,321,341,344,348,350,386,396,401,406,763,782,784 'assembl':233,558 'asset':629 'auth':850 'authent':753 'avail':666 'avoid':722 'back':431 'backend':361 'base':604 'block':497 'blue':527 'build':492 'call':687,775 'campaign':88,101,108 'canva':614,659 'caption':394,460,517,519 'carousel':31,222,229,302,313,422,425,477,482,494,504,515,582,599,628,814 'class':612 'color':525 'compani':21,130,198,270,677,697 'company-pag':129 'confirm':580,794 'connect':117,123,134,166,700 'content':6,508,510,541 'count':587,821 'creat':147,173,191,207,221,246,258,282,301,337,390,440,456,481,503,648,777,813 'current':533,597,669 'deck':463 'defer':69 'deriv':363 'descript':351,407,410,785 'detail':713 'direct':846 'directly-fetch':845 'document':16,208,211,219,239,283,287,296,420,429,441,457,465,567,649,832,840 'driven':315 'duplic':724 'edit':381,595,615,634,658 'empti':766 'enabl':162 'environ':670 'error':749,790 'example.com':399,414,468 'example.com/article':398 'example.com/deck.pdf':467 'example.com/thumbnail.jpg':413 'expect':735 'explicit':195,264,347,371,403,408,781 'expos':61 'extern':640 'facebook':93 'fail':745,834 'failur':760 'fetchabl':847 'field':189,357 'file':452 'final':644 'first':611,630,693 'first-class':610 'flow':437,478 'generat':27,231,319,542,626,636 'get':689,710 'googl':99,103 'google-ad':102 'graph':332 'grid':545,553 'html':852 'hyper':9,64,113,163 'id':205,278,417,453,471,529,686,707,715,727,811 'ignor':769 'imag':546,549,557,638 'implement':427,534 'in-product':655 'individu':555 'instagram':77,81,94 'instal':115 'integr':60,122 'invalid':837 'know':203,275,683 'li':50 'link':14,184,322 'linkedin':1,5,41,46,51,56,59,121,146,167,172,190,206,213,220,245,257,281,289,300,328,385,389,424,439,455,480,502,518,566,598,647,688,709,736,768,776,800,812 'list':155 'live':571,584,613 'loop':616 'manag':4,691 'manual':593,623 'matter':741 'may':362 'mcp':10,65,114,164 'member':135,177,251 'meta':92,97 'meta-ad':96 'metadata':333,369,772 'mode':761 'model':550 'must':137,842 'nativ':435 'num':520,823 'omit':359 'open':331 'option':419,473,531 'org':737 'organ':20,83,144,179,192,204,253,259,277,416,470,528,671,685,711,714,726,759,792,810 'page':22,131,199,215,271,292,368,678,692,698,804,854 'page-post':803 'pars':535 'pass':725 'pdf':18,210,235,286,291,434,436,448,560,563,603,639,645,848 'pdf-base':602 'permiss':139,739,748,789,806 'pipelin':230,600 'post':12,19,23,32,39,47,78,84,132,141,149,175,181,185,193,194,209,212,240,241,248,254,260,267,284,297,323,338,342,387,392,423,430,442,458,568,572,642,650,672,674,703,712,719,730,738,744,756,779,793,805,833 'prefer':346 'prepar':383 'present':574 'preview':15,404,409,717,764 'product':107,657 'profession':524 'promis':653 'provid':343,608 'publish':2,54,236,561,618,721 'purpos':171 'python':388,454,501 're':733,774 're-cal':773 'recent':718 'recoveri':762 'redirect':853 'reel':79 'refin':624 'reli':326 'reliabl':340,376 'render':214,290 'request':73 'requir':112 'return':569,695,817 'review':632 'rule':242 'scheme':526 'scope':68 'scrape':330,771 'send':74 'shape':379 'share':42,367 'singl':544 'skill':52,72 'skill-linkedin' 'slide':232,320,513,521,540,556,586,594,637,820,824 'sourc':499,509,537 'source-hyperfx-ai' 'split':551 'sponsor':106 'standard':176,250 'still':374 'stop':156 'store':451 'stori':80 'style':523 'support':585,831 'surfac':169 'swipeabl':218,295 'system':490 'target':809 'tell':158 'text':11,29,148,174,180,224,227,247,304,311,391,393,395,459,461,475,484,500,506,507,538,778,816 'text-to-carousel':28,226,310,474 'thumbnail':353,411,787 'tiktok':82,85,86,90 'tiktok-ad':89 'titl':349,402,405,462,464,514,516,783 'tool':154,168,170,663,731 'topic-agent-skills' 'topic-ai-agent' 'topic-claude' 'topic-claude-code' 'topic-claude-skills' 'topic-codex' 'topic-cursor' 'topic-google-ads' 'topic-hermes' 'topic-marketing' 'topic-mcp' 'topic-meta-ads' 'unexpect':819 'unless':661 'upload':288 'url':345,354,397,412,449,466,573,788,838,841 'use':33,244,256,280,299,377,438,479,708,734 'user':36,160,263,307,487,578,621,797 'valu':372 'verifi':750 'via':7,186 'want':37,265,308,488,622 'whichev':729 'workflow':314,660 'wrong':767","prices":[{"id":"2842e141-a84c-4fb3-87fa-9009f7d790e1","listingId":"ec564c49-4db2-433b-97d5-149394d0c9be","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"hyperfx-ai","category":"marketing-skills","install_from":"skills.sh"},"createdAt":"2026-05-07T13:06:43.474Z"}],"sources":[{"listingId":"ec564c49-4db2-433b-97d5-149394d0c9be","source":"github","sourceId":"hyperfx-ai/marketing-skills/linkedin","sourceUrl":"https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/linkedin","isPrimary":false,"firstSeenAt":"2026-05-07T13:06:43.474Z","lastSeenAt":"2026-05-18T19:05:16.659Z"}],"details":{"listingId":"ec564c49-4db2-433b-97d5-149394d0c9be","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"hyperfx-ai","slug":"linkedin","github":{"repo":"hyperfx-ai/marketing-skills","stars":24,"topics":["agent-skills","ai-agent","claude","claude-code","claude-skills","codex","cursor","google-ads","hermes","marketing","mcp","meta-ads","openclaw","seo"],"license":"mit","html_url":"https://github.com/hyperfx-ai/marketing-skills","pushed_at":"2026-05-09T22:58:46Z","description":"Marketing skills for AI agents — paid ads, social media, SEO, competitor research, creative generation, email, analytics, and more. Powered by Hyper MCP.","skill_md_sha":"4a69762e4ef5fab171b9993190d2c0e3e50bba46","skill_md_path":"skills/linkedin/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/linkedin"},"layout":"multi","source":"github","category":"marketing-skills","frontmatter":{"name":"linkedin","description":"Publish and manage LinkedIn content via the Hyper MCP — text posts, article / link previews, document and PDF posts, organization (company page) posts, and AI-generated text-to-carousel posts. Use when the user wants to post on LinkedIn, share an article on LinkedIn, post to a LinkedIn company page, upload a PDF / document to LinkedIn, or build a LinkedIn carousel from text."},"skills_sh_url":"https://skills.sh/hyperfx-ai/marketing-skills/linkedin"},"updatedAt":"2026-05-18T19:05:16.659Z"}}