| name | demand-discovery |
| description | 每日自动化长尾需求发现调研。当用户说「每日调研」「发现需求」「需求调研」「niche research」「demand discovery」或要求运行需求发现工作流时触发。需要 7 个 MCP 服务器:niche-reddit-mcp、niche-google-trends-mcp、niche-producthunt-mcp、niche-g2-mcp、niche-github-issues-mcp、niche-hackernews-mcp、niche-alternativeto-mcp(首次运行自动配置)。 |
长尾需求发现 - 每日调研工作流
目标:利用 7 个 MCP 工具,系统化发掘需求量不够大到公司来做,但真实存在、可通过独立开发者建站解决的长尾需求。
首次运行:自动环境配置
每次运行时先检查 MCP 服务器是否已配置。如未配置,自动执行以下步骤:
步骤 1:检查 MCP 服务器配置
检查当前平台的 MCP 配置中是否存在以下 7 个服务器:
- Claude Code / iFlow:读取
~/.claude/settings.local.json(或 ~/.iflow/settings.json)的 mcpServers
- 其他平台:检查环境变量和 shell 中
uvx 是否可用
{
"mcpServers": {
"niche-reddit-mcp": {
"command": "uvx",
"args": ["niche-reddit-mcp"],
"env": {
"REDDIT_CLIENT_ID": "",
"REDDIT_CLIENT_SECRET": ""
}
},
"niche-google-trends-mcp": {
"command": "uvx",
"args": ["niche-google-trends-mcp"]
},
"niche-producthunt-mcp": {
"command": "uvx",
"args": ["niche-producthunt-mcp"],
"env": {
"PRODUCTHUNT_TOKEN": ""
}
},
"niche-g2-mcp": {
"command": "uvx",
"args": ["niche-g2-mcp"]
},
"niche-github-issues-mcp": {
"command": "uvx",
"args": ["niche-github-issues-mcp"],
"env": {
"GITHUB_TOKEN": ""
}
},
"niche-hackernews-mcp": {
"command": "uvx",
"args": ["niche-hackernews-mcp"]
},
"niche-alternativeto-mcp": {
"command": "uvx",
"args": ["niche-alternativeto-mcp"]
}
}
}
步骤 2:补全缺失的 MCP 配置
Claude Code / iFlow:将缺失的服务器配置写入 ~/.claude/settings.local.json(或 ~/.iflow/settings.json)的 mcpServers 字段,然后提示用户重启会话。
其他平台:提示用户确保 uvx 可用(pip install uv 或 curl -LsSf https://astral.sh/uv/install.sh | sh),MCP 服务器会在调用时通过 uvx 自动安装运行。
步骤 3:凭证引导
检查需要凭证的 MCP 是否已配置:
Reddit MCP(需要 OAuth2):
- 检查
REDDIT_CLIENT_ID 和 REDDIT_CLIENT_SECRET 是否非空
- 如为空,引导用户:
- 访问 https://www.reddit.com/prefs/apps
- 创建一个 "script" 类型的 app
- 获取 client_id(app 名称下方)和 client_secret
- Claude Code:填入
~/.claude/settings.local.json 的 mcpServers.niche-reddit-mcp.env;其他平台:设置环境变量 REDDIT_CLIENT_ID 和 REDDIT_CLIENT_SECRET
Product Hunt MCP(需要 Developer Token):
Google Trends MCP:无需凭证,但可能受 Google 限流影响。
G2 MCP:无需凭证,通过浏览器自动化工作。首次使用时会自动启动 Chrome。如需登录 G2 获取完整评论数据,运行:
uvx niche-g2-mcp --login
GitHub Issues MCP(可选 Token,提高速率限制):
- 检查
GITHUB_TOKEN 是否非空
- 无 token 也可使用(60 请求/小时),有 token 可达 5000 请求/小时
- 如需配置,引导用户:
- 访问 https://github.com/settings/tokens
- 创建 Personal Access Token(Classic),勾选
public_repo 权限
- Claude Code:填入
~/.claude/settings.local.json 的 mcpServers.niche-github-issues-mcp.env;其他平台:设置环境变量 GITHUB_TOKEN
Hacker News MCP:无需凭证,使用公开的 Algolia HN API。
AlternativeTo MCP:无需凭证,解析 AlternativeTo 公开页面。
凭证未配置的 MCP 在调研时会被跳过,不影响其他 MCP 正常工作。
数据目录
所有输出写入 skill 安装目录下的 output/ 子目录:
output/tracker.md — 品类轮换状态
output/findings-index.md — 累积发现排行榜
output/reports/YYYY-MM-DD-<品类>.md — 每日调研报告
首次运行时自动创建目录结构(mkdir -p <skill-dir>/output/reports)。
注:<skill-dir> 指 skill 的安装位置,如 ~/.claude/skills/demand-discovery/、~/.hermes/skills/demand-discovery/ 等。各平台安装位置不同,但输出始终在 skill 目录下的 output/。
工作流(5 阶段)
阶段 1:准备
- 读取
output/tracker.md(位于 skill 安装目录下)
- 按品类轮换表(见
references/niche-rotation.md)找到下一个未调研或最久未调研的品类
- 读取该品类对应的关键词配置
- 宣布:「今日调研品类:[品类名](轮换位置 N/26)」
如果用户指定了品类,则跳过轮换直接使用用户指定的品类。
阶段 2:痛点挖掘(Reddit MCP)
用 niche-reddit-mcp 的工具搜索用户痛点:
-
搜索痛点帖子
reddit_search_pain_points(
subreddits: [品类对应的子版块],
keywords: [品类对应的痛点关键词],
time_filter: "month",
sort: "relevance",
limit: 20
)
-
深入高信号帖子 — 挑选得分最高的 3 个帖子:
reddit_get_post_details(post_url: "...", comment_limit: 15)
从评论中提取具体的抱怨、功能请求、"I wish" 表述。
-
搜索替代品讨论 — 针对结果中出现频率最高的 2-3 个工具名:
reddit_search_alternatives(tool_name: "...", limit: 10)
记录:每个独立需求/痛点、来源帖子 URL、帖子得分、评论数。
注意:如果 niche-reddit-mcp 不可用(未配置凭证),跳过此阶段,在报告中标注「Reddit 数据缺失」。
阶段 3:竞品差评分析(G2 MCP)
用 niche-g2-mcp 的工具分析竞品差评:
-
搜索品类产品
g2_search_products(query: "[品类搜索词]", limit: 5)
-
提取差评 — 对评论数最多的前 3 个产品:
g2_get_reviews(
product_slug: "...",
rating_filter: "low",
sort: "most_recent",
limit: 10
)
从 pros/cons 中提取:反复出现的抱怨、缺失的功能、用户流失原因。
-
了解竞争格局
g2_get_alternatives(product_slug: "[头部产品]", limit: 5)
记录:差评中的高频痛点、涉及产品名、差评数量。
注意:G2 有 CAPTCHA 保护,如触发需要用户手动在浏览器中验证。如果 niche-g2-mcp 不可用,跳过此阶段。
阶段 4:趋势发现(Product Hunt MCP)
用 niche-producthunt-mcp 发现新兴替代方案:
-
搜索品类产品
ph_search_products(query: "[品类关键词]", limit: 10)
-
查看热门产品详情 — 对投票数最高的前 3 个产品:
ph_get_product_details(product_slug: "...")
关注:用户评论中的赞美点和批评点、产品的差异化卖点。
-
发现趋势话题
ph_get_trending_topics(limit: 10)
筛选与今日品类相关的趋势话题。
记录:新产品方向、投票数、用户反馈信号。
注意:如果 niche-producthunt-mcp 未配置 token,跳过此阶段。
阶段 5:开源需求挖掘(GitHub Issues MCP)
用 niche-github-issues-mcp 发现开源社区的功能请求:
-
搜索品类相关 Issue
gh_search_issues(
query: "[品类关键词] feature request",
labels: ["feature-request", "enhancement"],
sort: "reactions",
per_page: 20
)
-
查找热门仓库 — 找到该品类最热门的仓库:
gh_search_repos(query: "[品类关键词]", sort: "stars", per_page: 5)
-
深入 Top 仓库的 Issue — 对 star 数最高的 2-3 个仓库:
gh_get_repo_issues(
owner: "...", repo: "...",
labels: "feature-request,enhancement",
sort: "reactions",
per_page: 15
)
-
Issue 详情 — 挑选反应数最高的 3 个 issue:
gh_get_issue_details(owner: "...", repo: "...", issue_number: N, comment_limit: 10)
记录:高反应 issue 的需求描述、反应数、评论数、相关仓库。
注意:无 GITHUB_TOKEN 时速率限制为 60 请求/小时,可能需要减少查询量。
阶段 6:开发者讨论分析(Hacker News MCP)
用 niche-hackernews-mcp 发现开发者社区的讨论和痛点:
-
搜索品类相关讨论
hn_search(
query: "[品类关键词]",
tags: "story",
sort: "popularity",
time_range: "month",
per_page: 20
)
-
搜索 Ask HN 讨论 — 发现社区主动求助的问题:
hn_get_ask_hn(per_page: 20, time_range: "month")
筛选与今日品类相关的帖子。
-
查看 Show HN — 发现开发者正在构建什么:
hn_get_show_hn(per_page: 20, time_range: "month")
筛选与今日品类相关的帖子。
-
深入高分帖子 — 对得分最高的 2-3 个帖子:
hn_get_story_details(story_id: N, comment_limit: 15)
记录:讨论主题、得分、评论数、社区对痛点的共识。
阶段 7:替代品需求分析(AlternativeTo MCP)
用 niche-alternativeto-mcp 了解软件替代需求:
-
搜索品类软件
alt_search(query: "[品类关键词]", per_page: 10)
-
获取热门软件的替代品 — 对 likes 最高的 2-3 个软件:
alt_get_alternatives(software_slug: "...", per_page: 10)
关注哪些替代品最受欢迎,哪些需求未被满足。
-
软件详情 — 对最相关的产品:
alt_get_software_details(software_slug: "...")
获取标签、平台、定价信息。
记录:替代品数量、用户偏好的替代方向、尚未覆盖的平台或功能。
注意:AlternativeTo 通过 HTML 解析工作,页面结构变化可能影响数据提取。
阶段 8:流量验证(Google Trends MCP)
用 niche-google-trends-mcp 验证前 3 个阶段发现的需求:
-
提取关键词 — 从前面阶段整理出 5-8 个需求相关的搜索关键词
-
验证搜索热度(每批最多 5 个关键词):
trends_interest_over_time(
keywords: ["keyword1", "keyword2", ...],
timeframe: "12m"
)
-
发现关联查询 — 对最有潜力的 2 个关键词:
trends_related_queries(keyword: "...", timeframe: "12m")
-
横向对比
trends_compare(keywords: ["top1", "top2", "top3"], timeframe: "12m")
记录:热度值(0-100)、趋势方向(上升/稳定/下降)、关联上升查询。
注意:pytrends 可能受 Google 限流影响。如遇 429 错误,跳过此阶段并在报告中标注。
阶段 9:分析汇总 & 输出报告
综合评分
对每个发现的需求,按评估方法论(见 references/estimation-methodology.md)计算:
需求量评分(0-100):
- Reddit 信号 x 20%:
min((帖子平均得分 * 2 + 平均评论数 * 3), 100)
- G2 信号 x 15%:
min(相关差评数 * 5, 100)
- GitHub Issues 信号 x 15%:
min((issue 反应数 * 3 + 评论数 * 2), 100)
- Hacker News 信号 x 15%:
min((帖子得分 / 5 + 评论数 * 2), 100)
- Trends 信号 x 15%:Google Trends 热度值(已是 0-100)
- PH 信号 x 10%:
min(平均投票数 / 5, 100)
- AlternativeTo 信号 x 10%:
min(替代品数量 * 3 + likes / 10, 100)
缺失数据源的权重重新分配到其他可用数据源。
趋势判断:
- 上升:近 6 个月 vs 前 6 个月热度增长 > 20%
- 稳定:变化在 +/- 20% 以内
- 下降:下降 > 20%
可行性评分(1-5):
| 分数 | 标准 |
|---|
| 5 | 无明显竞品,技术门槛低,2 周内可出 MVP |
| 4 | 1-2 个小竞品,中等复杂度,2-4 周 MVP |
| 3 | 有竞品但存在差异化空间,1-2 月 MVP |
| 2 | 拥挤赛道但有未覆盖细分,需大量投入 |
| 1 | 大公司主导,进入壁垒高 |
输出报告
将报告写入 output/reports/YYYY-MM-DD-<品类slug>.md,格式:
# 需求发现报告:[品类名]
**日期**:YYYY-MM-DD
**品类**:[品类名]
**轮换位置**:N/26
## 摘要
[2-3 句概述发现了什么]
## 发现需求一览
| # | 需求描述 | 细分品类 | 证据来源 | 需求量评分 | 趋势 | 可行性 | 备注 |
|---|---------|---------|---------|-----------|------|-------|------|
| 1 | [描述] | [细分] | Reddit: [url](得分/评论); G2: [产品](N条差评); GH: [repo#N](N反应); HN: [id](N分); Alt: [slug](N替代品); Trends: [热度]; PH: [产品](N票) | [0-100] | [上升/稳定/下降] | [1-5] | [关键洞察] |
## Top 3 机会详解
### 1. [需求名称]
- **用户痛点**:[直接引用用户原话或总结]
- **现有方案**:[有什么产品、为什么不够好]
- **潜在产品形态**:[独立开发者可以做什么]
- **证据来源**:[所有 URL 列表]
- **评分依据**:[各分项得分明细]
- **可行性理由**:[为什么独立开发者能做]
### 2. [...]
### 3. [...]
## 数据统计
- Reddit 帖子扫描数:N
- G2 产品分析数:N
- G2 差评阅读数:N
- GitHub Issues 检查数:N
- GitHub 仓库分析数:N
- Hacker News 帖子扫描数:N
- AlternativeTo 软件检查数:N
- Product Hunt 产品检查数:N
- Google Trends 关键词验证数:N
## 关联上升查询
[来自 trends_related_queries 的上升查询,可为后续调研种子]
更新跟踪文件
- 更新
output/tracker.md 中该品类的调研日期和 top 发现
- 将评分 >= 30 且可行性 >= 3 的需求追加到
output/findings-index.md
容错规则
- 任何 MCP 不可用时,跳过对应阶段并在报告中标注
- 至少 1 个 MCP 可用即可产出报告(评分权重自动重分配)
- 遇到 CAPTCHA / 429 / 超时等错误,记录错误信息后继续
- 不要因单个工具失败而中断整个工作流
PyPI 包信息
本 skill 依赖以下 7 个 PyPI 包,通过 uvx 自动安装运行:
| PyPI 包名 | MCP 服务器名 | 用途 | 需要凭证 |
|---|
niche-reddit-mcp | niche-reddit-mcp | Reddit 痛点挖掘 | Reddit OAuth2 |
niche-google-trends-mcp | niche-google-trends-mcp | Google Trends 流量验证 | 无 |
niche-producthunt-mcp | niche-producthunt-mcp | Product Hunt 趋势发现 | PH Developer Token |
niche-g2-mcp | niche-g2-mcp | G2 竞品差评分析 | 无(浏览器自动化) |
niche-github-issues-mcp | niche-github-issues-mcp | GitHub 开源需求挖掘 | GitHub Token(可选) |
niche-hackernews-mcp | niche-hackernews-mcp | Hacker News 讨论分析 | 无 |
niche-alternativeto-mcp | niche-alternativeto-mcp | 替代品需求分析 | 无 |