Back to skills
SKILL.md
Research Gap Analyzer
ASecurityプロジェクト プロジェクトの機能(docs/features/)とリサーチ(docs/research/)文書を分析し、高収益/高LTV/低離脱達成のためのリサーチギャップを識別し、欠落したP0/P1リサーチを自動実行する。
- 666 stars
- 0 votes
- 0 copies
- 1 view
- Added September 2, 2026
Security analysis
100/100npx -y skills add majiayu000/claude-skill-registry --skill research-gap-analyzer --agent claude-codeAre you the author of Research Gap Analyzer?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/majiayu000-research-gap-analyzer-claude-skill-registry)---
name: research-gap-analyzer
description: プロジェクト プロジェクトの機能(docs/features/)とリサーチ(docs/research/)文書を分析し、高収益/高LTV/低離脱達成のためのリサーチギャップを識別し、欠落したP0/P1リサーチを自動実行する。
doc_contract:
review_interval_days: 90
---
# Research Gap Analyzer
プロジェクト プロジェクトの機能文書と既存リサーチを**ランタイムスキャン**し、高収益、高LTV、低離脱率達成に必要なリサーチギャップを自動識別するスキルである。
## 核心原則
### SSOT (Single Source of Truth)
```
┌─────────────────────────────────────────────────────────────┐
│ SSOT 構造 (v2.0 - Frontmatter ベース) │
├─────────────────────────────────────────────────────────────┤
│ docs/research/*.md Frontmatter → リサーチメタデータ (SSOT) │
│ スキーマ: docs/_schemas/ │
│ research-frontmatter. │
│ schema.json │
│ docs/_manifests/research-manifest.json │
│ → Frontmatter から自動 │
│ 生成されたキャッシュ (読取専用)│
│ assets/research-status.json → リサーチ作業状態 (SSOT) │
│ references/kpi-targets.md → KPI 定義 + Feature マッピング │
│ references/critical-gaps.md → クリティカルギャップリスト │
│ docs/features/ → 動的スキャン (SPEC 読込) │
│ docs/research/README.md → 文書リスト (参照用) │
└─────────────────────────────────────────────────────────────┘
⚠️ 禁止: 同じデータを複数ファイルにハードコーディングしない。
- Feature Tier は kpi-targets.md でのみ定義
- リサーチ状態は assets/research-status.json でのみ管理
- リサーチメタデータは各文書の Frontmatter でのみ定義
- Manifest は直接修正しない (スクリプトで自動生成)
- README.md は文書リストのみ、状態管理 X
```
### 批判的思考 5段階
1. **根本原因把握**: なぜこのギャップが発生したのか?
2. **完全性検証**: このリサーチが KPI 達成に十分か?
3. **業界標準比較**: Duolingo/Speak/ELSA はどうしているか?
4. **代替案検討**: 他のアプローチはないか?
5. **ROI 分析**: 効率性の観点から実行可能か?
---
## 核心 KPI 目標
> 詳細: [references/kpi-targets.md](references/kpi-targets.md)
| KPI | 目標値 | 現在のリサーチ状態 | ギャップ深刻度 |
| --------------------- | ------ | ------------------ | :------------: |
| D7 リテンション | 25%+ | ✅ 十分 | - |
| 有料転換率 | 8%+ | ✅ 過剰供給 | - |
| 月間離脱率 | <8% | 🔴 深刻なギャップ | P0 |
| LTV | $30+ | 🔴 深刻なギャップ | P0 |
| AI Max アップグレード | 20%+ | 🟡 部分的不足 | P1 |
---
## 識別されたクリティカルギャップ (2026-01-19 分析基準)
> 詳細: [references/critical-gaps.md](references/critical-gaps.md)
### 🔴 P0 ギャップ (即座にリサーチ必要)
| # | ギャップ領域 | KPI 影響 | 現況 | 必要なリサーチ |
| :-: | ---------------------------- | ----------------- | -------------------------- | ------------------------------------------ |
| 1 | **Churn 防止プログラム設計** | 月間離脱率 | 概念のみで実行計画なし | 再活性化キャンペーン、離脱信号検出 |
| 2 | **LTV 改善パス** | LTV $30+ | 計算式のみで改善戦略なし | サブスク期間延長、クロスセル戦略 |
| 3 | **AI コスト管理 & 価格戦略** | AI アップグレード | 心理学のみでコスト分析なし | トークン/クレジット システム、マージン分析 |
| 4 | **ペイウォール UX 最適化** | 有料転換率 | 価格のみで UX 設計なし | 参入障壁設計、転換ポイント |
| 5 | **学習動機再活性化** | D7 リテンション | プッシュのみで信号検出なし | D7/D14 閾値、最後の信号 |
### 🟡 P1 ギャップ (1ヶ月以内にリサーチ必要)
| # | ギャップ領域 | KPI 影響 | 現況 |
| :-: | ----------------------------- | --------------- | -------------------------------- |
| 6 | FTUE 収益化ポイント | 有料転換率 | D1~D7 最適転換ポイント未分析 |
| 7 | 習慣形成周期 | D7 リテンション | 最適学習頻度/周期データ不足 |
| 8 | Duolingo Max 対応シナリオ | 差別化 | 競合他社韓国語サポート時戦略なし |
| 9 | 日本人価格心理 | Japan-First | 月/年/生涯転換率差異未分析 |
| 10 | AI コンテンツパイプライン ROI | 開発効率性 | 検収時間 & 品質測定データなし |
---
## Workflow
### Step 1: ランタイムスキャン
**docs/features/** と **docs/research/** を直接スキャンする。
```python
# スキャン対象
features = scan("docs/features/*/PRD-*.md") # 28個 Feature
research = scan("docs/research/*.md") # 99個 リサーチ
```
**重要**: ハードコーディングされた Feature リストを使用せず、常に最新状態をスキャンする。
### Step 2: KPI-Feature-Research マッピング
**references/kpi-targets.md** を参照して KPI 別必要リサーチを導出する。
```yaml
# 例示: D7 リテンション KPI
d7_retention:
target: 25%+
primary_features: [004, 005, 006, 023]
required_research:
- FTUE 最適化 (ftue, onboarding, first-time)
- 習慣形成 (habit, streak, routine)
- プッシュ通知 (notification, push, reminder)
```
### Step 3: ギャップ識別 (批判的分析)
各リサーチの**品質**を評価する:
| 状態 | アイコン | 判断基準 |
| ------------ | :------: | -------------------------------- |
| なし | 🔴 | 該当主題ファイル 0個 |
| 概念のみ存在 | 🟡 | ファイルあるが Action Items なし |
| 完了 | ✅ | ファイル + 実行計画 + データ根拠 |
| 更新必要 | ⚪ | 修正日 > 180日 |
**品質チェックリスト**:
1. Executive Summary 存在?
2. 定量的データ含む? (% 数値、ベンチマーク)
3. Action Items 具体的? (誰が、何を、いつ)
4. Japan-First 戦略と一致?
### Step 4: 優先順位決定
> 詳細: [references/critical-gaps.md](references/critical-gaps.md)
**ROI 基準優先順位**:
```
優先順位スコア = (KPI 影響度 × 3) + (実装容易性 × 2) + (Japan-First 適合性 × 1)
```
| 優先順位 | 基準 | 例 |
| :------: | ------------------- | ---------------------- |
| P0 | 収益/生存に直接影響 | Churn 防止、LTV 改善 |
| P1 | 6ヶ月以内に必要 | 差別化、価格最適化 |
| P2 | 1年以内に必要 | グローバル展開、高機能 |
### Step 5: 状態登録 + ディープリサーチ実行
> ⚠️ **重要**: P0 ギャップ発見時 **ユーザー確認なしに即座** にディープリサーチを実行する。
#### 5.1 状態ファイルに作業登録
ディープリサーチ開始**前**に `assets/research-status.json`に作業を登録する:
```json
{
"job_id": "{topic}-{year}",
"topic": "{リサーチ主題}",
"phase": "processing",
"provider": "openai|google",
"created_at": "{現在時間}",
"started_at": "{現在時間}",
"ttl_expires_at": "{現在時間 + 24h}",
"kpi_target": "{関連 KPI}",
"priority": "P0|P1|P2"
}
```
> スキーマ: [references/research-status-schema.json](references/research-status-schema.json)
#### 5.2 ディープリサーチ実行
**Provider 選択ガイド**:
| Provider | 用途 | コスト | 使用法 |
| -------- | ---------------------- | ------ | --------------------------------- |
| `openai` | 深層分析、長文レポート | 高 | `deep-research --provider openai` |
| `google` | 最新データ、幅広い検索 | 中 | `deep-research --provider google` |
**リサーチ要求テンプレート**:
```markdown
## リサーチ要求: {gap_topic}
### 目標
プロジェクト アプリの {kpi_target} 達成
### コンテキスト
- Japan-First 戦略 (日本市場優先)
- 効率性重視 (自動化/低コスト必須)
- AI コンテンツ 100% (著作権 Free)
### 必須含む内容
1. 定量的データ (% 数値、ベンチマーク)
2. 競合社比較 (Duolingo, Speak, ELSA)
3. 実行可能な Action Items
4. 日本市場特殊性反映
### 出力形式
- 言語: 韓国語
- 形式: マークダウン
- 長さ: 1500-3000 単語
```
### Step 6: 結果保存 + 自動メタデータ生成
> ⚠️ **v5.0 変更**: AI が文書保存時に **Frontmatter を自動生成**し **スクリプトを自動実行**する。
> 人の手動作業が不要になるよう完全自動化される。
#### 6.1 ファイル保存 + 自動 Frontmatter 生成
**ファイル命名規則**:
```
{topic}-{subtopic}-{year}.md
例: churn-prevention-program-design-2026.md
```
**自動 Frontmatter 生成ロジック**:
AI がディープリサーチ結果を保存する際、文書内容を分析して **自動的に Frontmatter を生成**する:
```python
# AI メタデータ抽出ロジック (概念的)
def extract_metadata(document_content, topic, kpi_target):
# 1. research_id 生成: R-{YYYYMMDD}-{順番}
research_id = generate_research_id()
# 2. category 自動決定
category = classify_category(document_content)
# 規則: 競合社言及多 → competitor
# 価格/収益主題 → monetization
# 技術詳細 → technical
# 既定値 → strategy
# 3. kpi_relevance: kpi_target + 本文キーワード分析
kpi_relevance = detect_kpi_keywords(document_content, kpi_target)
# 4. feature_domains: 本文から機能キーワード抽出
feature_domains = extract_feature_keywords(document_content)
# 5. competitors: 本文から競合社名抽出
competitors = extract_competitor_names(document_content)
# 6. scanner.keywords: 核心キーワード抽出 (上位 5-10個)
keywords = extract_top_keywords(document_content)
# 7. scanner.priority: kpi_relevance + category で決定
priority = calculate_priority(kpi_relevance, category)
# 8. quality 評価
quality = assess_document_quality(document_content)
# 9. 検索メタデータ抽出 (全てのリサーチ文書に適用)
# 9.1 target_apps: 本文からアプリ名抽出
target_apps = extract_app_names(document_content)
# 9.2 target_user_levels: レベルキーワード抽出
target_user_levels = extract_user_levels(document_content)
# 9.3 pain_points: ペインポイントカテゴリキーワードマッチング
pain_points = extract_pain_point_categories(document_content)
# 9.4 learning_topics: 韓国語学習主題抽出
learning_topics = extract_learning_topics(document_content)
# 9.5 actionability: 実行可能性自動判断
actionability = determine_actionability(document_content)
return frontmatter_dict
```
**Frontmatter 自動生成規則**:
| フィールド | 自動決定方法 |
| ------------------------ | --------------------------------------------------------------------------- |
| `research_id` | `R-{今日日付}-{既存最大+1}` |
| `title` | 文書最初の `#` ヘッダー |
| `category` | 本文主題分析 (下記表参照) |
| `kpi_relevance` | ディープリサーチ要求の `kpi_target` + 本文 KPI キーワード |
| `feature_domains` | 本文から機能キーワードマッチング |
| `competitors` | 本文から会社名抽出 |
| `scanner.priority` | `category` + `kpi_relevance`で計算 |
| `scanner.keywords` | 本文 TF-IDF 上位 5-10個 |
| `quality.actionable` | Action Items セクション存在/品質 |
| `quality.has_data` | 数字/% 含有有無 |
| `quality.has_actions` | `- [ ]` または "Action" セクション存在 |
| `ai_confidence` | ディープリサーチソース品質により 0.6-0.9 |
| **`target_apps`** | 本文からアプリ名抽出 (デュオリンゴ、Duolingo、TTMIK 等キーワードマッチング) |
| **`target_user_levels`** | レベルキーワード抽出 (初級、中級、beginner、intermediate 等) |
| **`pain_points`** | ペインポイントカテゴリキーワードマッチング (コンテンツ、UX、価格等) |
| **`learning_topics`** | 韓国語学習主題抽出 (発音、文法、語彙、会話等) |
| **`actionability`** | Action Items + 緊急性キーワードで自動判断 |
**category 自動分類規則**:
| 本文特徴 | category |
| ------------------------------- | -------------- |
| 競合社3個以上比較 | `competitor` |
| 市場規模/トレンド | `market` |
| ユーザーインタビュー/アンケート | `user` |
| 新技術/革新 | `innovation` |
| 価格/収益/コスト | `monetization` |
| 法律/規制/GDPR | `legal` |
| 技術実装詳細 | `technical` |
| 日本市場特化 | `localization` |
| 既定値 | `strategy` |
**検索メタデータ自動抽出規則** (全てのリサーチ文書に適用):
> ℹ️ **適用範囲**: 全てのリサーチ文書に自動適用して AI/人間検索利便性向上
| フィールド | 抽出方法 | キーワード例示 |
| ---------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **target_apps** | アプリ名キーワードマッチング | "デュオリンゴ"、"Duolingo"、"TTMIK"、"世宗学堂"、"Speak"、"ELSA"、"Memrise" 等 |
| **target_user_levels** | レベルキーワード抽出 | "初級"、"入門"、"beginner"、"中級"、"intermediate"、"高級"、"advanced" |
| **pain_points** | ペインポイントカテゴリキーワード | "コンテンツ品質"、"UX/UI 不便"、"価格不満"、"学習設計"、"動機付け"、"技術エラー" |
| **learning_topics** | 韓国語学習主題キーワード | "発音"、"文法"、"語彙"、"会話"、"聞き取り"、"書き込み"、"敬語"、"タメ口"、"方言" |
| **actionability** | Action Items + 緊急性 | Action Items 存在 + "即座"、"速い" → `immediate` <br> "検討必要" → `review_needed` <br> "長期" → `long_term` |
**抽出ロジック詳細 (Python 概念的)**:
```python
def extract_app_names(content):
"""本文からアプリ名抽出"""
app_keywords = {
"duolingo": ["デュオリンゴ", "duolingo", "デュオリンゴ"],
"ttmik": ["TTMIK", "Talk To Me In Korean", "トークトゥミーインコリアン"],
"sejong": ["世宗学堂", "sejong", "世宗韓国語"],
"speak": ["Speak", "スピーク"],
"elsa": ["ELSA", "エルサ"],
# ... 其他アプリ
}
found = []
for app, keywords in app_keywords.items():
if any(kw.lower() in content.lower() for kw in keywords):
found.append(app)
return found
def extract_user_levels(content):
"""本文からユーザーレベル推定"""
level_keywords = {
"beginner": ["初級", "入門", "beginner", "初心者", "A1", "A2"],
"elementary": ["初中級", "elementary", "B1"],
"intermediate": ["中級", "intermediate", "B2"],
"advanced": ["高級", "advanced", "C1", "C2", "ネイティブ級"]
}
found = []
for level, keywords in level_keywords.items():
if any(kw in content for kw in keywords):
found.append(level)
return found
def extract_pain_point_categories(content):
"""ペインポイントカテゴリ自動分類"""
category_keywords = {
"content": ["コンテンツ", "内容", "資料", "教材", "品質"],
"learning_design": ["学習設計", "カリキュラム", "進度", "難易度"],
"ux_ui": ["UX", "UI", "インターフェース", "デザイン", "画面", "操作"],
"motivation": ["動機付け", "面白さ", "退屈", "興味", "習慣"],
"technical": ["バグ", "エラー", "遅い", "クラッシュ", "エラー"],
"pricing": ["価格", "高い", "サブスク", "無料", "有料"],
"social": ["ソーシャル", "友達", "コミュニティ", "リーダーボード", "競争"]
}
found = []
for category, keywords in category_keywords.items():
if any(kw in content for kw in keywords):
found.append(category)
return found
def extract_learning_topics(content):
"""韓国語学習主題抽出"""
topics = ["発音", "文法", "語彙", "会話", "読み", "書き込み", "聞き取り",
"敬語", "タメ口", "方言", "スラング", "文化文脈",
"ハングル字母", "パッチム", "発音変化"]
return [topic for topic in topics if topic in content]
def determine_actionability(content):
"""実行可能性自動判断"""
has_actions = "## Action Items" in content or "- [ ]" in content
# 緊急性キーワードチェック
immediate_keywords = ["即座", "緊急", "速く", "critical", "P0"]
review_keywords = ["検討必要", "考慮", "分析必要", "P1"]
long_term_keywords = ["長期", "ロードマップ", "未来", "P2"]
if any(kw in content for kw in immediate_keywords) and has_actions:
return ["immediate"]
elif any(kw in content for kw in review_keywords):
return ["review_needed"]
elif any(kw in content for kw in long_term_keywords):
return ["long_term"]
else:
return ["reference_only"]
```
**Frontmatter 生成例示**:
```yaml
---
research_id: R-20260206-001
title: 'Duolingo アプリストアレビューペインポイント分析 2026'
category: user
kpi_relevance:
- monthly_churn
- d7_retention
feature_domains:
- content
- retention
competitors:
- duolingo
target_apps:
- duolingo
target_user_levels:
- intermediate
- advanced
pain_points:
- content
- learning_design
- motivation
learning_topics:
- 発音
- 文法
- 会話
actionability:
- immediate
- review_needed
scanner:
scannable: true
priority: P0
expected_insights:
- feature_gap
- user_behavior
keywords:
- duolingo
- intermediate
- 発音
- コンテンツ
- ペインポイント
quality:
actionable: high
source_reliability: A
has_data: true
has_actions: true
created_at: 2026-02-06
created_by: research-gap-analyzer
ai_confidence: 0.85
schema_version: 3
---
```
**必須本文セクション**:
1. Executive Summary (100単語以内)
2. 核心インサイト (3-5個、定量データ含む)
3. 競合社ベンチマーク
4. Action Items (優先順位 + 予想工数)
5. 出所 (信頼度表示: A/B/C級)
#### 6.2 状態ファイル更新
ディープリサーチ完了後 `assets/research-status.json`の該当作業を更新:
```json
{
"phase": "completed",
"doc_path": "docs/research/{ファイル名}.md",
"completed_at": "{完了時間}"
}
```
**失敗時**:
```json
{
"phase": "failed",
"last_error": "{エラーメッセージ}",
"attempt": 2
}
```
#### 6.3 Manifest 自動再生成 (Bash 実行)
> ⚠️ **自動化**: AI が文書保存後 **Bash ツールでスクリプトを直接実行**する。
**自動実行手順**:
```bash
# AI が自動的に実行 (人間介入不要)
Bash: python scripts/generate_research_manifest.py
```
**AI 行動指針**:
1. Step 6.1 で Frontmatter 含む文書を Write ツールで保存
2. **即座** に Bash ツールで `python scripts/generate_research_manifest.py` 実行
3. スクリプト出力で成功有無確認:
- ✅ "Generation Complete" → 正常
- ❌ エラー発生 → Frontmatter 検証後再試行
**検証 (選択的)**:
```bash
# Frontmatter スキーマ検証 (問題発生時のみ)
Bash: python scripts/validate_research_frontmatter.py
```
---
**Frontmatter フィールドレファレンス** (AI 自動生成用):
```yaml
---
research_id: R-{YYYYMMDD}-{NNN} # 必須、固有 ID (例: R-20260126-001)
title: '{文書タイトル}' # 必須 - 最初の # ヘッダーから抽出
category: strategy # 必須 - 9個 enum (自動分類)
kpi_relevance: # 関連 KPI (kpi_target + 本文分析)
- ltv
- monthly_churn
feature_domains: # 関連機能ドメイン (本文キーワード)
- retention
- monetization
competitors: # 言及された競合社 (本文から抽出)
- duolingo
- speak
scanner: # market-intelligence-scanner用
scannable: true
priority: P1 # P0|P1|P2|P3 (自動計算)
expected_insights:
- feature_gap
- pricing
keywords: # 本文核心キーワード 5-10個
- churn
- retention
quality: # 文書品質 (自動評価)
actionable: high # high|medium|low
source_reliability: B # A|B|C (ディープリサーチソース基準)
has_data: true # 数字/% 含有有無
has_actions: true # Action Items 存在有無
created_at: 2026-01-26 # YYYY-MM-DD (今日日付)
created_by: research-gap-analyzer
ai_confidence: 0.85 # 0.6~0.9 (ソース品質基準)
schema_version: 1
---
```
**category 有効値**: `competitor`, `market`, `user`, `innovation`, `strategy`, `technical`, `legal`, `monetization`, `localization`
**kpi_relevance 有効値**: `d7_retention`, `paid_conversion`, `monthly_churn`, `ltv`, `ai_max_upgrade`, `cac`
**scanner.priority 自動計算**:
- **P0**: 競合社分析 + P0 KPI(monthly_churn, ltv, paid_conversion) 関連
- **P1**: 競合社分析または P0 KPI 関連
- **P2**: P1 KPI(d7_retention, ai_max_upgrade) 関連
- **P3**: 其他
> スキーマ: [docs/\_schemas/research-frontmatter.schema.json](../../../docs/_schemas/research-frontmatter.schema.json)
### Step 7: README.md 自動インデックス更新
> ⚠️ **自動化**: AI が **Read → 挿入位置計算 → Edit** ツールで自動更新する。
**自動実行手順**:
```python
# AI 自動実行ロジック
1. Read("docs/research/README.md") # 現在リスト読取
2. アルファベット順挿入位置計算
3. Edit()で新項目挿入
```
**AI 行動指針**:
1. `docs/research/README.md` 読取
2. `## List of Documents` セクション検索
3. **アルファベット順挿入位置** 自動計算:
```python
# 新ファイル名: "churn-reactivation-campaign-2026.md"
# 既存リストで "churn-p..." 次、"churn-r..." 前の位置検索
for i, line in enumerate(lines):
if line.startswith("- [x]"):
existing_filename = extract_filename(line)
if new_filename < existing_filename:
insert_at = i
break
```
4. Edit ツールで新項目挿入
**項目形式** (自動生成):
```markdown
- [x] [{Frontmatterの title}](./{ファイル名}.md)
```
**例示** (AI が自動実行):
```markdown
# 1. Read で現在状態確認
- [x] [Churn Prevention Strategy 2025](./churn-prevention-strategy-2025.md)
- [x] [Competitor Analysis 2026](./competitor-analysis-2026.md)
# 2. 挿入位置計算: "churn-r..." → "churn-p..." 次
# 3. Edit で挿入
- [x] [Churn Prevention Strategy 2025](./churn-prevention-strategy-2025.md)
- [x] [Churn Reactivation Campaign 2026](./churn-reactivation-campaign-2026.md) ← 自動挿入
- [x] [Competitor Analysis 2026](./competitor-analysis-2026.md)
```
**自動検証** (AI が Edit 後確認):
- ✅ ファイル名とリンクパス一致
- ✅ アルファベット順序維持
- ✅ チェックボックス形式(`- [x]`) 使用
- ✅ 文書タイトル = Frontmatterの title
---
## 使用例示
<example>
context: 全体リサーチギャップ分析要求
user: "リサーチギャップ分析して"
action:
1. docs/features/, docs/research/ ランタイムスキャン
2. KPI別ギャップ識別 (references/kpi-targets.md 参照)
3. 品質評価 (Action Items 有無確認)
4. P0 ギャップ 5個 + P1 ギャップ 5個報告
5. **P0 ギャップはユーザー確認なしに即座にディープリサーチ実行**
6. **[自動] Frontmatter 生成 + 文書保存 (Write)**
7. **[自動] Manifest 再生成 (Bash: python scripts/generate_research_manifest.py)**
8. **[自動] README.md インデックス更新 (Edit)**
</example>
<example>
context: 特定 KPI 集中分析
user: "Churn 防止戦略リサーチギャップ検索して"
action:
1. 月間離脱率 KPI 関連 Feature 確認 (008, 019)
2. 既存リサーチ品質評価 (churn-*, retention-*, reactivation-*)
3. 欠落領域識別 (再活性化キャンペーン設計、離脱信号感知)
4. 即座にディープリサーチ実行
5. **[自動] 本文分析 → Frontmatter メタデータ抽出**
6. **[自動] Frontmatter + 本文 → docs/research/ 保存**
7. **[自動] Bash で Manifest 再生成**
8. **[自動] README.md アルファベット順挿入**
</example>
<example>
context: PRD-Research 連結確認
user: "PRD-019が参照すべきリサーチは?"
action:
1. PRD-019 (リテンション戦略) 読取
2. 関連リサーチ 5個マッピング
3. 欠落連結点報告
</example>
---
## 注意事項
1. **ランタイムスキャン必須**: ハードコーディングされたリスト代わりに常に最新ファイル構造確認
2. **SSOT 遵守**: リサーチ状態は **必ず** `assets/research-status.json`でのみ管理
3. **スキーマ遵守**: 状態ファイル修正時 `references/research-status-schema.json` 参照必須
4. **タイムアウト規則**: `processing` 状態が 24時間経過時 `pending`に復帰
5. **実行可能性**: リソース制約を考慮して実行不可能なリサーチは価値なし
6. **Japan-First 整合性**: グローバルリサーチよりも日本市場データ優先
7. **品質 > 量**: 概念のみあるリサーチは "未完成"で処理
8. **README.md は参照用**: 状態管理 X、文書リストのみ記録
9. **Manifest 直接修正禁止**: Frontmatter 作成後 `python scripts/generate_research_manifest.py` 実行
10. **Frontmatter スキーマ遵守**: `docs/_schemas/research-frontmatter.schema.json` 参照、検証は `python scripts/validate_research_frontmatter.py`
---
## ファイル構造
```
.claude/skills/research-gap-analyzer/
├── SKILL.md # このファイル (ワークフロー定義)
├── assets/
│ └── research-status.json # リサーチ作業状態 (SSOT)
├── references/
│ ├── kpi-targets.md # KPI 定義 + Feature マッピング
│ ├── critical-gaps.md # クリティカルギャップリスト
│ └── research-status-schema.json # 状態ファイル JSON スキーマ
└── scripts/
└── analyze_gaps.py # 自動化スクリプト (選択的)
```
---
## Changelog
| バージョン | 日付 | 変更内容 |
| :--------: | :--------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 5.0 | 2026-01-26 | **完全自動化**: Step 6-7 全面改編 - AI が本文分析 → Frontmatter 自動生成 → Bash で Manifest 再生成 → README.md 自動挿入。人間手動作業 0 に減少 |
| 4.0 | 2026-01-26 | **Frontmatter 基準 SSOT 転換**: Step 6.3 全面改編 - Manifest 直接修正 → Frontmatter 作成 + `generate_research_manifest.py` 実行。SSOT セクション更新、Data Drift 防止 |
| 3.1 | 2026-01-25 | **Research Manifest 連動**: Step 6.3 追加 - ディープリサーチ完了後 `docs/_manifests/research-manifest.json`にメタデータ登録必須化。`market-intelligence-scanner`との cross-skill 連動支援 |
| 3.0 | 2026-01-25 | **状態トラッキングシステム導入**: `assets/research-status.json`が SSOT、JSON スキーマ基準一貫性保証、ワークフローに状態登録/更新段階追加 |
| 2.1 | 2026-01-25 | **Step 7 追加**: リサーチ保存後 `docs/research/README.md` インデックス更新必須化 |
| 2.0 | 2026-01-19 | **全面改編**: SSOT 原則強化、クリティカルギャップリスト追加、品質チェックリスト導入 |
| 1.0 | 2026-01-15 | 初期バージョン |
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.