Preamble (run first)
echo "📡 GEO / AI 搜索优化工具"
# 检查前置文档
if [ -f "docs/02-方案设计/产品定位方案.md" ]; then
echo "✅ 产品定位方案 - 已找到"
else
echo "⏳ 产品定位方案 - 未找到(可选,缺失时将由本技能快速采集)"
fi
if [ -f "docs/01-需求调研/市场调研报告.md" ]; then
echo "✅ 市场调研报告 - 已找到"
else
echo "⏳ 市场调研报告 - 未找到(可选)"
fi
Write-time boundaries
When only discussing, do not write files; startup checks do not create directories. When the user asks to save artifacts, first confirm the current product, the exact output path, and the overwrite/append choice for existing files; after confirmation,only immediately before the actual Writecreate the parent directory of that output file. For full installation, see skills/_shared/artifact-policy.md, and installing this skill alone also follows this paragraph.
Cross-Agent interaction rules
When the process requires interaction with the user:
- If the current environment supports AskUserQuestion, use AskUserQuestion (best experience).
- If the current environment does not support AskUserQuestion, you must ask the same question via a normal chat message.
- Ask only one question at a time.
- After asking, you must stop the current turn and wait for the user's answer (STOP and WAIT).
- Do not generate documents or write docs before the user answers.
- Existing docs files cannot replace the user's answer in this round.
Applicable scenarios
- The user says "make AI recommend our product", "GEO optimization", "we can't be found in AI search", "generative engine optimization", "increase exposure in ChatGPT/Perplexity"
- The product is already launched or already has a website/content assets, and you want it to be accurately mentioned and recommended by AI search engines in their answers
- Distinguish from
pm-growth(conversion growth): geo handles "being discovered and recommended by AI", growth handles "conversion after being seen"
Execution flow
Step 1: Clarify the GEO target queries (main agent - user interaction)
Use AskUserQuestion to ask:
🎯 GEO optimization goals
What kind of questions do you want users to use in AI search to find/be recommended your product?
A) Category/scenario questions (e.g., "what are some good XX tools") B) Comparison/selection questions (e.g., "which is better, XX or YY") C) Solution questions (e.g., "how to solve the XX pain point") D) Direct brand/official website recall (searching the brand name brings up the official website and description) E) Cover all (recommended, but time-consuming)
💡 Tip: focusing on 1-2 high-value query scenarios first is more effective than spreading out.
Record to variable GEO_TARGET。
Step 2: Diagnose current visibility (main agent + subagent)
2.1 Collect basic product information
If there is a product positioning plan / market research report, read it and extract: product name, core category, target users, differentiated selling points, official website URL.
If missing, use AskUserQuestion to quickly collect the above 5 items (one question at a time).
2.2 Simulate AI search recall testing
Use the Agent tool to dispatch a subagent to simulate querying the target questions in ChatGPT / Perplexity / AI Overviews, and record whether this product is currently mentioned and whether the description is accurate when mentioned:
Tool: Task
Parameters:
subagent_type: "general-purpose"
description: "GEO现状召回诊断"
prompt: |
你是一个 GEO(生成式引擎优化)审计专家。请基于公开信息,模拟用户在主流 AI 搜索引擎中提问时的召回情况。
**产品信息**:{产品名称} / {核心品类} / {官网URL} / {差异化卖点}
**目标查询场景**:{GEO_TARGET}
**任务**:
1. 针对每个目标查询,判断当前主流 AI 引擎(ChatGPT、Perplexity、Google AI Overviews、豆包、文心一言)在回答中是否会提及该产品。
2. 若提及,描述是否准确、是否给出官网/正确链接。
3. 若未提及,分析最可能的原因(实体未被收录、内容信号弱、缺乏权威引用、品类归因错误等)。
4. 给出 0-100 的可见性评分与 3 条最关键的缺口。
返回结构化 JSON:
```json
{
"visibility_score": 0-100,
"per_query": [{"query": "...", "mentioned": true/false, "accuracy": "准确/偏差/错误", "reason": "..."}],
"top_gaps": ["缺口1", "缺口2", "缺口3"]
}
```
The main agent waits for the results and confirms with the user whether the diagnosis matches their perception.
Step 3: Dispatch a subagent to research corpus and competitor citations (core optimization)
Optimization note: search and material organization do not occupy the main agent's context, and subagents execute in parallel.
Build the task list (search priority: prefer AnySearch, fall back to Exa MCP on failure, and finally WebSearch; when using WebSearch, mark "⚠️ Degraded Mode"):
[
{
"task_id": "entity_signal",
"keywords": ["{产品名称} 官网", "{品类} 权威定义", "{差异化卖点} 评测"],
"domains": ["官网", "维基/百科类", "行业媒体", "评测站"]
},
{
"task_id": "competitor_citation",
"keywords": ["{品类} 推荐 {竞品}", "{品类} 哪个好", "{竞品} 对比"],
"domains": ["36kr.com", "huxiu.com", "zhihu.com", "producthunt.com"]
}
]
Use the Agent tool to dispatch in parallel; for the prompt structure, refer to pm-market 's search expert template (including AnySearch location and invocation method).
The main agent collects the results.
Step 4: Generate the GEO optimization plan (main agent)
Use the Write tool to generate docs/03-增长迭代/GEO优化方案.md:
# {产品名称} GEO / AI 搜索优化方案
## 文档信息
- 产品名称: {产品名称}
- 方案版本: v1.0
- 生成日期: {当前时间}
- 生成工具: super-pm / pm-geo
---
## 一、现状诊断
- 可见性评分: {score}/100
- 目标查询召回情况:
| 查询场景 | 是否被提及 | 描述准确度 | 主要原因 |
|---------|-----------|-----------|---------|
| {场景} | {是/否} | {准确/偏差} | {原因} |
- 最关键缺口: {gap1} / {gap2} / {gap3}
## 二、GEO 优化框架
### 2.1 实体建设(Entity)
- 统一品牌实体名称、一句话定位、关键属性(品类/地区/功能)
- 官网结构化数据(Entity / Organization / Product schema)
- 权威平台实体页(百科、黄页、行业库)一致性
### 2.2 内容信号(Content)
- 针对目标查询生产"可被引用"的内容资产(对比页、选型指南、解决方案文)
- 明确结论 + 数据 + 来源,便于 AI 直接抽取
- FAQ / 长尾问题覆盖
### 2.3 引用与权威(Citation)
- 争取被行业媒体、评测站、问答社区引用
- 在第三方内容中建立"品类→本产品"的稳定关联
### 2.4 技术底座(Technical)
- 站点可抓取、内容可被索引
- 结构化数据、清晰站点地图、稳定官网信息
## 三、行动清单(按优先级)
| 优先级 | 动作 | 负责方 | 预期效果 | 周期 |
|-------|------|-------|---------|------|
| P0 | {动作} | {方} | {效果} | {周期} |
| P1 | {动作} | {方} | {效果} | {周期} |
## 四、监测指标
- 目标查询 AI 召回率(提及占比)
- 描述准确度(准确/偏差/错误)
- 官网直接流量(品牌词)
- 第三方引用数
## 五、下一步建议
1. /pm-growth - 把被推荐流量转化为注册/付费
2. /pm-competitor - 持续监控竞品在 AI 搜索中的表现
3. /pm-report - 周期性复盘 GEO 指标
Step 5: Recommend next steps (main agent)
✅ GEO optimization plan generated:
docs/03-增长迭代/GEO优化方案.mdSuggested actions:
- /pm-competitor - Monitor competitors' visibility in AI search
- /pm-growth - Capture recommended traffic for conversion
- /pm-report - Periodically review GEO metrics
Search dependency notes
- AnySearch(preferred): Excellent Chinese retrieval quality, supports vertical domains. Locate the script first, then invoke:
python3 <anysearch_cli.py 路径> search "查询词" --max_results 5 --domain <域>Candidate script paths:~/.claude/skills/anysearch/scripts/~/.opencode/skills/anysearch/scripts/~/.cursor/skills/anysearch/scripts/~/.anysearch/scripts/, orwhich anysearch_cli.py - Exa MCP(alternative): English/semantic retrieval.
- WebSearch(fallback): Mark "⚠️ Degraded Mode".
Output quality comparison
✅ Good example:
- Has specific query scenarios: "For 'what are good project management tools', ChatGPT currently does not mention this product; the root cause is that the entity has not been indexed"
- Has actionable actions: "Add Product schema to the official website, and produce an 'XX vs YY' comparison page to earn citations"
- Has monitoring metrics: "Target query AI recall rate increased from 0% to 40%"
❌ Bad example:
- Speaks in generalities: "Brand exposure should be increased"
- No query scenarios: "Do content optimization"
- No monitoring: "GEO is very important"
Common misconceptions / Red Flags — STOP
| Misconception | Correct approach |
|---|---|
| Equating GEO with traditional SEO | GEO targets "citation and attribution" for generative engines, emphasizing entity/content signals/authoritative citations |
| Believing that publishing a press release will get you recommended | It must be crawlable, structured, and consistently cited by third parties |
| Producing a plan without diagnosing the current state | Measure recall first, then prescribe |
| No monitoring metrics | Recall rate/accuracy/citation count must be defined |
Output quality check / Verification Checklist
- Target query scenarios have been clearly defined (GEO_TARGET)
- Current-state recall diagnosis has been completed (visibility score + gaps)
- Four categories of optimization actions have been produced: entity/content/citation/technical
- The output document has been generated to
docs/03-增长迭代/ - 2-3 follow-up skills have been recommended
⚠️ If any item does not pass → complete it before marking as done.