agentsclimarketplace

Pm search

Skill konglong87/superPM/skills/01-demand-insight/pm-search

专为产品经理设计的 AI工具 Skills技能,一键实现全生命周期的产品管理工作流。skills frame for superPM!

Install
npx -y skills add konglong87/superPM --skill pm-search

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

What its author says it does

Copied from the file, not written here

Use when: 需要进行市场调研数据收集、竞品信息采集、行业舆情监控、合规政策检查 Do NOT use when: 已有完整数据无需补充、仅需内部数据分析无需外部信息

SKILL.md

19.0 KB, as published. Nobody here has run it

Preamble (run first)

bash "$(dirname "${BASH_SOURCE[0]}")"/check-update.sh 2>/dev/null || true
# 读取技能包版本号
SKILL_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" 2>/dev/null && pwd)" || true
if [ -f "$SKILL_ROOT/VERSION" ]; then echo "📦 super-pm $(cat "$SKILL_ROOT/VERSION")"; fi
# 创建需求调研目录
mkdir -p docs/01-需求调研

# 自动发现 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 ""

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

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

优先级工具适用场景调用方式
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 文件不能替代本轮用户回答。

执行流程

步骤 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 vs V2.1 性能

指标V1(顺序执行)V2.1(并发+优先级搜索)提升
执行时间~10 分钟~2.5 分钟4x
主 Agent 上下文~50,000 tokens~10,000 tokens节省 80%
搜索类型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 Prompt 模板

Market Research 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 不可用 → 降级到 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 - 让市场调研更高效、更全面 🔍


输出质量对比

✅ Good 示例

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

❌ Bad 示例

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

常见误区 / Red Flags — STOP

出现以下情况立即停止并回溯:

误区正确做法
使用"应该"、"大概"、"看起来"做结论必须基于实际数据和验证
未运行检查就声称已完成先验证,再陈述
因时间紧迫跳过关键步骤没有例外,时间紧更要严格
"这次应该没问题"的想法每次都要重新验证
直接用 WebSearch 而不先尝试 AnySearch必须按优先级降级,不得跳级
写死 anysearch_cli.py 的路径Preamble 已自动发现;subagent 按常见路径列表自行定位

产出质量检查 / Verification Checklist

  • 前置依赖已满足(输入文档/数据已收集)
  • 核心步骤已全部执行
  • 输出文档已生成到 docs/ 目录
  • 每个判断都有数据/证据支撑
  • 搜索工具按优先级使用(AnySearch → Exa MCP → WebSearch)
  • 已推荐 2-3 个后续 skill

⚠️ 任何一项未通过 → 补全后再标记完成。

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.