Claude Info
Продуктивность

Публикатор статей LinkedIn

iamzifei/linkedin-article-publisher-skill

Claude Skill для автоматической публикации Markdown-статей в LinkedIn Articles. Конвертирует форматирование, загружает изображения с точным позиционированием по block_index, сохраняет черновик. Экономит до 90% времени по сравнению с ручным оформлением.

Установка

terminal
bash
pip install Pillow pyobjc-framework-Cocoa

README

LinkedIn Article Publisher Skill

English | 中文

Публикуйте Markdown-статьи в LinkedIn Articles одной командой. Забудьте о муторном форматировании в rich text редакторе.

v1.0.0 — Позиционирование изображений по block-index для точной вставки


Проблема

Если вы привыкли писать в Markdown, публикация в LinkedIn Articles — это боль:

ПроблемаОписание
Потеря форматированияКопируешь из Markdown-редактора → вставляешь в LinkedIn → всё форматирование слетает
Ручное оформлениеКаждый H2, жирный текст, ссылку нужно настраивать вручную — 15–20 минут на статью
Муторная загрузка изображенийНесколько кликов на каждое: добавить медиа → выбрать → ждать
Ошибки позиционированияСложно запомнить, куда именно вставить каждое изображение

Сравнение по времени

ЗадачаВручнуюС этим Skill
Конвертация форматирования15–20 мин0 (автоматически)
Обложка1–2 мин10 сек
5 изображений в тексте5–10 мин1 мин
Итого20–30 мин2–3 мин

Ускорение в 10 раз


Решение

Skill автоматизирует весь процесс публикации:

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)

Ключевые возможности

  • Rich Text Paste: конвертирует Markdown в HTML и вставляет через буфер обмена — всё форматирование сохраняется
  • Позиционирование по Block-Index: точная вставка изображений по индексам элементов, без сопоставления текста
  • Обратная вставка: изображения вставляются от наибольшего индекса к наименьшему, чтобы избежать смещений
  • Умное ожидание: условия проверяются немедленно при выполнении, без лишних задержек
  • Безопасность по умолчанию: только сохраняет черновик, никогда не публикует автоматически

Зачем Block-Index?

Раньше изображения позиционировались по совпадению с окружающим текстом — это давало сбои, когда:

  • несколько абзацев содержали похожий текст;
  • текст был слишком коротким для уникального совпадения.

Теперь каждое изображение имеет block_index, указывающий точно, после какого блочного элемента оно должно стоять. Это детерминировано и надёжно.


Требования

ТребованиеДетали
Claude Codeclaude.ai/code
Playwright MCPАвтоматизация браузера
Аккаунт LinkedInДостаточно бесплатного (Premium не нужен)
Python 3.9+С зависимостями ниже
macOSТолько macOS на данный момент
pip install Pillow pyobjc-framework-Cocoa

Установка

Способ 1: Git Clone (рекомендуется)

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

Способ 2: Plugin Marketplace

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

Использование

На естественном языке

Публикуй /path/to/article.md в LinkedIn Помоги опубликовать эту статью в LinkedIn: ~/Documents/my-post.md

Команда Skill

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

Шаги процесса

[1/7] Парсинг Markdown... -> Извлечение заголовка, обложки, изображений с block_index -> Конвертация в HTML, подсчёт блоков [2/7] Открытие редактора LinkedIn Articles... -> Переход на linkedin.com/article/new/ [3/7] Загрузка обложки... -> Первое изображение становится обложкой [4/7] Заполнение заголовка... -> H1 используется как заголовок (в тело не включается) [5/7] Вставка содержимого статьи... -> Rich text через буфер обмена -> Всё форматирование сохраняется [6/7] Вставка изображений в тексте (в обратном порядке)... -> Сортировка по block_index по убыванию -> Клик по блочному элементу по индексу -> вставка изображения -> Ожидание загрузки (возврат сразу после завершения) [7/7] Сохранение черновика... -> Проверьте и опубликуйте вручную

Поддерживаемый Markdown

СинтаксисРезультат
# H1Заголовок статьи (извлекается, в тело не входит)
## H2Заголовки разделов
### H3Заголовки подразделов
**bold**Жирный текст
*italic*Курсив
[text](url)Гиперссылки
> quoteЦитаты
- itemМаркированные списки
1. itemНумерованные списки
![](img.jpg)Изображения (первое = обложка)

Пример

Входной файл: article.md

markdown
# 5 AI Tools Worth Watching in 2024

![cover](./images/cover.jpg)

AI tools exploded in 2024. Here are 5 worth your attention.

## 1. Claude: Best Conversational AI

**Claude** by Anthropic excels at long-context understanding.

> Claude's context window reaches 200K tokens.

![claude-demo](./images/claude-demo.png)

## 2. Midjourney: AI Art Leader

[Midjourney](https://midjourney.com) is the most popular AI art tool.

![midjourney](./images/midjourney.jpg)

Результат парсинга (JSON)

json
{
  "title": "5 AI Tools Worth Watching in 2024",
  "cover_image": "./images/cover.jpg",
  "content_images": [
    {"path": "./images/claude-demo.png", "block_index": 4},
    {"path": "./images/midjourney.jpg", "block_index": 6}
  ],
  "total_blocks": 7
}

Порядок вставки

Изображения вставляются в обратном порядке: сначала block_index=6, затем block_index=4.

Итог

  • Обложка: cover.jpg загружена
  • Заголовок: «5 AI Tools Worth Watching in 2024»
  • Содержимое: rich text с H2, жирным текстом, цитатами, ссылками
  • Изображения: вставлены на точные позиции по block index
  • Статус: Черновик сохранён (готов к ручной проверке)

Структура проекта

linkedin-article-publisher-skill/ ├── .claude-plugin/ │ └── plugin.json # Конфигурация плагина ├── skills/ │ └── linkedin-article-publisher/ │ ├── SKILL.md # Инструкции Skill │ └── scripts/ │ ├── parse_markdown.py # Извлечение block_index │ └── copy_to_clipboard.py ├── docs/ │ └── GUIDE.md # Подробное руководство ├── README.md # Этот файл └── README_CN.md # Китайская версия

Похожие скиллы