lbj96347/compete
GitHub: lbj96347/compete
一款 Claude Code 插件,通过自动分析代码仓库识别产品并从多维度构建竞争对手情报数据库,生成包含可视化图表和优先级建议的交互式报告。
Stars: 7 | Forks: 0
# 竞争
`compete` 会分析当前代码仓库以识别您的产品,然后发现竞争对手,并构建一个涵盖产品、技术、业务、营销、SEO、社交媒体、客户、销售、招聘、融资和品牌定位的完整竞争情报数据库。它是一款 AI 产品研究助手——而不仅仅是一个对比生成器。
所有数据都会被收集为标准化的、**附带置信度标注**的 JSON 数据集,并渲染成一个独立的交互式 HTML 报告(即 **InsightKit** 报告),其中包含仪表盘、对比矩阵、能力雷达图、价格阶梯、定位散点图、SWOT 折叠面板和优先级建议。
## 核心亮点
- **感知代码仓库** — 在搜索网络之前,会先阅读您的代码、manifest 文件和 README 以识别产品。无需手动提供产品简介。
- **多维度情报** — 包含每个竞争对手的公司简介、定价、技术栈、社交媒体表现、营销和 SEO。
- **全面的置信度** — 每个字段都包含置信度分数、来源、出处以及明确的 `unknown` 回退值。任何结论都会展示其依据。在采取行动前请先核实。
- **标准化数据契约** — 所有阶段生成的 JSON 都会根据 [`skills/compete/schemas/`](skills/compete/schemas/) 中的 schema 进行验证,并通过 `entity_ref` 进行关联。可视化图表仅消费数据,不直接进行抓取。
- **独立报告** — 一个 `report.html` 文件(约 570 KB)可在任何浏览器中独立打开。仅有的外部依赖是 Chart.js 和 D3 的 CDN 资源包。
## 截图
以下是生成的 **InsightKit** 报告中七个标签页视图的演示(该代码仓库针对其自身的竞争环境进行了分析):
## 安装说明
`compete` 被打包为一个 **Claude Code 插件**。该插件捆绑了三个协同工作的组件:
- **`compete` 技能** (`skills/compete/`) — 包含工作流、脚本、schema 和报告模板;
- **`/compete` 斜杠命令** (`commands/compete.md`) — 一个驱动整个流水线的一键式入口;
- 插件清单 (`.claude-plugin/plugin.json`)。
### 推荐 — 从插件市场安装
```
/plugin marketplace add forthrighttech/compete
/plugin install compete
```
第一条命令将此代码仓库注册为插件市场(它内置了一个 [`.claude-plugin/marketplace.json`](.claude-plugin/marketplace.json));第二条命令用于安装插件。重启或开启一个新会话,并使用 `/plugin` 命令进行确认 — `compete` 应该会被列为已启用,`/compete` 命令应该可用,并且 `compete` 技能应该能通过 `/skills` 被发现。
### 手动安装 — 克隆到您的插件文件夹
```
git clone https://github.com/forthrighttech/compete.git \
~/.claude/plugins/compete
```
该插件必须位于根目录下包含 `.claude-plugin/plugin.json`(以及与其同级的 `skills/` 和 `commands/`)的目录中。Claude Code 会在下一次会话中发现它。
### 仅安装技能(不含插件)
如果您只想要技能而不需要斜杠命令,只需将技能子树克隆到您的技能文件夹中:
```
# Personal (所有项目)
git clone https://github.com/forthrighttech/compete.git /tmp/compete && \
cp -r /tmp/compete/skills/compete ~/.claude/skills/compete
# Project-scoped (单个 repository)
cp -r /tmp/compete/skills/compete \
/path/to/your-repo/.claude/skills/compete
```
该技能必须位于 `.../.claude/skills/compete/` 路径下,且其根目录下需包含 `SKILL.md`。使用 `/skills` 进行确认(它应该会显示为 `compete`)。您可以通过自然语言而不是 `/compete` 来触发它。
### 前置条件
- 需要具有网络访问权限(`WebSearch` / `WebFetch`)的 **Claude Code**,用于竞争对手发现和情报收集。
- 需要 **Python 3.9+** 来运行 [`skills/compete/scripts/`](skills/compete/scripts/) 中的辅助脚本。收集和渲染脚本仅使用标准库 — 无需执行 `pip install`。
## 使用说明
### `/compete` 命令(推荐)
在您想要分析的代码仓库中打开 Claude Code 并运行:
```
/compete
```
在不提供任何参数的情况下,阶段 1 会从当前代码仓库中**自动检测**产品,随后该命令会端到端运行整个流水线,并将报告写入 `./insightkit-output/` 目录。
您还可以传入一个**可选的种子** — 即竞争对手的 URL 或名称:
```
/compete https://www.crayon.co
/compete Klue
```
种子会作为一个已知的竞争对手候选者被纳入发现阶段,并用于锚定产品的市场/类别,而不是仅仅依赖于自动检测。种子会被转化为 slug 格式的 `entity_ref`(例如 `crayon`),进行分类,并与自动发现的竞争对手一起出现在名单中。
### 自然语言
如果您只安装了技能而未安装命令 — 或者仅仅是更喜欢使用纯自然语言 — 可以直接向 Claude 提问。该技能会在出现以下类似短语时被触发:
### 手动运行任意阶段
Claude 会端到端运行整个流水线。您也可以自行驱动任意阶段:
```
# 1. Product Intelligence — 分析 repo,编写 product.json
python skills/compete/scripts/analyze_repo.py --repo . --validate
# 2. Competitor Discovery — 规划搜索,然后规范化结果
python skills/compete/scripts/discover_competitors.py plan --product product.json
# (Claude 使用 WebSearch/WebFetch 运行计划 → candidates.json)
python skills/compete/scripts/discover_competitors.py build --product product.json \
--candidates candidates.json --validate
# 3. Intelligence Collection — 针对每个竞争对手的 company/pricing/tech/social/marketing/SEO
python skills/compete/scripts/collect_intelligence.py plan --competitors competitors.json
# (Claude 使用 WebSearch/WebFetch 运行计划 → findings.json)
python skills/compete/scripts/collect_intelligence.py build --competitors competitors.json \
--findings findings.json --validate
# 4 + 5. Knowledge Graph + Visualization — 合成 report.json 并渲染 report.html
python skills/compete/scripts/build_report.py --input-dir . --output-dir ./insightkit-output
# 添加 --open 以同时在 browser 中启动报告
```
打开结果:
```
open ./insightkit-output/report.html
```
## 输出示例
仓库内提供了一个完全渲染的示例,位于 [`insightkit-output/`](insightkit-output/) 中,因此您无需运行流水线即可查看报告:
| 文件 | 说明 |
| --- | --- |
| [`report.html`](insightkit-output/report.html) | 自包含的交互式报告 — 可在任何浏览器中打开。 |
| [`report.json`](insightkit-output/report.json) | 合成后的分析层(执行摘要、SWOT、定位、差距、建议),符合 schema 验证。 |
| [`screenshots/overview.png`](insightkit-output/screenshots/overview.png) | 截图画廊中展示的概览仪表盘。 |
该示例将本代码仓库(`compete`)与 **17 个被发现的竞争对手**进行了对比分析,并根据类型和竞争威胁对每一个进行了分类。该报告包含七个标签页视图:
- **概览 (Overview)** — 统计卡片、竞争对手分类和威胁分布甜甜圈图,以及执行摘要。
- **对比 (Comparison)** — 可排序的矩阵,每个维度的单元格均带有置信度条。
- **雷达图 (Radar)** — 六个透明的 0–100 能力坐标轴,展示自身与竞争对手的对比,支持切换数据系列。
- **定价 (Pricing)** — 入门价格柱状图以及套餐阶梯表。
- **定位 (Positioning)** — 基于 D3 的价格 × 规模散点图,气泡大小 = 相似度,颜色 = 威胁程度。
- **SWOT** — 针对每个竞争对手可展开的优势/劣势/机会/威胁分析。
- **机会 (Opportunities)** — 市场空白和优先级建议。
报告中的每一项判断都附有一个 `method` 注释,用于解释其背后的启发式逻辑。
## 工作原理
```
repo ──▶ analyze_repo.py ──▶ product.json
│
▼
discover_competitors.py ──▶ competitors.json
│
▼
collect_intelligence.py ──▶ companies/pricing/techstack/
│ social/marketing/seo.json
▼
build_report.py ──▶ report.json ──▶ report.html
```
标准化的 JSON 数据集是各个阶段之间的契约。每个数据集都会根据 [`skills/compete/schemas/`](skills/compete/schemas/) 中的 schema 进行验证;相关规则(附带置信度的字段、`unknown` 回退、`entity_ref` 关联)已在 [`skills/compete/references/data-schema.md`](skills/compete/references/data-schema.md) 中详细记录。
## 项目结构
| 路径 | 用途 |
| --- | --- |
| [`.claude-plugin/plugin.json`](.claude-plugin/plugin.json) | 插件清单(名称、版本、作者、许可证)。 |
| [`.claude-plugin/marketplace.json`](.claude-plugin/marketplace.json) | 用于一键执行 `/plugin install` 的市场条目。 |
| [`commands/compete.md`](commands/compete.md) | `/compete` 斜杠命令(包含可选的种子参数)。 |
| [`skills/compete/SKILL.md`](skills/compete/SKILL.md) | 技能定义、触发关键词以及高级工作流。 |
| [`PRD.md`](PRD.md) | 完整的研究范围和产品愿景。 |
| [`skills/compete/references/`](skills/compete/references/) | 针对流水线各个阶段的详细说明。 |
| [`skills/compete/scripts/`](skills/compete/scripts/) | 用于收集、标准化和渲染的 Python 辅助脚本。 |
| [`skills/compete/templates/`](skills/compete/templates/) | 自包含的 `report.html` 模板。 |
| [`skills/compete/schemas/`](skills/compete/schemas/) | 针对每个标准化数据集的 JSON schema。 |
| [`insightkit-output/`](insightkit-output/) | 渲染后的报告示例。 |
## 路线图
`compete` v1 版本发布了完整的**一键式**流水线:产品智能 → 发现 → 多维度收集 → 知识图谱 → 交互式报告。以下功能被刻意推迟到了 **v2** 版本。
### 每个维度的更深层情报
v1 版本收集了覆盖所有维度的扎实且广度优先的画像。v2 版本将向深度拓展:
- **深度 SEO** — 关键词领域及排名、反向链接图谱与权重、内容差距分析、SERP 特性占有率以及流量趋势估算(超越了 v1 版本中对元数据/结构的快照)。
- **深度社交媒体** — 参与度和粉丝增长时间序列、声音份额、情感倾向,以及各个竞争对手的渠道组合细分。
- **招聘情报** — 岗位空缺追踪、团队增长和组织架构信号,以及由每个竞争对手的招聘动向所暗示的战略布局。
- **销售情报** — 上市策略(PLG 与销售主导)、漏斗与打包信号、赢/输单主题,以及目标细分市场推断。
### `/watch-competitors` — 持续监控
v1 生成的是一时间点的报告。v2 将增加一种监控模式,按照预定计划重新运行流水线并提取**差异(diffs)** — 从而将 InsightKit 从一次性的报告生成器转变为一个持续性的竞争情报平台。它可以按日或按周追踪以下内容:
- 定价变动
- 新功能
- 新博客文章
- 招聘趋势
- GitHub 发布
- 社交媒体活动
- 融资新闻
- SEO 变化
请参阅 [`PRD.md`](PRD.md) 了解完整的 v1 研究范围及 v2 的愿景。
## 许可证
[MIT](LICENSE) © 2026 forthrighttech
Overview — stat cards, classification & threat doughnuts, and the executive summary. |
Comparison — sortable matrix with per-cell confidence bars across every dimension. |
Radar — six 0–100 capability axes, self vs. competitors, with toggleable series. |
Pricing — entry-price bar chart plus a free/enterprise plan-ladder table. |
Positioning — D3 scatter of price × scale; bubble size = similarity, color = threat. |
SWOT — competitors ranked by overall capability, each tagged with threat level. |
SWOT (expanded) — side-by-side strengths/weaknesses/opportunities/threats with a capability breakdown. |
Opportunities — market-gap whitespace and prioritized recommendations. |
标签:AI助手, Claude CLI, 商业智能, 市场调研, 竞品分析, 逆向工具