aws-wechat-article-main
aws-wechat-article-main is the orchestration entry point for a complete WeChat Official Account content pipeline that chains eight sub-skills (topic selection, writing, review, formatting, image generation, publishing, stickers, and assets) to produce finished articles from concept to publication. Use this skill when creating new WeChat public account content, planning content calendars, or executing multi-step editorial workflows, rather than calling individual sub-skills for isolated tasks like editing existing titles or adding covers.
git clone --depth 1 https://github.com/aiworkskills/wechat-article-skills /tmp/aws-wechat-article-main && cp -r /tmp/aws-wechat-article-main/skills/aws-wechat-article-main ~/.claude/skills/aws-wechat-article-mainSKILL.md
# 公众号运营总览
**一键式公众号 AI 内容流水线** —— 从选题到上架 8 个子 skill 串联,公众号小编 / 自媒体 / 品牌内容团队一键产出整篇图文。
> **套件说明** · `aws-wechat-article-*` 是公众号一条龙套件,共 9 个 slug:`aws-wechat-article-main / topics / writing / review / formatting / images / publish / assets`,外加 `aws-wechat-sticker`。跨 skill 的相对引用依赖同一 `skills/` 根目录;推荐 `clawhub sync` 或逐个 `clawhub install` 一次性全装。源码:<https://github.com/aiworkskills/wechat-article-skills>
## 能力披露(Capabilities)
本 skill 作为一条龙套件**编排入口**;真正调用外部 API 的是子 skill(writing / images / publish / sticker / review)。**本入口自身的 `validate_env.py` 脚本**行为:
- **凭证读取**:读取仓库根 `aws.env` 的 `WRITING_MODEL_API_KEY` / `IMAGE_MODEL_API_KEY` / `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`,**仅用于校验键是否存在且非空**,值不用于任何网络请求
- **网络**:本入口脚本无外发请求;**子 skill 有外发**(详见各子 skill 的能力披露)
- **文件读**:仓库内 `aws.env`、`.aws-article/config.yaml`、本篇 `article.yaml`
- **文件写**:仓库内 —— `.aws-article/`(首次引导创建目录结构)、本篇 `article.yaml` 状态字段
- **shell**:仅 `python3 {baseDir}/scripts/validate_env.py`
> **注意**:整体套件(含子 skill)会调用外部 LLM、图像 API 与微信 API,并在调用时外发 API key 与本篇内容。完整行为见各子 skill 的「能力披露」。
## 配套 skill(informational)
本 skill 是 `aws-wechat-article-*` 一条龙公众号套件的入口,编排 8 个子 skill:`topics / writing / review / formatting / images / publish / assets` 以及 `aws-wechat-sticker`。
- **装齐全部 9 个 slug** 到同一 `skills/` 根目录,才能走完整一条龙流程(选题→写稿→审稿→排版→配图→发布)。
- 只装 main 一个时,仍可用于环境校验(`validate_env.py`);进入内容流水线会因对应子 skill 缺失而无法执行相关步骤(工作流里的跨 skill 脚本调用 / 文档读取会遇到 `file not found`)。
完整 9 slug 清单与安装指引见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。
**Agent 执行**:确定本 SKILL.md 所在目录为 `{baseDir}`。
## 配置检查 ⛔ BLOCKING
**进入交互顺序「2) 全局账号约束」「3) 本篇准备」及内容流水线前**须完成 **第 0~2.5 步**配置检测(任一步失败则 **不得** 继续)。**第 3 步**是**调用 `publish.py` 前**的核对(非流水线起点):**`.aws-article/config.yaml`** 中 **`publish_method`** 默认为 **`draft`**(**`publish.py full`** 只把图文写入**公众号草稿箱**);仅当用户明确要求「发出去 / 对外发布」时,再将该键改为 **`published`**(或使用 **`full --publish`** 临时强制发布)。**微信**:**`validate_env.py`** 默认要求公众号账号配齐(见第 2 步);用户**明确不接微信**时,先将 **`publish_method`** 设为 **`none`** 再过校验(脚本会跳过微信组),之后 **`publish.py full`** 仍直接跳过。要走草稿/发布,须补全 **`aws.env`** 与 **`config.yaml`** 微信槽位,并建议 **`check-wechat-env`**。文风与账号约束以 **`config.yaml`** 为准,发文元数据以本篇 **`article.yaml`** 为准。
### 第 0 步:判断操作系统
智能体在执行下列检测命令前,**先判断当前环境**:
- **Linux / macOS**:使用 Bash 命令(`test`、`echo` 等)。
- **Windows**:使用 **PowerShell** 命令(`Test-Path` 等)。
### 第 1 步:`.aws-article/config.yaml` 与 `aws.env` 是否存在
在**仓库根目录**(当前工作目录为项目根)执行:
**Linux / macOS:**
```bash
test -f .aws-article/config.yaml && test -f aws.env && echo "ok" || echo "missing"
```
**Windows(PowerShell):**
```powershell
if ((Test-Path -LiteralPath ".aws-article\config.yaml") -and (Test-Path -LiteralPath "aws.env")) { "ok" } else { "missing" }
```
⛔ 输出为 `missing`(任一文件不存在)→ 按 [首次引导](references/first-time-setup.md) 创建或补全:可参考 **`{baseDir}/references/config.example.yaml`** 得到 **`config.yaml`**,在仓库根创建 **`aws.env`**(仅密钥与微信 `WECHAT_N_APPID` / `WECHAT_N_APPSECRET` 等,键名可与 `{baseDir}/references/env.example.yaml` 对照)。
**初始化约束**:新建 **`.aws-article/config.yaml`** 时,`publish_method` 默认必须为 **`draft`**;除非用户明确指定不接微信,否则禁止初始化或改写为 `none`。
### 第 2 步:校验配置内容(`validate_env.py`)
两文件均存在后,在仓库根运行:
```bash
python {baseDir}/scripts/validate_env.py
```
(默认读取 **`.aws-article/config.yaml`** 与 **`aws.env`**;可用 `--config` / `--env` 指定路径。)
脚本检查(规则摘要,具体交互文案统一以 [首次引导](references/first-time-setup.md) 为准):
- **写作模型**:`config.yaml` 中 `writing_model.base_url` / `model` 与 `aws.env` 中 **`WRITING_MODEL_API_KEY`** 须同时非空(`provider` 可选,不填按 URL/模型名自动识别);否则 **`failed`** + **`写作模型配置不完整`**,**退出码 1**。
- **图片模型**:`image_model.base_url` / `model` 与 **`IMAGE_MODEL_API_KEY`** 须同时非空(`provider` 可选,不填按 URL/模型名自动识别);否则同上,**退出码 1**。
- **微信公众号**:`wechat_accounts`、`wechat_api_base`、各槽位名与 **`aws.env`** 中 **`WECHAT_{i}_APPID` / `WECHAT_{i}_APPSECRET`** 须成对完整;否则 **`failed`** + **`微信公众号配置不完整`**,**退出码 1**。**例外**:**`config.yaml`** 中 **`publish_method: none`**(用户明确不接微信)时,**跳过**微信组校验,仍输出 **`True`**(并附一行说明已跳过)。
**退出码 0**:写作、图片均通过,且(未声明 **`none`** 时)微信也通过 → **`True`** + **`配置校验通过`**。**退出码 1**:任一组未通过 → 不得进入一条龙默认流水线,并引导 [首次引导](references/first-time-setup.md) 补全或 **`publish_method: none`** 后重跑。
### 第 2.5 步:创建预设与运行目录(硬性前置,必须执行)
**仅当第 2 步退出码为 0** 才执行本步;执行成功后才允许进入「2) 全局账号约束」与后续流水线。
目录要求与命令以 [首次引导第 2 步](references/first-time-setup.md) 为准(需覆盖 `presets/*` 与 `tmp`)。**业务资料库 `.aws-article/products/{产品名}/`** 不在本步建——由 AI 写第一份业务介绍时按 [assets skill](../aws-wechat-article-assets/SKILL.md) 自动 mkdir。
- **禁止**因为“环境检查通过”就跳过本步直接写稿。
- 若目录已存在,可视为本步通过;若缺失,必须立即补建并继续校验。
### 第 3 步:调用 `publish.py` 前(`publish_method` + 微信)
- **`publish_method`**(**`draft`** / **`published`** / **`none`**)写在 **`config.yaml`**,**默认 `draft`**。**`none`** = 用户明确不填微信:**`full`** 不调 API。要「发布出去」→ **`published`** 或 **`full --publish`**。
- **微信**:在 **`aws.env`**;槽位在 **`config.yaml`**。**`draft`/`published`** 走 **`full`** 前须就绪;**`none`** 下不调用微信。
- 运行 **`publish.py full`** 前:确认 **`publish_method`** 合法(小写);**非 `none`** 时建议 **`check-wechat-env`**。
### 智能体行为约束(禁止自作主张)
检测到 **`.aws-article/config.yaml` 或 `aws.env` 缺失**、**`validate_env.py` 退出码 1**(微信配置不完整,且未声明 **`publish_method: none`**),或用户**已要求调用 `publish.py`** 而微信槽位 / 凭证未就绪时:
- **禁止**在未询问用户、未取得用户**明确文字确认**的情况下,自行决定:跳过微信配置、仅出 prompt 却继续宣称「一条龙已完成」、或继续排版/发布并假装配置已就绪。
- **必须先**:向用户说明**具体缺哪一类**(脚本 **`failed`** 下的 **`微信公众号配置不完整`**;或即将 **`publish.py`** 但微信未配齐),并**统一按** [首次引导](references/first-time-setup.md) 中「校验失败时的配置引导」文案执行。
- **输出约束**:该场景下除”环境检查结果”可按实际失败项替换外,其余引导文案须与首次引导保持一致。
- 用户在本地编辑器中填好 `aws.env` 与 `config.yaml` 并保存后,智能体协助重跑 **`validate_env.py`** 复检;若用户明确声明本次例外,按首次引导与本节约束继续处理。
- **凭证处理原则**:Agent **不得索取、不得接收**用户在对话里粘贴的 `APPSECRET` / `API_KEY` 等任何密钥;所有密钥由用户自己在编辑器里写入 `aws.env`(或通过 `https://aiworkskills.cn/` 平台配置)。Agent 只校验存在性、不读取值、不外发值。
> **模型未配置例外**:写作模型默认阻断;仅当**用户明确同意**由 Agent 代写并传入 `--agent-writing-approved` 时,写作模型未配置才降为警告。图片模型同理,仅在**用户明确同意**使用 Agent 代生图并传入 `--agent-image-capable` 时降为警告;未获用户明确同意时,模型未配置均按阻断处理。须告知用户当前使用的方式。
> **单步子 skill**:用户只触发某一子能力(如仅排版、仅审稿)且**未走本总览流水线**时,仍以各子 skill 内说明为准;**一条龙 / 完整流程 / 从选题到发布** 必须满足本节 BLOCKING 与上条「禁止自作主张」。
## 主要配置文件(不要混用)
| 文件 | 位置 | 作用公众号素材|业务资料库|预设包|.aws 预设包|主题包|品牌包|aiworkskills.cn — 用户业务资料库与预设包管理:业务资料按产品名组织在 `.aws-article/products/{产品名}/`(介绍 .md 直挂产品根 + 配图归 `images/` 子目录含同名说明 .md),AI 与用户对话产出业务介绍内容时引导用户保存;图片入库走 `product_image_ingest.py --product <产品名> --stem <中文名>`。导入 .aws ZIP 预设包(本地文件或 `https://aiworkskills.cn/**/*.aws` URL)合并主题/配色/字体配置到 `.aws-article/presets/`;`config.yaml` 仅本地不存在时从包内复制,已存在则 stdout 输出差异 JSON 不覆盖。面向内容运营、品牌团队、设计支持岗。触发词:「素材库入库」「stock images」「上传图到素材库」「.aws」「预设包」「导入预设」「主题包」「aiworkskills.cn 链接」「.aws 下载地址」。
公众号排版|Markdown 转 HTML|排版主题|段落样式 — 公众号一键排版工具,Markdown 文稿转微信后台可粘贴 HTML,多主题、多字号、段落样式切换,所见即所得。面向公众号编辑、独立作者、排版岗。触发词:「排版」「版式」「美化」「格式化」「字号」「段落样式」「换个排版主题」「换个版式」「转 HTML」「弄好看点」「调整格式」。换预设包/品牌包/整套主题配色请走 aws-wechat-article-assets;需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。
公众号封面|公众号配图|公众号插图|AI 生图 — 公众号 AI 封面与配图生成,按文章标题与内容自动匹配画风,一稿多方案,多风格预设可复用。面向公众号编辑、自媒体、品牌设计。触发词:「封面」「配图」「插图」「生成图片」「给文章加图」「做个封面」「文章插图」「配个图」。不写正文只发一组图请走 aws-wechat-sticker;需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。
公众号发布|公众号草稿箱|公众号群发|图文推送|微信 API|wechat automation|WeChat API automation|auto publish|scheduled publish — 公众号 API 发布工具,图文入草稿箱或直接群发,支持封面素材上传、发布前检查与 draft/published 模式切换。面向公众号运营、自动化内容团队、开发者。触发词:「发布」「提交」「群发」「推送」「发出去」「上传到公众号」「发到公众号」「可以发了吗」「发布前检查」。需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。
公众号审稿|公众号校对|敏感词检测|内容合规 — 公众号发布前合规审查:敏感词扫描、错别字检测、政治合规、平台规范校验,一次性输出修改清单。面向公众号编辑、自媒体作者、合规岗。触发词:「审稿」「审核」「校对」「合规」「敏感词」「错别字」「稿子检查一下」「稿子帮我看看」「稿子写完了」「文章检查一下」「检查下有没有问题」「能不能发」「发布前检查」。需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。
公众号选题|爆款标题|热点追踪|系列策划 — 公众号 AI 选题与标题生成,覆盖热点调研、选题策划、起标题、写摘要、系列排期。面向自媒体编辑、内容运营。触发词(**单独触发仅限对已有标题/摘要的修改**):「改标题」「换个标题」「重起标题」「优化标题」「标题再想想」「换个标题试试」「改摘要」「重写摘要」「优化摘要」「摘要再优化下」。新做选题、起新标题、策划系列/内容日历、追热点都请走 aws-wechat-article-main;需要多环节串联(写+审+排+配图+发)也走 main。
公众号写稿|长文写作|文章润色|改写续写 — 公众号长文 AI 写作,从话题或提纲生成完整初稿,支持改写、续写、润色、开头结尾优化,可调 DeepSeek / GPT / Claude 或由 Agent 代写。面向自媒体作者、公众号运营、品牌文案。触发词(**单独触发仅限对已有稿子的修改**):「改写」「润色」「续写」「续一段」「往下写」「接着这段写」「重写开头」「改结尾」「调整语气」「这段润色下」「把这段改活泼点」「优化用词」「用 GPT 重写」「用 DeepSeek 重写」。新写一篇请走 aws-wechat-article-main(main 内部会调用本 skill 生成初稿);需要多环节串联(写+审+排+配图+发)也走 main。
公众号贴图|九宫格|多图推送|图片消息|表情包 — 贴图与多图推送:从创意构思、AI 生图到公众号图片消息发布全流程,含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词:「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images;需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。