Marketing skills for AI agents — paid ads, social media, SEO, competitor research, creative generation, email, analytics, and more. Powered by Hyper MCP.
npx -y skills add hyperfx-ai/marketing-skills --skill linkedinAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
What its author says it does
Copied from the file, not written here
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.
SKILL.md
6.1 KB, as published. Nobody here has run it
Skill for publishing to LinkedIn through the LinkedIn integration exposed by the Hyper MCP.
Out of scope — defer to other skills
| Request | Send them to |
|---|---|
| Instagram post / Reel / Story | instagram |
| TikTok organic posting | tiktok |
| TikTok ad campaign | tiktok-ads |
| Meta (Facebook / Instagram) ads | meta-ads |
| Google Ads campaign | google-ads |
| Amazon Sponsored Products campaign | amazon-ads |
Requirements
- Hyper MCP installed and connected. https://app.hyperfx.ai/mcp
- LinkedIn integration connected at https://app.hyperfx.ai/apps.
- For company-page posts, the connected member account must have permission to post for that organization.
If linkedin_create_text_post is not in the tool list, stop and tell the user to enable Hyper MCP and connect LinkedIn.
Tool surface
| Tool | Purpose |
|---|---|
linkedin_create_text_post | Standard member or organization text post; also article / link posts via the article fields. |
linkedin_create_organization_post | Post explicitly as a company page (when you already know organization_id). |
linkedin_create_document_post | PDF / document post — LinkedIn renders pages as a swipeable document. |
linkedin_create_carousel_from_text | AI text-to-carousel pipeline — generates slides + assembles a PDF + publishes as a document post. |
Posting Rules
- Use
linkedin_create_text_postfor standard member or organization posts. - Use
linkedin_create_organization_postwhen the user explicitly wants to post as a company page and you already know theorganization_id. - Use
linkedin_create_document_postfor PDF / document uploads. LinkedIn renders PDF pages as a swipeable document post. - Use
linkedin_create_carousel_from_textwhen the user wants a text-to-carousel workflow driven by AI-generated slides.
Article / Link Posts
Do not rely on LinkedIn to scrape Open Graph metadata for API-created posts.
For reliable article posts:
- Provide
article_url. - Prefer explicit
article_title,article_description, andthumbnail_url. - If those fields are omitted, the backend may derive them from the shared page metadata, but explicit values are still more reliable.
Use this shape when editing or preparing a LinkedIn article post:
linkedin_create_text_post(
text="Caption text",
article_url="https://example.com/article",
article_title="Explicit preview title",
article_description="Explicit preview description",
thumbnail_url="https://example.com/thumbnail.jpg",
organization_id="123456789", # optional
)
Document and Carousel Posts
LinkedIn carousels are implemented as document posts backed by a PDF.
Native PDF flow
Use linkedin_create_document_post when you already have a PDF URL or stored file ID:
linkedin_create_document_post(
text="Caption text",
title="Deck title",
document_url="https://example.com/deck.pdf",
organization_id="123456789", # optional
)
Text-to-carousel flow
Use linkedin_create_carousel_from_text when the user wants the system to build the carousel from a block of source text:
linkedin_create_carousel_from_text(
text_content="Source content for the slides",
title="Carousel title",
caption="LinkedIn caption",
num_slides=4,
style="professional",
color_scheme="blue",
organization_id="123456789", # optional
)
The current implementation:
- Parses the source text into slide content.
- Generates a single grid image with an image model.
- Splits the grid into individual slide images.
- Assembles a PDF.
- Publishes the PDF as a LinkedIn document post.
- Returns the live post URL — present this to the user to confirm the carousel is live.
Supported slide counts are 4, 6, and 9.
Manual Slide Editing
The current LinkedIn carousel pipeline is PDF-based. It does not provide a first-class live canvas editing loop before publish.
If a user wants manual refinement:
- Generate the carousel assets first.
- Review or edit the generated slide images / PDF externally.
- Post the final PDF with
linkedin_create_document_post.
Do not promise an in-product editable canvas workflow unless the tool is actually available in the current environment.
Organization Posting
When posting to a company page:
- If you don't know the
organization_id, calllinkedin_get_my_managed_pages()first — it returns all company pages the connected account can post to, with their IDs. - Use
linkedin_get_organization_posts_detailed(organization_id=...)to preview recent posts before publishing — avoids accidental duplicates. - Pass
organization_idto whichever posting tool you're using. - Expect LinkedIn org posting permissions to matter.
- If a post fails with a permissions error, verify that the authenticated account can post to that organization.
Failure Modes & Recovery
- Article preview is empty / wrong. LinkedIn ignored the scraped metadata. Re-call
linkedin_create_text_postwith explicitarticle_title,article_description, andthumbnail_url. - Permission error on organization post. Confirm with the user that their LinkedIn account has page-posting permission for the target
organization_id. linkedin_create_carousel_from_textreturned an unexpected slide count. Onlynum_slidesof4,6, or9are supported.- Document post fails with an invalid URL. The
document_urlmust be a directly-fetchable PDF (no auth, no HTML redirect page).