📋 Overview
Two core functions:
- Title Generation: Generates WeChat Official Account titles with viral potential based on trending data, providing reference viral articles and analysis
- Title Scoring: Performs multi-dimensional evaluation and scoring on user-input titles, providing optimization suggestions
Function Determination:
| User Input | Function to Use |
|---|---|
| Topic/Keyword/Niche/Category | Title Generation |
| Title + Scoring/Optimization Intent | Title Scoring |
Data Description:
- Reading data is as of the database entry time, not real-time data, and may continue to grow after entry
- The database only contains data from yesterday to 30 days ago
- Default query is the most recent 7 days (startDate = today - 6 days)
Startup Welcome Message(must be output automatically when the skill is opened):
👋 Welcome to WeChat Official Account Title Generation and Scoring!
1️⃣ Title Generation — Enter a topic, keyword, niche, or category to generate viral WeChat Official Account titles based on trending data
2️⃣ Title Scoring — Enter a title to evaluate and score it and receive optimization suggestions
🔐 Authentication
Get API Key
Please go to Red Fox Hub to get the API KEY
Configure API Key
Option 1: Write to ~/.openclaw/openclaw.json:
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
Option 2: Terminal configuration:
export REDFOX_API_KEY="ak_xxxx..."
⚠️ Core Rules
Data Source
- Sole data source: Call the API interface through the
scripts/fetch_official_account_trends.pyscript - Prohibited: Online search, use of other data sources
- API Interface:
https://redfox.hk/story/api/cozeSkill/getWxCozeSkillData
Word Usage Standards
- ❌ Prohibited: "crawl", "scrape" → ✅ Uniformly use "fetch"
Execution Order
- Title generation: mustfirst analyze viral titles,then generate new titles, the order cannot be reversed
- Generalized terms: after outputting subdivided term recommendations,must waitfor the user to reply "expand" or "do not expand" before calling the script
Keyword Classification Handling
| Keyword Type | Example | Handling Method |
|---|---|---|
| Subdivided term/Vertical niche | Workplace outfits, fat-loss meals, outfits for short people | Direct query |
| Specific content term | Sunscreen, emotional stories, workplace practical tips | Direct query |
| Generalized term/Large category | Outfits, food, emotions | Execute generalized term expansion strategy |
Handling Insufficient Data
When fewer than 5 items are available, automatically expand the time range in order: last 1 day → last 3 days → last 7 days → last 30 days
Prompt for each expansion: "The data for this keyword in the last X days has fewer than 5 records, so the time range has been automatically expanded to the last Y days"
- ❌ Prohibited: changing keywords, recommending other words, or triggering generalized term expansion due to insufficient data
- Final fallback: if there are still fewer than 5 records after expanding to 30 days, display truthfully and indicate insufficient data
- When the data is 0: if it is still 0 after expanding to 30 days, execute the generalized term expansion strategy
📊 Interaction Flow
Any content entered by the user is understood as either generating viral WeChat public account titles or performing title scoring.
Step 1: Understand user input and extract keywords
Precision principle: query exactly what the user enters, and do not arbitrarily expand to related but different content.
- Extract the core topic and keywords from the user input
- Process according to keyword type (see Core Rules → Keyword Classification Processing)
Example:
- User input: "I want to write content about skincare" → Keyword: skincare → Title generation
- User input: "Help me score this title: XXX" → Keyword: extract from the title → Title scoring
Step 2: Generalized term expansion strategy (only for generalized terms; skip directly to query for niche terms)
- Generate niche terms: query relevant WeChat public account hot topics from the last 7 days and generate 10 niche terms (2-3 each of trend terms, audience terms, scenario terms, and intent terms)
- Wait for user reply: prohibited from calling the script when the user has not replied
- Execute according to the reply:
- Reply "Expand" → search the 10 niche terms
- Reply "Do not expand" → search the original keyword
Output example:
我识别到「情感」是较大的分类,已查询近期热门趋势,推荐以下细分方向:
恋爱技巧、婚姻经营、婆媳关系、原生家庭、职场人际、社交恐惧、高情商沟通、情绪管理、心理疗愈、分手挽回
回复「拓展」将同时搜索这10个词,回复「不拓展」将继续搜索「情感」
Step 3: Time range and data query
Time range:
- Data range: yesterday to 30 days ago
- Default: last 7 days (startDate = today - 6 days)
- Last N days: startDate = today - (N-1) days
Execute command:
# 有关键词
python3 scripts/fetch_official_account_trends.py --keyword "<关键词>" --days <天数>
# 无关键词(全站热门)
python3 scripts/fetch_official_account_trends.py --keyword "" --days <天数>
--days Default 7, maximum 30, the script automatically calculates the start date.
Out-of-range handling:
| User request | Reply |
|---|---|
| Today's/today's data | "Today's data has not been updated yet; the most recent available data has been displayed" |
| More than 30 days | "Only data from the last 30 days is supported; the closest data has been displayed" |
Step 4: Read viral data (internal execution, no output)
After executing the command, read the generated Markdown file (关键词_爆款数据.md)。
Step 5: Analyze viral titles and generate new titles
Analysis must come before generation; the order cannot be reversed.
- Analyze viral titles(internal execution, no output): extract the structure, keywords, emotion, and target audience characteristics of viral titles
- Generate 10 new viral titles: create innovatively based on the analysis results (not directly using the reference titles), and each title includes:
- Title content (≤30 characters)
- Match index (8.0-10.0, keep one decimal place, the same value may appear at most 2 times)
- Referenced viral articles (including article links and read counts, separated by enumeration commas if multiple)
- Recommendation reason (natural colloquial expression; AI-style phrasing such as "adopts XX structure" and "target audience is" is prohibited)
Output format example:
基于本次分析,为您生成以下10个爆款标题:
**标题1:这款护肤品真的太好用了**
📈匹配指数:9.8
🔥参考的爆款:[爆款标题A](https://mp.weixin.qq.com/s/xxx)(阅读:XXX)、[爆款标题B](https://mp.weixin.qq.com/s/xxx)(阅读:YYY)
👍推荐理由:用"真的太好用了"这种真实的感受开篇,特别适合分享类文章,读者会忍不住点进去看看具体哪里好。
---
**标题2:新手必看的护肤技巧**
📈匹配指数:9.5
🔥参考的爆款:[爆款标题C](https://mp.weixin.qq.com/s/xxx)(阅读:XXX)
👍推荐理由:"新手必看"四个字就能筛选出精准读者,想学护肤技巧的人会毫不犹豫点进来。
---
(共10个标题,格式同上)
Usage suggestions:
- First test the 2-3 titles with higher match scores, and observe their actual data performance
- Adjust keywords and expressions based on the test results
- Make personalized modifications based on content characteristics
Step 6: Format Verification
Check item by item before output:
| Check Item | Requirement |
|---|---|
| Title Format | **标题X:[内容]**, ≤30 characters |
| Match Score | 📈匹配指数:[数值], 8.0-10.0, one decimal place, same value ≤2 times |
| Reference Viral Title | 🔥参考的爆款:[标题](链接)(阅读:XXX), separate multiple ones with enumeration commas |
| Recommendation Reason | 👍推荐理由:[理由], natural and colloquial, AI-style expressions prohibited |
| Divider | Between each title block --- |
| Completeness | 10 titles, each with 4 lines of content |
📝 Title Scoring
Trigger Conditions
The user directly inputs a title and expresses an intent to score/optimize it (e.g., "help me see how this title is")
Execution Process
- Understand the Title: Extract keywords, topic, and target audience
- Query Data:
python3 scripts/fetch_official_account_trends.py --keyword "<关键词>" --days 30
- Multi-dimensional Scoring(total score 100 points, all scoring must be based on real data returned by the interface):
| Dimension | Full Score | Scoring Points |
|---|---|---|
| Track Match | 15 | Hits ≥3 core words → 15 points; 1-2 → 8 points; 0 → 0 points. If the track does not match, mark "positioning deviation, adjustment recommended" |
| Click Incentive Strength | 35 | Clear benefit/pain point (18 points): clear benefit → 18, vague → 9, none → 0; emotional/curiosity hook (12 points): yes → 12, smooth but no hook → 6, plain statement → 0; scarcity/exclusivity (5 points): yes → 5, no → 0 |
| Structural Compliance | 15 | Character count fit (8 points): 15-25 characters → 8, too short/too long → 4, severe deviation → 0; structural preference (7 points): matches 100k+ → 7, ordinary → 4, no logic → 0; violation deducts 3-8 points |
| Viral Potential Match | 35 | Recent hotspot match (20 points): hits a 7-day hotspot → 20, general hotspot → 10, none → 0; 100k+ semantic similarity (15 points): ≥60% → 15, 30%-60% → 8, <30% → 0 |
- Output Scoring Results:
## 标题评分结果
**原标题**:[用户输入的标题]
**综合评分**:85分/100分
**各维度评分明细**:
**a. 赛道匹配度(15分)**
- 所属赛道:[自动识别的赛道]
- 命中核心词:[词1]、[词2]、[词3]
- 得分:15分
**b. 点击诱因强度(35分)**
- 明确利益/痛点:18分(有清晰的用户收益)
- 情绪/好奇心钩子:12分(有悬念感)
- 稀缺/专属感:5分(有稀缺暗示)
- 得分:35分
**c. 结构合规性(15分)**
- 字数适配:8分(18字,处于最优区间)
- 结构符合10w+偏好:7分(使用数字+利益结构)
- 无违规/负向感知:不扣分
- 得分:15分
**d. 爆文潜质匹配度(35分)**
- 近期热点匹配:20分(命中热点词XXX)
- 10w+语义相似度:15分(相似度75%)
- 得分:35分
**优势分析**:[自然语言描述标题优点]
**优化建议**:[自然语言描述改进建议]
**参考爆款标题**:
1. [爆款标题1](链接) - 阅读数:XXX
2. [爆款标题2](链接) - 阅读数:XXX
- Scoring must be objective, based on actual data and platform characteristics
- Optimization suggestions must be specific and actionable
- Reference viral titles must come from the real data queried
📁 Resource Index
- Data query script:scripts/fetch_official_account_trends.py