W

微信公众号运营助手

Contentv2.0.8
By user_1002ca6aUpdated 2026-10-01wechat-viral-operator@user_1002ca6a/wechat-viral-operator
Social Media

According to AlphaMoat, as of 2026-09, 微信公众号运营助手 has 2,921 downloads and 3 stars — ranked #3,788 of 5,078 AI skills overall, and #251 of 362 in Content.

Installs
206
Downloads
2.9K
Stars
3
Overall Rank
#3,788
Top 75% overall · Top 70% in Content
PlatformInstallsDownloadsStarsComments
SkillHub ↗2062.9K3—

Platforms count differently and update at different times.

What this skill does

Develops topics and copy from a creative direction, generates a cover and HTML with table layouts and inline styles, and checks title, digest and encoding. Draft synchronization requires authorization after preview confirmation; otherwise the article and cover stay local. Automatic or scheduled publication needs separate authorization. Viral reach, complete removal of AI traces and successful publication are not guaranteed.

Profile published 2026-10-26

What you can do with it

  • Prepare WeChat articles and local layout previews

When to use it

  • When moving from a topic to a reviewable account draft

Example prompts

Generated from the skill’s documentation as examples; not results of actual runs.

Draft this topic, create a cover and HTML, and show me a preview first

Requirements

Compiled from what the skill’s documentation declares; not verified by installing or running it.

Authentication notes
Synchronization needs account AppID and AppSecret; publication requires separate authorization.
Configuration
  • Cover generation uses image_gen; verify the preview, cover and encoding before synchronization.

Monthly Trend

Downloads2.9K
351.6K3.1K2026-03 · Downloads 2492026-05 · Downloads 8772026-06 · Downloads 1.2K2026-07 · Downloads 1.7K2026-08 · Downloads 2.1K2026-09 · Downloads 2.9K26-0326-09
Stars3
0232026-03 · Stars -2026-05 · Stars -2026-06 · Stars 22026-07 · Stars 32026-08 · Stars 32026-09 · Stars 326-0326-09

The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.

MonthDownloadsMoMStars
2026-092.9K—3
2026-082.1K+20.2%3
2026-071.7K+51.0%3
2026-061.2K+32.0%2
2026-05877—-
2026-03249—-

SKILL.md (original)

The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.

19 KB · SkillHub v2.0.8
# SKILL.md - 微信公众号运营助手

## 元数据

```yaml
name: 微信公众号运营助手
description: >
  一站式完成爆款选题挖掘→拟人化去AI化文稿撰写→精美彩色排版→HTML自动生成+在线预览→授权同步公众号草稿→定时自动发布全流程自动化Skill。适用于公众号运营者、自媒体创作者、企业品牌文案、个人内容创业者实现无人值守公众号日常运营。当用户需要运营微信公众号、撰写公众号文章、生成公众号HTML、同步公众号草稿、配置定时发布时触发此技能。关键词:公众号运营、微信公众号文章、爆款选题、拟人化写作、公众号HTML生成、公众号草稿同步、自动发布。
```

Show all (460 lines)
## 技能概述

本Skill为微信公众号运营提供全流程自动化解决方案,涵盖从选题策划、内容创作、排版生成到发布管理的完整链路。

**核心修复点(2026-04-15)**:
1. 封面图自动生成与同步机制
2. 乱码修复与字符白名单校验
3. 微信原生兼容排版(表格布局)
4. 标题/摘要字数自动校验与截取
5. 同步前预览确认机制

**核心修复点(2026-04-21)**:
1. `generate_html.py` 全面重构:100%内联样式,0个 `<style>` 标签、0个CSS类,彻底解决"同步后排版消失"问题
2. `sync_to_wechat.py` body提取逻辑修复:从 `<body>...</body>` 提取,不再用 `html.find("<table")` 截取导致结构错乱
3. 乱码根因修复:`requests.post(url, json=data)` → 手动 `json.dumps(ensure_ascii=False).encode("utf-8")` 发送
4. 章节块解析修复:CHAPTER ONE 章节标题与内容顺序不再错乱
5. 增加零宽字符清洗,防止隐藏字符污染JSON

---

## 核心功能模块

### 1. 智能爆款选题挖掘

- 接收用户指定的创作领域、题材方向(文字或语音描述)
- 分析目标赛道的爆款文章特征:标题逻辑、开篇钩子、行文节奏、内容切入点、用户共鸣点
- 生成同赛道高潜力原创选题清单
- 提供选题建议供用户确认或自主选择

### 2. 拟人化文稿撰写(核心优化:细节强化)

#### 基础写作要求
- 对标爆款文章的行文风格、叙事结构
- 强化内容话题性与吸引力,快速抓住读者注意力
- 全程采用拟人化口语化创作,彻底去除AI写作痕迹
- 杜绝机械句式、模板化表达,贴合真人原创写作观感
- 文章篇幅控制在1000-2000字,段落精简,适配移动端阅读

#### 字数约束(强制)
- **标题**:≤ 64 个字符(中文、英文、数字统一计数)
- **摘要**:≤ 120 个字符
- 自动截取、精简并优化语句,确保不超限且语义完整通顺

#### 细节优化要求(第三修复点)
撰写实操类、工具类文章时:
- 必须加入对应系统/工具的操作界面、交互流程、功能页面细节描述
- 详细说明用户与系统的交互步骤、操作路径、界面操作逻辑
- 清晰拆解每一步操作方式
- 具象化呈现功能运行界面、操作按钮、交互反馈、页面布局
- 通过界面细节、操作流程、交互步骤的具象化描写,提升文章细节感、真实感与说服力

### 3. 封面图自动生成(新增)

**强制要求**:每次生成文章时,必须同步生成一张适配微信公众号的封面图。

#### 封面图规格
- **尺寸**:900 × 500 像素(比例 9:5,微信公众号推荐尺寸)
- **格式**:PNG 或 JPG
- **文件大小**:≤ 2MB

#### 封面图风格规范
- **简洁专业**:避免过于复杂的设计元素
- **主题相关**:与文章内容高度相关
- **财务主题**:如用户为财务领域,使用专业、稳重的设计风格
- **文字处理**:标题文字清晰可读,避免过小字体
- **配色建议**:
  - 主色调:深蓝 `#1a1a2e`、深灰 `#2c3e50`
  - 强调色:金色 `#c9a227`、橙色 `#f5a623`
  - 背景色:浅色渐变或纯色

#### 封面图生成流程
1. 根据文章主题和标题,设计封面图概念
2. 使用 `image_gen` 工具生成封面图
3. 保存封面图到工作目录:`cover_image.png`
4. 同步时上传封面图到公众号素材库,获取 `thumb_media_id`

### 4. 精美彩色排版(微信原生兼容)

#### 微信排版限制(必须遵守)
微信公众号 API 和编辑器对 HTML/CSS 有严格限制:

| 限制项 | 说明 | 处理方案 |
|--------|------|----------|
| `<style>` 标签 | **不支持** | 所有样式必须内联(`style=""`) |
| `linear-gradient` | **不支持** | 使用纯色背景替代 |
| `rgba()` / `hsla()` | **不支持** | 使用十六进制颜色 `#RRGGBB` |
| `box-shadow` | **不支持** | 使用边框替代 |
| Flexbox / Grid | **不支持** | 使用表格布局 `<table>` |
| 伪元素 `::before/after` | **不支持** | 使用实际元素替代 |
| `<br>` 换行 | **慎用** | 标题避免使用,使用单行显示 |

#### 微信原生兼容排版规范

**行间距与段间距**:
- 行高:`line-height: 1.6~1.8`(推荐 1.75)
- 段落间距:`margin-bottom: 16~20px`
- 段前段后留白适中,避免拥挤

**标题样式**:
- 主标题:`font-size: 22~24px`,`font-weight: bold`,`color: #1a1a1a`
- 章节标题:`font-size: 18~20px`,左侧边框装饰
- 小标题:`font-size: 16px`,`color: #444`

**正文样式**:
- 字号:`font-size: 16px`
- 颜色:`color: #333`
- 对齐:`text-align: justify`(两端对齐)

**重点内容高亮**:
- 高亮框:浅色背景 + 左侧边框
- 引用框:米白色背景 + 边框
- 强调文字:加粗 + 主题色

**列表样式**:
- 无序列表:使用 `•` 或自定义符号
- 有序列表:数字编号清晰
- 列表项间距:`margin-bottom: 8~12px`

#### 表格布局模板(推荐)

使用 `<table>` 布局替代 `<div>` 布局,确保微信兼容性:

```html
<!-- 章节标题示例 -->
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 24px 0 16px 0;">
  <tr>
    <td style="border-bottom: 2px solid #c9a227; padding-bottom: 12px;">
      <div style="font-size: 12px; color: #c9a227; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 2px;">CHAPTER ONE</div>
      <div style="font-size: 18px; font-weight: bold; color: #1a1a1a; margin-bottom: 4px;">章节主标题</div>
      <div style="font-size: 14px; color: #666;">章节副标题</div>
    </td>
  </tr>
</table>

<!-- 引言框示例 -->
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 20px 0; background-color: #faf8f5; border: 1px solid #e8e4df;">
  <tr>
    <td style="padding: 16px 20px;">
      <p style="margin: 0; font-style: italic; color: #555; line-height: 1.7;">引言内容...</p>
    </td>
  </tr>
</table>

<!-- 高亮框示例 -->
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 20px 0; background-color: #fff9e6; border-left: 4px solid #c9a227;">
  <tr>
    <td style="padding: 16px 20px;">
      <p style="margin: 0; color: #333; line-height: 1.7;">高亮内容...</p>
    </td>
  </tr>
</table>
```

### 5. HTML自动生成 + 在线预览

- 自动生成微信公众号专属适配HTML格式代码
- 使用 **表格布局** 确保微信兼容性
- 在Skill操作界面实现所见即所得的在线预览
- 预览页面完整还原排版效果、彩色样式、文字内容
- 使用 `scripts/generate_html.py` 脚本生成标准HTML
- 使用 `scripts/preview_server.py` 启动本地预览服务器

### 6. 公众号草稿同步

预览确认后主动询问用户是否同步至公众号草稿箱:
- 如需同步,提示用户提供 AppID、AppSecret
- 明确告知参数用途与获取路径
- 对参数进行校验,错误则友好提示重新填写
- **字符编码处理**:使用 `ensure_ascii=False` 防止中文乱码
- **封面图同步**:自动上传封面图并获取 `thumb_media_id`
- 校验通过后自动同步HTML文章至公众号草稿箱
- 如选择不同步,仅保留本地HTML格式文章和封面图
- AppID 与 AppSecret 仅用于接口鉴权,不进行本地存储与泄露

### 7. 自动发布与定时任务配置

- 如需自动发布,向用户问询对应发布授权
- 获取权限后实现文章一键自动发布
- 支持自定义配置定时任务:每日固定发布时间、每日触发频次、间隔执行时长
- 定时任务后台静默运行,实现7×24小时无人值守

---

## 工作流程

```
用户指定创作方向
    ↓
智能爆款选题分析(用户提供领域/方向描述)
    ↓
细节化拟人化文稿撰写(自动校验字数)
    ↓
生成封面图(900×500px,主题相关)
    ↓
精美彩色排版(表格布局,微信兼容)
    ↓
HTML自动生成(内联样式,无CSS3属性)
    ↓
Skill端在线预览 ←→ 用户确认
    ↓
询问是否同步公众号草稿
    ↓ [用户选择同步]
AppID/AppSecret鉴权
    ↓
上传封面图获取thumb_media_id
    ↓
字符编码校验(防止乱码)
    ↓
同步至公众号草稿箱
    ↓
配置定时任务(可选)
    ↓
自动发布
```

---

## 写作风格指导

### 去AI化写作要点
- 避免使用"首先...其次...最后..."等机械连接词
- 避免"值得注意的是"、"毋庸置疑"等套话
- 使用自然的段落过渡,而非明显的逻辑连接词
- 增加口语化表达、个人化视角
- 适当使用感叹句、疑问句增加互动感

### 细节描写示例(工具/实操类文章)
```
不是只写"点击发布按钮",而是:
"在文章编辑页面的右下角,找到那个蓝色的「群发」按钮,轻轻一点。系统会弹出确认框,显示文章即将推送的目标范围,再次点击「确认」后,等待3-5秒的加载动画,文章就成功发出去了。"
```

---

## HTML生成规范

### 强制约束

1. **样式内联**:所有 CSS 必须内联,禁止使用 `<style>` 标签
2. **表格布局**:使用 `<table>` 替代 `<div>` 实现复杂布局
3. **纯色颜色**:使用 `#RRGGBB` 格式,禁止使用 `rgba()`、`hsla()`、`linear-gradient`
4. **无阴影**:禁止使用 `box-shadow`,使用边框替代
5. **单行标题**:标题避免使用 `<br>` 换行
6. **字符编码**:使用 UTF-8,JSON 序列化时设置 `ensure_ascii=False`

### 标准排版结构

```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>文章标题</title>
</head>
<body style="margin: 0; padding: 0; background-color: #f5f3f0;">
    <!-- 顶部装饰条 -->
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr><td height="8" style="background-color: #1a1a2e;"></td></tr>
    </table>
    
    <!-- 主容器 -->
    <table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #f5f3f0;">
        <tr>
            <td style="padding: 20px 16px;">
                <!-- 内容卡片 -->
                <table width="100%" cellpadding="0" cellspacing="0" border="0" style="background-color: #ffffff; max-width: 600px; margin: 0 auto;">
                    <tr>
                        <td style="padding: 24px 20px;">
                            <!-- 标题区域 -->
                            <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin-bottom: 20px;">
                                <tr>
                                    <td style="border-bottom: 2px solid #c9a227; padding-bottom: 16px;">
                                        <h1 style="margin: 0; font-size: 22px; font-weight: bold; color: #1a1a1a; line-height: 1.4;">文章标题</h1>
                                    </td>
                                </tr>
                            </table>
                            
                            <!-- 正文内容 -->
                            <p style="margin: 0 0 16px 0; font-size: 16px; line-height: 1.75; color: #333;">正文段落...</p>
                            
                            <!-- 章节标题 -->
                            <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 24px 0 16px 0;">
                                <tr>
                                    <td style="border-bottom: 1px solid #e8e4df; padding-bottom: 12px;">
                                        <div style="font-size: 11px; color: #c9a227; margin-bottom: 4px; text-transform: uppercase;">CHAPTER ONE</div>
                                        <div style="font-size: 18px; font-weight: bold; color: #1a1a1a;">章节标题</div>
                                        <div style="font-size: 14px; color: #666; margin-top: 4px;">副标题</div>
                                    </td>
                                </tr>
                            </table>
                            
                            <!-- 引言框 -->
                            <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 20px 0; background-color: #faf8f5; border: 1px solid #e8e4df;">
                                <tr>
                                    <td style="padding: 16px 20px;">
                                        <p style="margin: 0; font-style: italic; color: #555; line-height: 1.7;">引言内容...</p>
                                    </td>
                                </tr>
                            </table>
                            
                            <!-- 高亮框 -->
                            <table width="100%" cellpadding="0" cellspacing="0" border="0" style="margin: 20px 0; background-color: #fff9e6; border-left: 4px solid #c9a227;">
                                <tr>
                                    <td style="padding: 16px 20px;">
                                        <p style="margin: 0; color: #333; line-height: 1.7;">高亮内容...</p>
                                    </td>
                                </tr>
                            </table>
                            
                        </td>
                    </tr>
                </table>
            </td>
        </tr>
    </table>
    
    <!-- 底部装饰条 -->
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr><td height="8" style="background-color: #1a1a2e;"></td></tr>
    </table>
</body>
</html>
```

---

## 字符编码与乱码修复

### 乱码修复逻辑

1. **JSON 序列化**:使用 `json.dumps(data, ensure_ascii=False)`
2. **HTTP 请求**:发送原始 UTF-8 字节 `data.encode('utf-8')`
3. **Content-Type**:设置 `application/json; charset=utf-8`
4. **HTML Meta**:确保 `<meta charset="UTF-8">`

### 字符白名单校验

同步前自动校验并清洗文本:
- 移除控制字符(`\x00-\x1F`,保留 `\n\r\t`)
- 校验 emoji 兼容性(部分 emoji 在微信显示异常)
- 确保所有中文字符为 UTF-8 编码

---

## 微信公众号API对接

### 关键接口

- **获取 Access Token**:`/cgi-bin/token`
- **新增草稿**:`/cgi-bin/draft/add`
- **上传素材**:`/cgi-bin/media/upload`
- **发布**:`/cgi-bin/message/mass/sendall`
- **定时发布**:`/cgi-bin/message/schedule/send`

### 封面图上传流程

```python
# 1. 获取 access_token
access_token = get_access_token(appid, appsecret)

# 2. 上传封面图
url = f"https://api.weixin.qq.com/cgi-bin/media/upload?access_token={access_token}&type=image"
with open("cover_image.png", "rb") as f:
    files = {"media": f}
    response = requests.post(url, files=files)
    result = response.json()
    thumb_media_id = result["media_id"]

# 3. 同步草稿时携带 thumb_media_id
articles = [{
    "title": title,
    "content": html_content,
    "thumb_media_id": thumb_media_id,  # 封面图
    "digest": digest,
    "need_open_comment": 1
}]
```

### 字数限制

| 字段 | 限制 | 处理方案 |
|------|------|----------|
| title | ≤ 64 字符 | 超长自动截取,保留核心语义 |
| digest | ≤ 120 字符 | 超长自动截取,生成精简摘要 |
| content | ≤ 500万字符 | 一般文章不会超限 |

---

## 输出交付物

1. **选题清单**:Markdown 格式的备选选题列表
2. **文章正文**:Markdown 格式的拟人化文章
3. **封面图**:`cover_image.png`(900×500px)
4. **HTML文件**:可直接导入微信公众号后台的 HTML 代码(表格布局)
5. **预览链接**:本地预览服务器的访问地址

---

## 全局约束与规范

- 所有内容均为原创创作,不抄袭、不搬运
- 文稿写作始终坚守去AI化原则
- 接口调用、授权对接全程合规
- 严格保护用户公众号账号信息安全
- **HTML 格式必须使用表格布局,确保微信兼容性**
- **每次生成文章必须同步生成封面图**
- **标题/摘要必须自动校验字数,超限自动截取**
- **同步前必须进行字符编码校验,防止乱码**

---

## 相关资源文件

- `scripts/generate_html.py` - HTML生成脚本(表格布局版)
- `scripts/preview_server.py` - 本地预览服务器
- `scripts/sync_to_wechat.py` - 公众号同步脚本(含封面图上传)
- `references/wechat_api.md` - 微信公众号API文档
- `references/html_template.md` - HTML排版模板参考(微信兼容版)
- `references/prompt_templates.md` - 拟人化写作提示词模板

---

## 踩坑经验(2026-04-21 更新)

### 乱码:中文变成 \uXXXX 显示
**根因**:`requests.post(url, json=data)` 内部用 `json.dumps(ensure_ascii=True)`,中文被转成 `\uXXXX` 字符串存入微信,微信原样显示为乱码。
**修复**:
```python
# ❌ 会乱码
requests.post(url, json=data)

# ✅ 正确做法
payload = json.dumps(data, ensure_ascii=False).encode("utf-8")
requests.post(url, data=payload,
    headers={"Content-Type": "application/json; charset=utf-8"})
```

### 排版消失:同步后格式全无
**根因**:原 `generate_html.py` 使用 `<style>` 标签和CSS类名,`sync_to_wechat.py` 的 `clean_html_for_wechat()` 把 `<style>` 标签全部删掉,结果正文变成纯裸文本。
**修复**:HTML生成脚本全面改为内联样式(`style="..."`),不用 `<style>` 标签,不用CSS类,微信100%兼容。

### 内容截断/错位:章节标题顺序乱掉
**根因**:原脚本用 `html.find("<table")` + `html.rfind("</table>")` 截取正文,把外层大 table 容器也截进去,微信过滤掉 `width/max-width` 后布局全乱。另外用正则匹配 `margin:20px` 的高亮框和小标题 table 发生冲突,导致"维度一"出现在错误位置。
**修复**:改用 `<body>...</body>` 提取正文,不依赖table边界;章节标题解析用独立逻辑,不再靠正则匹配table样式。

### 零宽字符污染JSON
**根因**:Markdown或复制粘贴内容中可能含零宽字符(`\u200b`等),导致JSON序列化后被截断或异常。
**修复**:`clean_text()` 增加 `re.sub(r'[\u200b-\u200f\ufeff]', '', text)` 清洗。

Popular in Content

文章去AI味工具Content

去除文本中的AI写作痕迹,让文字读起来更像人类写作。当用户要求'去AI味'、'降AI味'、'让回复更像人话'、'润色'、'改写得更自然'时使用。检测并修复:AI高频词汇、过度结构化、虚假客观性、机械化连接词、完美主义陷阱、公式化结尾、过度修饰、情感缺失、'不是而是'假靶子/同义替换、莫名其妙的比喻、高频堆叠副词等问题。

↓ 377.3K★ 688user_ab5ae6ee
HumanizerContent

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

↓ 319.6K★ 1.1KB*T
humanizer-zhContent

去除文本中的 AI 生成痕迹。适用于编辑或审阅文本,使其听起来更自然、更像人类书写。 基于维基百科的"AI 写作特征"综合指南。检测并修复以下模式:夸大的象征意义、 宣传性语言、以 -ing 结尾的肤浅分析、模糊的归因、破折号过度使用、三段式法则、 AI 词汇、否定式排比、过多的连接性短语。

↓ 105.1K★ 103liuxy951129-cpu
公众号热门文章查询Content

公众号搜索工具,支持按关键词搜索爆款文章,展示推荐热门文章,助力内容创作者把握趋势与获取灵感;当用户需要搜索公众号文章、查找爆款内容、获取创作灵感时使用

↓ 72.5K★ 118user_5f9c21aa
抖音文案一键提取Content

粘贴抖音、快手、小红书、视频号公开可访问的短视频分享链接,一键提取标题、简介、口播文案,提供原版、优化朗读版、精简浓缩版,并支持违禁敏感词提醒与口播时长参考,排版整洁纯净,一键复制即用。

↓ 61.9K★ 183user_a41ae6c8
一键去AI味工具Content

去除文本中的AI写作痕迹,让文字读起来更像人类写作。当用户要求'去AI味'、'降AI味'、'让回复更像人话'、'润色'、'改写得更自然'时使用。检测并修复:AI高频词汇、过度结构化、虚假客观性、机械化连接词、完美主义陷阱、公式化结尾、过度修饰、情感缺失、'不是而是'假靶子/同义替换、莫名其妙的比喻、高频堆叠副词等问题。

↓ 48.4K★ 55user_ab5ae6ee
番茄小说写作助手(单章2200-2800字)Content

|专为番茄小说平台优化的分章节创作助手。支持各种题材(悬疑/言情/奇幻/科幻/历史等),支持长篇创作,每章2200-2800字,结尾设置悬念钩子。强化情绪拉扯、爆点分布、开篇黄金三行、评论区诱导,深度润色去除AI痕迹。 当用户要求:写番茄小说、创作网文、分章节写作、连续剧情、章节悬念、长篇小说时使用。

↓ 45.3K★ 347user_634bbcdc
Marketing SkillsContent

Bundle a set of marketing playbooks into one skill and route each request to the module that fits.

↓ 39.5K★ 158Jordan Chops

Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.