Agent skill

competitor-analysis

直接競合・間接競合を分析し、差別化ポイントを明確にする。新規プロダクト企画時、市場参入前の調査、既存プロダクトのポジショニング見直し時に使用。「競合を分析したい」「差別化ポイントを見つけたい」「市場調査」「既存の解決策を調べたい」などのリクエストで起動。

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/competitor-analysis

SKILL.md

競合分析

概要

対話とWebサーチを通じて競合を分析し、以下を生成する:

  1. 競合マップ(直接競合・間接競合)
  2. 競合比較表
  3. 差別化ポイント

ワークフロー

フェーズ0: 前提ドキュメントの読み込み

前のステップの出力ファイルを読み込む。

読み込み対象

  • docs/PROBLEM_DEFINITION.md
javascript
Read({ file_path: "docs/PROBLEM_DEFINITION.md" })

ファイルが存在する場合

読み込んだ内容から以下を抽出し、フェーズ1で活用:

  • ジョブ定義(分析対象のジョブとして使用)
  • ターゲットユーザー(競合のターゲットと比較)
  • ペイン(競合がどう解決しているか分析)

遷移条件: フェーズ1へ(対象ジョブの質問をスキップ可能)

ファイルが存在しない場合

フェーズ1でAskUserQuestionを使って対象ジョブを確認。

遷移条件: フェーズ1へ

フェーズ1: 対象領域の確認

分析対象を明確にする。

注: フェーズ0でPROBLEM_DEFINITION.mdを読み込み済みの場合、対象ジョブの質問はスキップし、既知の競合の確認のみ行う。

javascript
AskUserQuestion({
  questions: [
    {
      question: "どのような問題/ジョブに対する競合を分析しますか?",
      header: "対象ジョブ",
      options: [
        { label: "ジョブを入力", description: "ユーザーが達成したいこと" }
      ],
      multiSelect: false
    },
    {
      question: "すでに知っている競合はありますか?",
      header: "既知の競合",
      options: [
        { label: "ある", description: "競合名を入力" },
        { label: "ない", description: "これから調査する" }
      ],
      multiSelect: false
    }
  ]
})

遷移条件: 対象ジョブが明確になったらフェーズ2へ

フェーズ2: 競合の特定

直接競合と間接競合を洗い出す。

直接競合

同じ問題を同じ方法で解決しようとしているプロダクト。

javascript
WebSearch({
  query: "[対象領域] ツール 比較"
})

間接競合

同じ問題を異なる方法で解決しているもの。

考えるべき間接競合:

  • 手作業(ツールを使わない)
  • Excel/スプレッドシート
  • 汎用ツールの組み合わせ
  • 外注/コンサルティング
  • 社内で自作
javascript
AskUserQuestion({
  questions: [
    {
      question: "ユーザーは今、この問題をどうやって解決していますか?(ツールを使わない方法も含む)",
      header: "現状の解決策",
      options: [
        { label: "解決策を入力", description: "例: 手動でEXPLAIN分析、外部DBAに依頼" }
      ],
      multiSelect: false
    }
  ]
})

遷移条件: 競合が5-10個リストアップできたらフェーズ3へ

フェーズ3: 競合の調査

各競合について情報を収集する。

javascript
WebSearch({
  query: "[競合名] 機能 価格 レビュー"
})

収集する情報

項目 説明
概要 何をするプロダクトか
ターゲット 誰向けか
主要機能 コア機能は何か
価格 料金体系
強み ユーザーに評価されている点
弱み 不満や欠点

遷移条件: 主要競合3-5個の情報が揃ったらフェーズ4へ

フェーズ4: 競合比較分析

競合を軸に沿って比較する。

比較軸の設定

javascript
AskUserQuestion({
  questions: [
    {
      question: "ユーザーにとって重要な選択基準は何ですか?(3-5個)",
      header: "比較軸",
      options: [
        { label: "基準を入力", description: "例: 使いやすさ、価格、精度、対応DB" }
      ],
      multiSelect: false
    }
  ]
})

比較表の作成

競合 軸1 軸2 軸3 軸4
競合A ◎ △ ○ ×
競合B ○ ◎ △ ○
手作業 △ ◎ × ○

遷移条件: 比較表が完成したらフェーズ5へ

フェーズ5: 差別化ポイントの特定

競合と比較して、どこで勝てるかを明確にする。

質問パターン:

  • 「競合が弱い領域はどこか?」
  • 「ユーザーが競合に不満を持っている点は?」
  • 「競合がやっていないことは?」
  • 「自分たちの強みは何か?」
javascript
AskUserQuestion({
  questions: [
    {
      question: "競合と比較して、どこで差別化できそうですか?",
      header: "差別化",
      options: [
        { label: "差別化ポイントを入力", description: "競合より優れている点、競合にはない点" }
      ],
      multiSelect: false
    }
  ]
})

差別化の種類

種類 説明 例
機能差別化 競合にない機能 実測ベンチマーク
ターゲット差別化 異なるセグメント DBA不在チーム向け
価格差別化 価格帯が異なる 安価、従量課金
体験差別化 UXが優れている 30秒で結果が出る
統合差別化 既存ツールとの連携 GitHub PR連携

遷移条件: 差別化ポイントが1-3個明確になったらフェーズ6へ

フェーズ6: ポジショニングマップ

2軸で競合をマッピングする。

         高機能
            │
    ┌───────┼───────┐
    │   B   │   A   │
    │       │   ★   │  ← 自社
 高価 ──────┼────── 安価
    │   C   │   D   │
    │       │       │
    └───────┼───────┘
            │
         シンプル
javascript
AskUserQuestion({
  questions: [
    {
      question: "ポジショニングマップの2軸は何にしますか?",
      header: "軸の選択",
      options: [
        { label: "軸を入力", description: "例: 価格 vs 機能、専門性 vs 使いやすさ" }
      ],
      multiSelect: false
    }
  ]
})

遷移条件: マップが作成できたらフェーズ7へ

フェーズ7: ドキュメント生成

markdown
# 競合分析

## 対象ジョブ
[ユーザーが達成したいこと]

## 競合マップ

### 直接競合
| 競合名 | 概要 | ターゲット |
|--------|------|-----------|
| ... | ... | ... |

### 間接競合
| 解決策 | 概要 | 長所 | 短所 |
|--------|------|------|------|
| 手作業 | ... | ... | ... |

## 競合比較表

| 競合 | 価格 | 機能 | 使いやすさ | ... |
|------|------|------|-----------|-----|
| ... | ... | ... | ... | ... |

## 競合詳細分析

### [競合A]
- **概要**: ...
- **ターゲット**: ...
- **主要機能**: ...
- **価格**: ...
- **強み**: ...
- **弱み**: ...
- **ユーザーの声**: ...

## ポジショニングマップ

[Mermaid or ASCII図]

## 差別化ポイント

1. **[差別化1]**: ...
2. **[差別化2]**: ...

## 結論・示唆

- ...

出力ファイル

javascript
Write({
  file_path: "docs/COMPETITOR_ANALYSIS.md",
  content: competitorAnalysisContent
})

フェーズ8: セルフレビュー(サブエージェント)

生成したドキュメントのレビューをサブエージェントに委譲する。

javascript
Task({
  description: "競合分析レビュー",
  subagent_type: "general-purpose",
  prompt: `
以下の競合分析ドキュメントをレビューし、問題があれば修正してください。

## レビュー対象ファイル
- docs/COMPETITOR_ANALYSIS.md

## レビュー観点

1. **競合の網羅性**: 直接競合と間接競合が十分に洗い出されているか
2. **情報の正確性**: 各競合の情報が正確か、最新か
3. **比較の妥当性**: 比較軸がユーザーにとって重要な基準か
4. **差別化の明確さ**: 差別化ポイントが具体的で実現可能か
5. **ポジショニングの妥当性**: 選択した軸が適切か、マップが正確か

## 出力形式

1. 発見した問題のリスト(問題がない場合は「問題なし」)
2. 各問題の修正内容
3. 修正後のファイル更新(Editツールで修正)

問題がなくなるまでレビューと修正を繰り返すこと。
`
})

調査のコツ

情報源

  • 公式サイト
  • G2、Capterra等のレビューサイト
  • ProductHunt
  • Reddit、Hacker News
  • Twitter/Xでの言及
  • ユーザーインタビュー

避けるべきこと

  • 競合を過小評価する
  • 機能だけで比較する(体験も重要)
  • 直接競合だけ見る(間接競合を忘れない)
  • 一度調査して終わり(定期的に更新)

完了条件

  • 直接競合が3-5個特定されている
  • 間接競合が特定されている
  • 主要競合の詳細情報が収集されている
  • 比較表が作成されている
  • 差別化ポイントが1-3個明確になっている
  • COMPETITOR_ANALYSIS.mdが生成されている
  • セルフレビューが完了し、問題が解消されている

関連スキル

  • problem-definition: 競合分析の前に問題を定義する場合
  • slc-ideation: 競合分析後、差別化を活かしたアイデアを磨く場合

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results