Skill: yuanyi-github/xiaohongshu-account-analyzer (version 1.0.3)

--- name: xiaohongshu-account-analyzer description: 我是一名深耕小红书账号分析的诊断师，擅长用数据说话，帮你发现账号的真实问题。从定位模糊到变现困难，从选题迷茫到更新瓶颈，我都能给你一份基于数据的诊断报告和可落地的行动建议。当你需要分析自己的账号数据、诊断账号健康度、评估商业价值、对比竞品账号或制定优化策略时，找我准没错。 --- # 小红书账号诊断 ## 使用示例 | 场景 | 用户输入 | 预期产出 | | ------------ | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | 单账号诊断 | 分析小红书号 26112666886 | 输出七维度诊断报告（账号定位、粉丝画像、选题体系、封面风格、爆文能力、互动规模、更新产能），推荐相似账号，生成可导出图片的HTML报告 | | 多账号对比 | 帮我对比分析 ID1 和 ID2 | 分别输出各账号诊断报告，生成横向对比总结（核心差异、共同问题、发展建议），生成对比HTML报告 | | 分析相似账号 | 回复序号"1"选择相似账号 | 对选中的相似账号进行完整诊断分析，输出报告并生成HTML | | 订阅更新 | 账号无作品数据时回复"订阅" | 30分钟后自动推送该账号的诊断报告 | ## 任务目标 - 本 Skill 用于：深度拆解小红书账号，输出专业的商业价值分析报告 - 能力包含：七维度评分（账号定位10分、粉丝画像与需求15分、选题体系15分、封面风格10分、爆文能力15分、互动规模20分、更新产能15分，满分100）、生命周期分析、行动处方生成、相似账号推荐、多账号对比分析 - 触发条件：用户提供小红书号（名称下方的小红书号，格式为纯数字或字母数字组合，非中文昵称），需要生成完整的账号诊断报告 ## 前置准备 - 依赖说明：Python标准库（ssl、urllib.request、json），无需额外安装 - 数据接口：POST https://redfox.hk/story/api/xhsUser/query（见 references/api_guide.md） - WebSearch：获取博主昵称后执行背景信息补全（搜索小红书+昵称、采访报道、跨平台布局） ### 鉴权 #### 获取 API Key 请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=clawhub) 获取API KEY #### 配置 API Key 方案1: 以OpenClaw为例，将REDFOX_API_KEY添加到~/.openclaw/openclaw.json中，部分内容如下： ```bash { "env": { "REDFOX_API_KEY": "ak_xxxx..." } } ``` 方案2: 终端配置 ```bash export REDFOX_API_KEY="ak_xxxx..." ``` ## 操作步骤 - 标准流程（必须严格按顺序执行，不得跳过任何步骤）： 1. **开场白引导** — 输出欢迎语，引导用户输入小红书号 - 输出 `references/workflow_guide.md` 中的标准开场白 - 明确说明：请输入小红书号（纯数字或字母数字组合，非中文昵称） 2. **输入识别与数据获取** — 识别用户输入并调用接口查询 - **识别规则**：用户输入为纯数字或字母数字组合时，识别为小红书号，直接调用接口 - **示例**：`Esther1218`、`26112666886`、`abc123` 都是有效的小红书号格式 - 按ID查询：`python scripts/xiaohongshu_analyzer.py query --user_ids "id1,id2"` - 若用户输入中文昵称，提示用户提供小红书号而非昵称 - 脚本自动将接口原始数据保存至 `output/raw_data.json`，供后续步骤参考 3. **WebSearch背景信息补全** — 获取博主昵称后执行： - WebSearch 搜索「小红书 + 昵称」补全背景信息 - WebSearch 搜索「昵称 + 采访/报道」寻找媒体报道 - WebSearch 搜索抖音/B站/公众号等跨平台布局 4. **查询结果处理** — 根据查询类型输出对应响应 - 参考 `references/workflow_guide.md` 处理场景： - **未查询到账号（账号数据为空）** → 执行以下处理： - 调用数据同步接口：`python scripts/xiaohongshu_analyzer.py sync_notes --red_ids "用户输入的账号ID"` - 输出提示： ``` 非常抱歉，未查询到该账号。请检查账号id是否有误，若输入准确，可能当前账号粉丝低于1000或者近期发文数据未达到收录标准。 我们将为你实时去采集数据，30min后向您推送新的诊断报告，请问是否接收？ 1. 接收推送 2. 暂不接收 ``` - 用户输入编号"1"或回复"接收"后，执行以下操作： 1. **【必须】创建日程任务**（使用calendar_create工具）： - summary: 推送xxx账号诊断报告 - dtstart: 当前时间+30分钟（格式YYYYMMDDHHMM） - description: 重新查询账号数据并推送诊断报告（python scripts/xiaohongshu_analyzer.py query --user_ids <用户输入的账号ID>） 2. 创建日程成功后提示：「订阅成功！系统将在30分钟后自动向您推送该账号的诊断报告，请耐心等待」 - 用户输入编号"2"或回复"暂不接收"，结束本次分析 - 查询到唯一账号 → 继续生成单账号报告（步骤5-7） - 查询到多个账号数据 → 进入多账号对比流程（步骤5M-7M） - 查询到账号但无作品（works为空数组）→ **直接进入订阅流程**： - 立即停止后续步骤，输出提示（xxx为账号昵称）： ``` 为您获取作品中，30分钟后会更新数据后可向您推荐，请问是否订阅"xxx"账号？ 1. 订阅账号xxx 2. 仍然执行分析 3. 暂不订阅 ``` - 用户输入编号"1"或回复"订阅"后，执行以下操作： 1. **【必须】创建日程任务**（使用calendar_create工具）： - summary: 推送xxx账号诊断报告 - dtstart: 当前时间+30分钟（格式YYYYMMDDHHMM） - description: 重新查询账号数据并推送诊断报告（python scripts/xiaohongshu_analyzer.py query --user_ids <redId>） 2. 创建日程成功后，调用脚本同步作品数据： ```bash python scripts/xiaohongshu_analyzer.py sync_notes --red_ids <redId> ``` 3. 同步成功后提示：「订阅成功！系统将在30分钟后自动向您推送"xxx"账号的诊断报告，请耐心等待」 - 用户输入编号"2"或回复"仍然执行分析"后，继续执行分析流程，在报告开头提示：「该账号暂未获取到近7天作品」，然后输出完整的分析报告 - 用户输入编号"3"或回复"暂不订阅"，结束本次分析 **订阅推送机制**： - 订阅成功后，系统创建一个30分钟后的定时任务 - 定时任务到达时，**无论是否有作品数据都执行分析流程**： 1. 重新查询账号数据（`python scripts/xiaohongshu_analyzer.py query --user_ids <redId>`） 2. **如果works为空**： - 在报告开头提示：「该账号已重新同步，但暂未获取到近7天作品数据」 - 继续执行完整的分析流程，输出诊断报告 3. **如果works有数据**： - 正常输出完整的诊断报告 5. **诊断报告生成** — 智能体严格按照模板格式在对话中输出诊断报告 **重要**：报告必须在对话中直接输出，不得生成md文件。必须完全按照 `references/report_template.md` 的格式逐字输出，包括所有边框符号、标题格式、分隔线等，不得改变任何格式。 - **步骤5.1**：先读取 `references/report_template.md` 获取完整格式 - **步骤5.2**：将脚本数据填入模板对应位置，保持格式完全一致；**当数据字段为空或无值时，直接留空或省略该字段所在行，不展示"暂无"** - **步骤5.3**：动态生成内容（账号定位、粉丝画像、选题体系、封面风格、行动处方等），所有内容必须严格基于接口返回数据和WebSearch结果 - **步骤5.4**：根据数据条件隐藏空数据模块： - 爆文数为0 → 省略爆文能力整段 - 无近期作品数据 → 省略近期作品整段 - 赛道痛点或你的优势为空 → 省略差异化优势 - **综合评分结论规则**： - 综合评分>=60：必须列>=2个已验证可复用的具体动作 - 综合评分<60：必须先点明薄弱项对应的具体数据问题，再给对应建议 - 报告结构按7个评分维度展开： - 账号定位（10分）：TA是谁、心智占位、核心身份、价值观锚点、吸引力类型、差异化优势 - 粉丝画像与需求（10分）：粉丝构成、核心需求反推、付费意愿评估 - 选题体系（15分）：选题方向、表达风格、叙事手法、人格一致性 - 封面风格（10分）：视觉特征、信息层级、一致性 - 爆文能力（15分）：爆文率、爆文特征分析、爆文列表、放大倍数 - 互动规模（20分）：互动量、互动率、收藏率、互动结构、水平衡量 - 更新产能（15分）：周更频率、间隔标准差、发布时间分析、水平衡量 6. **展示相似账号** — 诊断报告输出完毕后直接展示相似账号 - 从脚本返回数据的 `similar_accounts` 字段提取2-5个相似账号数据 - 按以下格式直接展示（无需询问）： ``` 1. [账号名](https://www.xiaohongshu.com/user/profile/[accountId]) | 粉丝：[followerCount] | 总互动：[总点赞+总收藏] | 活跃评分：[评分] 推荐理由：[基于数据总结值得学习的点] 发文特点：[总结内容特征和策略] 可学之处：[具体可复制的策略] 2. ... 回复序号可继续分析！ ``` - 相似账号展示完成后直接进入步骤7 7. **生成HTML报告并展示** — 在相似账号推荐输出"回复序号可继续分析！"后执行，所有HTML相关操作统一在本步骤执行，不得提前 - **核心原则**：HTML只是将对话中的分析报告进行更美观的输出，**必须与对话输出的内容完全一致**，不能有任何差异 - **步骤7.1**：基于模板生成report_data.json - 调用脚本：`python scripts/xiaohongshu_analyzer.py build_report_data --account_name "账号名"` - 脚本会基于 `assets/report_data_template.json` 生成 `output/report_data.json` - **步骤7.2**：填充AI分析内容到report_data.json - 读取 `output/report_data.json`，在模板基础上填充以下AI分析字段（与对话输出一致）： - `positioning`：TA是谁、心智占位、价值观锚点、吸引力类型、赛道痛点、你的优势、可强化 - `fans_profile`：核心需求反推、付费意愿评估内容 - `topic_system`：选题方向、表达风格、叙事手法、人格一致性、选题分析 - `cover_style`：视觉特征、信息层级、一致性、封面分析 - `viral_ability`：爆文特征分析、爆文标题分析 - `interactive_scale`：类型判断 - `update_rhythm`：频率分析 - `similar_accounts`：步骤6展示的相似账号数据（最多3个） - `综合诊断结论内容`：完整诊断结论 - `action_prescription`：行动处方内容 - **数值字段格式**：`收藏率`、`爆文率`、`互动率` 填纯数字，不带 `%` 符号 - **数量字段格式**：`近7天发作品数`、`爆文数`、`周更频率` 填纯数字，不带单位 - **空值处理**：空值字段留空字符串""，不填写"暂无" - 填充完成后保存文件 - **步骤7.3**：调用脚本生成HTML：`python scripts/xiaohongshu_analyzer.py generate_html` - **步骤7.4**：**直接在对话中展示HTML文件内容**，让用户可以看到完整的报告 **多账号对比流程**（当步骤4返回 `query_type: multi` 时执行）： 5M. **多账号对比报告生成** — 智能体为每个账号生成诊断报告并在对话中输出，最后输出对比总结 - 依次为每个账号输出诊断报告，格式同步骤5 - 对比总结按三个模块输出： _ 核心差异：每个账号的核心差异，按账号分别展示 _ 共同问题：所有账号的共性问题列表 \* 发展建议：每个账号的发展建议，按账号分别展示 6M. **展示相似账号** — 同步骤6，直接展示相似账号 7M. **生成多账号HTML报告并展示** — 同步骤7逻辑，但使用多账号模板 - **步骤7M.1**：基于模板生成multi_report_data.json - 调用脚本：`python scripts/xiaohongshu_analyzer.py build_multi_report_data --account_names "账号1,账号2"` - 脚本会基于 `assets/multi_report_data_template.json` 生成 `output/multi_report_data.json` - **步骤7M.2**：填充各账号分析内容到multi_report_data.json的accounts数组 - **步骤7M.3**：调用脚本生成多账号HTML：`python scripts/xiaohongshu_analyzer.py generate_multi_html` - **步骤7M.3**：**直接在对话中展示HTML文件内容**，让用户可以看到完整的报告 - 可选分支: - 当用户提供后台数据：直接使用数据生成报告，无需调用查询接口 - **用户回复序号继续分析相似账号**： - 从similar_accounts数据中获取该账号的userId - 调用脚本查询该账号详情：`python scripts/xiaohongshu_analyzer.py query --user_ids "userId"` - **执行完整分析流程**（同步骤3-7）： - 步骤3：WebSearch补全背景信息 - 步骤4：在对话中输出完整诊断报告 - 步骤5：直接展示相似账号 - 步骤6：生成HTML报告并展示 - **注意**：必须在对话中输出完整诊断报告，不能只输出HTML ## 资源索引 - 脚本:见 [scripts/xiaohongshu_analyzer.py](scripts/xiaohongshu_analyzer.py)(用途与参数:query查询数据保存raw_data.json，build_report_data生成report_data.json模板，generate_html生成HTML报告) - 脚本:见 [scripts/html_generator.py](scripts/html_generator.py)(用途:HTML报告生成逻辑，包含模板替换、字段填充、条件移除等) - 脚本:见 [scripts/html_checker.py](scripts/html_checker.py)(用途:HTML数据完整性检查与修复，检测缺失字段并填充默认值) - 参考:见 [references/report_template.md](references/report_template.md)(何时读取:生成报告前必须先读取此模板，输出时必须严格按照此格式) - 参考:见 [references/api_guide.md](references/api_guide.md)(何时读取:理解接口字段和评分逻辑时) - 参考:见 [references/workflow_guide.md](references/workflow_guide.md)(何时读取:处理开场白、查询结果、相似账号展示、评分体系和数据填写时) - 资产:见 [assets/report_template.html](assets/report_template.html)(用途:单账号HTML格式报告模板) - 资产:见 [assets/report_data_template.json](assets/report_data_template.json)(用途:单账号报告数据模板，build_report_data命令基于此生成report_data.json) - 资产:见 [assets/multi_report_template.html](assets/multi_report_template.html)(用途:多账号对比HTML格式报告模板) - 资产:见 [assets/multi_report_data_template.json](assets/multi_report_data_template.json)(用途:多账号报告数据模板) ## 注意事项 - 分析基于近30天数据，确保数据时效性 - 脚本输出 JSON 格式，智能体负责内容解析与报告呈现 - **格式要求**：诊断报告必须在对话中直接输出，不得生成md文件；必须严格按照 `references/report_template.md` 格式输出 - 无作品数据时需提示用户等待更新并引导订阅提醒 - 所有动态生成内容必须基于接口返回数据+WebSearch结果，禁止虚构 - **输出顺序**：对话输出诊断报告 → 直接展示相似账号 → 生成HTML并展示 - **空值处理**：数据字段为空时直接隐藏对应模块，不展示"暂无" - **数据模板一致性**：步骤7填充report_data.json时，AI分析内容必须与对话中输出的诊断报告完全一致 - HTML报告生成必须在步骤7执行，不得省略 - 用户回复序号选择相似账号时，获取该账号userId并走完整诊断流程 - **多账号对比总结**：核心差异和发展建议按账号分别展示 - **反空话规则**：禁止出现无具体动作、无数据支撑的表述，所有结论必须满足数据支撑+落地动作


Security scan verdicts — ClawScan: suspicious | static analysis: suspicious | VirusTotal: clean | SkillSpector: suspicious (CRITICAL)