{"id":"41850439-4d51-46bf-86d7-c58a0f4ceee3","entityType":"agent","slug":"clawhub-aiworkskills-aws-wechat-sticker","name":"公众号贴图 / 九宫格多图推送","canonicalUrl":"https://www.xpersona.co/agent/clawhub-aiworkskills-aws-wechat-sticker","canonicalPath":"/agent/clawhub-aiworkskills-aws-wechat-sticker","generatedAt":"2026-10-11T01:47:36.554Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T23:16:32.242Z","emptyReason":null},"description":"公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。 Skill: 公众号贴图 / 九宫格多图推送 Owner: aiworkskills Summary: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。 Tags: chinese:1.0.17, claude-code:1.0.17, image-post:1.0.17, latest:1.0.24, nine-grid:1.0.17, sticker:1.0.17, wechat:1.0.1","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s170f08a9xbhfkfp1vjv33y1ph842r9a:aws-wechat-sticker","sourceUrl":"https://clawhub.ai/aiworkskills/aws-wechat-sticker","homepage":"https://clawhub.ai/aiworkskills/skills/aws-wechat-sticker","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/aiworkskills/aws-wechat-sticker","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/aiworkskills/skills/aws-wechat-sticker","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":62,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:16:32.242Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:16:32.242Z","emptyReason":null},"stars":null,"forks":null,"downloads":1232,"packageName":null,"latestVersion":"1.0.24","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T23:16:32.174Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T23:16:32.242Z","lastCrawledAt":"2026-10-10T23:16:32.174Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T23:16:32.174Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.24","createdAt":"2026-09-06T07:25:11.983Z","changelog":"跟随配图体系重构同步形态口径，清除 Type × Style 残留；统一 {python} 解释器占位符并补 Windows 探测。","fileCount":6,"zipByteSize":7644},{"version":"1.0.23","createdAt":"2026-04-23T00:24:31.189Z","changelog":"配套 skill 段软化措辞：去掉'不含自己的脚本'显式陈述、去掉具体 sibling script 路径；改为描述性的'依赖同套件能力'；其他内容不变","fileCount":6,"zipByteSize":7458},{"version":"1.0.22","createdAt":"2026-04-22T23:24:35.237Z","changelog":"软化版套件完整性提示：说明工作流会读跨 skill 共享文档、单独安装时会 file-not-found；纯信息性语气，无 shell 循环、无 Agent 强指令","fileCount":5,"zipByteSize":6125},{"version":"1.0.20","createdAt":"2026-04-22T22:36:07.221Z","changelog":"修 scanner 精准点名：移除'不外传/不读仓库外'假陈述；补凭证/内容外发披露；sticker+review 补 WECHAT 凭证声明；空 env 的 skill 移除 primaryEnv；3 个脚本不再遍历父目录","fileCount":5,"zipByteSize":5945},{"version":"1.0.19","createdAt":"2026-04-22T16:36:46.598Z","changelog":"能力披露：frontmatter 加 metadata.openclaw.requires；body 加 Capabilities 段；降温前置依赖块（去 shell 循环与强指令语气）；article_init.py 不再读 Path.home()","fileCount":5,"zipByteSize":5814},{"version":"1.0.18","createdAt":"2026-04-22T15:53:48.905Z","changelog":"清理 tags 只留 latest；frontmatter 加 homepage+url；main/publish 加 automation 关键词","fileCount":5,"zipByteSize":5914},{"version":"1.0.17","createdAt":"2026-04-22T08:45:43.437Z","changelog":"加前置依赖检查：任一 skill 启动前要求 9 个套件全装，否则停止工作流","fileCount":5,"zipByteSize":5847},{"version":"1.0.16","createdAt":"2026-04-22T05:13:52.286Z","changelog":"压缩 description 做 SEO 密度优化","fileCount":5,"zipByteSize":5288}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s170f08a9xbhfkfp1vjv33y1ph842r9a:aws-wechat-sticker","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T01:47:36.552Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-aiworkskills-aws-wechat-sticker/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T23:16:32.242Z","emptyReason":null},"readme":"Skill: 公众号贴图 / 九宫格多图推送\n\nOwner: aiworkskills\n\nSummary: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\n\nTags: chinese:1.0.17, claude-code:1.0.17, image-post:1.0.17, latest:1.0.24, nine-grid:1.0.17, sticker:1.0.17, wechat:1.0.17\n\nVersion history:\n\nv1.0.24 | 2026-09-06T07:25:11.983Z | user\n\n跟随配图体系重构同步形态口径，清除 Type × Style 残留；统一 {python} 解释器占位符并补 Windows 探测。\n\nv1.0.23 | 2026-04-23T00:24:31.189Z | user\n\n配套 skill 段软化措辞：去掉'不含自己的脚本'显式陈述、去掉具体 sibling script 路径；改为描述性的'依赖同套件能力'；其他内容不变\n\nv1.0.22 | 2026-04-22T23:24:35.237Z | user\n\n软化版套件完整性提示：说明工作流会读跨 skill 共享文档、单独安装时会 file-not-found；纯信息性语气，无 shell 循环、无 Agent 强指令\n\nv1.0.20 | 2026-04-22T22:36:07.221Z | user\n\n修 scanner 精准点名：移除'不外传/不读仓库外'假陈述；补凭证/内容外发披露；sticker+review 补 WECHAT 凭证声明；空 env 的 skill 移除 primaryEnv；3 个脚本不再遍历父目录\n\nv1.0.19 | 2026-04-22T16:36:46.598Z | user\n\n能力披露：frontmatter 加 metadata.openclaw.requires；body 加 Capabilities 段；降温前置依赖块（去 shell 循环与强指令语气）；article_init.py 不再读 Path.home()\n\nv1.0.18 | 2026-04-22T15:53:48.905Z | user\n\n清理 tags 只留 latest；frontmatter 加 homepage+url；main/publish 加 automation 关键词\n\nv1.0.17 | 2026-04-22T08:45:43.437Z | user\n\n加前置依赖检查：任一 skill 启动前要求 9 个套件全装，否则停止工作流\n\nv1.0.16 | 2026-04-22T05:13:52.286Z | user\n\n压缩 description 做 SEO 密度优化\n\nv1.0.15 | 2026-04-22T04:50:15.877Z | user\n\nSEO 优化：补关键词/友好名/价值主张/GitHub 链接\n\nv1.0.14 | 2026-04-22T04:35:29.750Z | user\n\n对齐 git tag v1.0.14\n\nv1.0.0 | 2026-04-22T04:26:20.337Z | auto\n\n- Initial release of aws-wechat-sticker skill.\n- Supports end-to-end workflow for creating and publishing WeChat multi-image content and sticker posts, including concept, image generation, and publishing steps.\n- Integrates with the aws-wechat-article-* suite for cross-skill workflows and shared configuration.\n- Requires environment and configuration checks before operation; enforces API call routing based on user choice and environment validation.\n- Outputs unified-style image groups with captions, with transparent handling for image generation (including explicit user notifications on method used).\n- Full documentation included for setup, workflows, configuration priorities, failure handling, and publishing processes.\n\nArchive index:\n\nArchive v1.0.24: 6 files, 7644 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1250b), skill-card.md (2366b), skill.json (513b), SKILL.md (9502b), _meta.json (138b)\n\nFile v1.0.24:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\nhomepage: https://aiworkskills.cn\nurl: https://github.com/aiworkskills/wechat-article-skills\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - IMAGE_MODEL_API_KEY\n        - WECHAT_1_APPID\n        - WECHAT_1_APPSECRET\n      bins:\n        - python3\n    primaryEnv: aws.env\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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 编排贴图与多图推送，调用同套件的 `image_create.py`（images）生图；可选调用 `publish.py` 发布。**会把图片 prompt 发给外部图像 API；若走发布路径，会把图片作为 POST body 上传到微信 API。** 具体行为：\n\n- **凭证读取**：`aws.env` 的 `IMAGE_MODEL_API_KEY`；走发布时额外读取 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`\n- **凭证外发**：`IMAGE_MODEL_API_KEY` 以 `Authorization: Bearer` 头发送到 `image_model.base_url` 外部端点；`WECHAT_{N}_APPID/APPSECRET` 用于换 `access_token` 后调用微信 API\n- **内容外发**：图片 prompt 发给图像 API；图片文件（PNG/WEBP）发给微信 `material/add_material` / `draft/add`\n- **文件读**：仓库内 `.aws-article/config.yaml`、本篇 `article.yaml`、`imgs/prompts/*.md`\n- **文件写**：本篇 `imgs/*.{png,webp}`、`imgs/outline.md`、`article.yaml` 状态字段\n- **shell**：`{python} {baseDir}/../aws-wechat-article-images/scripts/image_create.py`；可选 `{python} {baseDir}/../aws-wechat-article-publish/scripts/publish.py`（`{python}` = 本机 Python 3 解释器，见 [main SKILL 第 0 步](../aws-wechat-article-main/SKILL.md)：Windows 用 `py -3 -X utf8`，macOS / Linux 用 `python3`）\n\n## 配套 skill（informational）\n\n本 skill 属 `aws-wechat-article-*` 一条龙公众号套件的**贴图/多图推送专用分支**（入口 `aws-wechat-article-main`）。工作流中的生图步骤与发布步骤依赖同套件其他 slug 提供的能力。\n\n- **至少需要同时安装** `aws-wechat-article-images`（用于生图）；若要走发布链路，建议再装 `aws-wechat-article-publish`。\n- **套件完整装齐到同一 `skills/` 根目录**时，跨 skill 引用都能读到。\n- **单独安装本 skill** 时，生图/发布相关步骤会在执行阶段遇到缺失文件；本 skill 内的选题规划、图序、风格约定等本地步骤仍可用。\n\n完整 9 slug 清单见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题从共享的 [image-styles/](../aws-wechat-article-images/references/image-styles/) 里选一个形态——信息型选「信息位」那几个（流程步骤/结构分层/数据图表/对比两栏/清单要点），氛围型选「节奏位」（概念隐喻/场景还原/氛围留白）\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\n{python} {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`{python} {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`{python} {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\n{python} {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.24:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.24\",\n  \"publishedAt\": 1788679511983\n}\n\nFile v1.0.24:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.24:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**形态**：[选定的配图形态，见 image-styles/]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.24:skill-card.md\n\n## Description:\n\n公众号贴图 / 九宫格多图推送 helps agents plan, generate, review, and optionally publish WeChat public-account sticker or multi-image posts with unified style, prompt planning, image generation, compression, and grid-oriented packaging.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[aiworkskills](https://clawhub.ai/user/aiworkskills)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal creators, operators, and developers use this skill to turn a topic, brief, or source material into a planned WeChat multi-image post with prompts, image files, review checks, and optional publishing steps.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The workflow may send image prompts to an external image API and prepared images to the WeChat API when publishing is used.\n\nMitigation: Use it only for intended WeChat publishing workflows, review prompts and generated images before upload, and run publishing only after explicit confirmation.\n\nRisk: The workflow requires local article files plus IMAGE_MODEL_API_KEY and optional WeChat app credentials.\n\nMitigation: Provide credentials only in the expected local environment file, limit credential scope where possible, and confirm configuration checks pass before execution.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/aiworkskills/skills/aws-wechat-sticker)\n- [AIWorkSkills Homepage](https://aiworkskills.cn)\n- [Sticker Review Checklist](references/checklist.md)\n- [Sticker Sequence Workflow](references/workflow.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell command examples, prompt plans, and file-oriented workflow outputs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces or updates imgs/ outlines, prompts, generated image files, and article status fields; optional publishing sends prepared images through the WeChat workflow.]\n\n## Skill Version(s):\n\n1.0.24 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nFile v1.0.24:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.23: 6 files, 7458 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill-card.md (2493b), skill.json (513b), SKILL.md (9195b), _meta.json (138b)\n\nFile v1.0.23:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\nhomepage: https://aiworkskills.cn\nurl: https://github.com/aiworkskills/wechat-article-skills\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - IMAGE_MODEL_API_KEY\n        - WECHAT_1_APPID\n        - WECHAT_1_APPSECRET\n      bins:\n        - python3\n    primaryEnv: aws.env\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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 编排贴图与多图推送，调用同套件的 `image_create.py`（images）生图；可选调用 `publish.py` 发布。**会把图片 prompt 发给外部图像 API；若走发布路径，会把图片作为 POST body 上传到微信 API。** 具体行为：\n\n- **凭证读取**：`aws.env` 的 `IMAGE_MODEL_API_KEY`；走发布时额外读取 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`\n- **凭证外发**：`IMAGE_MODEL_API_KEY` 以 `Authorization: Bearer` 头发送到 `image_model.base_url` 外部端点；`WECHAT_{N}_APPID/APPSECRET` 用于换 `access_token` 后调用微信 API\n- **内容外发**：图片 prompt 发给图像 API；图片文件（PNG/WEBP）发给微信 `material/add_material` / `draft/add`\n- **文件读**：仓库内 `.aws-article/config.yaml`、本篇 `article.yaml`、`imgs/prompts/*.md`\n- **文件写**：本篇 `imgs/*.{png,webp}`、`imgs/outline.md`、`article.yaml` 状态字段\n- **shell**：`python3 {baseDir}/../aws-wechat-article-images/scripts/image_create.py`；可选 `python3 {baseDir}/../aws-wechat-article-publish/scripts/publish.py`\n\n## 配套 skill（informational）\n\n本 skill 属 `aws-wechat-article-*` 一条龙公众号套件的**贴图/多图推送专用分支**（入口 `aws-wechat-article-main`）。工作流中的生图步骤与发布步骤依赖同套件其他 slug 提供的能力。\n\n- **至少需要同时安装** `aws-wechat-article-images`（用于生图）；若要走发布链路，建议再装 `aws-wechat-article-publish`。\n- **套件完整装齐到同一 `skills/` 根目录**时，跨 skill 引用都能读到。\n- **单独安装本 skill** 时，生图/发布相关步骤会在执行阶段遇到缺失文件；本 skill 内的选题规划、图序、风格约定等本地步骤仍可用。\n\n完整 9 slug 清单见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.23:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.23\",\n  \"publishedAt\": 1776903871189\n}\n\nFile v1.0.23:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.23:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.23:skill-card.md\n\n## Description: <br>\nPlans WeChat sticker, nine-grid, and multi-image posts, guiding an agent from topic and visual sequence design through AI image generation and optional WeChat publishing. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[aiworkskills](https://clawhub.ai/user/aiworkskills) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal WeChat operators, self-media teams, and IP account owners use this skill to create image-first public-account posts with a consistent theme, ordered image plan, review checklist, and optional publish path. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The workflow requires sensitive image-model and WeChat credentials. <br>\nMitigation: Protect aws.env, install only when the aiworkskills WeChat publishing suite is intended, and verify companion image and publish skills before using credentials. <br>\nRisk: Image prompts and generated image files may be sent to external image-model and WeChat APIs. <br>\nMitigation: Review generated images, draft settings, and upload targets before allowing any upload or WeChat publication. <br>\nRisk: Publishing can affect a live WeChat account when the publish path is used. <br>\nMitigation: Require explicit user confirmation before uploading materials or publishing drafts to WeChat. <br>\n\n\n## Reference(s): <br>\n- [ClawHub release page](https://clawhub.ai/aiworkskills/aws-wechat-sticker) <br>\n- [Publisher profile](https://clawhub.ai/user/aiworkskills) <br>\n- [贴图图序规划](references/workflow.md) <br>\n- [贴图审稿清单](references/checklist.md) <br>\n- [AIWorkSkills homepage](https://aiworkskills.cn) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Markdown, Shell commands, Configuration, Files] <br>\n**Output Format:** [Markdown guidance with inline shell commands and generated workflow files.] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Produces image outlines, prompt files, generated image assets, and review or publish guidance for a single WeChat post workflow.] <br>\n\n## Skill Version(s): <br>\n1.0.23 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nFile v1.0.23:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.22: 5 files, 6125 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (9143b), _meta.json (138b)\n\nFile v1.0.22:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\nhomepage: https://aiworkskills.cn\nurl: https://github.com/aiworkskills/wechat-article-skills\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - IMAGE_MODEL_API_KEY\n        - WECHAT_1_APPID\n        - WECHAT_1_APPSECRET\n      bins:\n        - python3\n    primaryEnv: aws.env\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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 编排贴图与多图推送，调用同套件的 `image_create.py`（images）生图；可选调用 `publish.py` 发布。**会把图片 prompt 发给外部图像 API；若走发布路径，会把图片作为 POST body 上传到微信 API。** 具体行为：\n\n- **凭证读取**：`aws.env` 的 `IMAGE_MODEL_API_KEY`；走发布时额外读取 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`\n- **凭证外发**：`IMAGE_MODEL_API_KEY` 以 `Authorization: Bearer` 头发送到 `image_model.base_url` 外部端点；`WECHAT_{N}_APPID/APPSECRET` 用于换 `access_token` 后调用微信 API\n- **内容外发**：图片 prompt 发给图像 API；图片文件（PNG/WEBP）发给微信 `material/add_material` / `draft/add`\n- **文件读**：仓库内 `.aws-article/config.yaml`、本篇 `article.yaml`、`imgs/prompts/*.md`\n- **文件写**：本篇 `imgs/*.{png,webp}`、`imgs/outline.md`、`article.yaml` 状态字段\n- **shell**：`python3 {baseDir}/../aws-wechat-article-images/scripts/image_create.py`；可选 `python3 {baseDir}/../aws-wechat-article-publish/scripts/publish.py`\n\n## 配套 skill（informational）\n\n本 skill 属 `aws-wechat-article-*` 一条龙公众号套件的**贴图/多图推送专用分支**（入口 `aws-wechat-article-main`）。本 skill **不含自己的脚本**，生图复用 `../aws-wechat-article-images/scripts/image_create.py`，发布复用 `../aws-wechat-article-publish/scripts/publish.py`。\n\n- **至少需要同时安装** `aws-wechat-article-images` 才能生图；若要走发布链路，还需装 `aws-wechat-article-publish`。\n- 单独安装本 skill 时会因缺少兄弟脚本而无法生图或发布；本 skill 内仅做工作流编排与文案/风格约定。\n\n完整 9 slug 清单见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.22:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.22\",\n  \"publishedAt\": 1776900275237\n}\n\nFile v1.0.22:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.22:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.22:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.20: 5 files, 5945 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (8676b), _meta.json (138b)\n\nFile v1.0.20:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\nhomepage: https://aiworkskills.cn\nurl: https://github.com/aiworkskills/wechat-article-skills\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - IMAGE_MODEL_API_KEY\n        - WECHAT_1_APPID\n        - WECHAT_1_APPSECRET\n      bins:\n        - python3\n    primaryEnv: aws.env\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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 编排贴图与多图推送，调用同套件的 `image_create.py`（images）生图；可选调用 `publish.py` 发布。**会把图片 prompt 发给外部图像 API；若走发布路径，会把图片作为 POST body 上传到微信 API。** 具体行为：\n\n- **凭证读取**：`aws.env` 的 `IMAGE_MODEL_API_KEY`；走发布时额外读取 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`\n- **凭证外发**：`IMAGE_MODEL_API_KEY` 以 `Authorization: Bearer` 头发送到 `image_model.base_url` 外部端点；`WECHAT_{N}_APPID/APPSECRET` 用于换 `access_token` 后调用微信 API\n- **内容外发**：图片 prompt 发给图像 API；图片文件（PNG/WEBP）发给微信 `material/add_material` / `draft/add`\n- **文件读**：仓库内 `.aws-article/config.yaml`、本篇 `article.yaml`、`imgs/prompts/*.md`\n- **文件写**：本篇 `imgs/*.{png,webp}`、`imgs/outline.md`、`article.yaml` 状态字段\n- **shell**：`python3 {baseDir}/../aws-wechat-article-images/scripts/image_create.py`；可选 `python3 {baseDir}/../aws-wechat-article-publish/scripts/publish.py`\n\n## 配套 skill（informational）\n\n本 skill 属 `aws-wechat-article-*` 一条龙公众号套件（贴图/多图推送专用分支；入口 `aws-wechat-article-main`）。完整说明见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.20:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.20\",\n  \"publishedAt\": 1776897367221\n}\n\nFile v1.0.20:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.20:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.20:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.19: 5 files, 5814 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (8331b), _meta.json (138b)\n\nFile v1.0.19:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\nhomepage: https://aiworkskills.cn\nurl: https://github.com/aiworkskills/wechat-article-skills\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - IMAGE_MODEL_API_KEY\n      bins:\n        - python3\n    primaryEnv: aws.env\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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 编排贴图与多图推送，调用同套件的 `image_create.py`（images）生图；可选调用 `publish.py` 发布。\n\n- **凭证**：读取仓库根 `aws.env` 的 `IMAGE_MODEL_API_KEY`；发布时额外需要 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`\n- **网络**：图像 API（同 images 的 `image_model.base_url`）；可选 `api.weixin.qq.com`（发布）\n- **文件读**：仓库内 `.aws-article/config.yaml`、本篇 `article.yaml`、`imgs/prompts/*.md`\n- **文件写**：本篇 `imgs/*.{png,webp}`、`imgs/outline.md`、`article.yaml` 状态字段\n- **shell**：`python3 {baseDir}/../aws-wechat-article-images/scripts/image_create.py`；可选 `python3 {baseDir}/../aws-wechat-article-publish/scripts/publish.py`\n\n凭证由用户本地保管；skill 不外传密钥。\n\n## 配套 skill（informational）\n\n本 skill 属 `aws-wechat-article-*` 一条龙公众号套件（贴图/多图推送专用分支；入口 `aws-wechat-article-main`）。完整说明见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.19:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.19\",\n  \"publishedAt\": 1776875806598\n}\n\nFile v1.0.19:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.19:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.19:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.18: 5 files, 5914 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (8689b), _meta.json (138b)\n\nFile v1.0.18:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\nhomepage: https://aiworkskills.cn\nurl: https://github.com/aiworkskills/wechat-article-skills\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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## 前置依赖 ⛔ 套件必须装齐\n\n`aws-wechat-article-*` 一条龙套件的 9 个 skill 互相引用首次引导、环境校验与规则文档。**单独安装任一 skill 无法正常工作**，必须装齐 9 个：\n\n```\naws-wechat-article-main\naws-wechat-article-topics\naws-wechat-article-writing\naws-wechat-article-review\naws-wechat-article-formatting\naws-wechat-article-images\naws-wechat-article-publish\naws-wechat-article-assets\naws-wechat-sticker\n```\n\n**Agent：进入下方工作流前，先检查当前 `skills/` 目录下上述 9 个子目录是否都存在。**\n\n**若任一缺失** → 停止本 skill 工作流，**不得**尝试代替用户跑脚本或继续；按下述话术回复用户：\n\n> 本套件需 9 个 skill 都装齐才能使用。检测到缺少：`<列出缺失项>`。请执行：\n>\n> ```bash\n> # macOS / Linux / Git Bash\n> for slug in aws-wechat-article-main aws-wechat-article-topics aws-wechat-article-writing aws-wechat-article-review aws-wechat-article-formatting aws-wechat-article-images aws-wechat-article-publish aws-wechat-article-assets aws-wechat-sticker; do\n>   clawhub install \"$slug\"\n> done\n> ```\n>\n> ```powershell\n> # Windows PowerShell\n> 'aws-wechat-article-main','aws-wechat-article-topics','aws-wechat-article-writing','aws-wechat-article-review','aws-wechat-article-formatting','aws-wechat-article-images','aws-wechat-article-publish','aws-wechat-article-assets','aws-wechat-sticker' | ForEach-Object { clawhub install $_ }\n> ```\n>\n> 装完再回本 skill 让我继续。\n\n**9 个全部存在** → 按下方工作流继续。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.18:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.18\",\n  \"publishedAt\": 1776873228905\n}\n\nFile v1.0.18:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.18:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.18:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.17: 5 files, 5847 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (8531b), _meta.json (138b)\n\nFile v1.0.17:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜微信贴图｜微信公众号贴图｜九宫格｜多图推送｜图片消息｜图文消息｜发组图｜表情包｜sticker｜image post｜nine grid — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、图文消息打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「图文消息」。\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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## 前置依赖 ⛔ 套件必须装齐\n\n`aws-wechat-article-*` 一条龙套件的 9 个 skill 互相引用首次引导、环境校验与规则文档。**单独安装任一 skill 无法正常工作**，必须装齐 9 个：\n\n```\naws-wechat-article-main\naws-wechat-article-topics\naws-wechat-article-writing\naws-wechat-article-review\naws-wechat-article-formatting\naws-wechat-article-images\naws-wechat-article-publish\naws-wechat-article-assets\naws-wechat-sticker\n```\n\n**Agent：进入下方工作流前，先检查当前 `skills/` 目录下上述 9 个子目录是否都存在。**\n\n**若任一缺失** → 停止本 skill 工作流，**不得**尝试代替用户跑脚本或继续；按下述话术回复用户：\n\n> 本套件需 9 个 skill 都装齐才能使用。检测到缺少：`<列出缺失项>`。请执行：\n>\n> ```bash\n> # macOS / Linux / Git Bash\n> for slug in aws-wechat-article-main aws-wechat-article-topics aws-wechat-article-writing aws-wechat-article-review aws-wechat-article-formatting aws-wechat-article-images aws-wechat-article-publish aws-wechat-article-assets aws-wechat-sticker; do\n>   clawhub install \"$slug\"\n> done\n> ```\n>\n> ```powershell\n> # Windows PowerShell\n> 'aws-wechat-article-main','aws-wechat-article-topics','aws-wechat-article-writing','aws-wechat-article-review','aws-wechat-article-formatting','aws-wechat-article-images','aws-wechat-article-publish','aws-wechat-article-assets','aws-wechat-sticker' | ForEach-Object { clawhub install $_ }\n> ```\n>\n> 装完再回本 skill 让我继续。\n\n**9 个全部存在** → 按下方工作流继续。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.17:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.17\",\n  \"publishedAt\": 1776847543437\n}\n\nFile v1.0.17:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.17:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.17:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.16: 5 files, 5288 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (6948b), _meta.json (138b)\n\nFile v1.0.16:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜微信贴图｜微信公众号贴图｜九宫格｜多图推送｜图片消息｜图文消息｜发组图｜表情包｜sticker｜image post｜nine grid — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、图文消息打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「图文消息」。\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.16:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.16\",\n  \"publishedAt\": 1776834832286\n}\n\nFile v1.0.16:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.16:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.16:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.15: 5 files, 5308 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (6988b), _meta.json (138b)\n\nFile v1.0.15:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 微信公众号贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、图文消息打包。面向公众号运营、自媒体、IP 账号。关键词：微信贴图 / 九宫格 / 多图推送 / 图片消息 / sticker / image post / 表情包。创作公众号贴图和多图推送，从构思到生图到发布的完整流程。当用户提到「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「图文消息」时使用。\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.15:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.15\",\n  \"publishedAt\": 1776833415877\n}\n\nFile v1.0.15:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.15:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.15:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}\n\nArchive v1.0.14: 5 files, 5092 bytes\n\nFiles: references/checklist.md (585b), references/workflow.md (1232b), skill.json (513b), SKILL.md (6479b), _meta.json (138b)\n\nFile v1.0.14:SKILL.md\n\n---\nname: aws-wechat-sticker\ndescription: 创作公众号贴图和多图推送，从构思到生图到发布的完整流程。当用户提到「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「图文消息」时使用。\n---\n\n# 贴图 / 多图推送\n\n> **套件说明** · 本 skill 属 `aws-wechat-article-*` 一条龙套件（共 9 个 slug，入口 `aws-wechat-article-main`）。跨 skill 的相对引用依赖同一 `skills/` 目录，建议一并 `clawhub install` 全套。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`**（与 **`image_create.py`** 一致）。\n\n**交互约定**：须遵守 main 的**智能体行为约束**——未通过环境校验且未获用户明确「本次例外」时，不得假装已走专用生图 API。\n\n## 脚本目录\n\n**Agent 执行**：确定本 SKILL.md 所在目录为 `{baseDir}`。\n\n| 脚本 | 路径（相对仓库 `skills/`） | 用途 |\n|------|---------------------------|------|\n| `image_create.py` | `aws-wechat-article-images/scripts/image_create.py` | 专用生图 API：读取 **`.aws-article/config.yaml`** 的 `image_model` + 根目录 **`aws.env`** 的 `IMAGE_MODEL_API_KEY` |\n| `publish.py` | `{baseDir}/../aws-wechat-article-publish/scripts/publish.py` | 发布（与 [publish skill](../aws-wechat-article-publish/SKILL.md) 一致） |\n\n## 工作流\n\n```\n贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布\n```\n\n### 第1步：环境检查 + 本篇约束（合并 YAML）\n\n若本篇在 **`drafts/…/`** 下：按 **`.aws-article/config.yaml` → 本篇 `article.yaml`** 合并读取约束（同键本篇优先，最后层覆盖），重点字段：`multi_image_count`、`tone`、`target_reader`、`custom_sticker_style` > `default_sticker_style`（**须为 YAML 字符串列表**；`custom_*` 非空时优先于 `default_*`；多候选时智能体择一并写回本篇为**单元素列表**）。若无有效 YAML，以用户口述主题 + skill 默认值作为约束。\n\n### 第2步：确定选题\n\ntopics 产出的贴图卡片 / 用户直接给主题 / 用户提供素材图片。\n\n### 第3步：确定风格\n\n**贴图风格加载优先级**：\n1. 用户指定（「用知识卡片风格」）\n2. 本篇合并配置中的 `custom_sticker_style` > `default_sticker_style`（若有；`custom_*` 优先；列表多元素时须先择一）\n3. `.aws-article/presets/sticker-styles/` 下的自定义风格\n4. **fallback**：根据贴图主题自动选择 Type（氛围 or 信息图）× 默认 Style（扁平矢量），使用共享 [image-styles/](../aws-wechat-article-images/references/image-styles/)\n\n全组图统一风格。\n\n### 第4步：规划图序\n\n产出 `imgs/outline.md`：每张图的用途、文案要点、文件名。详见：[references/workflow.md](references/workflow.md)\n\n### 第5步：展示方案并等待确认 ⛔\n\n### 第6步：生成图片\n\n**生成方式（优先级）**：\n\n1. **优先**：调用 **`image_create.py`** — 依赖 **`config.yaml`** 的 **`image_model`** + **`aws.env`** 的 **`IMAGE_MODEL_API_KEY`**\n2. **降级**：当前 Agent 多模态 / 仅出 prompts — 仅当环境未就绪、用户接受 main「本次例外」、或**已按本节下方「调用失败」表格处理**（网络重试后仍失败等）时\n\n**必须告知用户当前使用的方式**：\n\n- 已配置且调用脚本 → `ℹ️ 使用 image_create.py 调用专用生图模型（{model}）`\n- Agent 生图 / 仅 prompts → `ℹ️ 本次未走 image_create.py（原因：…）`\n\n**调用专用 API 时**（在**仓库根**执行，路径按本篇 `imgs/` 调整）：\n\n```bash\npython {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/\n```\n\n单张：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py generate imgs/prompts/01.md -o imgs/01.png`\n\n连通性自检：`python {baseDir}/../aws-wechat-article-images/scripts/image_create.py test`\n\n图片内文字与 prompt 构建规则与长文配图一致，见 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 与 [prompt-construction.md](../aws-wechat-article-images/references/image-styles/prompt-construction.md)。\n\n#### `image_create.py` 调用失败时（智能体必选分支）\n\n沿用配图 skill 的同一规则：必须摘要 stderr 关键行，按 **网络 / 配置·凭证 / 业务·参数** 分类处理；**禁止**配置错误时静默降级。细则参照 [aws-wechat-article-images/SKILL.md](../aws-wechat-article-images/SKILL.md) 第 6 步「调用失败」表格。\n\n### 第7步：审稿\n\n贴图专用清单：[references/checklist.md](references/checklist.md)\n\n### 第8步：发布\n\n```bash\npython {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/\n```\n\n## 过程文件\n\n| 读取 | 产出 |\n|------|------|\n| `topic-card.md`（可选）、**`.aws-article/config.yaml` + 本篇 `article.yaml`** | `imgs/`（outline + prompts + 图片） |\n\nFile v1.0.14:_meta.json\n\n{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.14\",\n  \"publishedAt\": 1776832529750\n}\n\nFile v1.0.14:references/checklist.md\n\n# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认\n\nFile v1.0.14:references/workflow.md\n\n# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**风格**：[选定的 Type × Style]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |\n\nFile v1.0.14:skill.json\n\n{\n  \"name\": \"aws-wechat-sticker\",\n  \"version\": \"0.2.0\",\n  \"author\": \"aiworkskills\",\n  \"description\": \"创作公众号贴图和多图推送，从构思到生图到发布的完整流程。\",\n  \"license\": \"MIT\",\n  \"homepage\": \"https://github.com/aiworkskills/wechat-article-skills\",\n  \"tags\": [\"wechat\", \"公众号\", \"sticker\", \"multi-image\"],\n  \"permissions\": [\"filesystem\", \"network\", \"shell\"],\n  \"entryPoint\": {\n    \"type\": \"natural\",\n    \"path\": \"SKILL.md\"\n  },\n  \"dependencies\": [\"aws-wechat-article-images\"]\n}","readmeExcerpt":"Skill: 公众号贴图 / 九宫格多图推送 Owner: aiworkskills Summary: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。 Tags: chinese:1.0.17, claude-code:1.0.17, image-post:1.0.17, latest:1.0.24, nine-grid:1.0.17, sticker:1.0.17, wechat:1.0.1","codeSnippets":[],"executableExamples":[{"language":"text","snippet":"贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布"},{"language":"bash","snippet":"{python} {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/"},{"language":"bash","snippet":"{python} {baseDir}/../aws-wechat-article-publish/scripts/publish.py full article/"},{"language":"markdown","snippet":"## 贴图方案：[主题名]\n\n**张数**：N 张\n**形态**：[选定的配图形态，见 image-styles/]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |"},{"language":"text","snippet":"贴图进度：\n- [ ] 第1步：环境检查 + 本篇约束（合并 YAML）\n- [ ] 第2步：确定选题\n- [ ] 第3步：确定风格\n- [ ] 第4步：规划图序\n- [ ] 第5步：展示方案并等待确认 ⛔\n- [ ] 第6步：生成图片（**脚本失败时**见同节「调用失败」分支）\n- [ ] 第7步：审稿\n- [ ] 第8步：发布"},{"language":"bash","snippet":"python {baseDir}/../aws-wechat-article-images/scripts/image_create.py batch drafts/YYYYMMDD-slug/imgs/prompts/ -o drafts/YYYYMMDD-slug/imgs/"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: aws-wechat-sticker\ndescription: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。\nhomepage: https://aiworkskills.cn\nurl: https://github.com/aiworkskills/wechat-article-skills\nmetadata:\n  openclaw:\n    requires:\n      env:\n        - IMAGE_MODEL_API_KEY\n        - WECHAT_1_APPID\n        - WECHAT_1_APPSECRET\n      bins:\n        - python3\n    primaryEnv: aws.env\n---\n\n# 贴图 / 多图推送\n\n**贴图 / 多图推送一条龙** —— 构思→生图→图片消息群发，九宫格自动排布、多图打包。\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 编排贴图与多图推送，调用同套件的 `image_create.py`（images）生图；可选调用 `publish.py` 发布。**会把图片 prompt 发给外部图像 API；若走发布路径，会把图片作为 POST body 上传到微信 API。** 具体行为：\n\n- **凭证读取**：`aws.env` 的 `IMAGE_MODEL_API_KEY`；走发布时额外读取 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`\n- **凭证外发**：`IMAGE_MODEL_API_KEY` 以 `Authorization: Bearer` 头发送到 `image_model.base_url` 外部端点；`WECHAT_{N}_APPID/APPSECRET` 用于换 `access_token` 后调用微信 API\n- **内容外发**：图片 prompt 发给图像 API；图片文件（PNG/WEBP）发给微信 `material/add_material` / `draft/add`\n- **文件读**：仓库内 `.aws-article/config.yaml`、本篇 `article.yaml`、`imgs/prompts/*.md`\n- **文件写**：本篇 `imgs/*.{png,webp}`、`imgs/outline.md`、`article.yaml` 状态字段\n- **shell**：`{python} {baseDir}/../aws-wechat-article-images/scripts/image_create.py`；可选 `{python} {baseDir}/../aws-wechat-article-publish/scripts/publish.py`（`{python}` = 本机 Python 3 解释器，见 [main SKILL 第 0 步](../aws-wechat-article-main/SKILL.md)：Windows 用 `py -3 -X utf8`，macOS / Linux 用 `python3`）\n\n## 配套 skill（informational）\n\n本 skill 属 `aws-wechat-article-*` 一条龙公众号套件的**贴图/多图推送专用分支**（入口 `aws-wechat-article-main`）。工作流中的生图步骤与发布步骤依赖同套件其他 slug 提供的能力。\n\n- **至少需要同时安装** `aws-wechat-article-images`（用于生图）；若要走发布链路，建议再装 `aws-wechat-article-publish`。\n- **套件完整装齐到同一 `skills/` 根目录**时，跨 skill 引用都能读到。\n- **单独安装本 skill** 时，生图/发布相关步骤会在执行阶段遇到缺失文件；本 skill 内的选题规划、图序、风格约定等本地步骤仍可用。\n\n完整 9 slug 清单见 [源码仓库](https://github.com/aiworkskills/wechat-article-skills)。\n\n## 路由\n\n长文图文（标题+正文+插图+后台发文）→ [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)；长文内单篇插图 → [aws-wechat-article-images](../aws-wechat-article-images/SKILL.md)。\n\n创作以图片为主的公众号内容：多张图片 + 每张配文，统一风格。\n\n## 产出目标（先看这个）\n\n- 输入：主题 / 选题卡 / 用户素材图（任选其一）\n- 输出：`imgs/`（outline + prompts + 图片）与可发布的多图内容\n- 风格：整组统一（避免每张图风格漂移）\n\n## 配置检查 ⛔\n\n任何操作执行前，**必须**按 **[首次引导](../aws-wechat-article-main/references/first-time-setup.md)** 执行其中的 **「检测顺序」**。检测通过后才能进行以下操作（或用户明确书面确认「本次不检查」）：\n\n从选题到发布的**前置规则**见 [aws-wechat-article-main/SKILL.md](../aws-wechat-article-main/SKILL.md)；本 skill 描述贴图子流程。\n\n**图片模型**：**`image_model`**（`provider`、`base_url`、`model` 等）在 **`config.yaml`**；**`IMAGE_MODEL_API_KEY`** 在 **`aws.env`**。键名对照 **`{baseDir}/../aws-wechat-article-main/references/env.example.yaml`*"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7f5hvxj1x2ctd5vqnec5x1zs82ce6h\",\n  \"slug\": \"aws-wechat-sticker\",\n  \"version\": \"1.0.24\",\n  \"publishedAt\": 1788679511983\n}"},{"path":"references/checklist.md","content":"# 贴图审稿清单\n\n## 基础检查\n\n- [ ] 张数 ≤ 9（微信限制）\n- [ ] 每张图有配文\n- [ ] 配文无敏感词和错别字\n\n## 视觉检查\n\n- [ ] 全组图风格统一（色调、构图风格一致）\n- [ ] 第一张适合做封面（缩略图下仍清晰可辨）\n- [ ] 图片比例统一\n- [ ] 无版权风险的元素\n\n## 内容检查\n\n- [ ] 叙事顺序通顺（图序逻辑清晰）\n- [ ] 配文与图片内容匹配\n- [ ] 无敏感/争议性内容\n- [ ] 品牌调性一致\n\n## 发布检查\n\n- [ ] 标题已确认\n- [ ] 作者已确认\n- [ ] 评论设置已确认"},{"path":"references/workflow.md","content":"# 贴图图序规划\n\n## 图序方案模板\n\n```markdown\n## 贴图方案：[主题名]\n\n**张数**：N 张\n**形态**：[选定的配图形态，见 image-styles/]\n**叙事线**：[叙事逻辑说明]\n\n| 序号 | 画面描述 | 配文 | Prompt 要点 |\n|------|---------|------|-------------|\n| 1 | [画面内容] | 「配文内容」 | [结构化 prompt 摘要] |\n| 2 | [画面内容] | 「配文内容」 | ... |\n| ... | | | |\n```\n\nPrompt 构建：[prompt-construction.md](../../aws-wechat-article-images/references/image-styles/prompt-construction.md)\n\n## 贴图类型\n\n| 类型 | 说明 | 典型张数 |\n|------|------|---------|\n| 场景故事 | 用图片讲一个小故事 | 4-6 张 |\n| 知识卡片 | 每张一个知识点 | 6-9 张 |\n| 产品展示 | 产品多角度/多功能展示 | 3-6 张 |\n| 节日祝福 | 节日主题图 + 祝福语 | 1-3 张 |\n| 投票/互动 | 选项图片 + 引导文案 | 2-4 张 |\n\n## 叙事逻辑\n\n| 逻辑 | 适用 |\n|------|------|\n| 场景递进 | 故事型：从早到晚、从起因到结果 |\n| 知识点递进 | 教程型：从易到难 |\n| 并列展示 | 清单型：每张独立但主题统一 |\n| 对比 | 评测型：A vs B 交替展示 |\n| 悬念揭晓 | 互动型：前几张设问，最后揭晓 |"},{"path":"skill-card.md","content":"## Description:\n\n公众号贴图 / 九宫格多图推送 helps agents plan, generate, review, and optionally publish WeChat public-account sticker or multi-image posts with unified style, prompt planning, image generation, compression, and grid-oriented packaging.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[aiworkskills](https://clawhub.ai/user/aiworkskills)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal creators, operators, and developers use this skill to turn a topic, brief, or source material into a planned WeChat multi-image post with prompts, image files, review checks, and optional publishing steps.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The workflow may send image prompts to an external image API and prepared images to the WeChat API when publishing is used.\n\nMitigation: Use it only for intended WeChat publishing workflows, review prompts and generated images before upload, and run publishing only after explicit confirmation.\n\nRisk: The workflow requires local article files plus IMAGE_MODEL_API_KEY and optional WeChat app credentials.\n\nMitigation: Provide credentials only in the expected local environment file, limit credential scope where possible, and confirm configuration checks pass before execution.\n\n## Reference(s):\n\n- [ClawHub Skill Page](https://clawhub.ai/aiworkskills/skills/aws-wechat-sticker)\n- [AIWorkSkills Homepage](https://aiworkskills.cn)\n- [Sticker Review Checklist](references/checklist.md)\n- [Sticker Sequence Workflow](references/workflow.md)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with shell command examples, prompt plans, and file-oriented workflow outputs]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Produces or updates imgs/ outlines, prompts, generated image files, and article status fields; optional publishing sends prepared images through the WeChat workflow.]\n\n## Skill Version(s):\n\n1.0.24 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。 Skill: 公众号贴图 / 九宫格多图推送 Owner: aiworkskills Summary: 公众号贴图｜九宫格｜多图推送｜图片消息｜表情包 — 贴图与多图推送：从创意构思、AI 生图到公众号图片消息发布全流程，含九宫格自动排布、多图压缩、组图打包。面向公众号运营、自媒体、IP 账号。触发词：「贴图」「多图推送」「发组图」「图片消息」「九宫格」「做一组图」「图片帖子」「发几张图」「不写正文发图」「只发图不写字」。是文章内配图/封面请走 aws-wechat-article-images；需要多环节串联（写+审+排+配图+发）请走 aws-wechat-article-main。 Tags: chinese:1.0.17, claude-code:1.0.17, image-post:1.0.17, latest:1.0.24, nine-grid:1.0.17, sticker:1.0.17, wechat:1.0.1","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":902,"uniquenessScore":52,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:16:32.242Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T23:16:32.242Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T01:47:36.554Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}