Skip to content

Linkedin Article Publisher Skill

Claude Skill that publish on LinkedIn article

Install: /plugin marketplace add iamzifei/linkedin-article-publisher-skill

Works with Claude Code · 21 GitHub stars

Install

$/plugin marketplace add iamzifei/linkedin-article-publisher-skill

Install command taken from the project's README or registry entry. Always review code before running it.

LinkedIn Article Publisher Skill

English | 中文

Publish Markdown articles to LinkedIn Articles with one command. Say goodbye to tedious rich text editing.

v1.0.0 — Block-index positioning for precise image placement


The Problem

If you're used to writing in Markdown, publishing to LinkedIn Articles is a painful process:

Pain Point Description
Format Loss Copy from Markdown editor -> Paste to LinkedIn -> All formatting gone
Manual Formatting Set each H2, bold, link manually — 15-20 min per article
Tedious Image Upload Multiple clicks per image: Add media -> Select -> Wait
Position Errors Hard to remember where each image should go

Time Comparison

Task Manual With This Skill
Format conversion 15-20 min 0 (automatic)
Cover image 1-2 min 10 sec
5 content images 5-10 min 1 min
Total 20-30 min 2-3 min

10x efficiency improvement


The Solution

This skill automates the entire publishing workflow:

Markdown File
     | Python parsing
     v
Structured Data (title, images with block_index, HTML)
     | Playwright MCP
     v
LinkedIn Articles Editor (browser automation)
     |
     v
Draft Saved (never auto-publishes)

Key Features

  • Rich Text Paste: Convert Markdown to HTML, paste via clipboard — all formatting preserved
  • Block-Index Positioning: Precise image placement using element indices, not text matching
  • Reverse Insertion: Insert images from highest to lowest index to avoid position shifts
  • Smart Wait Strategy: Conditions return immediately when met, no wasted wait time
  • Safe by Design: Only saves as draft, never publishes automatically

Why Block-Index?

Previously, images were positioned by matching surrounding text — this failed when:

  • Multiple paragraphs had similar content
  • Text was too short to be unique

Now, each image has a block_index indicating exactly which block element it follows. This is deterministic and reliable.


Requirements

Requirement Details
Claude Code claude.ai/code
Playwright MCP Browser automation
LinkedIn Account Free account works (no Premium required)
Python 3.9+ With dependencies below
macOS Currently macOS only
pip install Pillow pyobjc-framework-Cocoa

Installation

Method 1: Git Clone (Recommended)

git clone https://github.com/iamzifei/linkedin-article-publisher-skill.git
cp -r linkedin-article-publisher-skill/skills/linkedin-article-publisher ~/.claude/skills/

Method 2: Plugin Marketplace

/plugin marketplace add iamzifei/linkedin-article-publisher-skill
/plugin install linkedin-article-publisher@iamzifei/linkedin-article-publisher-skill

Usage

Natural Language

Publish /path/to/article.md to LinkedIn
Help me post this article to LinkedIn: ~/Documents/my-post.md

Skill Command

/linkedin-article-publisher /path/to/article.md

Workflow Steps

[1/7] Parse Markdown...
      -> Extract title, cover image, content images with block_index
      -> Convert to HTML, count total blocks

[2/7] Open LinkedIn Articles editor...
      -> Navigate to linkedin.com/article/new/

[3/7] Upload cover image...
      -> First image becomes cover

Similar plugs

Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local…

Why use many token when few token do trick. Viral skill + proxy for coding agents that cuts 65% of tokens by talking like a caveman.

Explore related