# 公众号综合实力榜 · 核心工作流程

本文档与根目录 `SKILL.md` 配套使用：`SKILL.md` 提供 frontmatter 触发语、简介、使用指南摘要与命令/参数速查；**具体输出格式、日期逻辑、完整脚本说明与示例均以本文档为准**，执行任务时必须完整遵循本文档。

---

## 输出前必检Checklist（每次输出前逐项打勾，全部通过才能输出）

```
[ ] 标题格式是否使用二级标题：## 公众号综合实力{日榜/周榜/月榜} - {分类名} （更新时间：{时间}）
[ ] 数据说明是否在标题后、表格前（斜体）
[ ] 表格列顺序是否严格：排名→账号名称→综合评分(满分100)→发布数/文章数→总阅读数→头条阅读数→最高阅读数→总点赞→总在看→总转发
[ ] 排名1-3是否用了🥇🥈🥉，其余用数字
[ ] 账号名称是否加粗+跳转链接（https://open.weixin.qq.com/qr/code?username={accountId}）
[ ] 指定字段是否都加粗（综合评分、总阅读、头条阅读、最高阅读、总点赞、总转发）
[ ] 数字>=1万是否用x.x万格式，>=1亿用x.x亿格式
[ ] 榜单表格是否输出了全部数据（TOP50）
[ ] 榜单表格后是否输出了功能询问文案
[ ] 分析/HTML/订阅是否在用户确认后才输出（禁止未经询问直接输出）
```

## 输出标准模板（严格套用，禁止自由发挥）

**输出顺序：综合实力榜（直接输出）→ 功能询问文案（直接输出）→ 用户选择后按需输出分析/HTML/订阅**

### 综合实力榜（直接输出）

## 公众号综合实力{日榜/周榜/月榜} - {分类名} （更新时间：{更新时间}）

*公众号综合实力{日榜/周榜/月榜}，基于阅读、点赞、转发、在看等多维数据综合排名*
*数据统计时间周期：{时间范围}*

> 时间周期格式：日榜="2026-05-05"；周榜="2026-05-04至2026-05-10"；月榜="2026-04-01至2026-04-30"

| 排名 | 账号名称 | 综合评分(满分100) | 发布数/文章数 | 总阅读数 | 头条阅读数 | 最高阅读数 | 总点赞 | 总在看 | 总转发 |
|:---:|:---|---:|:---:|---:|---:|---:|---:|:---:|---:|
| 🥇 | **[公众号名](https://open.weixin.qq.com/qr/code?username={accountId})** | **94.7** | 21/73 | **226.9万** | **151.4万** | **10.0万** | **1.5万** | **5729** | **9.3万** |
| 🥈 | **[公众号名](https://open.weixin.qq.com/qr/code?username={accountId})** | **93.8** | 21/46 | **179.7万** | **153.2万** | **10.0万** | **1.9万** | **6064** | **5.9万** |
| 🥉 | **[公众号名](https://open.weixin.qq.com/qr/code?username={accountId})** | **93.2** | 7/51 | **209.3万** | **25.5万** | **10.0万** | **2736** | **821** | **5295** |
| 4 | [公众号名](https://open.weixin.qq.com/qr/code?username={accountId}) | 92.5 | 7/43 | 155.8万 | 65.7万 | 10.0万 | 1.3万 | 1941 | 2.0万 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 50 | [公众号名](https://open.weixin.qq.com/qr/code?username={accountId}) | 80.2 | 3/15 | 28.6万 | 9.1万 | 5.2万 | 892 | 413 | 3210 |

### 功能询问文案（榜单表格后直接输出，一字不改）

技能还支持以下功能：
1️⃣ 支持对以上数据进行分析。其中包含**内容生态变化分析**、**热点影响力量化**、**蓝海赛道挖掘**三种分析角度，方便您了解公众号阅读数据或获取运营参考时使用。
2️⃣ 可生成公众号风格的html文件包。支持**导出图片**、**导出PDF**，方便阅读、保存和分享。
3️⃣ 支持订阅每日/周/月的公众号账号最新排名，订阅后将定时推送给您（日榜将在每日17点30更新/周榜将在每周一17:30准时更新/月榜将在每月3号23:00准时推送）。直接回复"订阅日/周/月榜"即可订阅相关榜单，或者"全部订阅"将会为您推送全部类型的榜单。

回复数字即可~

---

## 按需输出模板（用户确认后使用）

### 综合实力分析（用户选择1️⃣后输出）

## 公众号综合实力{日榜/周榜/月榜}分析

以下内容分析基于获取的全部数据（TOP50）进行~

## 内容生态变化分析

- 平均发布数趋势：统计TOP50账号的平均发布数（发布天数/总天数），如近半年平均发布数从XX降至XX，说明用户从「追内容数量」转向「追内容质量」
- 平均单篇阅读趋势：统计TOP50账号的平均单篇阅读（总阅读/发布篇数），如从XX升至XX，验证内容质量提升带来的阅读效率增长
- 平均互动率趋势：统计TOP50的平均互动率（点赞+在看+转发/总阅读），如转发率从XX%持续降至XX%，说明公众号公域传播能力减弱，私域留存价值提升；如点赞率上升，说明读者深度阅读意愿增强

### 热点影响力量化

- 特殊事件节点前后对比：如618大促期间消费测评类账号排名集体上升XX位、政策出台后财经解读类账号入榜数增加XX个
- 热点对内容流量的拉动效果：量化特殊事件期间相关分类账号的平均阅读增幅（如+XX%）、综合评分提升幅度（如+XX分）
- 行业流量周期规律：总结热点事件的流量拉动持续周期（如促销类约X天、政策类约X天），以及非热点期间的流量回落规律

### 蓝海赛道挖掘

- 细分赛道竞争度统计：统计TOP50里各细分赛道的上榜账号数量，如老年教育、宠物医疗这类细分赛道上榜账号仅X个
- 蓝海判断标准：上榜账号少（<=X个）但对应账号综合评分高（>=XX）、平均阅读高（>=XX万），说明需求旺盛但供给不足
- 切入建议：列出具体蓝海赛道及其核心指标（上榜数/平均评分/平均阅读），给出内容定位和运营策略建议

### HTML页面（用户选择2️⃣后生成）

由 `python scripts/gen_gzh_html.py` 生成，直接输出页面内容，禁止只输出文件路径。

### 订阅响应（用户选择3️⃣或回复订阅指令时）

用户回复"订阅日榜" → 回复："您已成功订阅日榜，将在每日17:30准时推送🌟~"
用户回复"订阅周榜" → 回复："您已成功订阅周榜，将在每周一17:30准时推送🌟~"
用户回复"订阅月榜" → 回复："您已成功订阅月榜，将在每月3号23:00准时推送🌟~"
用户回复"全部订阅" → 回复："您已成功订阅全部榜单，将在每日17:30推送日榜、每周一17:30推送周榜、每月3号23:00推送月榜🌟~"

---

## 数据接口更新规则
- **日榜**：每日17:30更新昨日数据
- **周榜**：每周一17:30更新上周数据
- **月榜**：每月3号23:00更新上月数据
- **数据范围**：日榜/周榜/月榜的公众号综合实力排名TOP50
- **分类覆盖**：23个垂直领域分类
- **日期查询范围**：日榜近7天、周榜近3周、月榜近3个月

## 数据一致性要求
- 综合实力榜表格与HTML页面数据必须完全一致（相同顺序、相同内容）
- 两个脚本使用相同的API接口，禁止修改接口返回的顺序

## 操作步骤

### 第一步：确定榜单类型
根据用户输入判断榜单类型：
- 用户提到"日榜"、"今日"、"当天"、"昨日"等 → 日榜（day）
- 用户提到"周榜"、"本周"、"这周"、"上周"等 → 周榜（week）
- 用户提到"月榜"、"本月"、"这月"、"上月"等 → 月榜（month）
- 未指定 → 默认日榜（day）

### 第二步：分类匹配
根据用户输入自动匹配合适的分类：

**可用分类列表（共23个）**：
总排名、乐活生活、人文资讯、企业品牌、体育娱乐、健康养生、创投商业、学术研究、情感心理、房产楼市、搞笑幽默、教育考试、文摘精选、旅游出行、时尚潮流、民生资讯、汽车交通、知识百科、科技数码、美容美体、美食餐饮、职场发展、财富理财

**匹配规则**：
- 用户输入具体产品词（如"手机"）→ 匹配对应分类（"科技数码"）
- 用户输入领域词（如"穿搭"、"美食"）→ 直接匹配分类
- 未指定分类 → 使用"人文资讯"

**关键词-分类映射示例**：
```
手机/电脑/AI → 科技数码
穿搭/时尚/潮流 → 时尚潮流
美食/做饭/探店 → 美食餐饮
职场/求职/跳槽 → 职场发展
股票/基金/理财 → 财富理财
健身/运动/减肥 → 体育娱乐
护肤/化妆/美妆 → 美容美体
```

### 第三步：日期判断与校验

**日期查询范围限制**：
- 日榜：支持查询最近7天数据
- 周榜：支持查询最近3周数据
- 月榜：支持查询最近3个月数据

**日榜日期逻辑**：
- 更新时间：每日17:30更新昨日数据
- 自动计算：
  - 当前时间 >= 17:30 → 查询昨日数据
  - 当前时间 < 17:30 → 查询前天数据
- 用户输入"今日"、"今天"：
  - 若17:30前 → 展示提醒"日榜数据暂未更新，将为您查询最接近您需求日期的榜单数据⭐~"并推荐查询昨日更新的最新榜单
- 用户输入"昨日"、"昨天" → 查询前天的具体日期
- 用户输入具体日期 → 仅支持最近7天，超出7天展示提醒："非常抱歉🙏，目前公众号榜单最多支持回溯「近7天的日榜/近3周的周榜/近3个月的月榜」，我将为您查询最接近您需求时间的{日榜/周榜/月榜}数据⭐~"并自动查询最近可用的数据

**周榜日期逻辑**：
- 更新时间：每周一17:30更新上周数据
- 自动计算：
  - 当前时间 >= 周一17:30 → 查询本周一日期
  - 当前时间 < 周一17:30 → 查询上周一日期
- 用户输入具体日期 → 仅支持最近3周，超出范围同上提醒

**月榜日期逻辑**：
- 更新时间：每月3号23:00更新上月数据
- 自动计算：
  - 当前已过本月3号23:00 → 查询上月1号日期（上月数据已更新）
  - 当前未过本月3号23:00 → 查询上上月1号日期
- 用户输入"当月"、"本月" → 根据更新时间判断，若未到更新时间则展示提醒
- 用户输入"上月"、"上个月" → 查询相应月份
- 用户输入具体月份 → 仅支持最近3个月，超出范围展示提醒："非常抱歉🙏，目前公众号榜单最多支持回溯「近7天的日榜/近3周的周榜/近3个月的月榜」，我将为您查询最接近您需求时间的月榜数据⭐~"并自动查询最近可用数据

### 第四步：获取综合实力榜数据
调用脚本获取榜单数据（默认TOP50）：

**查询命令**：
```bash
python scripts/gzh_growth_fetcher.py --rank_type day --keyword "科技" --top_n 50
python scripts/gzh_growth_fetcher.py --rank_type week --category "科技数码" --top_n 50
python scripts/gzh_growth_fetcher.py --rank_type month --keyword "美食" --top_n 50
```

**参数说明**：
- `--rank_type`：榜单类型 day/week/month（默认day）
- `--category`：分类名称（可选）
- `--keyword`：用户输入的关键词，用于自动匹配分类
- `--rank_date`：查询日期（可选，自动判断；超出范围自动调整）
- `--top_n`：返回条数（默认50）
- `--start`：起始排名（默认1）
- `--list_categories`：列出所有可用分类

**数据字段说明（API返回字段）**：
- `accountName`：公众号名称
- `accountId`：公众号ID（用于构建搜索链接）
- `accountAvatar`：公众号头像URL
- `rankPosition`：排名位置
- `category`：所属分类
- `publishCount`：发布数/文章数（如"3/9"，表示9天内发布了3天）
- `totalReadCount`：总阅读数
- `headlineReadCount`：头条阅读数
- `maxReadCount`：最高阅读数
- `totalLikeCount`：总点赞数
- `totalInSeeCount`：总在看数
- `totalForwardCount`：总转发数
- `averageReadCount`：平均阅读数（API返回，但展示表格中不显示）
- `comprehensiveScore`：综合评分（满分100，接口返回）

**日期校验输出**：
- 脚本返回的 `reminder` 字段包含日期提醒信息，必须输出给用户
- 超出查询范围时脚本自动调整日期，需展示提醒消息

### 第五步：按标准模板输出

1. 输出综合实力榜：全部数据（TOP50）
2. 输出功能询问文案（一字不改，见模板）
3. 等待用户回复，按需输出：
   - 用户选择分析 → 输出综合实力分析（三段式）
   - 用户选择HTML → 调用脚本生成HTML页面并输出
   - 用户选择订阅 → 按订阅响应模板回复
   - 用户可多选，按用户提到的顺序依次输出

**HTML生成命令**：
```bash
python scripts/gen_gzh_html.py --rank_type {day/week/month} --keyword "{关键词}" --top 50
```

**HTML文件命名**：`公众号综合实力【日/周/月】_【分类名】_【8位时间戳】.html`

**输出后自检**：对照"输出前必检Checklist"逐项确认。

## 使用示例

### 示例1：日榜关键词查询
- **场景/输入**："帮我查一下科技类的公众号排行"
- **预期产出**：匹配科技数码分类，日榜，输出综合实力榜表格 + 功能询问文案，等待用户选择

### 示例2：周榜查询 + 用户选择分析
- **场景/输入**："这周公众号综合实力怎么样" → 用户回复"1"
- **预期产出**：使用周榜(week)，输出综合实力榜 + 询问文案 → 用户选1后输出三段式分析

### 示例3：月榜 + 订阅
- **场景/输入**："本月美食类公众号排行" → 用户回复"订阅月榜"
- **预期产出**：使用月榜(month)，输出综合实力榜 + 询问文案 → 用户订阅月榜后回复"月榜每月3号23:00更新，将在对应时间为您推送~"

## 资源索引
- **脚本**：见 [scripts/gzh_growth_fetcher.py](../scripts/gzh_growth_fetcher.py)
  - 用途：获取公众号综合实力榜单数据
  - 参数：--rank_type day/week/month / --category 分类名 / --keyword 关键词 / --rank_date 日期 / --top_n 条数 / --start 起始排名
- **脚本**：见 [scripts/gen_gzh_html.py](../scripts/gen_gzh_html.py)
  - 用途：生成可视化HTML页面
  - 参数：--rank_type day/week/month / --category 分类名 / --keyword 关键词 / --rank_date 日期 / --top 条数 / --output 输出路径

## 注意事项
- **格式优先级（最高）**：本Skill的格式要求 > 智能体默认输出，必须100%按标准模板输出
- **执行环境（强制）**：本Skill只能在主Agent任务中执行，禁止在子任务/子Agent中执行
- **综合实力榜**：直接输出，无需询问
- **分析/HTML/订阅**：必须先输出功能询问文案，用户确认后才可输出，禁止未经询问直接输出
- **禁止折叠输出**
- **HTML页面**：用户选择后生成，直接输出页面内容，禁止只输出文件路径
- **数据一致性**：综合实力榜表格与HTML页面必须使用相同的数据源，禁止修改接口返回的顺序
- **更新时间**：日榜/周榜每日17:30更新，月榜每月3号23:00更新
- **日期查询范围**：日榜近7天、周榜近3周、月榜近3个月，超出范围自动调整并展示提醒
- **禁止自动查询**：未订阅且未收到用户明确查询输入时，禁止自动调用脚本或输出任何热榜信息
