
X Article Publisher
This handles the full workflow of converting Markdown files into X Articles with proper rich text formatting and cover images. When a user wants to publish content to Twitter's Premium article feature, it takes a local Markdown file or URL, uploads any cover image, and converts the content into X's article format automatically. The main value here is removing the manual formatting work, since X Articles requires specific rich text structure rather than raw Markdown. It triggers on phrases like "publish to X" or "post article to Twitter", so it stays out of the way until you actually need it. Saves time if you're regularly publishing long form content to X and don't want to deal with their editor interface directly.
- GitHub stars
- 1.5K
- last updated
- Jun 11, 2026
Install
$ npx -y skills add anbeime/skill --skill x-article-publisher --agent claude-codeInstalls into .claude/skills of the current project.
Files
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/:
Sponsors
Details
- Repository
- github.com/anbeime/skill
- Category
- Release Management
- First seen
- Jun 11, 2026