SuperAPI AI Directory

xhs-topic-scout

Data & analytics

View repository

Updated 10-15 20:30

About this skill

Xiaohongshu Financial Topic Research Tool

Dependency Description

Required Dependencies

Dependency Purpose Check/Startup Method
web-access skill CDP browser control + Xiaohongshu research Installation required for first use
Chrome/Edge browser Access Xiaohongshu with user login session Automatically attempt to start

web-access skill installation

Must be installed before first use. Check before executing tasks:

# 检查 web-access skill 是否已安装
ls ~/.claude/skills/web-access/SKILL.md 2>/dev/null && echo "已安装" || echo "未安装"

Decision Logic:

  • If already installed → go directly to "Dependency Check and Startup Process"
  • If not installed → guide the user to say: "Help me install the web-access skill, the repository address is https://github.com/eze-is/web-access"

Post-installation notes: This skill was originally designed for Claude Code. After installation, it is necessary to understand its core principles and working logic, and adapt it to the current environment.

Dependency Check and Startup Process

Execute in order, checking the result of each step:

# Step 1: 检查 CDP Proxy 是否运行,未运行则自动启动
curl -s http://localhost:3456/health || \
  node ~/.claude/skills/web-access/scripts/cdp-proxy.mjs &

# Step 2: 检查是否已连接到浏览器
curl -s http://localhost:3456/health
# 期望: {"connected": true, "sessions": N} (N > 0)

# Step 3: 若未连接,尝试自动启动 Chrome
# Windows:
start chrome --remote-debugging-port=9222
# 或 Edge:
start msedge --remote-debugging-port=9222

# Step 4: 等待连接后再次检查
sleep 3 && curl -s http://localhost:3456/health

# Step 5: 若仍失败,检查是否有浏览器进程
# Windows:
tasklist | findstr /i "chrome edge"

Fallback Strategy

Dependency Failure Fallback Plan
Chrome/Edge cannot start Prompt the user to start manually:chrome --remote-debugging-port=9222
CDP still not connected Use WebFetch/curl to scrape financial news as an alternative
Xiaohongshu inaccessible Assess competition level based on industry knowledge, mark as "to be verified"
All external sources fail Prompt the user to provide a recent market overview, generate a topic report based on simulation

Skill Positioning

Provide Xiaohongshu topic references for the official/KOS accounts of Shenwan Hongyuan Securities. The core objective isto guide customers to follow and consult, and obtain leads。

Core Workflow

Phase 1: 热点采集
   → 财联社深度 + 新浪财经7×24 + 东方财富操盘必读

Phase 2: 选题发散
   → 从热点中提取候选话题(10-15个)
   → 热点分类 + 候选话题生成

Phase 3: 小红书市场调研
   → CDP真实检索,评估竞争度和内容缺口

Phase 4: 选题分析
   → 选题评估框架 + 避坑指南 + 切入角度

Phase 5: 输出选题报告 + 热点连续性评估
   → 5-10个选题,含新闻来源、小红书现状、切入思路
   → 评估近期热点连续性(持续热点 = 换角度持续聊)

Phase 1: Trend Collection

Data Sources (by priority)

Source Section URL
Cailian Press In-depth https://www.cls.cn/depth?id=1000
Sina Finance 7×24 Global Live https://finance.sina.com.cn/7x24/
East Money Must-read for Trading https://finance.eastmoney.com/a/cdfsd_2.html

Collection Commands

Open the above pages via CDP and obtain the page text content:

# 财联社
curl -s "http://localhost:3456/new?url=https://www.cls.cn/depth?id=1000"

# 新浪财经
curl -s "http://localhost:3456/new?url=https://finance.sina.com.cn/7x24/"

# 东方财富
curl -s "http://localhost:3456/new?url=https://finance.eastmoney.com/a/cdfsd_2.html"

Trend Extraction Principles

Extract from the page text:

  • Topics related to A-shares/investment/wealth management
  • Has specific data or events
  • Has public attention (read count, discussion level)

Specific News URL Extraction Requirements

A specific URL from its source page must be extracted for each trending topic:

  1. East Money: The newsflash link format is https://finance.eastmoney.com/a/xxx, can be extracted directly ✅
  2. Cailian Press: Dynamically rendered page, returns plain text without URLs. Use the format:财联社电报 + 时间 + 阅读量 as the source identifier
  3. Sina 7×24: Dynamic page, no specific URL. Use the format:新浪财经7×24 + 时间 as the source identifier

Prohibited:

  • ❌ Only writing the section homepage (e.g., https://www.cls.cn/depth?id=1000)
  • ❌ Only write the source name (e.g., "Cailian Press In-Depth")

Correct example:

| 东方财富 | https://finance.eastmoney.com/a/202603213679644262.html | 宇树科技IPO... |
| 财联社 | 财联社电报 13:46 阅6869 | A股下跌... |
| 新浪财经 | 新浪财经7×24 13:45 | 市场动态... |

Phase 2: Topic divergence

Divide hot topics into 5 major categories, corresponding to different topic angles:

Category Topic angle
Market/Index Interpretation and analysis, operational suggestions
Sector/Concept Sector opportunities, ETF/fund recommendations
Product/Event Investment logic, product analysis
International/Macro Impact analysis, risk-aversion strategies
Company/Individual stock Fundamental analysis, investment logic

Keywords are determined by candidate topics, do not preset them. Design topic angles based on the keywords in the real hot topics extracted in Phase 1.

Candidate topic generation

Extract from hot topics10-15 candidate topics, principles:

  • Related to the capital market/investment
  • Has social attention
  • Topics that Xiaohongshu users care about

Final output requirement: must select 5-10 topics, if fewer than 5, hot topics need to be supplemented; if fewer than 10, it still needs to reach 5.


Phase 3: Xiaohongshu market research (CDP)

Research objectives

For each candidate topic, search on Xiaohongshu and evaluate:

  1. Topic stage: Emerging period / Outbreak period / Mature period / Decline period
  2. Competition intensity: High / Medium / Low
  3. Content gap: Which angles have already been done, and which are opportunities

CDP operation process

Step 1: Construct search URL Xiaohongshu search URL format:https://www.xiaohongshu.com/search_result?keyword={关键词}&type=51 The keywords need to be URL-encoded, e.g., "黄金" → %E9%BB%84%E9%87%91

Step 2: Create CDP Tab and wait for loading

curl -s "http://localhost:3456/new?url=https://www.xiaohongshu.com/search_result?keyword=%E9%BB%84%E9%87%91&type=51"

The returned targetId is used for subsequent operations.

Step 3: Wait for the page to fully load

sleep 5  # 等待JS渲染完成

Step 4: Get note list data

curl -s -X POST "http://localhost:3456/eval?target={targetId}" \
  -d 'JSON.stringify({
    notes: Array.from(document.querySelectorAll(".note-item, .search-result-item")).slice(0, 15).map(el => ({
      title: el.querySelector(".title, .note-content-title")?.textContent?.trim() || el.textContent?.trim()?.slice(0, 60),
      time: el.textContent?.match(/(\d+分钟前|\d+小时前|\d+天前|\d+月前)/)?.[0] || "未知",
      likes: el.querySelector(".liked-count, .like-count")?.textContent?.trim() || "0"
    }))
  })'

Step 5: If Step 4 returns empty or an error, try the alternative plan

# 方案A: 等待更长时间后重试
sleep 5 && curl -s -X POST "http://localhost:3456/eval?target={targetId}" \
  -d 'document.body.innerText.slice(0, 3000)'

# 方案B: 截图查看页面状态
curl -s "http://localhost:3456/screenshot?target={targetId}&file=/tmp/xhs_search.png"

Step 6: Close the Tab after extracting data

curl -s "http://localhost:3456/close?target={targetId}"

Common issue handling

Issue Cause Solution
Returned targetId is Infinity URL encoding issue or page redirect Check whether the keyword URL encoding is correct
Note list is empty JS rendering not completed Increase the sleep time, or use a screenshot to confirm the page status
Page load timeout Network issue Retry or skip this topic

Topic stage determination

Stage Characteristics Suggestion
Emerging period Few new notes, low interaction Plan ahead, suitable for first release
Outbreak period New notes surge, interaction spikes Follow up quickly, suitable for hot topics
Mature period Large number of notes, interaction stabilizes Enter with a differentiated angle
Decline period Fewer new notes, mainly old content Change topic

Competition Assessment

Assessment Signal
High Multiple notes with 100+ interactions, severe clickbait
Medium A few notes with 30-50 interactions
Low Few notes, low interaction, investment angle gap

Phase 4: Topic Analysis

Topic Assessment Framework

Dual-Dimension Scoring:

Dimension Assessment Criteria Full Score
News Heat Today's read count, discussion level /10
Xiaohongshu Opportunity Low competition, large content gap /10

Total Score = News Heat + Xiaohongshu Opportunity

Total Score Rating Recommendation
16-20 ⭐⭐⭐⭐⭐ Strongly Recommended Best to post today
12-15 ⭐⭐⭐⭐ Recommended Publish as soon as possible
8-11 ⭐⭐⭐ Average Needs differentiation
<8 ⭐⭐ Caution Not recommended

Pitfall Avoidance Guide & Angle Design

Detailed Guide:references/选题方法论.md(Includes 5 core methodologies, four title keywords, pitfall avoidance guide)

Consultation Guidance Strategy

Each topic ending needs to be designed with:

  • Interaction Guidance: "What's your current position?", "How much did you lose?"
  • Consultation Guidance: "Want to learn more, you can DM for consultation"
  • Follow Guidance: "Follow me, keep tracking..."

Phase 5: Output Topic Report

Report Structure

# 小红书选题调研报告

**调研日期**:
**调研目的**:为申万宏源证券官方/KOS账号提供选题参考
**核心诉求**:引导客户关注和咨询,获取线索

---

## 一、热点财经新闻来源

| 来源 | 具体新闻链接 | 核心热点 |
|------|------------|---------|
| 财联社 | https://www.cls.cn/telegraph/xxx | ... |
| 新浪财经 | https://finance.sina.com.cn/7x24/xxx | ... |
| 东方财富 | https://finance.eastmoney.com/a/xxx | ... |

**重要**:链接必须是具体新闻页URL,不能只写栏目首页。

---

## 二、热点财经新闻分析

### 核心热点排序

| 排名 | 热点话题 | 热度指数 | 与A股关联度 |
|------|---------|---------|-------------|

### 重点话题分析

#### 【话题A】XXX

**新闻背景**:
- 来源:[链接]
- 核心数据/事件

**核心矛盾/亮点**:

---

## 三、小红书发帖情况分析

来源:[小红书搜索链接]

### 话题A:XXX

| 验证项 | 结果 |
|--------|------|
| **发帖时间** | X小时内 / X天前 |
| **笔记数量** | 多/中/少 |
| **互动情况** | 最高X互动 |
| **内容角度** | XXX类多,XXX类少 |
| **竞争激烈度** | 高/中/低 |

---

## 四、选题建议(5-10个)⭐

**重要**:最终输出必须包含**5-10个选题**,不多不少。若候选话题不足,需返回热点采集阶段补充。

### 选题一:XXX

| 项目 | 内容 |
|------|------|
| **新闻来源** | [来源] |
| **小红书现状** | [搜索链接] |
| **选题角度** | ... |
| **切入思路** | ... |
| **差异化点** | ... |

---

## 五、执行建议

### 内容形式
| 选题 | 建议形式 | 理由 |
|------|---------|------|

### 引导咨询策略
- **互动引导**:
- **咨询引导**:
- **风险提示**:

---

**报告生成时间**:
**数据来源**:财联社、新浪财经、东方财富、小红书搜索

Quick Execution Commands

CDP Command Reference:references/cdp-commands.md

Output Location

Topic report output to:./output/选题调研报告_{YYYYMMDD}.md(Relative path, under the skill directory)


Hot Topic Continuity Assessment (Phase 5 Appendix)

Purpose

Assess whether the topic has continuously appeared recently, to determine the hot topic lifecycle.

Check Method

# 列出最近7天的选题报告
ls -t ./output/ | head -7

# 读取最近报告内容
cat ./output/选题调研报告_YYYYMMDD.md

Assessment Logic

Situation Meaning Handling Method
First Appearance New topic Prioritize recommendation
Intermittent Appearance Periodic topic Normal recommendation
Continuous Appearance Hot topic continuously fermenting Change angle and keep talking, mark in the report 🔥 热点持续中,建议换角度切入

Hot Topic Continuity Marking

Add a mark after each topic:

Mark Meaning
🆕 新话题 First Appearance
🔄 周期性话题 Intermittent Appearance
🔥 热点持续中 Appeared more than 2 consecutive times, recommend changing angle
📈 热点爆发 Continuous appearance and rising heat, strongly recommended

Notes

⚠️ Hot topic continuity marks are for reference only, not as a basis for exclusion. Continuous hot topics mean high market attention, which is the golden period for content consumption, and different angles should be used to continuously produce content.


Notes

  1. Investment relevance is the core: Every topic must be able to naturally shift to securities account opening or fund investment
  2. Fixed output of 5-10 topics: No more, no less, to ensure quality. If there are insufficient candidates, it is necessary to return to the hot topic collection stage to supplement
  3. Investment relevance score ≥ 80 points: Topics scoring below 80 points will be excluded
  4. Compliance: Does not include market forecasts or stock recommendation information
  5. Timeliness: Hot topics are prioritized; today's news is best published today