Skip to content
Content
Skill

/aws-wechat-article-images

公众号封面|公众号配图|公众号插图|AI 生图 — 公众号 AI 封面与配图生成,按文章标题与内容自动匹配画风,一稿多方案,多风格预设可复用。面向公众号编辑、自媒体、品牌设计。触发词:「封面」「配图」「插图」「生成图片」「给文章加图」「做个封面」「文章插图」「配个图」。不写正文只发一组图请走 aws-wechat-sticker;需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。

BOOST
From plugin
wechat-article-skills
6889 skills
Install
$ npx -y skills add aiworkskills/wechat-article-skills --skill aws-wechat-article-images --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/aws-wechat-article-images

Context preview

The summary Claude sees to decide when to auto-load this skill.

公众号封面|公众号配图|公众号插图|AI 生图 — 公众号 AI 封面与配图生成,按文章标题与内容自动匹配画风,一稿多方案,多风格预设可复用。面向公众号编辑、自媒体、品牌设计。触发词:「封面」「配图」「插图」「生成图片」「给文章加图」「做个封面」「文章插图」「配个图」。不写正文只发一组图请走 aws-wechat-sticker;需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。

SKILL.md

aws-wechat-article-images.SKILL.md
name: aws-wechat-article-images
description: 公众号封面|公众号配图|公众号插图|AI 生图 — 公众号 AI 封面与配图生成,按文章标题与内容自动匹配画风,一稿多方案,多风格预设可复用。面向公众号编辑、自媒体、品牌设计。触发词:「封面」「配图」「插图」「生成图片」「给文章加图」「做个封面」「文章插图」「配个图」。不写正文只发一组图请走 aws-wechat-sticker;需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。
homepage: https://aiworkskills.cn
url: https://github.com/aiworkskills/wechat-article-skills
metadata:
  openclaw:
    requires:
      env:
        - IMAGE_MODEL_API_KEY
      bins:
        - python3
    primaryEnv: aws.env

配图

**公众号封面 & 配图 AI 生成** —— 按文章内容自动匹配画风,风格体系可复用。

> **套件说明** · 本 skill 属 `aws-wechat-article-*` 一条龙套件(共 9 个 slug,入口 `aws-wechat-article-main`)。跨 skill 的相对引用依赖同一 `skills/` 目录,建议一并 `clawhub install` 全套。源码:<https://github.com/aiworkskills/wechat-article-skills>

能力披露(Capabilities)

本 skill 调 `image_create.py` **调外部图像 API** 生成封面与正文配图,**会把图片提示词(可能含文章主题片段)发给用户配置的图像生成端点**。

  • **凭证**:读 `aws.env` 的 `IMAGE_MODEL_API_KEY`,以 `Authorization: Bearer` 发往 `image_model.base_url`
  • **内容外发**:每张图的 prompt 作为 JSON POST body 发送,来自本篇 `imgs/prompts/*.md`
  • **SSRF 防御**:API 返回图片 URL 时**仅允许下载 http/https 公网地址**,内网 / 环回 / 保留地址一律拒绝
  • **文件读**:`.aws-article/config.yaml`、本篇 `article.yaml` / `article.md` / `imgs/prompts/*.md`、本 skill 的 `references/*`、`.aws-article/products/{产品名}/images/*`
  • **文件写**:本篇 `imgs/**`、可选 `img_analysis.md`
  • **shell**:仅 `{python} {baseDir}/scripts/image_create.py`、`user_image_prepare.py`

**建议**用专用 key(最低权限、独立计费),不要用 account 级 master key。

单独安装本 skill 时,跨 skill 的引用会 `file not found`,但生图脚本仍可用。完整 9 slug 见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。

路由

完整长文从选题到发布 → [main](../aws-wechat-article-main/SKILL.md);图片消息 / 九宫格等多图推送 → [sticker](../aws-wechat-sticker/SKILL.md)。本 skill 专注**长文配图**。

用户说「这篇配图不满意,换成我上传的新图重发草稿箱」→ 不走下面的工作流,改走 [branches.md 第三节「发布后换图重发」](references/branches.md)。

配置检查按 [首次引导](../aws-wechat-article-main/references/first-time-setup.md) 执行;`image_model` 在 `config.yaml`、`IMAGE_MODEL_API_KEY` 在 `aws.env`。端点差异与比例传法见 [branches.md 第六节](references/branches.md)。

| 脚本 | 用途 | |------|------| | `scripts/image_create.py` | 调专用生图 API(`generate` / `batch` / `check` / `test`) | | `scripts/user_image_prepare.py` | 用户供图模式:建 `imgs/` 并生成 `img_analysis.md` 模板 |

五条硬规则 ⛔

1. **封面必须脚本生成**,产出为文章目录下的 `cover.png`(或 `.jpg` / `.jpeg` / `.webp`)。**禁止**把素材库文件直接复制成 `cover.*`。例外:用户明确上传封面并声明「只用这一张」,须在结果中注明「用户指定封面」。 2. **正文优先用业务配图库**,缺图才生成。判断顺序见 [branches.md 第一节](references/branches.md)。 3. **删图有上限**:每篇最多删 1 个图位并写明理由。要删 2 个以上、**或把本篇 `image_density` 改小**(效果相同),都要先把「本篇内容与密度对不上」这个判断告诉用户。 4. **`imgs/` 目录分工**:根目录只放正文引用的最终图;`prompts/` 放生图 prompt,`sources/` 放实证图的来源说明,`raw/` 放截图与裁切的中间产物。 5. **先分工再选形态**:排版组件和信息位配图干同一件事,同一份内容只给其中一个。但**只有标准 markdown 够得到的组件才算数**——判给够不到的组件等于图和组件两头落空。实测归属见 [image-method 第一步半](references/image-method.md):只有**金句卡片**归组件,对比两栏与清单要点一律出图。

工作流

配图进度:
- [ ] 第1步:读配置与文章
- [ ] 第2步:解析配图标记
- [ ] 第3步:确定风格
- [ ] 第4步:写 prompt
- [ ] 第5步:展示方案并等待确认 ⛔
- [ ] 第6步:生成图片
- [ ] 第7步:插入文章 + 收尾自检 ⛔

第1步:读配置与文章

  • **全局** `.aws-article/config.yaml`:`cover_aspect`、`image_density`、`caption_style`、`tone` 等以它为准(字段见 [articlescreening-schema.md](../aws-wechat-article-main/references/articlescreening-schema.md))。
  • **本篇** `article.yaml`:`default_cover_image_style`(单元素,本篇已选的封面形态)、`default_article_image_style`(**多元素候选池**,正文形态逐个图位选,**不收敛成单选**——收敛等于整篇配图用同一种形态)。
  • 读 `article.md`。
  • `image_source: user` 时改走 [branches.md 第二节「用户供图模式」](references/branches.md)。

第2步:解析配图标记

提取所有 `![类型:描述](placeholder)`。写手只用四个类型,它们定的是**图位**不是形态:

| 类型 | 含义 | 本 skill 做什么 | |---|---|---| | `封面` | 文章封面 | 走 [cover-method.md](references/cover-method.md) | | `实证` | 官方原帖截图、界面实拍 | **真实素材,不生成**;来源说明写进 `imgs/sources/` | | `信息图` | 信息位,解释内容 | 按内容选形态,内容必须取自文章 | | `氛围` | 节奏位,只为换口气 | 概念隐喻 / 场景还原,不放具体信息 |

存量草稿里的旧类型名(`流程图` / `对比`)按 `信息图` 处理。

第3步:确定风格

**先跑一次**,把候选池里认不出的形态名挑出来(不调 API):

{python} {baseDir}/scripts/image_create.py styles

退出码 1 说明 `config.yaml` 的候选池里有不存在的名字——**先改名再往下走**。实测网站导出的 config 写过「对比说明 / 板书白板 / 氛围烘托」,三个都没有对应模板(真名是 `对比两栏` / `概念隐喻` / `场景还原`,而「板书白板」是**媒介**不是形态)。挑中这种名字只能让模型自由发挥,整套形态方法论静默失效。

封面与正文**分别**定,各走各的预设目录。两者的加载优先级相同:用户当次指定 > 本篇 `article.yaml` > `custom_*` 候选池(为空即全选)。

  • **封面**:内置 12 个形态于 `references/cover-styles/`(`<名>.example.md`),用户自定义放 `.aws-article/presets/cover-styles/`,同名覆盖。每个模板含**用于 / 主体 / 影调 / 文案 / 版式**五个字段,**「文案」不可缺省**——缺了产出的是背景图不是封面。挑选判据只有一条:主体在 345px 缩略图里能否一眼认出。
  • **正文**:内置 8 个形态于 `references/image-styles/`。判据只有一条:删掉这张图读者会**看不懂**(信息位)还是**读不下去**(节奏位)?都不影响就删掉该图位。

第4步:写 prompt

  • **封面**:按 [cover-method.md](references/cover-method.md) 走完前六步,产出一个 prompt 文件——frontmatter 含 `aspect`(取自 `cover_aspect`,**值须加引号**,未加引号的 `16:9` 会被 YAML 解析成整数),正文是 150–300 字散文,标题文案(4–7 字,字高占画面 25–35%)连同位置、字体感、颜色一起写在里面。不要关键词清单,不要写「不要 X」,不要照抄范例场景。
  • **正文**:按 [image-method.md](references/image-method.md) 六步逐个图位处理。**信息位的内容必须从文章里取**——让模型自由发挥会生成无关鸡汤并自带 emoji。
  • **图中文字必须为中文**,且在 prompt 里**直接写出要显示的那几个字**,不要写 "labels in Chinese"。
  • 通用规则(媒介优先、构图要求、禁用绘图库重画)见 [prompt-construction.md](references/image-styles/prompt-construction.md)。

第5步:展示方案并等待确认 ⛔

  • **一条龙**且用户对风格无特殊要求:按默认预设自动执行**不单独确认**,但结果里要列出每张图的类型、风格与 prompt 路径。
  • **单独触发本 skill**、用户提了风格要求、或方案涉及用业务配图库替换图位:先展示方案(位置 / 类型 / 风格 / prompt 要点 / 来源),**等用户确认**再进第 6 步。

第6步:生成图片

在**仓库根**执行,**stdout 与 stderr 一起落盘**:

{python} {baseDir}/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ \
  -o drafts/YYYYMMDD-slug/imgs/ > drafts/YYYYMMDD-slug/image-generation.log 2>&1

单张用 `generate <prompt.md> -o <out.png>`;重跑批量时加 `--skip-existing`,已生成合格的不重复付费。图片规格见 [specs.md](references/specs.md)。

**先检查返回比例与文字完整性。** 脚本默认 `fit: preserve`,保留 API 返回的完整图;比例不符会告警,不再自动裁掉文字。目标比例仍须发布前验收。只有确认边缘可舍弃时,才在 frontmatter 写 `fit: crop` 或使用 `--fit crop` 恢复居中裁切。`generate`、`batch` 都支持,命令行优先。出现文字缺失先判断原图已有缺字还是裁切造成;保留图已完整时不要盲目重生成。详见 [比例异常处理](references/branches.md#六之前比例不符先保留原图) 和 [可复查的使用示例](../../examples/image-fit/README.md)。

**⛔ 出字问题先改 prompt,不要换工具。** 不许因为「API 出来的字有裁切」就改用 matplotlib / PIL 重画——那样媒介和形态整套方法论被绕开,钱还付两遍。理由见 [prompt-construction.md](references/image-styles/prompt-construction.md)。

Read more
Ships withwechat-article-skills

开源公众号运营数字员工。选好风格,说一句话,AI 自动完成选题、写作、排版、配图到发布的全部流程。不用懂设计,不用会代码。 📬 项目更新很频繁——点右上角 Watch → Custom → Releases,有新版本时会通知你。

Get the whole plugin

Other skills on wechat-article-skills.