Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Aws Wechat Article Publish

ASecurity

公众号发布|公众号草稿箱|公众号群发|图文推送|微信 API|wechat automation|WeChat API automation|auto publish|scheduled publish — 公众号 API 发布工具,图文入草稿箱或直接群发,支持封面素材上传、发布前检查与 draft/published 模式切换。面向公众号运营、自动化内容团队、开发者。触发词:「发布」「提交」「群发」「推送」「发出去」「上传到公众号」「发到公众号」「可以发了吗」「发布前检查」。需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。

625 stars
0 votes
0 copies
0 views
Added 9/19/2026
ai-agentspythonshellbashawsgitapi

Works with

cliapi

Security Analysis

A100/100

Scanned 9/19/2026

Install to Claude Code

$npx -y skills add aiworkskills/wechat-article-skills --skill aws-wechat-article-publish --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aws Wechat Article Publish?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Aws Wechat Article Publish
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aiworkskills-aws-wechat-article-publish/badge)](https://www.skillsdirectory.com/skills/aiworkskills-aws-wechat-article-publish)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: aws-wechat-article-publish
description: 公众号发布|公众号草稿箱|公众号群发|图文推送|微信 API|wechat automation|WeChat API automation|auto publish|scheduled publish — 公众号 API 发布工具,图文入草稿箱或直接群发,支持封面素材上传、发布前检查与 draft/published 模式切换。面向公众号运营、自动化内容团队、开发者。触发词:「发布」「提交」「群发」「推送」「发出去」「上传到公众号」「发到公众号」「可以发了吗」「发布前检查」。需要多环节串联(写+审+排+配图+发)请走 aws-wechat-article-main。
homepage: https://aiworkskills.cn
url: https://github.com/aiworkskills/wechat-article-skills
metadata:
  openclaw:
    requires:
      env:
        - WECHAT_1_APPID
        - WECHAT_1_APPSECRET
      bins:
        - python3
    primaryEnv: aws.env
---

# 发布

**公众号 API 直连发布** —— 图文入草稿箱或直接群发,素材上传、发布前检查一站式完成。

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

## 能力披露(Capabilities)

本 skill 调 `publish.py` **直连微信公众号官方 API** 发布图文。**会把本篇 `article.html` 与 `imgs/*` 文件作为 POST body 上传到微信服务器。**

- **凭证读取**:`aws.env` 的 `WECHAT_{N}_APPID` / `WECHAT_{N}_APPSECRET`(多槽位,N≥1)
- **凭证外发**:`APPID` / `APPSECRET` 以 query string 发给 `api.weixin.qq.com/cgi-bin/token` 换 `access_token`;后续请求带 `access_token`。微信返回的 token 只在进程内存短期缓存,**不落盘**
- **内容外发**:封面与正文插图以 multipart 发给 `material/add_material`;`article.html` 正文与标题/摘要以 JSON POST 发给 `draft/add`、`freepublish/submit`
- **网络目标**:默认 `api.weixin.qq.com`;可用 `WECHAT_{N}_API_BASE` / `config.yaml.wechat_api_base` 自配反代
- **文件读**:`.aws-article/config.yaml`、`aws.env`、本篇 `article.yaml`、`article.html`、`imgs/*`
- **文件写**:
  - `publish.py` **不写 `article.yaml`**——`media_id` / `publish_id` / `publish_completed` 只打印,写回由智能体做(见下「`publish_completed` 门禁」)
  - 图片超过微信大小限制时会在源图旁生成压缩缓存 `<原名>_compressed.jpg`(需 Pillow)。这个文件**不会被自动清理**,也不会被当作正文图上传
  - `article_init.py` 写本篇 `article.yaml` 与可选 `closing.md`
- **shell**:`{python} {baseDir}/scripts/` 下的 `publish.py`、`getdraft.py`、`article_init.py`

**建议**:首次运行用 `publish_method: draft` 只入草稿箱确认效果,再切 `published` 真正群发。

## 路由

从选题到发出整条流程 → [aws-wechat-article-main](../aws-wechat-article-main/SKILL.md)。本 skill 单独触发适用于**已有 `article.html` 与封面**、只差最后一步上传的场景。

## 配置检查 ⛔

任何操作前先按 **[首次引导 · 检测顺序](../aws-wechat-article-main/references/first-time-setup.md)** 执行,通过后才继续(或用户明确书面确认「本次不检查」)。单独安装本 skill 时的口径见 [branches.md「六」](references/branches.md)。

## 脚本与子命令

`{baseDir}` = 本 SKILL.md 所在目录,所有命令在**仓库根**执行。

| 脚本 / 子命令 | 用途 |
|--------|------|
| **`article_init.py`** | 初始化或更新本篇 `article.yaml`(及可选 `closing.md`)。`{python} {baseDir}/scripts/article_init.py <文章目录> [--title … --author … --digest …]` |
| **`getdraft.py`** | 查已群发文章(`published-list` / `published-fields` / `publish-get` / `article-get`),用于补齐往期推荐链接。见 [branches.md「五」](references/branches.md) |
| `check-screening` | 校验 `config.yaml` 的 `publish_method` |
| `check-wechat-env` | 按 `config.yaml` 槽位检查 `aws.env` 的 `WECHAT_N_APPID` / `APPSECRET` 是否已填 |
| `check` | 环境检查:`aws.env`、各槽位、依赖、可选探测 token |
| `accounts` | 列出 `config.yaml` 中各槽位名称,并标记 `aws.env` 缺项 |
| `full` | 一键全流程(上传封面 → 上传正文图 → 建草稿 → 视配置提交发布) |
| `token` / `upload-thumb` / `upload-content-image` / `create-draft` / `publish` / `status` | 分步操作,见 [usage.md](references/usage.md) |

## `publish_method`(以 `.aws-article/config.yaml` 为准)⛔

| 值 | 含义 | `full` 的行为 |
|----|------|------|
| **`draft`**(默认) | 只进**草稿箱** | 创建草稿后**不**调 freepublish |
| **`published`** | 草稿 + **提交发布** | 创建草稿后继续提交发布(异步)。`full --publish` 可在 `draft` 下**单次强制**带发布 |
| **`none`** | 用户明确不填微信 | **立即退出**,不调任何微信接口(`--publish` 也被忽略)。其它子命令仍要凭证 |

## 多账号选槽位 ⛔

1. 跑 `{python} {baseDir}/scripts/publish.py accounts`,把 `config.yaml` 的 `wechat_accounts` + `wechat_{i}_name` 列给用户(例如「您有 2 个账号:1. xiaoming,2. xiaoz」)。**必须请用户选一个**,不要替他挑。
2. 选定后写 `config.yaml` 的 `wechat_publish_slot: <整数>`,**或**命令行 `--account <序号或名称>`(**CLI 优先**)。

**槽位的数量与名称只来自 `config.yaml`**;`aws.env` 里只有凭证。字段说明见 [articlescreening-schema.md](../aws-wechat-article-main/references/articlescreening-schema.md)。

## `publish_completed` 门禁 ⛔

字段在**本篇 `article.yaml`**。**`publish.py` 不读、不改**,由智能体维护:`false` = 发布流程未闭环,`true` = 已视为发布完成。

**写回 `true` 之前,四项缺一不可:**

1. `article.html` 存在;
2. 文章目录下存在封面 `cover.(png|jpg|jpeg|webp)`(**不在 `imgs/` 里**);
3. `article.md` 与 `article.html` 中均**不含 `placeholder`**;
4. 发布命令成功并拿到回执(`media_id` 或 `publish_id`)。

任一不满足:只可标记为「已提交草稿,未闭环」,**不得**写回 `publish_completed: true`。

封面裁剪框(2.35:1 / 1:1)的细则见 [branches.md「三」](references/branches.md)。

## 工作流

```
发布进度:
- [ ] 第0步:⛔ 配置检查;用户未给路径 → 先定目录并读 publish_completed 分流
- [ ] 第1步:读 config.yaml 的 publish_method(及是否 full --publish)
- [ ] 第2步:accounts 列账号 → ⛔ 请用户选槽位 → check-wechat-env 校验凭证
- [ ] 第3步:发布前检查(pre-publish-checklist + check-screening + check)
- [ ] 第4步:确认本篇目录产物齐全(article.html、cover.*、无 placeholder)
- [ ] 第5步:full(仅草稿或含发布,视第 1 步)
- [ ] 第6步:确认回执并向用户说明
- [ ] 第7步:⛔ 四项门禁全过 → 写回 publish_completed: true
```

第 0 步的分流表见 [branches.md「一」](references/branches.md);第 3 步清单见 [references/pre-publish-checklist.md](references/pre-publish-checklist.md);第 5/6 步失败时的四类处理见 [branches.md「二」](references/branches.md)。

## 命令示例(仓库根)

```bash
{python} {baseDir}/scripts/publish.py check-screening
{python} {baseDir}/scripts/publish.py check-wechat-env
{python} {baseDir}/scripts/publish.py accounts
{python} {baseDir}/scripts/publish.py check
{python} {baseDir}/scripts/publish.py --account 1 full drafts/YYYYMMDD-标题slug/
{python} {baseDir}/scripts/getdraft.py published-fields
```

注意 `--account` 是**全局选项,放在子命令之前**。

## 分支与异常

未给路径的分流、发布失败四分类、封面裁剪框、几处回退、往期链接补齐、单独安装 → [references/branches.md](references/branches.md)。

更多用法:[usage.md](references/usage.md)、[submit-guide.md](references/submit-guide.md)、[api-reference.md](references/api-reference.md)。

## 过程文件

| 读取 | 产出 |
|------|------|
| `article.html`、`cover.*`、`imgs/`、本篇 `article.yaml`、`.aws-article/config.yaml`、`aws.env` | 公众号草稿或已提交发布;**成功后**由智能体把 `publish_completed: true` 写回 `article.yaml`(`publish.py` 不改此键) |

Attribution

aiworkskillsaiworkskills
View sourceMore from aiworkskills →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Ultra-compressed communication mode. Cuts token usage ~75% by speaking like caveman while keeping full technical accuracy. Supports intensity levels: lite, full (default), ultra, wenyan-lite, wenyan-full, wenyan-ultra. Use when user says "caveman mode", "talk like caveman", "use caveman", "less tokens", "be brief", or invokes /caveman. Also auto-triggers when token efficiency is requested.

1023331 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

686011 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3331 votes

catchup

Recovers prior coding-agent session context by running `catchup <agent> --since-compact`, which extracts a clean summary of a previous Codex, Claude Code, Antigravity, OpenCode, or Pi Agent session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", or asks to recover/summarize a previous session before continuing. Do NOT use for the current conversation, git history, or any non-agent log.

611 votes

math-skill

A comprehensive mathematical reasoning skill for AI assistants — handles arithmetic to research-level problems with rigorous step-by-step reasoning, systematic verification, and transparent uncertainty handling

381 votes
View all in ai-agents →