mcpField
P
pm-search

pm-search

github.com/konglong87マーケティング・グロース8480 回インストール4 日前に更新
リポジトリ

pm-search について

pm-searchは、プロダクトマネージャー向けに市場調査、競合分析、業界データ、評判調査、コンプライアンス確認を支援するスキルです。AnySearch、Exa MCP、WebSearchの順で検索手段を選び、複数分野の調査を並列実行してレポートにまとめられます。

主な機能

  1. 015種類のプロダクト調査
  2. 02優先順位に沿った検索手段の選択
  3. 03検索結果の全文抽出
  4. 04並列調査とレポート統合
  5. 05保存前のパスと書き込み方法の確認

活用シーン

  1. 01市場規模、トレンド、ユーザー像の調査
  2. 02競合の機能や価格の比較
  3. 03業界データや評判の収集
  4. 04業界規制やコンプライアンス要件の確認

MCP 対応

AnySearchが利用できない場合の検索手段としてExa MCPを使い、Exa MCPも使えない場合はWebSearchに切り替えます。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/konglong87/superpm --skill pm-search

インストール後、Claude Code で/pm-searchを入力して読み込まれたか確認します。

詳細

Preamble (run first)

# 自动发现 AnySearch CLI 安装位置
# 支持 Claude Code / OpenCode / OpenClaw / Cursor / pip install / 手动克隆等多种安装方式
ANYSEARCH_CLI=""
for candidate in \
  "$HOME/.claude/skills/anysearch/scripts/anysearch_cli.py" \
  "$HOME/.opencode/skills/anysearch/scripts/anysearch_cli.py" \
  "$HOME/.openclaw/skills/anysearch/scripts/anysearch_cli.py" \
  "$HOME/.cursor/skills/anysearch/scripts/anysearch_cli.py" \
  "$HOME/skills/anysearch/scripts/anysearch_cli.py" \
  "$HOME/.anysearch/scripts/anysearch_cli.py" \
  "/usr/local/bin/anysearch_cli.py" \
  "$HOME/bin/anysearch_cli.py"; do
  if [ -f "$candidate" ]; then
    ANYSEARCH_CLI="$candidate"
    break
  fi
done

# pip install 方式
if [ -z "$ANYSEARCH_CLI" ]; then
  PIP_LOCATION=$(python3 -c "import importlib.util; spec=importlib.util.find_spec('anysearch'); print(spec.submodule_search_locations[0] if spec and spec.submodule_search_locations else '')" 2>/dev/null)
  if [ -n "$PIP_LOCATION" ] && [ -f "$PIP_LOCATION/scripts/anysearch_cli.py" ]; then
    ANYSEARCH_CLI="$PIP_LOCATION/scripts/anysearch_cli.py"
  fi
fi

# which 方式
if [ -z "$ANYSEARCH_CLI" ]; then
  WHICH_CLI=$(which anysearch_cli.py 2>/dev/null)
  if [ -n "$WHICH_CLI" ] && [ -f "$WHICH_CLI" ]; then
    ANYSEARCH_CLI="$WHICH_CLI"
  fi
fi

echo "🔍 PM-Search V2.1 - 联网搜索整合工具"
echo "搜索优先级:AnySearch → Exa MCP → WebSearch"
echo "支持并发搜索:市场调研 | 竞品分析 | 行业数据 | 舆情监控 | 合规检查"

if [ -n "$ANYSEARCH_CLI" ]; then
  echo "✅ AnySearch: $ANYSEARCH_CLI"
else
  echo "⚠️  AnySearch 未安装,将自动降级到 Exa MCP / WebSearch"
  echo "   安装: git clone https://github.com/konglong87/anysearch.git ~/.claude/skills/anysearch"
fi
echo ""

写入时边界

只讨论时不写文件,启动检查不创建目录。用户要求保存产物时,先确认当前产品、精确输出路径及已有文件的覆盖/追加选择;确认后仅在实际 Write 前创建该输出文件的父目录。完整安装可参见 skills/_shared/artifact-policy.md,单独安装本 skill 也按本段执行。


搜索工具优先级(核心规则)

所有搜索必须按以下优先级选择工具,不得跳级:

优先级工具适用场景调用方式
1(首选)AnySearch中文搜索、垂直领域、批量搜索、全文提取Bash 调用 anysearch_cli.py(路径由 Preamble 自动发现,见上方输出)
2(备选)Exa MCP英文/代码/公司搜索、语义搜索mcp__exa__web_search_exa 工具
3(降级)WebSearch仅当 AnySearch 和 Exa 都不可用时WebSearch 工具

AnySearch 调用规范:

  • 搜索:python3 <anysearch_cli路径> search "查询词" --max_results 5
  • 垂直域搜索:python3 <anysearch_cli路径> search "查询词" --domain finance --sub_domain finance.cn_stock
  • 全文提取:python3 <anysearch_cli路径> extract "URL"
  • 批量搜索:python3 <anysearch_cli路径> batch_search --query "q1" --query "q2"
  • 列出子域:python3 <anysearch_cli路径> list_domains --domain finance
AnySearch 垂直域配置

垂直域使用优先级:

  1. 先查完整域映射 — Read skills/_shared/anysearch-pm-domains.md,按当前 PM 场景找推荐垂直域组合
  2. 列出可用子域 — python3 <anysearch_cli路径> list_domains --domain {domain} 查看域的最新子域和参数 schema
  3. 执行垂直搜索 — python3 <anysearch_cli路径> search "查询词" --max_results 5 --domain {domain} --sub_domain {sub_domain}

pm-search 五种搜索类型的默认垂直域:

搜索类型推荐垂直域子域适用原因
市场调研financefinance.us_stock, finance.cn_stock, finance.news上市对标公司数据、行业新闻
竞品分析business + financebusiness.company, finance.cn_stock公司注册信息、财务数据
行业数据financefinance.news, finance.cn_stock行业新闻、市场规模
舆情监控通用搜索无垂直域社交媒体、用户评价覆盖广
合规检查legallegal.statute, legal.case法律法规、司法案例

💡 完整 17 域 × 37 技能 × 11 行业 PM 场景的垂直域映射见 skills/_shared/anysearch-pm-domains.md。

降级判断规则
  1. AnySearch 不可用:脚本未安装、API key 缺失、网络超时 → 降级到 Exa MCP
  2. Exa MCP 不可用:工具调用返回错误 → 降级到 WebSearch
  3. 使用 WebSearch 时:在报告中标注「⚠️ 数据来源:WebSearch(降级模式),建议配置 AnySearch 以提升中文搜索质量」
全文提取优先级
优先级工具调用方式
1AnySearch extractpython3 <anysearch_cli路径> extract "URL"
2Exa MCP fetchmcp__exa__web_fetch_exa 工具
3WebFetchWebFetch 工具

跨 Agent 交互规则

当流程要求与用户交互时:

  1. 如果当前环境支持 AskUserQuestion,使用 AskUserQuestion(最佳体验)。
  2. 如果当前环境不支持 AskUserQuestion,必须用普通聊天消息提出同样问题。
  3. 一次只问一个问题。
  4. 提问后必须停止当前回合,等待用户回答(STOP and WAIT)。
  5. 不得在用户回答前生成文档、写入 docs。
  6. 已有 docs 文件不能替代本轮用户回答。

执行流程

步骤 0: 参数解析(自动路由)

如果调用时携带 --type=xxx 参数(如 /pm-search --type=competitor),直接映射到对应搜索类型,跳过步骤 1 的交互选择:

参数搜索类型执行路径
--type=market市场调研步骤 2A - 市场调研
--type=competitor竞品分析步骤 2A - 竞品分析
--type=data行业数据步骤 2A - 行业数据
--type=opinion舆情监控步骤 2A - 舆情监控
--type=legal合规检查步骤 2A - 合规检查
--type=all综合搜索步骤 2B - 综合并发搜索

解析到类型后,直接跳转对应执行路径,无需询问用户。 如果 --type 值不在上述映射中,视为未知参数,降级到步骤 1 的交互选择。 注意:如果当前对话中用户未明确提及产品/行业领域,应先询问确认后再执行搜索。

如果未携带 --type 参数(用户直接输入 /pm-search 或自然语言触发),继续步骤 1 的交互选择。


步骤 1: 确定搜索类型(主 agent - 用户交互)

使用 AskUserQuestion 询问:

🔍 联网搜索整合工具 - 选择搜索类型

请选择您需要进行的研究类型(可多选):

A) 市场调研 - 市场规模、趋势、用户画像 B) 竞品分析 - 竞品功能、定价、策略 C) 行业数据 - 行业报告、统计数据 D) 舆情监控 - 用户评价、媒体报道 E) 合规检查 - 政策法规、行业标准 F) 综合搜索 - 以上全部(并发执行) G) 其他(请手动输入)

用户选择后,根据选择执行不同流程。


Subagent 并发搜索架构


步骤 2A: 单一类型搜索(主 agent 直接执行)

如果用户选择单个搜索类型,直接执行:

⚠️ 所有搜索必须遵循「搜索工具优先级」规则,首选 AnySearch,降级到 Exa MCP,最后才用 WebSearch。

市场调研
按搜索优先级执行:

搜索关键词:"{产品领域} 市场规模 2026"
搜索关键词:"{产品领域} 市场趋势"
搜索关键词:"{产品领域} 用户画像"

首选 AnySearch(带垂直域 --domain finance --sub_domain finance.cn_stock),
调用方式参考「搜索工具优先级」章节。失败则降级到 Exa MCP,最后才用 WebSearch。

数据源优先级:
1. 艾瑞咨询、易观分析、QuestMobile(权威报告)
2. 36氪、虎嗅(行业媒体)
3. 工信部、网信办(政策法规)

整合结果 → 生成:docs/01-需求调研/市场调研报告.md
竞品分析
按搜索优先级执行:

搜索关键词:"{产品领域} 主要竞品"
搜索关键词:"{竞品名称} 产品功能"
搜索关键词:"{竞品名称} 定价策略"

首选 AnySearch(带垂直域 --domain finance --sub_domain finance.cn_stock),
失败则降级到 Exa MCP,最后才用 WebSearch。

数据源:
- 七麦数据、蝉妈妈(应用数据)
- 官网、App Store、产品评测

整合结果 → 生成:docs/01-需求调研/竞品分析报告.md
行业数据
按搜索优先级执行:

搜索关键词:"{行业} 行业报告 2026"
搜索关键词:"{行业} 统计数据"
搜索关键词:"{行业} 发展趋势"

首选 AnySearch(带垂直域 --domain finance --sub_domain finance.cn_stock),
失败则降级到 Exa MCP,最后才用 WebSearch。

数据源:
- 国家统计局
- 行业协会官网
- 咨询公司报告

整合结果 → 生成:docs/01-需求调研/行业数据报告.md
舆情监控
按搜索优先级执行:

搜索关键词:"{产品/品牌} 用户评价"
搜索关键词:"{产品/品牌} 媒体报道"
搜索关键词:"{产品/品牌} 微博热搜"

首选 AnySearch(通用搜索,无垂直域),
失败则降级到 Exa MCP,最后才用 WebSearch。

数据源:
- 微博、知乎、小红书(用户评价)
- 新闻媒体(报道)
- 黑猫投诉(投诉信息)

整合结果 → 生成:docs/01-需求调研/舆情监控报告.md
合规检查
按搜索优先级执行:

搜索关键词:"{行业} 政策法规 2026"
搜索关键词:"{行业} 监管要求"
搜索关键词:"{行业} 合规标准"

首选 AnySearch(通用搜索,无垂直域),
失败则降级到 Exa MCP,最后才用 WebSearch。

数据源:
- 政府官网(工信部、网信办、市场监管总局)
- 法律法规数据库
- 行业协会合规指南

整合结果 → 生成:docs/01-需求调研/合规检查报告.md

步骤 2B: 综合并发搜索(Subagent 并行执行)

如果用户选择"综合搜索"或选择多个类型,使用 Agent tool 并发执行:

⚠️ 每个 subagent prompt 必须包含「搜索工具优先级」自发现指令(subagent 看不到主 agent 的 Preamble)。

搜索工具优先级块(嵌入每个 subagent prompt)

以下块必须原样嵌入每个 subagent 的 prompt 开头:

【搜索工具优先级 - 必须遵守】
1. 首选 AnySearch:先定位 anysearch_cli.py。
   常见安装路径(按顺序尝试):
   ~/.claude/skills/anysearch/scripts/anysearch_cli.py
   ~/.opencode/skills/anysearch/scripts/anysearch_cli.py
   ~/.openclaw/skills/anysearch/scripts/anysearch_cli.py
   ~/.cursor/skills/anysearch/scripts/anysearch_cli.py
   ~/.anysearch/scripts/anysearch_cli.py
   $(which anysearch_cli.py 2>/dev/null)
   或 pip show anysearch 查找安装位置。
   找到后 Bash 调用 python3 <路径> search "查询词" --max_results 5。
   市场/竞品/行业类搜索加 --domain finance --sub_domain finance.cn_stock。
2. AnySearch 不可用(脚本不存在/API报错/超时)→ 降级到 mcp__exa__web_search_exa
3. Exa 不可用 → 降级到 WebSearch,并在输出中标注「⚠️ 降级模式」
执行命令
使用 Agent tool 并发派发 5 个 subagent:

**Subagent 1: Market Research**
- type: "general-purpose"
- prompt: "【搜索工具优先级块】+ 执行市场调研搜索,产品领域:{产品领域},搜索市场规模/趋势/用户画像,输出到 docs/01-需求调研/market-research.md"

**Subagent 2: Competitor Analysis**
- type: "general-purpose"
- prompt: "【搜索工具优先级块】+ 执行竞品分析搜索,产品领域:{产品领域},搜索主要竞品/功能/定价,输出到 docs/01-需求调研/competitor-analysis.md"

**Subagent 3: Industry Data**
- type: "general-purpose"
- prompt: "【搜索工具优先级块】+ 执行行业数据搜索,行业:{行业},搜索行业报告/统计数据/趋势,输出到 docs/01-需求调研/industry-data.md"

**Subagent 4: Public Opinion**
- type: "general-purpose"
- prompt: "【搜索工具优先级块】+ 执行舆情监控搜索,关键词:{产品/品牌},搜索用户评价/媒体报道/社交媒体,输出到 docs/01-需求调研/public-opinion.md"

**Subagent 5: Compliance Check**
- type: "general-purpose"
- prompt: "【搜索工具优先级块】+ 执行合规检查搜索,行业:{行业},搜索政策法规/监管要求/合规标准,输出到 docs/01-需求调研/compliance-check.md"

**并发执行:在单个消息中调用 5 次 Agent tool**
Agent 调用示例
**在一条消息中并发调用:**

[Agent tool call 1 - Market Research]
[Agent tool call 2 - Competitor Analysis]
[Agent tool call 3 - Industry Data]
[Agent tool call 4 - Public Opinion]
[Agent tool call 5 - Compliance Check]

**等待所有 subagent 完成**

ステップ 3: メイン Agent が結果を統合

すべての subagent が生成したレポートを読み込みます:

# 读取各个报告
read docs/01-需求调研/market-research.md
read docs/01-需求调研/competitor-analysis.md
read docs/01-需求调研/industry-data.md
read docs/01-需求调研/public-opinion.md
read docs/01-需求调研/compliance-check.md

総合レポートにまとめます:

Write を使用して生成します:docs/01-需求调研/市场调研报告.md

レポートの構成:

# 综合市场调研报告

## 一、市场规模与趋势
[来自 market-research.md]

## 二、竞品分析
[来自 competitor-analysis.md]

## 三、行业数据
[来自 industry-data.md]

## 四、舆情监控
[来自 public-opinion.md]

## 五、合规检查
[来自 compliance-check.md]

## 六、综合结论与建议

### 市场机会
- [综合分析]

### 风险提示
- [综合分析]

### 下一步建议
1. 执行 /pm-priority - 需求优先级排序
2. 执行 /pm-mvp - MVP 方案规划
3. 执行 /pm-docs - 文档生成

---

**生成时间**: 2026-XX-XX
**数据来源**: [标注实际使用的搜索工具:AnySearch / Exa MCP / WebSearch]

パフォーマンス比較

V1 と V2.1 のパフォーマンス
指標V1(順次実行)V2.1(並行+優先順位に基づく検索)向上率
実行時間~10 分~2.5 分4x
メイン Agent のコンテキスト~50,000 tokens~10,000 tokens80% 削減
検索タイプ1~5 件を順次実行5 件を並行実行-
中国語検索の品質WebSearch(低)AnySearch(高)✅
レポートの品質単一の視点多角的な統合✅

使用例

例 1: 単一検索
用户: 我需要了解生鲜电商的市场规模

AI: 🎯 执行市场调研搜索
    [AnySearch 搜索中... → 成功]
    ✅ 生成报告: docs/01-需求调研/市场调研报告.md
例 2: AnySearch のフォールバックが発生するケース
用户: 我需要了解生鲜电商的市场规模

AI: 🎯 执行市场调研搜索
    [AnySearch 搜索中... → 未安装,降级]
    [Exa MCP 搜索中... → 成功]
    ✅ 生成报告: docs/01-需求调研/市场调研报告.md
    ⚠️ 数据来源:Exa MCP(降级模式)
例 3: 総合的な並行検索
用户: 我想全面了解在线教育市场

AI: 🎯 执行综合并发搜索
    [并发派发 5 个 subagent...]
    ⏳ Subagent 1: Market Research - 完成 ✅
    ⏳ Subagent 2: Competitor Analysis - 完成 ✅
    ⏳ Subagent 3: Industry Data - 完成 ✅
    ⏳ Subagent 4: Public Opinion - 完成 ✅
    ⏳ Subagent 5: Compliance Check - 完成 ✅

    🔧 整合分析结果...
    ✅ 生成综合报告: docs/01-需求调研/市场调研报告.md

    💡 建议下一步:
    1. /pm-priority - 需求优先级排序
    2. /pm-mvp - MVP 方案规划

Subagent プロンプトテンプレート

市場調査 Subagent プロンプト
你是市场调研专家。执行以下任务:

【搜索工具优先级 - 必须遵守】
1. 首选 AnySearch:先定位 anysearch_cli.py。
   常见安装路径(按顺序尝试):
   ~/.claude/skills/anysearch/scripts/anysearch_cli.py
   ~/.opencode/skills/anysearch/scripts/anysearch_cli.py
   ~/.openclaw/skills/anysearch/scripts/anysearch_cli.py
   ~/.cursor/skills/anysearch/scripts/anysearch_cli.py
   ~/.anysearch/scripts/anysearch_cli.py
   $(which anysearch_cli.py 2>/dev/null)
   或 pip show anysearch 查找安装位置。
   找到后 Bash 调用 python3 <路径> search "查询词" --max_results 5。
   市场调研类搜索加 --domain finance --sub_domain finance.cn_stock。
2. AnySearch 不可用 → 降级到 mcp__exa__web_search_exa
3. Exa 不可用 → 降级到 WebSearch,并在输出中标注「⚠️ 降级模式」

**目标**: 调研 {产品领域} 的市场规模、趋势、用户画像

**搜索策略**:
1. 市场规模:搜索 "{产品领域} 市场规模 2026"
2. 市场趋势:搜索 "{产品领域} 市场趋势"
3. 用户画像:搜索 "{产品领域} 用户画像"

**数据源优先级**:
- 艾瑞咨询、易观分析、QuestMobile(权威报告)
- 36氪、虎嗅(行业媒体)
- 工信部、网信办(政策法规)

**输出要求**:
生成结构化报告到:docs/01-需求调研/market-research.md

包含章节:
1. 市场规模(总量、增长率)
2. 市场趋势(发展动向)
3. 用户画像(目标用户特征)
4. 市场机会点

完成后立即返回结果。

注意事項

データソースの信頼性評価

信頼性が高い:

  • 政府の公式データ
  • 権威あるコンサルティング会社のレポート(艾瑞、易观、マッキンゼー)
  • 業界団体の統計

信頼性が中程度:

  • テクノロジーメディアの報道(36氪、虎嗅)
  • アプリデータプラットフォーム(七麦数据、蝉妈妈)

信頼性が低い:

  • ユーザーのレビュー(相互検証が必要)
  • ソーシャルメディアの情報(確認が必要)
検索結果の統合原則
  1. 相互検証 - 同じデータポイントを少なくとも 2 つの情報源で確認します
  2. 適時性 - 2026 年のデータを優先して使用します
  3. 権威性 - 政府データ > コンサルティング会社 > メディア報道
  4. 網羅性 - 多角的に網羅し、単一の視点を避けます

次のステップの提案

市場調査の完了後、以下の実行を推奨します:

  1. /pm-priority - 要件の優先順位付け
  2. /pm-mvp - MVP プランの策定
  3. /pm-docs - PRD ドキュメントの生成

Super-PM - 市場調査をより効率的かつ包括的に 🔍


出力品質の比較

✅ 良い例:

- 有数据引用:「根据 Q4 数据,留存率从 35% 降至 28%」
- 有验证来源:「数据来源:Google Analytics, 2025-12-01」
- 有明确建议:「建议将新手引导步骤从 5 步减少至 3 步」

❌ 悪い例:

- 模糊结论:「数据表明留存率有所下降」
- 无来源:「根据经验,这个功能很重要」
- 没有行动建议:「留存是个问题」

よくある誤り / Red Flags — STOP

以下の状況が発生した場合は、直ちに停止して手順を見直してください:

誤り正しい対応
「はずです」「おそらく」「~のようです」を結論に使う実際のデータと検証に基づく必要があります
チェックを実行せずに完了したと主張するまず検証し、その後に報告します
時間がないことを理由に重要な手順を省略する例外はありません。時間がないときこそ厳密に進めます
「今回は問題ないはず」と考える毎回、改めて検証する必要があります
まず AnySearch を試さず、直接 WebSearch を使う優先順位に従ってフォールバックする必要があります。手順を飛ばしてはいけません
anysearch_cli.py のパスを固定するPreamble が自動的に検出します。subagent は一般的なパスの一覧から自分で場所を特定します

成果物の品質チェック / Verification Checklist

  • 前提条件を満たしている(入力ドキュメント/データを収集済み)
  • 重要な手順をすべて実行済み
  • 出力ドキュメントを docs/ ディレクトリに生成済み
  • すべての判断にデータ/証拠の裏付けがある
  • 検索ツールを優先順位に従って使用済み(AnySearch → Exa MCP → WebSearch)
  • 次のステップとして 2~3 個の skill を推奨済み

⚠️ いずれかの項目が未達成の場合 → 完了とする前に補完してください。

コメント