mcpbeat Sign in

X Article Publisher Skill for Claude

Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.

1.9k tokens
context cost
SKILL.md, read when the skill is used
18
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
4 658
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/anbeime/skill --skill x-article-publisher

What comes with it

97 507 bytes besides the instruction
.gitignore
CHANGELOG.md
CONTRIBUTING.md
LICENSE
README.md
README_FULL.md
data/.gitignore
data/.gitkeep
data/browser_state/.gitkeep
metadata.json
scripts/auth_manager.py
scripts/copy_to_clipboard.py
scripts/debug_editor.py
scripts/debug_page.py
scripts/parse_markdown.py
scripts/publish_article.py
scripts/site_config.py

The instruction itself

11 sections, as written by the author

X Article Publisher

Publish Markdown content to X (Twitter) Articles editor, preserving formatting with rich text conversion.

Prerequisites

  • X Premium Plus subscription
  • Python 3.9+ with dependencies: pip install Pillow pyobjc-framework-Cocoa patchright

🎉 首次使用:一次认证,告别重复登录

X Article Publisher 现在支持持久化认证,无需每次手动登录!

🔧 初始化认证(仅需一次)

首次使用前,运行认证设置:

cd ~/.claude/skills/x-article-publisher/scripts
python auth_manager.py setup

流程:

  • ✅ 浏览器窗口自动打开 X 登录页面
  • 🔐 手动登录你的 X 账号(需 Premium+ 订阅)
  • ✅ 完成 2FA 验证(如已启用)
  • 🏠 登录成功后自动跳转到 Home 时间线
  • 💾 认证状态自动保存(有效期 7 天)

📋 认证管理命令

# 检查认证状态
python auth_manager.py status

# 验证认证是否有效
python auth_manager.py validate

# 清除认证数据(需重新登录)
python auth_manager.py clear

# 重新认证(清除 + 设置)
python auth_manager.py reauth

🚀 自动化工作流

认证设置完成后,skill 执行时会自动:

  • ✅ 检查认证状态
  • 🔓 如已认证,直接使用保存的浏览器状态(无需登录)
  • ⚠️ 如未认证,提示运行 auth_manager.py setup

注意:认证数据存储在 ~/.claude/skills/x-article-publisher/data/browser_state/,已通过 .gitignore 排除,不会提交到 Git。


Scripts

Located in ~/.claude/skills/x-article-publisher/scripts/:

publish_article.py (主脚本 - 一键发布)

推荐使用 - 自动完成所有发布步骤:

# 基本用法
python publish_article.py --file article.md

# 显示浏览器(调试用)
python publish_article.py --file article.md --show-browser

# 自定义标题
python publish_article.py --file article.md --title "自定义标题"

parse_markdown.py

Parse Markdown and extract structured data:

python parse_markdown.py <markdown_file> [--output json|html] [--html-only]

Returns JSON with: title, cover_image, content_images (with block_index for positioning), html, total_blocks

copy_to_clipboard.py

Copy image or HTML to system clipboard:

# Copy image (with optional compression)
python copy_to_clipboard.py image /path/to/image.jpg [--quality 80]

# Copy HTML for rich text paste
python copy_to_clipboard.py html --file /path/to/content.html

Workflow (简化版)

前提:已完成认证设置(python auth_manager.py setup)

🚀 一键发布(推荐)

直接运行 publish_article.py,自动完成所有步骤:

cd ~/.claude/skills/x-article-publisher/scripts
python publish_article.py --file /path/to/article.md

脚本会自动:

  • ✅ 检查认证状态
  • 📄 解析 Markdown 文件
  • 🌐 启动已认证的浏览器
  • 📍 导航到 X Articles 编辑器
  • 🔘 点击 create 按钮
  • 🖼️ 上传封面图(如有)
  • 📝 填写标题
  • 📋 粘贴 HTML 内容
  • ✅ 保存草稿(不会自动发布)

手动工作流(高级用户)

如需更精细控制,可分步执行:

  • Parse Markdown: python parse_markdown.py article.md
  • 手动操作浏览器发布

🧠 智能增强功能

智能标题生成

当文章没有 H1 标题时,parse_markdown.py 会返回 needs_title_generation: true。

Claude 应该自动:

  • 阅读文章内容,理解核心观点
  • 生成一个吸引人点击的标题(15-25字为佳)
  • 使用 --title "生成的标题" 参数发布

好标题的特点:

  • 包含数字或具体细节("3个方法"、"90%的人不知道")
  • 激发好奇心("为什么..."、"如何..."、"...的真相")
  • 与读者切身相关
  • 避免标题党,但要有吸引力

示例:

# 解析文章
python parse_markdown.py article.md

# 如果 needs_title_generation: true,Claude 生成标题后:
python publish_article.py --file article.md --title "AI时代,普通人的3个生存法则"

智能封面图生成

当文章没有封面图时,parse_markdown.py 会返回 needs_cover_generation: true。

Claude 应该自动:

  • 阅读文章,提炼核心概念(1-3个关键词)
  • 调用 gemini-image-generator 或 jimeng-image-generator skill 生成封面图
  • 封面图风格建议:
  • 简洁大气,避免复杂细节
  • 可以是抽象概念的可视化
  • 或是带有核心关键词的文字海报
  • 将生成的图片路径插入到文章开头作为封面

封面图生成提示词模板:

为一篇关于「{文章主题}」的文章生成封面图。
风格:简洁、现代、科技感
元素:{1-3个核心视觉元素}
文字:可选,如果加文字只放{1-3个关键词}
尺寸:16:9 横版

工作流示例:

# 1. 解析文章
python parse_markdown.py article.md
# 输出: needs_cover_generation: true

# 2. Claude 调用生图 skill 生成封面(假设保存到 /tmp/cover.png)

# 3. 将封面图插入文章开头,或手动上传

注意:封面图上传目前需要在浏览器中手动操作,脚本会打开编辑器后等待用户操作。


技术细节

parse_markdown.py 输出格式

{
  "title": "Article Title",
  "title_source": "h1",           // "h1", "h2", "first_line", or "none"
  "needs_title_generation": false, // true if no H1 title
  "cover_image": "/path/to/first-image.jpg",
  "needs_cover_generation": false, // true if no cover image
  "content_images": [
    {"path": "/path/to/img2.jpg", "block_index": 5}
  ],
  "html": "<p>Content...</p><h2>Section</h2>...",
  "total_blocks": 45
}

字段说明:

  • title_source: 标题来源
  • h1: 来自 H1 标题(最理想)
  • h2: 来自第一个 H2 标题
  • first_line: 来自第一行文本
  • none: 无法提取标题
  • needs_title_generation: 是否需要 Claude 生成更好的标题
  • needs_cover_generation: 是否需要 Claude 生成封面图

Critical Rules

  • NEVER auto-publish - Only save as draft
  • NO automatic cover images - User adds cover manually, never insert first image as cover
  • Clean placeholders - Remove all remaining @@@IMG_X@@@ markers after image insertion
  • H1 title handling - H1 is used as title only, not included in body

Supported Formatting

  • H2 headers (## )
  • Blockquotes (> )
  • Code blocks (converted to blockquotes)
  • Bold text (**)
  • Hyperlinks (text)
  • Ordered/Unordered lists
  • Paragraphs

Example

User: "Publish /path/to/article.md to X"

cd ~/.claude/skills/x-article-publisher/scripts
python publish_article.py --file /path/to/article.md

Output:

📄 解析文件:/path/to/article.md
  📝 标题:文章标题
  🖼️  封面图:/path/to/cover.jpg
  📷 内容图:2 张

🌐 启动浏览器...
  📍 导航到 X Articles...
  🔘 点击 create 按钮...
  📝 填写标题...
  📋 粘贴内容...

✅ 草稿已创建!
  💡 请在浏览器中检查并手动发布
  🖥️  浏览器保持打开,请检查草稿并手动发布
  ⏎  完成后按回车键关闭浏览器...

技术经验参考: 浏览器自动化调试技巧详见 skill-development-guide

Other skills for the same job

different authors, same section of the catalogue
Canvas Design
by anthropics
vendor ×16

Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.

3k tokens
X Article Publisher
by ZhanlinCui
×4

Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.

3.1k tokens scripts zh
Nanobanana Ppt Skills
by ComeOnOliver
×2

AI-powered PPT generation with document analysis and styled images

166 tokens
Open Notebook
by K-Dense-AI
×1

Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis. Use when organizing research materials into notebooks, ingesting diverse content sources (PDFs, videos, audio, web pages, Office documents), generating AI-powered notes and summaries, creating multi-speaker podcasts from research, chatting with documents using context-aware AI, searching across materials with full-text and vector search, or running custom content transformations. Supports 16+ AI providers including OpenAI, Anthropic, Google, Ollama, Groq, and Mistral with complete data privacy through self-hosting.

2.5k tokens scripts
Cell Figure Guide
by BioTender-max
×1

Cell (Cell Press) figure preparation: resolution (300-1000 DPI), formats (TIFF/PDF), RGB color, Avenir/Arial fonts, uppercase panel labels, strict image manipulation policies.

3.6k tokens
Open Notebook
by christophacham
×1

Self-hosted, open-source alternative to Google NotebookLM for AI-powered research and document analysis. Use when organizing research materials into notebooks, ingesting diverse content sources (PDFs, videos, audio, web pages, Office documents), generating AI-powered notes and summaries, creating multi-speaker podcasts from research, chatting with documents using context-aware AI, searching across materials with full-text and vector search, or running custom content transformations. Supports 16+ AI providers including OpenAI, Anthropic, Google, Ollama, Groq, and Mistral with complete data privacy through self-hosting.

2.6k tokens scripts
Libreoffice Writer
by ComeOnOliver
×1

Use when creating, editing, formatting, exporting, or extracting LibreOffice Writer (.odt) documents via UNO, including session-based edits, structured text targets, tables, images, lists, patch workflows, and snapshots.

2.1k tokens scripts
X Article Publisher
by ComeOnOliver
×1

Publish Markdown articles to X (Twitter) Articles editor with proper formatting. Use when user wants to publish a Markdown file/URL to X Articles, or mentions "publish to X", "post article to Twitter", "X article", or wants help with X Premium article publishing. Handles cover image upload and converts Markdown to rich text automatically.

3.2k tokens scripts zh

How to use it

Copy the folder

Take anbeime/skill-x-article-publisher from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip. Without those the skill loads but fails at the first command.