mcpField
S
solo-research

solo-research

github.com/fortunto2营销与增长1864 次安装今天更新
代码仓库

关于 solo-research

solo-research 是一个用于 PRD 生成前开展深入调研的技能,面向产品构思和市场验证工作。它指导收集竞品、用户痛点、关键词、命名选项和市场规模,并整理为 research.md。

主要功能

  1. 01竞品与用户痛点分析
  2. 02SEO/ASO 关键词研究
  3. 03命名与域名选项研究
  4. 04TAM/SAM/SOM 市场估算
  5. 05生成结构化 research.md

适用场景

  1. 01为产品构思准备 PRD 前置调研
  2. 02汇总竞品与用户反馈以评估方向

MCP 相关

该技能列出可选 MCP 工具,包括知识库、网页和项目代码搜索,以及项目与代码图查询;若这些工具不可用,则使用 WebSearch/WebFetch 等方式。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/fortunto2/solo-factory --skill solo-research

安装后在 Claude Code 中输入/solo-research确认已加载。

附带文件references/domain-check.mdreferences/research-template.md

详细介绍

/research

在生成 PRD 前开展深入研究。生成结构化的 research.md,涵盖竞品分析、用户痛点、SEO/ASO 关键词、命名与域名选项,以及市场规模估算。

实时上下文

  • 分支:!git branch --show-current 2>/dev/null
  • 最近更改:!git log --oneline -5 2>/dev/null

MCP 工具(如有)

如果有可用的 MCP 工具,优先使用,而不是 CLI:

  • kb_search(query, n_results) — 搜索知识库中的相关文档
  • web_search(query, engines, include_raw_content) — 使用搜索引擎路由进行网络搜索
  • web_extract(url, size, page) — 将单个网页提取为干净的 Markdown,并移除模板内容
  • session_search(query, project) — 查找之前类似研究的做法
  • project_info(name) — 查看项目详情和技术栈
  • codegraph_explain(project) — 查看现有项目的架构概览(技术栈、模式、依赖项)
  • codegraph_query(query) — 对代码图执行原始 Cypher 查询(查找共享包、依赖项)
  • project_code_search(query, project) — 对项目源代码进行语义搜索

MCP web_search 支持指定引擎:engines="reddit"、engines="youtube" 等。 如需完整阅读单个网页,优先使用 web_extract,而不是 include_raw_content:它使用 trafilatura,因此会移除导航栏和页脚,并保留表格。size="s|m|l" 的上限分别为 5k/10k/25k 个字符;size="f" 会对整篇文档分页,使用 page=2 可继续浏览。 如果没有可用的 MCP 工具,请优先使用 WebSearch/WebFetch。如果 MCP 的 web_search 工具可用,请使用它以获得更好的结果。

Reddit 搜索最佳实践
  • Reddit 查询最多使用 3 个关键词——关键词越多,结果越少
  • 好的示例:"product hunt outreach launch";不好的示例:"product hunt scraper maker profiles linkedin outreach launch strategy"
  • include_raw_content=true 很少能用于 Reddit——请使用以下备用方案链
Reddit 内容访问——备用方案链

搜索到相关 Reddit 帖子后,需要通过备用方案链读取其完整内容:

1. MCP Playwright (old.reddit.com)     ← BEST: bypasses CAPTCHA, full post + comments
2. PullPush API (api.pullpush.io)      ← search by query/subreddit/author/score/date
3. MCP web_extract / web_search raw     ← sometimes works, often truncated
4. WebFetch / WebSearch snippets        ← last resort, partial data only

方法 1:MCP Playwright(推荐用于获取完整帖子内容)

  • 使用 browser_navigate("https://old.reddit.com/r/...") — old.reddit.com 无需 CAPTCHA 即可加载
  • www.reddit.com 会显示 CAPTCHA(“证明你是人类”),请始终使用 old.reddit.com
  • 快照包含完整的帖子文本和评论,并以结构化 YAML 呈现
  • 示例:old.reddit.com/r/indiehackers/comments/abc123/post_title/

方法 2:PullPush API(用于搜索和发现)

  • 端点:https://api.pullpush.io/reddit/submission/search
  • 参数:q、subreddit、author、score(例如 >10,<100)、since/until(Unix 时间戳)、size(最大 100)
  • 速率限制:软限制为 15 次请求/分钟,硬限制为 30 次请求/分钟、1000 次请求/小时。每次请求间隔 4 秒。
  • 返回包含完整 selftext、作者、得分和 created_utc 的 JSON
  • 评论搜索:/reddit/comment/search(参数相同)
  • 可通过 curl 使用:
curl -s "https://api.pullpush.io/reddit/submission/search?q=product+hunt+launch&subreddit=indiehackers&size=10"

方法 3:Reddit .json 端点(经常被屏蔽)

  • 在任意 Reddit URL 后追加 .json:reddit.com/r/sub/comments/id.json
  • 返回包含完整帖子和评论的原始 JSON
  • 经常被屏蔽(403/429)——仅将其作为可选备用方案

方法 4:PRAW(Reddit 官方 API,用于实时搜索和用户资料)

  • praw-dev/praw — Python Reddit API 封装库
  • 支持 OAuth2 身份验证、内置速率限制,以及同步/异步操作
  • 最适合:实时 subreddit 搜索、用户资料、评论树
  • pip install praw / uv add praw

搜索策略:混合搜索(MCP + WebSearch)

将多个搜索后端结合使用。每种后端各有优势:

步骤最佳后端原因
竞争对手WebSearch + site:producthunt.com + site:g2.com广泛发现 + Product Hunt + B2B 评价
Reddit / 痛点MCP web_search,使用 engines: reddit(最多 3 个关键词!)+ MCP Playwright 获取完整帖子PullPush API,内容中包含 selftext
YouTube 评测MCP web_search,使用 engines: youtube视频评测(观看量 = 需求)
市场规模WebSearch综合 10 个来源的数据
SEO / ASOWebSearch覆盖面更广,趋势数据更多
页面抓取MCP web_extract(备用:WebFetch)输出整洁的 Markdown,长文档使用 size=f + page=n
Hacker NewsWebSearch site:news.ycombinator.comHN 讨论和观点
融资 / 公司WebSearch site:crunchbase.com竞争对手的融资情况、团队规模
经核实的收入WebFetch trustmrr.com/startup/<slug>Stripe 核实的 MRR、增长情况、技术栈、流量
搜索可用性

优先使用 WebSearch/WebFetch。如果 MCP web_search 工具可用,也使用它以获取更好的结果(支持引擎路由和原始内容提取)。

步骤

  1. 解析想法:从 $ARGUMENTS 中解析。如果为空,询问用户想研究什么想法。

  2. 检测产品类型——根据想法描述推断:

    • 包含“app”“mobile”“iPhone”“Android”等关键词 → 移动端(ios/android)
    • 包含“website”“SaaS”“dashboard”“web app”等关键词 → Web
    • 包含“CLI”“terminal”“command line”等关键词 → CLI
    • 包含“API”“backend”“service”等关键词 → API
    • 包含“extension”“plugin”“browser”等关键词 → Web(扩展程序)
    • 不明确时默认为 Web
    • 只有在确实无法判断时才通过 AskUserQuestion 询问(例如,“build a todo app”可能指 Web 或移动端)
    • 这将决定适用的研究部分(移动端适用 ASO,Web 适用 SEO 等)
  3. 搜索知识库和过往工作:

    • 如果 MCP kb_search 可用:kb_search(query="<idea keywords>", n_results=5)
    • 如果 MCP session_search 可用:session_search(query="<idea keywords>")——检查此前是否研究过这个想法
    • 否则:在 .md 文件中搜索关键词
    • 检查是否已为这个想法创建 research.md 或 prd.md。
  4. 检查现有项目组合(如果 MCP codegraph 工具可用):

    • codegraph_explain(project="<similar project>")——查看项目组合中相关项目的架构概览
    • project_code_search(query="<relevant pattern>", project="<sibling>")——查找可复用的代码、模式和基础设施
    • codegraph_query("MATCH (p:Project)-[:DEPENDS_ON]->(pkg:Package) WHERE pkg.name CONTAINS '<relevant tech>' RETURN p.name, pkg.name")——查找使用相似技术的项目
    • 这有助于评估可行性、可复用代码、技术栈决策和时间估算
    • 如果没有可用的 MCP 工具,则跳过此步骤。
  5. 竞争分析——使用 WebSearch(优先)+ MCP web_search(如果可用):

    • "<idea> competitors alternatives 2026"——广泛发现
    • "<idea> app review pricing"——定价数据
    • 使用 WebFetch 或 MCP include_raw_content=true:抓取竞争对手网址,获取详细定价信息
    • 使用 MCP engines: reddit 或 WebSearch:"<idea> vs"——用户观点
    • "site:producthunt.com <idea>"——Product Hunt 上线产品
    • "site:g2.com <idea>" 或 "site:capterra.com <idea>"——B2B 评价
    • "site:crunchbase.com <competitor>"——融资情况、团队规模
    • "site:trustmrr.com <idea>" 或 WebFetch trustmrr.com/startup/<slug>——Stripe 核实的 MRR、增长率、技术栈、流量(24h/7d/30d)
    • 对每个竞争对手提取:名称、URL、定价、主要功能、弱点、经核实的 MRR(如果 TrustMRR 上有)
  6. 用户痛点 — 使用 MCP web_search / WebSearch + YouTube:

    • MCP engines: reddit 或 WebSearch:"<problem>" — Reddit 讨论(最多 3 个关键词!)
    • 如果找到 Reddit 帖子但无法获取内容 → 通过 MCP Playwright 打开:browser_navigate("https://old.reddit.com/r/...") — old.reddit.com 可绕过 CAPTCHA
    • MCP engines: youtube 或 WebSearch:"<problem> review" — 视频评测
    • "site:news.ycombinator.com <problem>" — Hacker News 上的观点
    • WebSearch:"<problem> frustrating OR annoying" — 更广泛地搜索
    • 综合整理:排名前 5 的痛点,附上引述和来源 URL
  7. SEO / ASO 分析(取决于第 2 步确定的产品类型):

    针对 Web 应用:

    • "<competitor> SEO keywords ranking" — 竞品关键词
    • "<problem domain> search volume trends 2026" — 需求信号
    • 使用 WebFetch 或 MCP include_raw_content:抓取竞品页面的 meta 标签
    • 结果:关键词表(关键词、意图、竞争度、相关性)

    针对移动应用:

    • "<category> App Store top apps keywords 2026" — 类别概况
    • "site:reddit.com <competitor app> review" — 用户投诉
    • 结果:ASO 关键词、竞品评分、常见投诉
  8. 命名、域名和公司注册:

    • 生成 7-10 个名称候选项(兼有描述性名称和原创/适合打造品牌的名称)
    • 域名可用性:三重验证(whois → dig → RDAP)
    • 检查商标和公司名称冲突

    有关 TLD 优先级、bash 脚本、注意事项和商标检查方法,请参阅 references/domain-check.md(与此技能捆绑)。

  9. 用户画像(根据研究数据生成 2-3 个简要画像):

    根据痛点(第 6 步)和竞争差距(第 5 步),生成 2-3 个简要用户画像:

    字段示例
    姓名"Alex,自由职业设计师"
    细分群体职业生涯早期的自由职业者,月收入 $3-8K
    JTBD"当我完成一个项目时,我想在 60 秒内发出一张专业发票,这样我就能更快收到款项"
    痛点第 6 步中的首要痛点,并附上来源引述
    当前解决方案他们目前使用的方案(竞品或变通方法)
    转换触发因素什么会促使他们尝试新方案

    确保用户画像以第 5-6 步的证据为依据。不要虚构人口统计信息——只纳入数据支持的内容。这些内容将直接用于 /validate,以生成 ICP 和 PRD。

  10. 访谈脚本(可选,适用于计划访谈客户的用户):

根据上述用户画像,生成一份包含 7 个问题的 JTBD 访谈脚本:

  1. 背景:“告诉我你上次[核心行动]的情况……”(开放式,以过去时提问)
  2. 触发因素:“是什么促使你寻找解决方案?”(转换时刻)
  3. 当前工作流:“请逐步讲讲你现在是如何完成这件事的”
  4. 痛点:“最令人沮丧的部分是什么?”(不要诱导——让受访者自己说出来)
  5. 尝试过的替代方案:“你还尝试过什么?结果如何?”
  6. 预期结果:“对你来说,‘问题解决’是什么样的?”
  7. 付费意愿:“如果有东西能完全做到这一点,你觉得它值多少钱?”

规则:只用过去时提问(问他们做过什么,而不是会做什么),不要诱导提问,不要推销功能。参考:JTBD 访谈方法论(Bob Moesta)。

如果生成了访谈脚本,将其写入 docs/interview-script.md。

  1. 市场规模测算(TAM/SAM/SOM)— 主要使用 WebSearch:
  • WebSearch:"<market> market size 2025 2026 report" — 汇总相关数据
  • WebSearch:"<market> growth rate CAGR billion" — 增长预测
  • 外推:TAM → SAM → SOM(第 1 年)
  1. 编写 research.md — 写入当前项目目录下的 docs/research.md。如有需要,创建该目录。

  2. 输出摘要:

    • 关键发现(3-5 条要点)
    • 建议:GO / NO-GO / PIVOT,并简要说明理由
    • 生成的 research.md 的路径
    • 建议的下一步:/validate <idea>

research.md 格式

完整的输出模板(frontmatter、6 个章节、表格)请参阅 references/research-template.md(随此技能附带)。

注意事项

  • 项目目录名称始终使用 kebab-case
  • 如果 research.md 已存在,请先询问再覆盖
  • 如果搜索查询彼此独立,请并行执行

常见问题

MCP web_search 不可用

原因: MCP 服务未运行或未配置。 解决方法: 优先使用 WebSearch/WebFetch。若要通过引擎路由(Reddit、GitHub、YouTube)获得更好的结果,请设置 SearXNG(私有、可自托管、免费),并配置 solograph MCP。

域名检查返回错误结果

原因: 对未注册域名,.app/.dev 的 whois 会显示顶级域创建日期。 解决方法: 使用三重验证方法(whois -> dig -> RDAP)。检查 Name Server 和 Registrar 字段,而非创建日期。

research.md 已存在

原因: 此想法之前已进行过研究。 解决方法: 技能会在覆盖前询问。选择合并新发现或重新开始。

主动搜索实践

深入研究 Reddit
  1. MCP web_search 或 WebSearch — 用于发现内容(Reddit 最多 3 个关键词),获取帖子 URL
  2. MCP Playwright — 打开 old.reddit.com URL,阅读完整帖子和评论(绕过 CAPTCHA)
  3. 提取引文 — 复制关键短语并注明出处(u/username、subreddit、日期)
  4. 检测交叉发布 — 同一帖子出现在多个 subreddit 中,说明信号更强
Product Hunt 研究
  1. producthunt.com/visit-streaks — 连续访问排行榜(可通过 Playwright 抓取)
  2. producthunt.com/@username — 包含社交链接、创作者历史和积分的个人资料
  3. PH API v2 已失效 — 自 2023 年 2 月起会隐去用户名/Twitter 信息,请使用抓取
  4. Apify actors — 使用前检查是否已标记为 DEPRECATED(2025 年 9 月大规模弃用)
TrustMRR 收入验证
  1. trustmrr.com/startup/<slug> — 经 Stripe 验证的 MRR、增长率、订阅数、流量
  2. WebFetch 可用 — 无需身份验证,会返回包含 JSON-LD 结构化数据的完整页面
  3. 数据字段: MRR、累计收入、过去 30 天、有效订阅数、技术栈、流量(24h/7d/30d)、类别、创始人的 X 账号
  4. 用途: 验证竞争对手收入、使用真实数据估算市场规模、发现技术栈
  5. 搜索: 使用 "site:trustmrr.com <category or idea>" 查找收入经过验证的相似初创公司
  6. Apify 抓取工具: 用于批量提取的 TrustMRR Scraper
发现 GitHub 库
  1. MCP engines: github — 常常返回空结果,请优先使用 WebSearch
  2. github.com/topics/ — 通过 Playwright 或 WebFetch 浏览主题页面
  3. 检查 star 数、最近更新时间和未解决的问题 — 避免已废弃的仓库
被屏蔽内容的备用方案
MCP Playwright (best) → PullPush API (Reddit) → WebFetch → WebSearch snippets → MCP web_search include_raw_content

如果 WebFetch 返回的页面出现 403/CAPTCHA:

  1. Reddit: MCP Playwright → old.reddit.com(始终可用,无 CAPTCHA)
  2. Reddit 搜索: PullPush API api.pullpush.io(结构化 JSON,包含完整 selftext)
  3. Product Hunt / 其他网站: MCP Playwright browser_navigate(大多数网站不会出现 CAPTCHA)
  4. 通用方案: WebSearch 摘要 + WebSearch 综合结果

评论

支持 Markdown