{"id":"c06f826a-909b-47db-bade-0d353b94d854","shortId":"TfNCQK","kind":"skill","title":"aws-wechat-article-publish","tagline":"公众号发布｜公众号草稿箱｜公众号群发｜图文推送｜微信 API｜wechat automation｜WeChat API automation｜auto publish｜scheduled publish — 公众号 API 发布工具，图文入草稿箱或直接群发，支持封面素材上传、发布前检查与 draft/published 模式切换。面向公众号运营、自动化内容团队、开发者。触发词：「发布」「提交」「群发」「推送」「发出去」「上传到公众号」「发到公众号」「可以发了吗」「发布前检查」。需要多环节串联（写+审+排+配图+发）请走 aws-wechat-articl","description":"# 发布\n\n**公众号 API 直连发布** —— 图文入草稿箱或直接群发，素材上传、发布前检查一站式完成。\n\n> **套件说明** · 本 skill 属 `aws-wechat-article-*` 一条龙套件（共 9 个 slug，入口 `aws-wechat-article-main`）。跨 skill 的相对引用依赖同一 `skills/` 目录，建议一并 `clawhub install` 全套。源码：<https://github.com/aiworkskills/wechat-article-skills>\n\n## 能力披露（Capabilities）\n\n本 skill 调 `publish.py` **直连微信公众号官方 API** 发布图文。**会把本篇 `article.html` 与 `imgs/*` 文件作为 POST body 上传到微信服务器。** 具体行为：\n\n- **凭证读取**：`aws.env` 的 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`（多槽位支持 N≥1）\n- **凭证外发**：`APPID` / `APPSECRET` 以 query string 形式发给 `api.weixin.qq.com/cgi-bin/token` 换 `access_token`；后续请求带 `access_token` query string。微信返回的 `access_token` 在进程内存短期缓存，**不落盘**\n- **内容外发**：本篇封面、正文插图以 multipart upload 发给 `material/add_material`；`article.html` 正文与标题/摘要以 JSON POST 发给 `draft/add`、`freepublish/submit`\n- **网络目标**：默认 `api.weixin.qq.com`；用户可在 `WECHAT_{N}_API_BASE` / `config.yaml.wechat_api_base` 自配反代\n- **文件读**：仓库内 `.aws-article/config.yaml`、`aws.env`、本篇 `article.yaml`、`article.html`、`imgs/*`\n- **文件写**：仅本篇 `article.yaml` 的状态字段（`media_id`、`publish_id`、`publish_completed`）\n- **shell**：仅 `python3 {baseDir}/scripts/publish.py`、`getdraft.py`、`article_init.py`\n\n**建议**：首次运行用 `publish_method: draft` 只入草稿箱确认效果，再切 `published` 真正群发。\n\n## 配套 skill（informational）\n\n本 skill 是 `aws-wechat-article-*` 一条龙公众号套件的**发布环节**（入口 `aws-wechat-article-main`）。工作流中的若干步骤会读取同级 `../aws-wechat-article-main/references/*.md` 等共享文档（首次引导、articlescreening schema、env/config 示例等）。\n\n- **套件完整装齐到同一 `skills/` 根目录**时，跨 skill 引用都能读到。\n- **单独安装本 skill** 时，跨 skill 引用的步骤会在读取阶段遇到 `file not found`；但 `publish.py`、`getdraft.py`、`article_init.py` 这几个脚本本身可独立运行（只要 `aws.env` 与 `.aws-article/config.yaml` 就绪）。\n\n完整 9 slug 清单见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n通过微信公众号 API 将排版稿写入**草稿箱**或再**提交发布**（由 **`config.yaml`** 的 **`publish_method`** 与命令行 **`--publish`** 控制）。\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。发布子命令在 **`{baseDir}/scripts/publish.py`**（项目根执行）。\n\n| 脚本 / 子命令 | 用途 |\n|--------|------|\n| **`article_init.py`** | 初始化或更新本篇 **`article.yaml`**（及可选 **`closing.md`**）。用于总览 **本篇准备**（建目录后）或 **发布前** 补全元数据。仓库根执行：`python {baseDir}/scripts/article_init.py <文章目录> [--title … --author … --digest …]` |\n| **`getdraft.py`** | 独立于 `publish.py`：用于正式文章查询（`published-list` / `published-fields` / `publish-get` / `article-get`，对应 `freepublish/*`），可用于 `embeds.related_articles.manual` 为空时自动补全推荐链接。注意：`freepublish/*` 需要公众号具备对应接口权限。仓库根：`python {baseDir}/scripts/getdraft.py published-fields` |\n| `check-screening` | 校验 **`config.yaml`** 的 **`publish_method`**（**`draft`** / **`published`** / **`none`**） |\n| `check-wechat-env` | 按 **`config.yaml` 槽位**检查 `aws.env` 的 `WECHAT_N_APPID` / `WECHAT_N_APPSECRET` 是否已填（**调用 `publish.py` 前建议跑**） |\n| `check` | 环境检查：`aws.env`、各槽位、依赖、可选探测 token |\n| `accounts` | 列出 **`config.yaml`** 中各微信槽位名称，并标记 `aws.env` 凭证缺项 |\n| `full` / `token` / … | 调微信 API（需 **`aws.env`** 微信凭证） |\n\n## 凭证与 `publish_method` ⛔\n\n### `publish_method`（以仓库 **`config.yaml`** 为准）\n\n| 值 | 含义 | 行为 |\n|----|------|------|\n| **`draft`**（默认） | 只进公众号**草稿箱** | **`full`** 创建草稿后**不**调用 freepublish 提交发布。 |\n| **`published`** | 草稿 + **提交发布** | **`full`** 创建草稿后继续提交发布（异步）。**`full --publish`** 可**单次强制**带发布，即使当前为 **`draft`**。 |\n| **`none`** | 用户明确不填微信 | **`full`** **立即退出**，不调任何微信接口（**`--publish`** 也会被忽略）。其它子命令（`token` 等）仍要凭证。 |\n\n### 多账号时如何选槽位\n\n1. 运行 **`python {baseDir}/scripts/publish.py accounts`**，从 **`config.yaml` 的 `wechat_accounts` + `wechat_N_name`** 向用户展示列表（例如：`您有2个账号：1.\"xiaoming\"，2.\"xiaoz\"`）必须询问用户选择哪个账号发布到草稿箱，然后根据用户选择发布到指定的账号。\n2. 在 **`config.yaml`** 写 **`wechat_publish_slot: <整数>`**，**或**命令行 **`--account <序号或名称>`**（**CLI 优先**，见 [articlescreening-schema.md](../aws-wechat-article-main/references/articlescreening-schema.md)）。\n\n### 全局环境\n\n在仓库根具备 **`aws.env`**（微信密钥）与 **`config.yaml`**（微信槽位数量与名称）。写作/生图见 **`validate_env.py`**（微信未齐仍可先做内容）。**`publish_method: none`** 时 **`full`** 会跳过；**`draft`/`published`** 发布前建议 **`check-wechat-env`**。API 端点优先取 **`WECHAT_N_API_BASE`**，若槽位未配则回退 **`config.yaml.wechat_api_base`**（两者都空时使用官方）。\n\n### 作者名回退\n\n`full` / `create-draft` 若 **`article.yaml` 无 author**，回退 **`config.yaml`** 的 **`default_author`**。\n\n### `publish_completed`（本篇是否已发布完成）\n\n- 字段在**本篇** **`article.yaml`**。**`publish.py` 不读、不改**；由智能体维护。\n- **`false`**：发布流程未闭环。\n- **`true`**：已视为发布完成（草稿已确认 / 或 **`published`** 流程成功且运营确认）。\n\n**本篇发布真正结束后**：将 **`publish_completed: true`** 写回 **`article.yaml`**。\n\n**写回 `true` 的前置门禁（缺啥补啥）**：\n\n1. `article.html` 存在；\n2. 文章目录存在封面图 `cover.(png/jpg/jpeg/webp)`；\n3. `article.md` 与 `article.html` 中均不含 `placeholder`；\n4. 发布命令成功并拿到回执（`media_id` 或 `publish_id`）。\n\n任一不满足：只可标记为“已提交草稿，未闭环”，**不得**写回 `publish_completed: true`。\n\n## 用户仅说「发布」且未明确路径时 ⛔\n\n在用户**未给出** `drafts/…` 路径、仅说「发布文章」「帮我发一下」等时：\n\n1. **确定本篇目录**：列出仓库下 **`drafts/`** 中子目录；若**多篇**，请用户**指定一篇**或选「最新修改」的一篇再读该目录 **`article.yaml`**。**勿**在未确认目录时假定路径。\n2. 读取该目录 **`article.yaml`** 中的 **`publish_completed`**（YAML 布尔：`true` / `false`；**缺省按 `false` 处理**）。\n\n| `publish_completed` | 智能体对用户说明（可略作口语化，勿改含义） |\n|---------------------|---------------------------------------------|\n| **`true`** | 告知：**项目里本篇文档已按记录成功发布**；问：**您是否需要编写新文章？** 若需要 → 转交 [main](../aws-wechat-article-main/SKILL.md) / [writing](../aws-wechat-article-writing/SKILL.md) 从本篇准备或选题起走。 |\n| **`false`** 或缺省 | 读取 **`article.yaml`** 的 **`title`**（若无则用目录名简述），说明：**《{title}》尚未执行完成（发布流程未闭环）**；问：**是否需要继续并完成发布？** 或 **编写新文章？** 若继续本篇 → 再核对 **`config.yaml`** 的 **`publish_method`**、**`check-screening`**、**`check-wechat-env`** 等。 |\n\n## 工作流\n\n```\n发布进度：\n- [ ] 前置：配置检查（见本节「配置检查」）⛔\n- [ ] 第0步：若用户未给路径 → 选本篇目录 → 读 publish_completed → 按上表分流（true/false）\n- [ ] 第1步：读 **`config.yaml`** → **`draft` / `published`**（及是否 **`full --publish`**）\n- [ ] 第2步：读取 **`config.yaml`** 的 `wechat_accounts` + `wechat_N_name` 向用户展示账号列表并询问目标槽位；随后跑 **`check-wechat-env`** 校验 `aws.env` 凭证 → **`wechat_publish_slot` 或 `--account`**\n- [ ] 第3步：发布前检查（checklist + **`check-screening`** + **`check`**）\n- [ ] 第4步：准备文章目录\n- [ ] 第5步：**`full`**（仅草稿或含发布，视上步）\n- [ ] 第6步：确认结果与用户说明\n- [ ] 第7步：成功后写回 **`article.yaml`** 的 **`publish_completed: true`**；按需归档\n```\n\n## 交互顺序（最小提问）\n\n0) **未给路径时**：先按上文 **「用户仅说发布」** 处理 **`publish_completed`**；用户选 **继续本篇** 后再做下列步骤。  \n1) **先看 `config.yaml` 的 `publish_method`**：**`draft`** = 默认只进草稿箱；**`published`** 或 **`full --publish`** = 再提交发布。  \n2) **多槽位**：展示账号列表（来源：`config.yaml` 的 `wechat_accounts` + `wechat_N_name`），**必须请用户选槽位** → **`wechat_publish_slot`** 或 **`--account`**。  \n3) 缺微信字段：运行 **`check-wechat-env`**，补全 **`aws.env`** 后再发。  \n4) **发布失败**（由脚本 stderr / 微信 errcode 判断）：  \n   - **网络类**（超时、连接失败、5xx）：脚本已对单次请求 **自动重试 1 次**；仍失败 → 告知「网络不可用，请稍后重试或检查代理」。  \n   - **凭证/配置类**（如 token 失败带 errcode、缺字段）→ 提示 **第几槽位**、检查 **APPID/SECRET、IP 白名单**，用户改正后再执行 **`full`** / **`publish`**。\n5) **中间产物缺失**（封面缺失 / 存在 `placeholder`）：先补产物再发；若用户坚持先发草稿，必须明确告知“正文配图未完成”，且保持 `publish_completed: false`。\n\n## 命令示例（仓库根）\n\n```bash\npython {baseDir}/scripts/publish.py check-screening\npython {baseDir}/scripts/publish.py check-wechat-env\npython {baseDir}/scripts/publish.py accounts\npython {baseDir}/scripts/publish.py check\npython {baseDir}/scripts/publish.py --account 1 full drafts/YYYYMMDD-标题slug/\npython {baseDir}/scripts/getdraft.py published-fields\n```\n\n详见 [references/usage.md](references/usage.md)、[references/submit-guide.md](references/submit-guide.md)、[references/api-reference.md](references/api-reference.md)。\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `article.html`、`imgs/`、**`article.yaml`**（含 **`publish_completed`** 等）、**`.aws-article/config.yaml`**、**`aws.env`**（微信槽位） | 发布到公众号草稿或提交发布；**成功后**由智能体将 **`publish_completed: true`** 写回 **`article.yaml`**（`publish.py` 不改此键） |","tags":["aws","wechat","article","publish","skills","aiworkskills","agent-skills","ai-skills","ai-writing","chinese-nlp","codex","content-automation"],"capabilities":["skill","source-aiworkskills","skill-aws-wechat-article-publish","topic-agent-skills","topic-ai-skills","topic-ai-writing","topic-chinese-nlp","topic-codex","topic-content-automation","topic-content-creation","topic-copywriting","topic-llm","topic-markdown-to-html","topic-openclaw","topic-wechat"],"categories":["wechat-article-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/aiworkskills/wechat-article-skills/aws-wechat-article-publish","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add aiworkskills/wechat-article-skills","source_repo":"https://github.com/aiworkskills/wechat-article-skills","install_from":"skills.sh"}},"qualityScore":"0.469","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 39 github stars · SKILL.md body (7,674 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T18:58:27.200Z","embedding":null,"createdAt":"2026-04-21T19:04:11.874Z","updatedAt":"2026-05-18T18:58:27.200Z","lastSeenAt":"2026-05-18T18:58:27.200Z","tsv":"'/aiworkskills/wechat-article-skills':91 '/aiworkskills/wechat-article-skills)':272 '/aws-wechat-article-main/references':228 '/aws-wechat-article-main/references/articlescreening-schema.md':499 '/aws-wechat-article-main/references/first-time-setup.md':292 '/aws-wechat-article-main/skill.md':659 '/aws-wechat-article-writing/skill.md':661 '/cgi-bin/token':131 '/config.yaml':177,263,918 '/scripts/article_init.py':326 '/scripts/getdraft.py':358,894 '/scripts/publish.py':197,307,464,865,871,878,882,886 '0':762 '1':121,460,477,578,618,772,825,888 '2':479,483,581,633,785 '3':585,802 '4':591,812 '5':847 '5xx':822 '9':70,266 'access':133,136,141 'account':400,465,470,493,719,736,792,801,879,887 'agent':299 'api':11,15,22,55,99,166,169,274,410,524,528,532 'api.weixin.qq.com':130,162 'api.weixin.qq.com/cgi-bin/token':129 'appid':115,123,385 'appid/secret':841 'appsecret':118,124,388 'articl':4,52,67,77,176,218,225,262,345,917 'article-get':344 'article.html':102,152,181,579,588,908 'article.md':586 'article.yaml':180,185,314,541,554,573,630,635,666,754,910,928 'article_init.py':199,255,312 'articlescreen':232 'articlescreening-schema.md':498 'author':329,543,548 'auto':17 'autom':13,16 'aw':2,50,65,75,175,216,223,261,916 'aws-articl':174,260,915 'aws-wechat-articl':49,64,215 'aws-wechat-article-main':74,222 'aws-wechat-article-publish':1 'aws.env':111,178,258,381,395,405,412,502,730,810,919 'base':167,170,529,533 'basedir':196,304,306,325,357,463,864,870,877,881,885,893 'bash':862 'bodi':107 'capabl':93 'check':363,374,393,521,685,688,726,741,743,806,867,873,883 'check-screen':362,684,740,866 'check-wechat-env':373,520,687,725,805,872 'checklist':739 'clawhub':85 'cli':495 'closing.md':316 'complet':192,550,570,605,638,647,703,757,768,858,913,925 'config.yaml':280,366,378,402,420,467,485,505,545,680,708,716,774,789 'config.yaml.wechat':168,531 'cover':583 'creat':538 'create-draft':537 'default':547 'digest':330 'draft':204,370,425,447,517,539,612,621,709,778 'draft/add':158 'draft/published':27 'drafts/yyyymmdd-':890 'embeds.related_articles.manual':350 'env':376,523,690,728,808,875 'env/config':234 'errcod':817,836 'fals':559,642,644,663,859 'field':340,361,897 'file':249 'found':251 'freepublish':348,353,433 'freepublish/submit':159 'full':407,429,438,441,450,515,536,712,747,782,845,889 'get':343,346 'getdraft.py':198,254,331 'github.com':90,271 'github.com/aiworkskills/wechat-article-skills':89 'github.com/aiworkskills/wechat-article-skills)':270 'id':188,190,594,597 'img':104,182,909 'inform':211 'instal':86 'ip':842 'json':155 'list':337 'main':78,226,658 'material/add_material':151 'md':229 'media':187,593 'method':203,283,369,416,418,512,683,777 'multipart':148 'n':114,117,120,165,384,387,472,527,721,794 'name':473,722,795 'none':372,448,513 'placehold':590,851 'png/jpg/jpeg/webp':584 'post':106,156 'publish':5,18,20,189,191,202,207,282,285,336,339,342,360,368,371,415,417,435,442,453,488,511,518,549,565,569,596,604,637,646,682,702,710,713,733,756,767,776,780,783,798,846,857,896,912,924 'publish-get':341 'publish.py':97,253,333,391,555,929 'published-field':338,359,895 'published-list':335 'python':324,356,462,863,869,876,880,884,892 'python3':195 'queri':126,138 'references/api-reference.md':903,904 'references/submit-guide.md':901,902 'references/usage.md':899,900 'schedul':19 'schema':233 'screen':364,686,742,868 'shell':193 'skill':62,80,82,95,210,213,237,241,244,247 'skill-aws-wechat-article-publish' 'skill.md':302 'slot':489,734,799 'slug':72,267 'source-aiworkskills' 'stderr':815 'string':127,139 'titl':328,668,671 'token':134,137,142,399,408,456,834 'topic-agent-skills' 'topic-ai-skills' 'topic-ai-writing' 'topic-chinese-nlp' 'topic-codex' 'topic-content-automation' 'topic-content-creation' 'topic-copywriting' 'topic-llm' 'topic-markdown-to-html' 'topic-openclaw' 'topic-wechat' 'true':561,571,575,606,641,651,758,926 'true/false':705 'upload':149 'validate_env.py':509 'wechat':3,12,14,51,66,76,113,116,164,217,224,375,383,386,469,471,487,522,526,689,718,720,727,732,791,793,797,807,874 'write':660 'xiaom':478 'xiaoz':480 'yaml':639 '一条龙公众号套件的':219 '一条龙套件':68 '上传到公众号':38 '上传到微信服务器':108 '不':431 '不得':602 '不改':557 '不改此键':930 '不落盘':144 '不读':556 '不调任何微信接口':452 '与':103,259,504,587 '与命令行':284 '且保持':856 '且未明确路径时':609 '两者都空时使用官方':534 '个':71 '中各微信槽位名称':403 '中均不含':589 '中子目录':622 '中的':636 '中间产物缺失':848 '为准':421 '为空时自动补全推荐链接':351 '也会被忽略':454 '交互顺序':760 '产出':907 '仅':194 '仅本篇':184 '仅草稿或含发布':748 '仅说':614 '仍失败':827 '仍要凭证':458 '从':466 '从本篇准备或选题起走':662 '仓库内':173 '仓库根':355,861 '仓库根执行':323 '以':125 '以仓库':419 '任一不满足':598 '任何操作执行前':288 '优先':496 '会把本篇':101 '会跳过':516 '但':252 '作者名回退':535 '例如':475 '依赖':397 '值':422 '先按上文':764 '先看':773 '先补产物再发':852 '入口':73,221 '全套':87 '全局环境':500 '公众号':21,54 '公众号发布':6 '公众号群发':8 '公众号草稿箱':7 '共':69 '其它子命令':455 '具体行为':109 '内容外发':145 '再切':206 '再提交发布':784 '再核对':679 '写':43,486 '写作':507 '写回':572,574,603,927 '准备文章目录':745 '凭证':731,831 '凭证与':414 '凭证外发':122 '凭证缺项':406 '凭证读取':110 '列出':401 '列出仓库下':620 '创建草稿后':430 '创建草稿后继续提交发布':439 '初始化或更新本篇':313 '判断':818 '前建议跑':392 '前置':694 '勿':631 '勿改含义':650 '单次强制':444 '单独安装本':243 '即使当前为':446 '及可选':315 '及是否':711 '发':47 '发出去':37 '发到公众号':39 '发布':33,53,608 '发布到公众号草稿或提交发布':921 '发布前':321 '发布前建议':519 '发布前检查':41,738 '发布前检查一站式完成':59 '发布前检查与':26 '发布命令成功并拿到回执':592 '发布图文':100 '发布失败':813 '发布子命令在':305 '发布工具':23 '发布文章':615 '发布流程未闭环':560,673 '发布环节':220 '发布进度':693 '发给':150,157 '只入草稿箱确认效果':205 '只可标记为':599 '只要':257 '只进公众号':427 '可':443 '可以发了吗':40 '可用于':349 '可略作口语化':649 '可选探测':398 '各槽位':396 '后再做下列步骤':771 '后再发':811 '后续请求带':135 '向用户展示列表':474 '向用户展示账号列表并询问目标槽位':723 '含':911 '含义':423 '告知':652,828 '命令示例':860 '命令行':492 '回退':544 '图文入草稿箱或直接群发':24,57 '图文推送':9 '在':484 '在仓库根具备':501 '在未确认目录时假定路径':632 '在用户':610 '在进程内存短期缓存':143 '处理':645,766 '多槽位':786 '多槽位支持':119 '多篇':624 '多账号时如何选槽位':459 '失败带':835 '套件完整装齐到同一':236 '套件说明':60 '如':833 '子命令':310 '字段在':552 '存在':580,850 '完整':265 '审':44 '对应':347 '封面缺失':849 '将':568 '将排版稿写入':275 '尚未执行完成':672 '就绪':264 '展示账号列表':787 '属':63 '工作流':692 '工作流中的若干步骤会读取同级':227 '已提交草稿':600 '已视为发布完成':562 '布尔':640 '带发布':445 '帮我发一下':616 '并标记':404 '序号或名称':494 '建目录后':319 '建议':200 '建议一并':84 '开发者':31 '异步':440 '引用的步骤会在读取阶段遇到':248 '引用都能读到':242 '形式发给':128 '微信':10,816 '微信凭证':413 '微信密钥':503 '微信未齐仍可先做内容':510 '微信槽位':920 '微信槽位数量与名称':506 '微信返回的':140 '必须':289 '必须明确告知':854 '必须询问用户选择哪个账号发布到草稿箱':481 '必须请用户选槽位':796 '您是否需要编写新文章':655 '您有2个账号':476 '成功后':922 '成功后写回':753 '或':320,491,564,595,676,735,781,800 '或再':277 '或用户明确书面确认':296 '或缺省':664 '或选':627 '所在目录为':303 '执行':300 '执行其中的':293 '指定一篇':626 '按':290,377 '按上表分流':704 '按需归档':759 '换':132 '排':45 '控制':286 '推送':36 '提交':34 '提交发布':278,434,437 '提示':838 '摘要以':154 '支持封面素材上传':25 '整数':490 '文件作为':105 '文件写':183 '文件读':172 '文章目录':327 '文章目录存在封面图':582 '无':542 '时':239,245,514 '是':214 '是否已填':389 '是否需要继续并完成发布':675 '智能体对用户说明':648 '最小提问':761 '最新修改':628 '未给出':611 '未给路径时':763 '未闭环':601 '本':61,94,212 '本次不检查':297 '本篇':179,553 '本篇准备':318 '本篇发布真正结束后':567 '本篇封面':146 '本篇是否已发布完成':551 '来源':788 '标题slug':891 '校验':365,729 '根目录':238 '检查':380,840 '检测通过后才能进行以下操作':295 '检测顺序':294 '槽位':379 '模式切换':28 '次':826 '正文与标题':153 '正文插图以':147 '正文配图未完成':855 '注意':352 '流程成功且运营确认':566 '清单见':268 '源码':88 '源码仓库':269 '然后根据用户选择发布到指定的账号':482 '独立于':332 '环境检查':394 '生图见':508 '用于总览':317 '用于正式文章查询':334 '用户仅说':607 '用户仅说发布':765 '用户可在':163 '用户改正后再执行':844 '用户明确不填微信':449 '用户选':769 '用途':311 '由':279 '由智能体将':923 '由智能体维护':558 '由脚本':814 '白名单':843 '的':112,281,367,382,468,546,667,681,717,755,775,790 '的一篇再读该目录':629 '的前置门禁':576 '的状态字段':186 '的相对引用依赖同一':81 '目录':83 '直连发布':56 '直连微信公众号官方':98 '真正群发':208 '确定本':301 '确定本篇目录':619 '确认结果与用户说明':751 '示例等':235 '立即退出':451 '端点优先取':525 '第0步':698 '第1步':706 '第2步':714 '第3步':737 '第4步':744 '第5步':746 '第6步':750 '第7步':752 '第几槽位':839 '等':457,691,914 '等共享文档':230 '等时':617 '素材上传':58 '继续本篇':770 '编写新文章':677 '缺啥补啥':577 '缺字段':837 '缺微信字段':803 '缺省按':643 '网络不可用':829 '网络目标':160 '网络类':819 '群发':35 '能力披露':92 '脚本':309 '脚本已对单次请求':823 '脚本目录':298 '自动化内容团队':30 '自动重试':824 '自配反代':171 '若':540,623 '若无则用目录名简述':669 '若槽位未配则回退':530 '若用户坚持先发草稿':853 '若用户未给路径':699 '若继续本篇':678 '若需要':656 '草稿':436 '草稿已确认':563 '草稿箱':276,428 '行为':424 '补全':809 '补全元数据':322 '见':497 '见本节':696 '视上步':749 '触发词':32 '详见':898 '说明':670 '请用户':625 '请稍后重试或检查代理':830 '请走':48 '读':701,707 '读取':665,715,906 '读取该目录':634 '调':96 '调微信':409 '调用':390,432 '超时':820 '跨':79,240,246 '路径':613 '转交':657 '过程文件':905 '运行':461,804 '这几个脚本本身可独立运行':256 '连接失败':821 '选本篇目录':700 '通过微信公众号':273 '配图':46 '配套':209 '配置检查':287,695,697 '配置类':832 '问':654,674 '随后跑':724 '需':411 '需要公众号具备对应接口权限':354 '需要多环节串联':42 '面向公众号运营':29 '项目根执行':308 '项目里本篇文档已按记录成功发布':653 '首次引导':231,291 '首次运行用':201 '默认':161,426 '默认只进草稿箱':779","prices":[{"id":"c02bce37-076f-4501-a982-685eae01c0cf","listingId":"c06f826a-909b-47db-bade-0d353b94d854","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"aiworkskills","category":"wechat-article-skills","install_from":"skills.sh"},"createdAt":"2026-04-21T19:04:11.874Z"}],"sources":[{"listingId":"c06f826a-909b-47db-bade-0d353b94d854","source":"github","sourceId":"aiworkskills/wechat-article-skills/aws-wechat-article-publish","sourceUrl":"https://github.com/aiworkskills/wechat-article-skills/tree/main/skills/aws-wechat-article-publish","isPrimary":false,"firstSeenAt":"2026-04-21T19:04:11.874Z","lastSeenAt":"2026-05-18T18:58:27.200Z"}],"details":{"listingId":"c06f826a-909b-47db-bade-0d353b94d854","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"aiworkskills","slug":"aws-wechat-article-publish","github":{"repo":"aiworkskills/wechat-article-skills","stars":39,"topics":["agent-skills","ai-skills","ai-writing","chinese-nlp","codex","content-automation","content-creation","copywriting","llm","markdown-to-html","openclaw","wechat","wechat-api","wechat-official-account"],"license":"apache-2.0","html_url":"https://github.com/aiworkskills/wechat-article-skills","pushed_at":"2026-05-06T01:47:51Z","description":"微信公众号 AI 运营助手 | 选题、写稿、审稿、排版、配图、发布全流程 Skill，支持 OpenClaw / Claude Code / Cursor / Codex","skill_md_sha":"4fb9315d837a10a697a412d9825e79d1713c306c","skill_md_path":"skills/aws-wechat-article-publish/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/aiworkskills/wechat-article-skills/tree/main/skills/aws-wechat-article-publish"},"layout":"multi","source":"github","category":"wechat-article-skills","frontmatter":{"name":"aws-wechat-article-publish","description":"公众号发布｜公众号草稿箱｜公众号群发｜图文推送｜微信 API｜wechat automation｜WeChat API automation｜auto publish｜scheduled publish — 公众号 API 发布工具，图文入草稿箱或直接群发，支持封面素材上传、发布前检查与 draft/published 模式切换。面向公众号运营、自动化内容团队、开发者。触发词：「发布」「提交」「群发」「推送」「发出去」「上传到公众号」「发到公众号」「可以发了吗」「发布前检查」。需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。"},"skills_sh_url":"https://skills.sh/aiworkskills/wechat-article-skills/aws-wechat-article-publish"},"updatedAt":"2026-05-18T18:58:27.200Z"}}