
competitor-analysis
by skanehira
my dotfiles
SKILL.md
name: competitor-analysis description: 直接競合・間接競合を分析し、差別化ポイントを明確にする。新規プロダクト企画時、市場参入前の調査、既存プロダクトのポジショニング見直し時に使用。「競合を分析したい」「差別化ポイントを見つけたい」「市場調査」「既存の解決策を調べたい」などのリクエストで起動。
競合分析
概要
対話とWebサーチを通じて競合を分析し、以下を生成する:
- 競合マップ(直接競合・間接競合)
- 競合比較表
- 差別化ポイント
ワークフロー
フェーズ0: 前提ドキュメントの読み込み
前のステップの出力ファイルを読み込む。
読み込み対象
docs/PROBLEM_DEFINITION.md
Read({ file_path: "docs/PROBLEM_DEFINITION.md" })
ファイルが存在する場合
読み込んだ内容から以下を抽出し、フェーズ1で活用:
- ジョブ定義(分析対象のジョブとして使用)
- ターゲットユーザー(競合のターゲットと比較)
- ペイン(競合がどう解決しているか分析)
遷移条件: フェーズ1へ(対象ジョブの質問をスキップ可能)
ファイルが存在しない場合
フェーズ1でAskUserQuestionを使って対象ジョブを確認。
遷移条件: フェーズ1へ
フェーズ1: 対象領域の確認
分析対象を明確にする。
注: フェーズ0でPROBLEM_DEFINITION.mdを読み込み済みの場合、対象ジョブの質問はスキップし、既知の競合の確認のみ行う。
AskUserQuestion({
questions: [
{
question: "どのような問題/ジョブに対する競合を分析しますか?",
header: "対象ジョブ",
options: [
{ label: "ジョブを入力", description: "ユーザーが達成したいこと" }
],
multiSelect: false
},
{
question: "すでに知っている競合はありますか?",
header: "既知の競合",
options: [
{ label: "ある", description: "競合名を入力" },
{ label: "ない", description: "これから調査する" }
],
multiSelect: false
}
]
})
遷移条件: 対象ジョブが明確になったらフェーズ2へ
フェーズ2: 競合の特定
直接競合と間接競合を洗い出す。
直接競合
同じ問題を同じ方法で解決しようとしているプロダクト。
WebSearch({
query: "[対象領域] ツール 比較"
})
間接競合
同じ問題を異なる方法で解決しているもの。
考えるべき間接競合:
- 手作業(ツールを使わない)
- Excel/スプレッドシート
- 汎用ツールの組み合わせ
- 外注/コンサルティング
- 社内で自作
AskUserQuestion({
questions: [
{
question: "ユーザーは今、この問題をどうやって解決していますか?(ツールを使わない方法も含む)",
header: "現状の解決策",
options: [
{ label: "解決策を入力", description: "例: 手動でEXPLAIN分析、外部DBAに依頼" }
],
multiSelect: false
}
]
})
遷移条件: 競合が5-10個リストアップできたらフェーズ3へ
フェーズ3: 競合の調査
各競合について情報を収集する。
WebSearch({
query: "[競合名] 機能 価格 レビュー"
})
収集する情報
| 項目 | 説明 |
|---|---|
| 概要 | 何をするプロダクトか |
| ターゲット | 誰向けか |
| 主要機能 | コア機能は何か |
| 価格 | 料金体系 |
| 強み | ユーザーに評価されている点 |
| 弱み | 不満や欠点 |
遷移条件: 主要競合3-5個の情報が揃ったらフェーズ4へ
フェーズ4: 競合比較分析
競合を軸に沿って比較する。
比較軸の設定
AskUserQuestion({
questions: [
{
question: "ユーザーにとって重要な選択基準は何ですか?(3-5個)",
header: "比較軸",
options: [
{ label: "基準を入力", description: "例: 使いやすさ、価格、精度、対応DB" }
],
multiSelect: false
}
]
})
比較表の作成
| 競合 | 軸1 | 軸2 | 軸3 | 軸4 |
|---|---|---|---|---|
| 競合A | ◎ | △ | ○ | × |
| 競合B | ○ | ◎ | △ | ○ |
| 手作業 | △ | ◎ | × | ○ |
遷移条件: 比較表が完成したらフェーズ5へ
フェーズ5: 差別化ポイントの特定
競合と比較して、どこで勝てるかを明確にする。
質問パターン:
- 「競合が弱い領域はどこか?」
- 「ユーザーが競合に不満を持っている点は?」
- 「競合がやっていないことは?」
- 「自分たちの強みは何か?」
AskUserQuestion({
questions: [
{
question: "競合と比較して、どこで差別化できそうですか?",
header: "差別化",
options: [
{ label: "差別化ポイントを入力", description: "競合より優れている点、競合にはない点" }
],
multiSelect: false
}
]
})
差別化の種類
| 種類 | 説明 | 例 |
|---|---|---|
| 機能差別化 | 競合にない機能 | 実測ベンチマーク |
| ターゲット差別化 | 異なるセグメント | DBA不在チーム向け |
| 価格差別化 | 価格帯が異なる | 安価、従量課金 |
| 体験差別化 | UXが優れている | 30秒で結果が出る |
| 統合差別化 | 既存ツールとの連携 | GitHub PR連携 |
遷移条件: 差別化ポイントが1-3個明確になったらフェーズ6へ
フェーズ6: ポジショニングマップ
2軸で競合をマッピングする。
高機能
│
┌───────┼───────┐
│ B │ A │
│ │ ★ │ ← 自社
高価 ──────┼────── 安価
│ C │ D │
│ │ │
└───────┼───────┘
│
シンプル
AskUserQuestion({
questions: [
{
question: "ポジショニングマップの2軸は何にしますか?",
header: "軸の選択",
options: [
{ label: "軸を入力", description: "例: 価格 vs 機能、専門性 vs 使いやすさ" }
],
multiSelect: false
}
]
})
遷移条件: マップが作成できたらフェーズ7へ
フェーズ7: ドキュメント生成
# 競合分析
## 対象ジョブ
[ユーザーが達成したいこと]
## 競合マップ
### 直接競合
| 競合名 | 概要 | ターゲット |
|--------|------|-----------|
| ... | ... | ... |
### 間接競合
| 解決策 | 概要 | 長所 | 短所 |
|--------|------|------|------|
| 手作業 | ... | ... | ... |
## 競合比較表
| 競合 | 価格 | 機能 | 使いやすさ | ... |
|------|------|------|-----------|-----|
| ... | ... | ... | ... | ... |
## 競合詳細分析
### [競合A]
- **概要**: ...
- **ターゲット**: ...
- **主要機能**: ...
- **価格**: ...
- **強み**: ...
- **弱み**: ...
- **ユーザーの声**: ...
## ポジショニングマップ
[Mermaid or ASCII図]
## 差別化ポイント
1. **[差別化1]**: ...
2. **[差別化2]**: ...
## 結論・示唆
- ...
出力ファイル
Write({
file_path: "docs/COMPETITOR_ANALYSIS.md",
content: competitorAnalysisContent
})
フェーズ8: セルフレビュー(サブエージェント)
生成したドキュメントのレビューをサブエージェントに委譲する。
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: 競合分析後、差別化を活かしたアイデアを磨く場合
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon