X Article Draft Uploader
Uploads Markdown articles to X Articles as drafts with tables, images and a cover.
Install
npx skills add mcncarl/yichen-skills --skill x-article-draft-uploader -g -a claude-code -y- Repository
- mcncarl/yichen-skills5.1k
- Category
- Marketing
- Updated
- 3d ago
- License
- See repository
- Context cost
- Mediumabout 2,752 tokens
- Runs scripts
- Yes, review before use
What it does
将 Obsidian 或本地 Markdown 文章上传到 X/Twitter Articles 草稿;支持 Markdown pipe 表格转成 X 原生表格块;如果文章最上方有图片,则按当前 X 界面提示的 5:2 封面图上传;如果没有封面图,则跳过封面区域,直接上传标题、正文、表格和正文图片,完成后提醒用户补一张 5:2 封面。X Article 当前实测正文最多 25 个媒体项,封面单独上传且不占正文名额;表格尺寸选择器当前最大 10 x 10。适用于用户要求上传、发布、保存 Markdown 到 X Article,尤其是需要复用 Chrome 登录态、使用独立 Playwright 浏览器、不接管用户当前浏览器,或旧脚本出现缺图、错位、MPH_MARKER、表格变纯文本等问题时。
X Article Draft Uploader
许可与商业授权
本 Skill 仅允许个人学习、研究和非商业个人工作流使用。客户交付、付费产品或服务、
公司内部部署、市场打包、课程打包及其他商业用途,必须事先取得作者明确的书面授权。
申请商业授权请添加微信 yichen365ai,并在验证信息中备注 商业授权;收到明确书面
授权前不得商用。完整条款见同目录 LICENSE。该限制只适用于本 Skill,
不改变 Ailu 核心的 AGPL-3.0-or-later 许可;第三方材料继续适用各自许可证。
核心原则
只创建草稿。除非用户明确确认可以公开发布,否则不要点击 X 最终的 发布 按钮。
封面图必须按 X Article 当前界面提示的封面比例 5:2 准备;不要沿用旧的错误比例。
X Article 当前实测正文最多按 25 个媒体项处理,封面单独上传、不占这 25 个正文名额;1 张封面 + 25 张正文图 是有效边界。如果 dry-run 显示 expected_body_images > 25,不要打开 X、不要硬传第 26 张正文图;先生成只用于上传的临时 Markdown,把连续截图合并成长图,或把文章拆成多篇。原始 Markdown 不要为了上传压缩版而直接改坏。
X Article 当前支持原生表格块,但不能靠 rich HTML 粘贴 <table> 自动生成表格。脚本会把 Markdown pipe 表格替换成临时 X_TABLE_MARKER_* 占位符,正文粘贴后在占位符位置插入 X 原生表格块,再打开表格块的 Markdown 编辑器写入原始表格。最终校验必须在自动保存后刷新同一个草稿:表格数量必须精确相等,每张表的可见行列与规范化单元格文本矩阵必须和本地一致、不能是空表,同时铅笔编辑器读回的 Markdown 也必须一致;只读回弹窗源码不算成功。
X 当前表格尺寸选择器实测最大为 10 x 10。如果 dry-run 出现 table_too_large,不要打开 X;先拆表、压缩列数,或把大表转成图片/正文段落后再上传。
使用独立的 Playwright 浏览器会话,不要抢占用户当前正在用的 Chrome 窗口。可以复用 Chrome 登录态,但只通过私有的 Playwright cookie JSON 使用。
默认只新建草稿。只有用户当轮明确确认要覆盖某个准确的 X 草稿 URL 时,才可以使用
--draft-url,并同时传入 --confirm-existing-draft-write;该模式默认会清空这个草稿已有的
标题、正文、表格、正文媒体和封面。不得把任意 URL 传给该参数,也不得用它处理他人的草稿。
快速开始
- 使用 Ailu 时,通过设置页“从 Chrome 导入 / 粘贴 JSON / 选择 JSON”准备 Cookie。
独立运行 Skill 时,如果
~/.ailu/secrets/x/cookies.json不存在或登录态失效,再显式导出:
python3 ~/.agents/skills/x-article-draft-uploader/scripts/export_x_cookies_from_chrome.py \
--output ~/.ailu/secrets/x/cookies.json
- 正式碰 X 之前,先 dry-run 解析文章,确认可选封面、正文图数量、表格数量、图片文件存在性、正文结尾验收文本、
content_checkpoints、expected_compact_length、expected_compact_sha256和锚点。封面图推荐比例按当前 X 界面提示为 5:2:
python3 ~/.agents/skills/x-article-draft-uploader/scripts/upload_markdown_to_x_article.py \
"/absolute/path/to/article.md" \
--cookies-json ~/.ailu/secrets/x/cookies.json \
--dry-run
如果 dry-run 的 preflight.errors 非空,必须立刻停止工作。不要打开 X,不要创建草稿,不要自动重跑。按错误类型处理:
