# Competitor Discovery

> 从 AI 回答文本中高精度识别目标品牌的竞品，支持知识库持久化和增量积累。当用户粘贴 AI 平台回答并要求识别竞品、分析某品牌竞争格局、从回答中提取竞品信息时触发。也适用于：持续追踪某一品牌的竞品变化、多平台 AI 回答批量竞品分析。

- Skill: `jacardl/competitor-discovery` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add jacardl/competitor-discovery`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jacardl/competitor-discovery/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Product & Planning
- Author: jacardl (https://skillmd.com/u/jacardl)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/jacardl/competitor-discovery

---


# Competitor Discovery

从 AI 回答文本中精准识别竞品，知识库长期积累。

**核心原则**：Precision First（宁可少识别，绝不误识别）、增量积累（不覆盖历史，证据累加）、任务隔离（一个目标品牌 = 一个独立知识库）、可验证（每条识别结果必须有原始文本证据支撑）。

## Skill Contract

- **Reads**: 用户提供的 AI 回答文本、目标品牌名、已有知识库文件、网络搜索数据（首次设置时自动触发）
- **Writes**: 竞品识别结果（输出给用户）、知识库文件（`memory/competitor-kb/{brand-slug}.md`）
- **Promotes**: 高置信度竞品结论 → `memory/decisions.md`；持续追踪的品牌 → `memory/hot-cache.md`

## 知识库文件

```
memory/competitor-kb/{brand-name-slug}.md
```

> KB 由 Skill 自动创建和维护，用户无需手动操作。

## 标准输入格式

```
品牌/产品名称（自由文本）
+ [可选] 一段或多段 AI 平台回答文本（大段文字粘贴）
```

> 首次设置目标品牌时，无需提供 AI 文本，Skill 会自动通过网络搜索触发首次竞品发现。
> 后续增量分析时，用户应提供 AI 回答文本。

## 工作流程

### Step 0：确认目标品牌（必须优先执行）

**检查 KB 是否已存在**：

- **已存在** → 加载已有 KB，进入 Step 3（等待用户提供 AI 文本）
- **不存在** → 执行初始化，然后**立即触发首次竞品发现**

---

### Step 1：KB 初始化 + 首次竞品发现（首次设置目标品牌时）

当用户指定目标品牌且 KB 不存在时：

1. 确认目标品牌标准名和产品名
2. 从 Wikipedia / 公开数据补充英文品牌名和英文产品名
3. 收集目标品牌已知别名、昵称、缩写
4. 创建 KB 文件（初始状态为空竞品列表）
5. **立即触发首次竞品发现**：通过网络搜索收集市场数据作为文本来源，打分识别竞品
6. 将识别结果写入 KB
7. 告知用户完成状态

---

### Step 2：Target 品牌信号屏蔽

在所有 AI 回答文本中，先剔除目标品牌自身的所有变体，避免误识别为竞品：

```
屏蔽词来源（从 KB 读取）：
- 标准品牌名 / 标准产品名
- 所有已知别名（中/英/拼音/缩写/港澳台叫法）
- 常见拼写错误容差变体
```

---

### Step 3：等待用户提供 AI 回答文本（KB 已存在时）

KB 已存在后，用户必须提供 AI 回答文本才能继续分析。

提示模板：
> "目标品牌已设置为【{品牌} · {产品}】。请粘贴一段 AI 平台的回答文本，我来识别其中的竞品。"

收到文本前，不得执行后续步骤。

---

### Step 4：竞品信号识别

对每篇 AI 回答独立打分：

| 信号层 | 分值 | 说明 |
|--------|------|------|
| L1 | +2 | 竞品关系强信号词：竞品、替代品、对标、直接竞争、同品类 |
| L2 | +1 | 竞品关系弱信号词：类似、相似、同类型、可替代 |
| L3 | +1 | 推荐列表中与其他品牌并列出现 |
| L4 | +1/次 | 多来源共现（同一品牌在 2+ 回答中出现） |
| L5 | +2 | Wikipedia / 已知库匹配 |

---

### Step 5：实体抽取 + 别名归一化

对每个竞品候选：
1. 提取标准品牌名（如：米其林）
2. 提取标准产品名（该品牌独有的具体产品系列/型号，如：e·PRIMACY）
3. 识别昵称/缩写/简称/变体（中文 + 英文）
4. 查询英文品牌名和英文产品名（Wikipedia）
5. 归一化为唯一实体 ID

> **重要规则**：产品名必须使用品牌独有的具体型号/系列名称，禁止使用"轮胎"、"汽车"等通用类目词作为产品名。

---

### Step 6：置信度评级

| 评级 | 条件 | 处理 |
|------|------|------|
| ⭐⭐⭐ 高 | ≥5 分 或 1条强直接竞品信号 | 直接输出，证据确凿 |
| ⭐⭐ 中 | 3-4 分 或 1条直接推荐证据 | 输出，标注 |
| ⭐ 待验证 | 1-2 分 | 写入等待验证区，不主动输出 |

---

### Step 7：新竞品 vs 老竞品区分

对比 KB 中已有竞品列表，将本次识别结果分为：

- **新增竞品**：不在 KB 已有列表中
- **已有竞品**：已存在于 KB 中，本次有新证据来源 → 更新时间 + 累加证据来源

输出时标注：
```
新增 ⭐⭐⭐ 岚图汽车 · 梦想家（首次出现在本知识库）
已有 ⭐⭐⭐ 广汽丰田 · 赛那（证据来源 +1，累计 3 条）
```

---

### Step 8：输出 + KB 更新

**输出**：按标准格式逐条呈现给用户，标注新/老

**KB 写入**：
- 已有竞品 → 更新时间 + 累加证据来源
- 新竞品 → 写入正式区，包含全部五个字段
- ⭐ 待验证竞品 → 写入等待验证区

---

## 标准输出格式

```markdown
## 竞品识别结果

**目标品牌**：{品牌名}
**产品名**：{产品名}
**分析时间**：{YYYY-MM-DD}
**本次新增**：{N} 个竞品 | **知识库累计**：{N} 个竞品

---

### {竞品品牌名} {竞品产品名} ⭐⭐⭐ [新增]

| 字段 | 内容 |
|------|------|
| **品牌名** | {标准品牌名} |
| **产品名** | {具体产品型号} |
| **昵称** | {常见昵称、简称、缩写、港澳/台湾叫法} |
| **英文品牌名** | {Official English Brand Name} |
| **英文产品名** | {Official English Product Name} |
| **置信度** | ⭐⭐⭐ 高（{N} 条证据）/[新增] |
| **证据来源** | {N} 条 |
```

标签含义：
- `[新增]` = KB 中首次出现
- `[已有]` = KB 中已存在，本次有新证据

---

## 知识库文件格式（写入时使用）

```markdown
# {品牌名} · {产品名} 竞品知识库

**创建时间**：{YYYY-MM-DD}
**最后更新**：{YYYY-MM-DD}
**累计竞品**：{N} 个

---

## 竞品列表

### ⭐⭐⭐ 高置信竞品

{竞品1}
- 品牌名：{品牌名}
- 产品名：{产品名}
- 昵称：{昵称}
- 英文品牌名：{英文品牌名}
- 英文产品名：{英文产品名}
- 置信度：⭐⭐⭐ 高
- 证据来源：{N} 条
- 最后更新：{YYYY-MM-DD}

{竞品2}
...

### ⭐⭐ 中置信竞品

[同上格式]

### ⭐ 待验证竞品

[同上格式]

---

## 目标品牌信息

- **品牌名**：{标准品牌名}
- **产品名**：{标准产品名}
- **英文品牌名**：{英文品牌名}
- **英文产品名**：{英文产品名}
- **已知别名**：{别名列表}
```

---

## 置信度升级规则

等待验证区竞品的后续升级逻辑：
- 同一竞品在再次分析中再次出现 → 累加证据，达到阈值后从"待验证"升入对应置信度等级
- 用户明确确认某待验证竞品 → 直接提升置信度
- 90天无新证据 → 降级或标注"需重新验证"

---

## 知识库查询输出格式

当用户要求"查看竞品库"、"显示知识库"时，按以下格式输出 KB 内容：

```markdown
## {品牌名} 竞品知识库

**累计竞品**：{N} 个
**高置信**：{N} 个 | **中置信**：{N} 个 | **待验证**：{N} 个
**最后更新**：{YYYY-MM-DD}

---

### ⭐⭐⭐ 高置信竞品（{N} 个）

[逐条列出，格式同 KB 文件格式]

### ⭐⭐ 中置信竞品（{N} 个）

[逐条列出]

### ⭐ 待验证竞品（{N} 个）

[逐条列出，标注证据来源数量]
```

---

## 不适用场景

- 用户提供的不是 AI 平台回答文本（结构化数据、网页文章、表格）→ 识别精度下降，建议用户说明来源
- 目标品牌所在行业无足够 AI 讨论积累 → 识别结果可能为空，建议用户提供更多文本

---

## 已知局限性

- 纯文本无结构化上下文时，部分识别依赖语义推断
- 小众品牌的别名可能无法从 Wikipedia 获取，需靠多来源验证补充
- 若识别结果为空，建议用户提供更多 AI 回答文本
