New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Publish and manage LinkedIn content via the Hyper MCP

by hyperfx-ai · MIT license · ★ 90 on GitHub

Linkedin cover

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…

---
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.
requires_toolkits:
  - linkedin_toolkit
icon: linkedin
short_description: Publish LinkedIn text, article, document, company page, and carousel posts.
---

# LinkedIn

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` |

Overview

Skill for publishing to LinkedIn through the LinkedIn integration exposed by the Hyper MCP.

Manual install (npx, ZIP)
Claude Codenpx skills add hyperfx-ai/marketing-skills --skill linkedin -g -a claude-code
Claude Code (degit)npx degit hyperfx-ai/marketing-skills/skills/linkedin#main ~/.claude/skills/linkedin-2
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md6.7 KB
Read SKILL.md here
hyperfx-ai/main1 file shown
SKILL.md
Show the full text155 lines

LinkedIn

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

If search("linkedin_text_posts_create") does not find linkedin_text_posts_create, stop and tell the user to enable Hyper MCP and connect LinkedIn.

How to run the tools in this skill

Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:

Surface Find a tool Run it
MCP client (Claude, Cursor, Codex, ChatGPT) search("<what you want to do>"), then describe("<name>") call("<name>", {...})
Hyper CLI hyperai search "<what you want to do>", then hyperai describe <name> hyperai call <name> --json '{...}'

If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.

Tool surface

Tool Purpose
linkedin_text_posts_create Standard member or organization text post; also article / link posts via the article fields.
linkedin_organization_posts_create Post explicitly as a company page (when you already know organization_id).
linkedin_document_posts_create PDF / document post — LinkedIn renders pages as a swipeable document.
linkedin_carousels_create_from_text AI text-to-carousel pipeline — generates slides + assembles a PDF + publishes as a document post.

Posting Rules

  1. Use linkedin_text_posts_create for standard member or organization posts.
  2. Use linkedin_organization_posts_create when the user explicitly wants to post as a company page and you already know the organization_id.
  3. Use linkedin_document_posts_create for PDF / document uploads. LinkedIn renders PDF pages as a swipeable document post.
  4. Use linkedin_carousels_create_from_text when 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, and thumbnail_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_text_posts_create(
    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
)

LinkedIn carousels are implemented as document posts backed by a PDF.

Native PDF flow

Use linkedin_document_posts_create when you already have a PDF URL or stored file ID:

linkedin_document_posts_create(
    text="Caption text",
    title="Deck title",
    document_url="https://example.com/deck.pdf",
    organization_id="123456789",  # optional
)

Use linkedin_carousels_create_from_text when the user wants the system to build the carousel from a block of source text:

linkedin_carousels_create_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:

  1. Generate the carousel assets first.
  2. Review or edit the generated slide images / PDF externally.
  3. Post the final PDF with linkedin_document_posts_create.

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, call linkedin_managed_pages_list() first — it returns all company pages the connected account can post to, with their IDs.
  • Use linkedin_organizations_posts_list_detailed(organization_id=...) to preview recent posts before publishing — avoids accidental duplicates.
  • Pass organization_id to 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_text_posts_create with explicit article_title, article_description, and thumbnail_url.
  • Permission error on organization post. Confirm with the user that their LinkedIn account has page-posting permission for the target organization_id.
  • linkedin_carousels_create_from_text returned an unexpected slide count. Only num_slides of 4, 6, or 9 are supported.
  • Document post fails with an invalid URL. The document_url must be a directly-fetchable PDF (no auth, no HTML redirect page).
1---
2name: linkedin
3description: 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.
4requires_toolkits:
5 - linkedin_toolkit
6icon: linkedin
7short_description: Publish LinkedIn text, article, document, company page, and carousel posts.
8---
9 
10# LinkedIn
11 
12Skill for publishing to LinkedIn through the LinkedIn integration exposed by the Hyper MCP.
13 
14## Out of scope — defer to other skills
15 
16| Request | Send them to |
17| --- | --- |
18| Instagram post / Reel / Story | `instagram` |
19| TikTok organic posting | `tiktok` |
20| TikTok ad campaign | `tiktok-ads` |
21| Meta (Facebook / Instagram) ads | `meta-ads` |
22| Google Ads campaign | `google-ads` |
23| Amazon Sponsored Products campaign | `amazon-ads` |
24 
25## Requirements
26 
27- **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
28- **LinkedIn integration connected** at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps).
29- For company-page posts, the connected member account must have permission to post for that organization.
30 
31If `search("linkedin_text_posts_create")` does not find `linkedin_text_posts_create`, stop and tell the user to enable Hyper MCP and connect LinkedIn.
32 
33### How to run the tools in this skill
34 
35Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:
36 
37| Surface | Find a tool | Run it |
38| --- | --- | --- |
39| MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call("<name>", {...})` |
40| Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` |
41 
42If a tool is not found, its integration is not connected or not enabled for the workspace: stop and tell the user which integration to connect.
43 
44## Tool surface
45 
46| Tool | Purpose |
47| --- | --- |
48| `linkedin_text_posts_create` | Standard member or organization text post; also article / link posts via the article fields. |
49| `linkedin_organization_posts_create` | Post explicitly as a company page (when you already know `organization_id`). |
50| `linkedin_document_posts_create` | PDF / document post — LinkedIn renders pages as a swipeable document. |
51| `linkedin_carousels_create_from_text` | AI text-to-carousel pipeline — generates slides + assembles a PDF + publishes as a document post. |
52 
53## Posting Rules
54 
551. Use `linkedin_text_posts_create` for standard member or organization posts.
562. Use `linkedin_organization_posts_create` when the user explicitly wants to post as a company page **and** you already know the `organization_id`.
573. Use `linkedin_document_posts_create` for PDF / document uploads. LinkedIn renders PDF pages as a swipeable document post.
584. Use `linkedin_carousels_create_from_text` when the user wants a text-to-carousel workflow driven by AI-generated slides.
59 
60## Article / Link Posts
61 
62Do not rely on LinkedIn to scrape Open Graph metadata for API-created posts.
63 
64For reliable article posts:
65 
66- Provide `article_url`.
67- Prefer explicit `article_title`, `article_description`, and `thumbnail_url`.
68- If those fields are omitted, the backend may derive them from the shared page metadata, but explicit values are still more reliable.
69 
70Use this shape when editing or preparing a LinkedIn article post:
71 
72```python
73linkedin_text_posts_create(
74 text="Caption text",
75 article_url="https://example.com/article",
76 article_title="Explicit preview title",
77 article_description="Explicit preview description",
78 thumbnail_url="https://example.com/thumbnail.jpg",
79 organization_id="123456789", # optional
80)
81```
82 
83## Document and Carousel Posts
84 
85LinkedIn carousels are implemented as document posts backed by a PDF.
86 
87### Native PDF flow
88 
89Use `linkedin_document_posts_create` when you already have a PDF URL or stored file ID:
90 
91```python
92linkedin_document_posts_create(
93 text="Caption text",
94 title="Deck title",
95 document_url="https://example.com/deck.pdf",
96 organization_id="123456789", # optional
97)
98```
99 
100### Text-to-carousel flow
101 
102Use `linkedin_carousels_create_from_text` when the user wants the system to build the carousel from a block of source text:
103 
104```python
105linkedin_carousels_create_from_text(
106 text_content="Source content for the slides",
107 title="Carousel title",
108 caption="LinkedIn caption",
109 num_slides=4,
110 style="professional",
111 color_scheme="blue",
112 organization_id="123456789", # optional
113)
114```
115 
116The current implementation:
117 
118- Parses the source text into slide content.
119- Generates a single grid image with an image model.
120- Splits the grid into individual slide images.
121- Assembles a PDF.
122- Publishes the PDF as a LinkedIn document post.
123- Returns the live post URL — present this to the user to confirm the carousel is live.
124 
125Supported slide counts are `4`, `6`, and `9`.
126 
127## Manual Slide Editing
128 
129The current LinkedIn carousel pipeline is PDF-based. It does not provide a first-class live canvas editing loop before publish.
130 
131If a user wants manual refinement:
132 
1331. Generate the carousel assets first.
1342. Review or edit the generated slide images / PDF externally.
1353. Post the final PDF with `linkedin_document_posts_create`.
136 
137Do not promise an in-product editable canvas workflow unless the tool is actually available in the current environment.
138 
139## Organization Posting
140 
141When posting to a company page:
142 
143- If you don't know the `organization_id`, call `linkedin_managed_pages_list()` first — it returns all company pages the connected account can post to, with their IDs.
144- Use `linkedin_organizations_posts_list_detailed(organization_id=...)` to preview recent posts before publishing — avoids accidental duplicates.
145- Pass `organization_id` to whichever posting tool you're using.
146- Expect LinkedIn org posting permissions to matter.
147- If a post fails with a permissions error, verify that the authenticated account can post to that organization.
148 
149## Failure Modes & Recovery
150 
151- **Article preview is empty / wrong.** LinkedIn ignored the scraped metadata. Re-call `linkedin_text_posts_create` with explicit `article_title`, `article_description`, and `thumbnail_url`.
152- **Permission error on organization post.** Confirm with the user that their LinkedIn account has page-posting permission for the target `organization_id`.
153- **`linkedin_carousels_create_from_text` returned an unexpected slide count.** Only `num_slides` of `4`, `6`, or `9` are supported.
154- **Document post fails with an invalid URL.** The `document_url` must be a directly-fetchable PDF (no auth, no HTML redirect page).
155 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 90
Checked
Source
hyperfx-ai/marketing-skills ↗
Creator
hyperfx-ai · 11 listings
View creator

Similar skills

See all →
SkillGenerate a branded slide-by-slide LinkedIn carouselGemini carouselcharlie947/social-media-skills · by charlie947Generate a branded slide-by-slide LinkedIn carousel using Gemini. Takes source content, builds a design brief, waits for approval, then outputs per-slide image generation prompts. 1080x1350 vertical format. Use this skill whenever the user says "carousel", "build a carousel", "turn this into a carousel", "gemini carousel", or wants multi-slide LinkedIn content. Always includes an approval gate between brief and image generation.★ 3.7k GitHub starsSkillBuild a LinkedIn document postLi carouselJakeschincariol/linkedin-agent-skill · by JakeschincariolBuild a LinkedIn document post (carousel) - slide-by-slide copy, the cover that earns the swipe, and the PDF to upload. Use when the user says carousel", "document post", "slides for LinkedIn", "turn this into a carousel", or has a list-shaped idea that would die as a text post.★ 1.9k GitHub starsSkillDraft an Instagram caption with the hook in the first 125Instagram Caption Writersergebulaev/instagram-skills · by sergebulaevDraft an Instagram caption with the hook in the first 125 characters, a skimmable body, and one clear CTA, using a 2026 hook formula chosen by goal (saves, shares, comments, follows). Runs the humanizer pass and, on approval, publishes with the image or video you supply via the Publora media flow. Use to caption a single image or a Reel. Not for slide-by-slide carousels (use ig-carousel-planner) or auditing a draft (use ig-humanizer --mode audit).★ 138 GitHub starsSkillPlan an Instagram carousel slide by slide, up to 10 slidesInstagram Carousel Plannersergebulaev/instagram-skills · by sergebulaevPlan an Instagram carousel slide by slide, up to 10 slides, with a hook slide that opens a loop, value slides that front-load the payoff, and a payoff slide that earns the save and follow. Picks a 2026 carousel formula (listicle, before/after, myth-buster, framework) by goal (saves, shares, follows), drafts each slide's text plus the caption, then publishes the images you supply via Publora. Use to structure a multi-slide carousel. Not for single-image captions (use ig-caption-writer).★ 138 GitHub starsSkillSocial media campaign analysis and performance trackingSocial media analyzeralirezarezvani/claude-skills · by alirezarezvaniSocial media campaign analysis and performance tracking. Calculates engagement rates, ROI, and benchmarks across platforms. Use when analyzing social media performance, calculating engagement rate, measuring campaign ROI, comparing platform metrics, or benchmarking against industry standards. Also use when the user mentions "social media audit," "engagement rate," or "which platform performs best.★ 26.3k GitHub starsSkillScore a LinkedIn post using real performance dataPost scorercharlie947/social-media-skills · by charlie947Score a LinkedIn post using real performance data. Pulls the user's own post history via Apify (or uses cached data) to identify what actually performs, then scores the draft against those patterns. Use this skill whenever the user says "score my post", "review my post", "rate this post", "give me feedback", "how good is this post", or pastes a LinkedIn post and asks for critique. Separates historical comparisons from an explicitly labelled editorial-only fallback. Designed for live scoring at events and everyday post review.★ 3.7k GitHub stars

More from hyperfx-ai

SkillGenerate on-brand ad creativesAd creative generationhyperfx-ai/marketing-skills · by hyperfx-aiGenerate on-brand ad creatives — visuals + copy — for Google, Meta (Facebook / Instagram), and other paid platforms via the Hyper MCP. Extracts brand identity from a website, writes ad copy variants, and produces brand-consistent images using reference-based image generation. Use when the user asks for ad creative, ad copy variants, RSA headlines, Meta ad creative, display ads, carousel ads, or A/B test variants.★ 90 GitHub starsSkillPlan and create Amazon Sponsored Products campaignsAmazon adshyperfx-ai/marketing-skills · by hyperfx-aiPlan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads, set up Sponsored Products, manage keyword targeting and bids, configure ASIN or category product targeting, add negative keywords, automate budget rules, analyze ACoS / ROAS, or generate Sponsored Products reports. Also triggers on amazon ppc, amazon campaign, amazon keywords, or amazon report.★ 90 GitHub starsSkillRun end-to-end B2B cold-email outreach through the Hyper MCPhyperfx-ai/marketing-skills · by hyperfx-aiRun end-to-end B2B cold-email outreach through the Hyper MCP — enrich prospects with Apollo, scrape per-prospect signals from company sites and LinkedIn, draft personalized emails using proven hook frameworks, send via Gmail with safe defaults, and route replies into labeled folders. Use when the user wants to write cold emails, run an outbound sequence, prospect a list, build a follow-up cadence, "reach out to leads," or asks why nobody is replying to their cold emails.★ 90 GitHub starsSkillPlan and create new Google Ads campaignshyperfx-ai/marketing-skills · by hyperfx-aiPlan and create new Google Ads campaigns and report on existing accounts via the Hyper MCP. Use when the user wants to launch Search, Display, Performance Max, Video, Demand Gen, Shopping, or App campaigns, build Google Ads reports or dashboards, diagnose conversion tracking, or mentions Google Ads, AdWords, search ads, display ads, Performance Max, PMax, PPC, Google campaigns, search term reports, budget analysis, conversion funnels, negative keywords, or manager accounts (MCC).★ 90 GitHub starsSkillManage Instagram professional accounts via the Hyper MCPhyperfx-ai/marketing-skills · by hyperfx-aiManage Instagram professional accounts via the Hyper MCP — publish photos, Reels, Stories, and carousels; moderate comments and mentions; send Direct Messages; pull account and media insights. Uses the Instagram API with Instagram Login (Business Login). Use when the user mentions Instagram posts, Reels, Stories, carousels, IG DMs, Instagram comments, mentions, profile, or analytics. For paid Instagram advertising, use `meta-ads`.★ 90 GitHub starsSkillPlan and create Meta advertising campaigns end-to-endMeta adshyperfx-ai/marketing-skills · by hyperfx-aiPlan and create Meta (Facebook + Instagram) advertising campaigns end-to-end via the Hyper MCP, defaulting to Advantage+ automation. Use when the user wants to launch Meta ads, Facebook ads, Instagram ads, Advantage+ campaigns, carousel ads, dynamic creative ads, set up Meta conversion tracking, analyze performance, audit a Meta ads account, or build Meta performance dashboards. Also triggers on phrases like meta campaign, facebook campaign, advantage+, or meta account audit.★ 90 GitHub stars