WeChat Official Account Topic Selection & Viral Headline AI Assistant — Hot topic tracking, topic research, headline creation, summary writing, and series scheduling all in one.
Suite Description · This skill belongs to the
aws-wechat-article-*all-in-one suite (9 slugs in total, entry pointaws-wechat-article-main). Cross-skill relative references depend on the sameskills/directory, so it is recommended toclawhub installthe full suite together. Source code:https://github.com/aiworkskills/wechat-article-skills
Capabilities Disclosure
This skill is mainly Agent-driven (conversational topic research, headline generation); the script layer is only used to update this article's metadata.
- Credentials: None
- Network: The Agent may use
web_search/web_fetch(a host built-in capability, not initiated by this skill's script layer).This skill does not call any interface requiring credentials— checking published articles requires WeChat credentials, which is publish 's job - File reads:
.aws-article/config.yaml, this article'sarticle.yaml、.aws-article/products/{产品名}/*.md(required reading when the topic involves the user's business) - File writes: under this article's directory
topic-card.md、research.md、article.yaml; in series mode{series_root}/{系列slug}/plan.md - shell: may only call
{python} {baseDir}/../aws-wechat-article-publish/scripts/article_init.py(purely local YAML writing, no network)
Routing
To produce a finished article and publish it to the WeChat Official Account, or when "what to publish today" requires full orchestration → aws-wechat-article-main. Standalone triggering of this skill is limited tomodifications of existing headlines/summaries。
Configuration Check ⛔
Before any operation, first follow First-time Guidance · Detection Order and proceed only after it passes (or the user explicitly confirms in writing "no check this time").
Four Input Modes
| Mode | Trigger Condition | Example |
|---|---|---|
| A. Clear topic | The user gave a specific topic | "Write an article about AI Agents" |
| B. Has a direction | Gave a field but no specific title | "What's good to write about in AI lately" |
| C. No direction | Only said to pick topics | "What to write this week" "Help me find a few topics" |
| D. Series planning | Mentions series/column/serialization | "Make an AI introductory series" "Write a 10-article column" |
Workflow
选题进度:
- [ ] 第1步:⛔ 配置检查
- [ ] 第2步:⛔ 全局账号三键
- [ ] 第3步:⛔ 归类 A/B/C/D(先于任何联网调研)
- [ ] 第4步:调研
- [ ] 第5步:生成选题
- [ ] 第6步:生成标题与大纲
- [ ] 第7步:⛔ 展示并等用户选
- [ ] 第8步:落盘(topic-card.md + research.md + article.yaml)
For which steps can be skipped in the all-in-one flow and what needs to be supplemented when used standalone, see branches.md "One"。
Step 2: Global Account Three Keys ⛔
Before calling web_search, doing research, or confirming direction with the user, open .aws-article/config.yaml, and check whether article_category、target_reader、default_author is non-empty after trim. If any item is missing:ask the user item by item, after obtaining a clear reply for the current roundwrite back to that file。
Prohibitedfrom article.yaml or other drafts without authorization. Consistent with main "2) Global account constraints" .
Step 3: Classify A/B/C/D ⛔
Before online researchfirst align with the user: whether it isalready hasa specific topic,only hasa general field,has no idea at all, or wants to doa series/column。
The user's current message has already made it clear (directly giving a topic, or explicitly saying "help me find a few topics this week") → briefly confirmand that is enough; no need to repeatedly interrogate.
Prohibited: starting online research when the user is still in the vague state of "only saying to find topics, without mentioning field/preferences"—what is searched out has no direction to converge on and only wastes a round.
Step 4: Research
First read .aws-article/config.yaml: topic boundaries,topic_direction、update_frequency, and account positioning are based on it. If the current table of contents already has article.yaml(for example, the topic has already been decided), also read title / digest, to avoid conflict with subsequent steps.
When the topic involves the user's own business, the business materials library must be read; for the standard, see branches.md "III"。
Use web_search to search + web_fetch to read in depth, to provide data support for topic selection:
| Mode | Research goal |
|---|---|
| A | How competitor articles are written, data support, unique angles |
| B | Recent hot topics in this direction, what readers care about |
| C | config.yaml account positioning,topic_direction and recent hot topics |
| D | Knowledge system breakdown, competitor series analysis, reader learning path |
For the search strategy and search term templates of each mode, see references/research-strategy.md。
Step 5: Generate topics
Use config.yaml of update_frequency to control the quantity: about 3–5 for weekly updates, slightly more for daily updates, slightly fewer for monthly updates; when there is no configuration, follow the conversation agreement.
| Mode | Generation rule |
|---|---|
| A | Around the user's topic, give 3-4 different entry angles |
| B/C | Filter 3-5 topics, mark the type (🔥hot / 🌲evergreen / 📚series) |
| D | Plan the series main line + break out the topic for each article (see branches.md "IV") |
Step 6: Generate titles and outlines
Produce one for each topictopic card: title candidates (3-5, mixed styles), entry angle, outline preview, workload assessment, summary candidates. For the output template, see references/output-format.md。
Title styleFor the loading priority and multi-candidate convergence rules, see branches.md "II"; for the 5 built-in styles (suspense/practical/numeric/rhetorical/story), see references/title-presets.md。
Summary candidatesmust be able to stand independently: it will go into article.yaml of digest, and be displayed in the backend article list.Do not write it as a restatement of the opening paragraph of the body—the first > lead in the body is another piece of text; if the two are identical word for word, readers are essentially reading the same paragraph twice (review will block this item).
Step 7: Display and wait for the user to choose ⛔
Must stop and wait for user action. After displaying all topic selection cards, prompt:
请选择:
- 输入编号(如 1)→ 选定该选题
- 「调整 + 意见」→ 按意见修改后重新展示
- 「重新选」→ 换一批选题
- 「组合 1+3」→ 融合多个选题
- 系列模式:「先写第 N 篇」→ 按该篇进入写稿
Prohibited: continuing to write the draft without waiting for the user to choose; assuming the user will choose a certain one; skipping the display and going directly to the next step.
Step 8: Save to disk
After user confirmation:
-
Article directory: main has already created the directory and it contains
article.yaml→ Do not change the directory name, write directly into it. Otherwise create{drafts_root}/{YYYYMMDD}-{标题slug}/(drafts_root/series_rootsubject toconfig.yaml). -
Topic selection card →
topic-card.md -
Research summary →
research.md -
Series mode: series planning →
{series_root}/{系列slug}/plan.md -
article.yaml: if the same directory does not have it, or the finalized topic information needs updating,this step must create or complete(publish_completed: false; write it in when the title and summary are consistent with the user's selection):{python} {baseDir}/../aws-wechat-article-publish/scripts/article_init.py <本篇目录> --title "…" --digest "…"
→ hand over to aws-wechat-article-writing. It must already have .aws-article/config.yaml, and this article's directory is recommended to already have article.yaml。
Branches and detailed rules
One-stop vs standalone use, preset candidate pool convergence, business material library, series planning, who handles the recommendation links at the end of the article → references/branches.md。
Process files
| File | Description |
|---|---|
.aws-article/config.yaml |
Global account and topic/writing style constraints; the topic selection is based on this throughout |
article.yaml |
This article's metadata and publish_completed; creating a new article for this piece must false |
topic-card.md |
Topic selection card (title, summary, angle, outline) |
research.md |
Research summary (search findings, competitor analysis, data points) |