SkillAgentSearch skills...

multi-platform-publisher

Publish content to X/Twitter, LinkedIn, WeChat, and Xiaohongshu with one command

Install / Use

claude mcp add mguozhen -- npx -y github:mguozhen/multi-platform-publisher

If the server publishes to npm under a different name, use that package instead — check the repo README.

About this skill
🔌

MCP Server

Model Context Protocol server

Quality Score

81/100

Supported Platforms

Claude Code
Claude Desktop

Tags

Our assessment of multi-platform-publisher

multi-platform-publisher scores 81/100 on our quality scale, 3445th of 4,632 Development & Engineering skills we index.

Its MCP Server is 15 KB long, well organised into 25 sections with 9 code examples: a thorough specification that gives an agent plenty to work with.

It has 10 GitHub stars, so there is little community track record yet; judge it on its content.

Substance
30/30
Structure
20/20
Description
12/15
Adoption
4/20
Freshness
15/15

Maintenance, license and trust

  • The repository was last updated 43 days ago, so multi-platform-publisher is actively maintained.
  • Our last check on 2026-10-18 found the source still online.
  • It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
  • Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.

Safety scan

No issues found

Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.

AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.

multi-platform-publisher compared with similar skills

All 4 of these similar skills score higher than multi-platform-publisher; compare them before choosing.

SkillScoreStarsUpdatedFormat
multi-platform-publisher (this skill)by mguozhen811043d agoMCP Server
taste-skillby Leonxlnx100111.4k2d agoCLAUDE.md
Agent-Reachby Panniantong100109.8k1d agoCLAUDE.md
headroomby headroomlabs-ai10079.1ktodayCLAUDE.md
ai-job-searchby ai-job-search-dev10070.2k1d agoCLAUDE.md

Frequently asked questions

How do I install multi-platform-publisher?
Run claude mcp add mguozhen -- npx -y github:mguozhen/multi-platform-publisher. The install tabs above show the steps for each supported agent.
Which AI agents does multi-platform-publisher work with?
It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
Is multi-platform-publisher safe to use?
Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
Is multi-platform-publisher still maintained?
The repository was last updated 43 days ago, so multi-platform-publisher is actively maintained.
<h1 align="center">Multi-Platform Publisher</h1> <p align="center"> <strong>One command. Every platform. Your content, auto-adapted.</strong><br> <em>Write once — get a Twitter thread, a LinkedIn post, a WeChat HTML draft, a Xiaohongshu note,<br> and a full self-media content pipeline behind it. Agent-native, 13 platforms, MIT.</em> </p> <p align="center"> <a href="#quick-start"><img src="https://img.shields.io/badge/setup-60s-brightgreen?style=flat-square" alt="60s Setup"></a> <a href="#supported-platforms"><img src="https://img.shields.io/badge/platforms-13-FF6A00?style=flat-square" alt="13 platforms"></a> <a href="#mcp-tools"><img src="https://img.shields.io/badge/MCP%20tools-4-blueviolet?style=flat-square" alt="4 MCP tools"></a> <a href="#the-super-writer-pipeline"><img src="https://img.shields.io/badge/pipeline-super--writer-2a6f4e?style=flat-square" alt="super-writer pipeline"></a> <img src="https://img.shields.io/badge/python-%E2%89%A53.8-3776AB?style=flat-square&logo=python&logoColor=white" alt="Python 3.8+"> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="MIT"></a> </p> <p align="center"> <a href="docs/screenshots/xhs-cover.png"> <img src="docs/screenshots/xhs-cover.png" alt="Multi-Platform Publisher — one source, every platform" width="60%"> </a> </p>

Per-platform output gallery

The same input piece, reshaped by each adapter — real published assets, not mockups.

X / Twitter — threads, not the same text

<p align="center"> <a href="docs/screenshots/twitter-published.png"> <img src="docs/screenshots/twitter-published.png" alt="X / Twitter published thread" width="78%"> </a> </p>

The Twitter adapter strips markdown, splits at 270 chars with numbering, and chains the post as a thread. Inline images and the original URL are preserved.


LinkedIn — clean paragraphs, 3000-char cap

<p align="center"> <a href="docs/screenshots/linkedin-placeholder.svg"> <img src="docs/screenshots/linkedin-placeholder.svg" alt="LinkedIn post output preview" width="78%"> </a> </p>

LinkedIn gets a professional-register rewrite: no markdown artifacts, real paragraph breaks, hashtag block at the end. (Real post screenshot lands here after the next campaign — the adapter is live today.)


WeChat Official Account — HTML draft, never auto-published

<p align="center"> <a href="docs/screenshots/wechat-published.png"> <img src="docs/screenshots/wechat-published.png" alt="WeChat Official Account article cover" width="60%"> </a> </p>

WeChat is safety-locked to the draft box — publish_to_platforms returns a draft_id, never a public URL. You review and tap publish in the Official Account dashboard. The image above is the cover art generated for a real MPP article; the body is rendered as styled HTML by adapters/wechat_adapter.py.


Xiaohongshu — emoji, tags, and an 8-slide carousel

<p align="center"> <a href="docs/screenshots/xhs-cover.png"><img src="docs/screenshots/xhs-cover.png" alt="XHS cover" width="22%"></a> <a href="docs/screenshots/xhs-card-1.png"><img src="docs/screenshots/xhs-card-1.png" alt="XHS card 1" width="22%"></a> <a href="docs/screenshots/xhs-card-2.png"><img src="docs/screenshots/xhs-card-2.png" alt="XHS card 2" width="22%"></a> <a href="docs/screenshots/xhs-card-3.png"><img src="docs/screenshots/xhs-card-3.png" alt="XHS card 3" width="22%"></a> </p> <p align="center"> <a href="docs/screenshots/xhs-card-4.png"><img src="docs/screenshots/xhs-card-4.png" alt="XHS card 4" width="22%"></a> <a href="docs/screenshots/xhs-card-5.png"><img src="docs/screenshots/xhs-card-5.png" alt="XHS card 5" width="22%"></a> <a href="docs/screenshots/xhs-card-6.png"><img src="docs/screenshots/xhs-card-6.png" alt="XHS card 6" width="22%"></a> <a href="docs/screenshots/xhs-card-7.png"><img src="docs/screenshots/xhs-card-7.png" alt="XHS card 7" width="22%"></a> </p>

Xiaohongshu's native format is image-text with a cover + carousel + 1000-char body. The XHS adapter injects emoji, appends topic tags, and respects the cap. The 8-card set above is the actual XHS post for multi-platform-publisher itself — published via the same MCP tool you're about to install.


TL;DR

One piece of content in. Thirteen platform-native posts out.

                                  ┌───────────────────────────────┐
   ┌──────────────┐               │  content adaptation engine    │
   │  Markdown    │──┐            │  per-platform: length, format, │
   │  or inline   │  │            │  tone, hashtags, threads       │
   └──────────────┘  ├────────────▶───────────────────────────────┤
   ┌──────────────┐  │            │  API adapters   browser auto   │
   │  + images    │──┘            │  X · LinkedIn   HN · Reddit    │
   └──────────────┘               │  WeChat · XHS   note · Substack│
                                  └───────────────┬───────────────┘
                                                  │
        ┌─────────────────────────────────────────┼─────────────────────┐
        ▼                     ▼                   ▼                     ▼
   X / Twitter thread    LinkedIn post     WeChat HTML draft      Xiaohongshu note
   Dev.to · Qiita        YouTube           Hacker News · Reddit   note.com · Substack
  • Inputs — a Markdown file or inline text, optional images
  • Engine — utils/content_adapter.py reshapes per platform (char limits, threads, HTML, emoji, tags)
  • Three surfaces — an MCP server (python -m mcp_server), a one-command CLI (main.py), and the super-writer content pipeline behind it (topic → AI draft → human review → publish)

Quick start

Option A — As an MCP server (recommended for Agent use)

# 1. Install
git clone https://github.com/mguozhen/multi-platform-publisher
cd multi-platform-publisher && pip3 install -r requirements.txt

# 2. Register with your agent (one line)
claude mcp add mpp -- python -m mcp_server

# 3. Set credentials for the platforms you want (env or ~/.openclaw/openclaw.json)
export TWITTER_API_KEY="..."   LINKEDIN_ACCESS_TOKEN="..."
export WECHAT_APPID="..."      XHS_COOKIE="..."

Then in any MCP-capable agent:

Use the mpp MCP server to publish ~/post.md to X and LinkedIn, and preview the WeChat draft first.

The agent calls adapt_content (free preview), then publish_to_platforms, and returns the per-platform results.

Option B — One-command CLI

python3 main.py publish --file article.md --platforms all
python3 main.py publish --content "My post about #AI" --platforms twitter,linkedin

Option C — Preview first (dry run)

python3 main.py publish --content "My post" --dry-run

Shows exactly how the content will be reshaped for each platform — no posting.

Option D — Utility commands

python3 main.py list-platforms   # platforms + credential status
python3 main.py validate         # check credentials for every configured platform

MCP tools

| # | Tool | Input | When to use | |---|---|---|---| | 1 | publish_to_platforms | content/file_path, platforms[], images[], dry_run | Default — adapt + publish (or dry-run) to N platforms in one call | | 2 | adapt_content | content/file_path, platform? | Preview the reshape per platform — free, no network | | 3 | list_supported_platforms | (none) | Pre-flight: who is available, with what limits | | 4 | validate_credentials | platform | "Are my keys set?" — no network call |

All tools return JSON-serializable dicts. Errors come back in a structured shape with type + suggested_action + retryable — see docs/errors.md.

Capability manifest: .well-known/agent-capabilities.json.


Supported platforms

Two surfaces. The publisher (main.py + MCP) covers four platforms over official APIs. The super-writer pipeline adds nine more through dedicated publishers.

| Platform | Surface | Auth | Output | |---|---|---|---| | X / Twitter | publisher | OAuth 1.0a | Tweets, threads, image + video upload | | LinkedIn | publisher | OAuth 2.0 | Posts, articles, images | | WeChat Official Account | publisher | API token | HTML article → draft box | | Xiaohongshu (小红书) | publisher | Cookie | Image-text note | | Dev.to | super-writer | REST API | English dev article | | Qiita | super-writer | REST API | Japanese dev article | | YouTube | super-writer | Data API v3 | Video + Shorts | | Hacker News | super-writer | browser automation | Link / text submission | | Reddit | super-writer | browser automation | Subreddit post | | note.com | super-writer | browser automation | Japanese essay | | Substack | super-writer | browser automation | English long-form + Notes | | 抖音 / Douyin | super-writer | browser automation | Short video | | 视频号 / Channels | super-writer | manual | 1–3 min video |

Publishing red lines are respected: WeChat stops at the draft box (never auto-publishes), Xiaohongshu and Reddit run human-in-the-loop, and risky platforms surface a confirmation step. See super-writer/playbooks/.


Content adaptation

The same source is reshaped, not just truncated:

  • X / Twitter — strips Markdown, splits into 270-char tweets, builds numbered threads
  • LinkedIn — professional register, clean paragraphs, up to 3,000 chars
  • WeChat — styled HTML article rendered into a draft (manual publish in the dashboard)
  • Xiaohongshu — casual tone, emoji injection, topic tags, 1,000-char cap
  • Dev.to / Qiita — front-matter + tags, English / Japanese dev framing
  • Substack / note.com — long-form essay + short Notes

Each is testable in isolation via adapt_content(content=..., platform=...).


The super-writer pipeline

super-writer/ is a complete one-person self-media production line:

topic gacha  →  AI draft (persona-locked)  →  cover + layout  →  Telegram review  →  multi-platform publish
  • super-writer/tools/gacha.py — topic selector, aggregates 5 sources with scoring
  • super-writer/tools/telegram-bridge/ — human-in-the-loop review bridge + per-platform publishers
  • super-writer/tools/{hn,note,reddit}_publish.py — browser-automation publishers for API-less platforms
  • super-writer/playbooks/ — 15 platform / content-type writing playbooks
  • super-writer/platform-roadmap.md — live / queued / manual platform status
  • super-writer/persona.md — account persona

vs. the alternatives

| | multi-platform-publisher | Buffer / Hootsuite | Typefully | Manual posting | |---|---|---|---|---| | Per-platform content adaptation | ✅ reshapes tone + format | ⚠️ same text everywhere | ⚠️ Twitter-only | ✅ but by hand | | Agent-callable (MCP) | ✅ 4 MCP tools | ❌ | ❌ | ❌ | | Dry-run preview | ✅ adapt_content (free) | ⚠️ limited | ✅ Twitter only | n/a | | WeChat / Xiaohongshu / Dev.to / Qiita | ✅ | ❌ | ❌ | ✅ | | Content pipeline (topic → draft → review) | ✅ super-writer | ❌ | ❌ | ❌ | | Per-platform failure isolation | ✅ | ❌ batch fails as one | n/a | n/a | | Cost | free, MIT | $6–99/mo | $12.50/mo | free | | Open source | ✅ | ❌ | ❌ | — |


Architecture

multi-platform-publisher/
├── mcp_server.py              # MCP entrypoint — 4 tools (publish, adapt, list, validate)
├── main.py                    # CLI entrypoint + orchestrator
├── adapters/
│   ├── base_adapter.py        # abstract base: publish() / validate() / upload_image()
│   ├── twitter_adapter.py     # X / Twitter — OAuth 1.0a
│   ├── linkedin_adapter.py    # LinkedIn — OAuth 2.0
│   ├── wechat_adapter.py      # WeChat Official Account — API token
│   └── xiaohongshu_adapter.py # Xiaohongshu — cookie
├── utils/
│   ├── config_loader.py       # env > openclaw.json > config.json
│   ├── content_adapter.py     # per-platform content transformation
│   ├── image_handl

Truncated for display — read the full file on GitHub.

Related Skills

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated1mo ago
Forks5

Languages

Python

Trust signals

92/100

From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.

1 low1 info