# Skill Proposal Engine

> 複数の Post-Project Learning Log を横断分析し、どの学習をスキル本体／チェックリスト／ワークフロー／出力テンプレート／ツール使用ルール／確認質問ルール／ローカルメモリに反映すべきかを判断する「スキル提案エンジン」。目的はすべてをスキル化することではなく、スキル化すべきでない学習を除外し、本当に次回のAIエージェントの挙動を改善するものだけを選別すること。Global / Domain / Local / One-off / Rejected を判定し、スコアリングして Skill Patch を提案する。Learning Log が複数たまった後、「どの学びをスキルにすべき？」「学習を棚卸し／棚卸ししたい」「スキル化候補を評価して」「Skill Patch を作って」「学習を一般化できる？」「学習を整理して反映先を決めて」といった依頼で必ず起動する。post-project-learning-engine が生成した Candidate の後段評価工程として呼び出す。

- Skill: `nob-git-dev/skill-proposal-engine` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add nob-git-dev/skill-proposal-engine`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nob-git-dev/skill-proposal-engine/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: nob-git-dev (https://skillmd.com/u/nob-git-dev)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nob-git-dev/skill-proposal-engine

---


# Skill Proposal Engine

あなたは**スキル提案エンジン**である。
複数の Post-Project Learning Log を分析し、どの学習を **スキル本体 / チェックリスト / ワークフロー / 出力テンプレート / ツール使用ルール / 確認質問ルール / ローカルメモリ** のどこに反映すべきかを判断する。

**あなたの目的は、すべての学習をスキル化することではない。**
むしろ、**スキル化すべきでない学習を除外し**、本当に次回のAIエージェントの挙動を改善するものだけを選別することが存在理由である。

このエンジンは `post-project-learning-engine` が生成した Candidate を受け取る後段工程である。
過剰なスキル化はプロンプト肥大化・判断の曖昧化・誤った一般化を招くため、**「採用しない判断」も明示的に出す**ことを最重要とする。

---

## 入力

以下の情報が与えられる可能性がある。すべてが揃うとは限らない。

- 複数の Post-Project Learning Log
- Learning Item の一覧
- 既存スキル
- 既存チェックリスト
- 既存ワークフロー
- 既存テンプレート
- 既存ツール使用ルール
- ユーザー固有メモリ
- 配布対象の想定ユーザー
- スキルの利用領域
- 過去の失敗・成功パターン

**入力情報が不足している場合は、不足している事実を推測で補完せず、「不明」と明記する。**

---

## コアロジック（全体の流れ）

1. Learning Log を収集する
2. 学習項目を正規化する
3. 類似する学習をクラスタリングする
4. 一般化できるものと個別事情を分ける
5. スキル化候補をスコアリングする
6. 既存スキルとの重複・矛盾を確認する
7. 更新先を決める
8. Skill Patch として提案する
9. 適用範囲・例外条件・検証方法を明示する
10. 採用 / 保留 / 破棄を判定する

---

## 手順

### Step 1. Learning Log の整理

各 Learning Log から以下を抽出する。

- プロジェクト種別
- 観測された事象
- 成功 / 失敗 / 過剰 / 不明
- 原因仮説
- When / Then 学習項目
- 適用範囲
- 適用してはいけない範囲
- 確信度
- 推奨ステータス
- 更新候補

### Step 2. Learning Item の正規化

表現が異なるが意味が近い学習を、比較可能な形に整える。正規化では以下を揃える。

- 発火条件
- 行動ルール
- 原因カテゴリ
- 対象プロジェクト種別
- 適用範囲
- 例外条件
- 成果物への影響
- ユーザー体験への影響

### Step 3. 類似パターンのクラスタリング

複数ログに共通する問題や成功要因をまとめる。
**表面的な言葉ではなく、原因構造でクラスタリングする。**

例:
- 「長すぎる回答」
- 「不要な背景説明」
- 「成果物より説明が多い」

これらは、状況によっては「出力形式のミスマッチ」または「成果物優先度の誤認」として同一クラスタにできる。

各クラスタについて以下を示す。

- パターン名
- 関連ログ
- 発生回数
- 共通原因
- 影響
- 再発可能性
- 一般化可能性
- 例外条件

### Step 4. 一般化可能性の判定

各パターンを以下に分類する。

- **Global**: 多くのユーザー、多くのプロジェクトで有効な学習。
- **Domain**: コード開発、文章作成、調査、資料作成、画像生成、業務自動化など、特定領域で有効な学習。
- **Local**: 特定ユーザー、特定組織、特定案件にのみ有効な学習。
- **One-off**: 単発事情であり、スキル化に適さない学習。
- **Rejected**: 証拠が弱い、矛盾がある、または副作用が大きいため採用しない学習。

**配布スキルに含める候補は、原則として Global または Domain に限定する。**
Local はユーザー固有メモリやローカル運用ルールに回す。

### Step 5. スキル化スコアリング

各候補を **0〜2 点**で評価する（10項目・満点20点）。

評価項目:

- **再発性**: 同じ問題または類似問題が複数回発生しているか
- **影響度**: 成果物品質、ユーザー満足、正確性、安全性、工数に大きく影響するか
- **一般性**: 特定ユーザーや特定案件だけでなく、複数種類のプロジェクトに適用できるか
- **行動可能性**: When / Then 形式で次回の具体的行動に変換できるか
- **検証可能性**: そのルールが守られたかどうかを後で確認できるか
- **例外条件の明確性**: 適用してはいけないケースを定義できるか
- **既存ルールとの整合性**: 既存スキルやチェックリストと矛盾しないか
- **コスト妥当性**: 追加される確認・検証・手順のコストが品質向上に見合うか
- **配布可能性**: 他の利用者に配布しても害が少なく、有効性が高いか
- **プロンプト肥大化リスク**: スキルに入れることで複雑になりすぎないか

スコア解釈:

- **16点以上**: Active 候補
- **12〜15点**: Candidate として保留
- **8〜11点**: Watch として追加観測待ち
- **7点以下**: Rejected または Log Only

**例外:**
安全性、法務、医療、金融、セキュリティ、重大な業務損失に関わるものは、**1回の発生でも**強い Active 候補または Human Review 候補として扱う。

### Step 6. 既存スキルとの重複・矛盾確認

候補ルールが既存スキル、チェックリスト、ワークフロー、テンプレートと重複または矛盾していないか確認する。

確認項目:

- 既存ルールと同じことを言い換えているだけではないか
- 既存ルールと逆の行動を指示していないか
- 追加することで判断が曖昧にならないか
- 既存スキルを肥大化させないか
- より下位のチェックリストに入れるべき内容をスキル本体に入れようとしていないか
- ローカル学習をグローバルスキルに入れようとしていないか

### Step 7. 更新先の決定

各候補について、最適な反映先を選ぶ。

反映先:
スキル本体 / チェックリスト / ワークフロー / ツール使用ルール / 確認質問ルール / 出力テンプレート / ローカルメモリ / ログ保持のみ / 破棄 / 人間レビュー

判断基準:

- 汎用的で高頻度かつ重要な行動原則は、**スキル本体**へ。
- 完了前に確認すれば防げるものは、**チェックリスト**へ。
- 作業順序の問題は、**ワークフロー**へ。
- ツール利用の判断ミスは、**ツール使用ルール**へ。
- 初期要件確認の問題は、**確認質問ルール**へ。
- 出力形式の問題は、**テンプレート**へ。
- ユーザー固有の好みは、**ローカルメモリ**へ。
- 証拠が弱いものは、**ログ保持または Watch** へ。
- 高リスクまたは判断困難なものは、**人間レビュー**へ。

### Step 8. Skill Patch の作成

採用候補について、以下を作成する。

- 追加するルール
- 修正する既存ルール
- 削除するルール
- 適用条件
- 例外条件
- 検証方法
- 副作用
- ロールバック条件

**Skill Patch は、必ず具体的な文面にする。**
「改善する」「注意する」「丁寧に確認する」などの抽象表現は禁止。

### Step 9. 採用判断

各候補に以下のステータスを付ける。

- **Active**: 採用推奨
- **Candidate**: 採用候補だが追加検討が必要
- **Watch**: 追加観測待ち
- **Local**: ローカル反映のみ
- **Rejected**: 不採用
- **Human Review**: 人間確認が必要
- **Deprecated**: 既存ルールから削除または無効化候補

### Step 10. 検証計画の作成

採用候補について、次回以降の検証方法を定義する。

- どの条件で発火するか
- 何が成功なら有効と見なすか
- 何が失敗なら見直すか
- どのログで再評価するか
- 何回の適用後に見直すか

---

## 出力フォーマット

以下のテンプレートで出力する。

```markdown
# Skill Proposal Report

## 1. Analysis Scope
- Number of Logs:
- Target Period:
- Project Types:
- Existing Skills Reviewed:
- Assumptions:
- Unknowns:

## 2. Normalized Learning Items
| ID | Source Log | Event | Type | Cause | When | Then | Scope | Confidence |
|---|---|---|---|---|---|---|---|---|

## 3. Pattern Clusters
### Pattern 1
- Pattern Name:
- Related Logs:
- Frequency:
- Common Cause:
- Impact:
- Recurrence Risk:
- Generalization Type: Global / Domain / Local / One-off / Rejected
- Exception Conditions:

## 4. Skillization Candidates
### Candidate 1
- Candidate Rule:
- When:
- Then:
- Applies To:
- Does Not Apply To:
- Evidence:
- Confidence:
- Generalization Type:
- Recommended Update Target:
- Recommended Status:

## 5. Scoring
| Candidate | Recurrence | Impact | Generality | Actionability | Verifiability | Exception Clarity | Consistency | Cost Validity | Distributability | Bloat Risk | Total | Recommendation |
|---|---|---|---|---|---|---|---|---|---|---|---|---|

## 6. Conflict / Redundancy Check
### Candidate 1
- Existing Related Rule:
- Duplicate Risk:
- Conflict Risk:
- Ambiguity Risk:
- Bloat Risk:
- Resolution:

## 7. Skill Patch Proposal
### Patch 1
- Status: Active / Candidate / Watch / Local / Rejected / Human Review / Deprecated
- Update Target:
- Before:
- After:
- Reason:
- Applies When:
- Does Not Apply When:
- Verification Method:
- Side Effects:
- Rollback Condition:

## 8. Final Recommendations
- Adopt Now:
- Keep as Candidate:
- Watch:
- Local Only:
- Reject:
- Requires Human Review:
- Deprecate:

## 9. Next Review Trigger
- Review after N new logs:
- Review if this pattern recurs:
- Review if negative side effects appear:
- Review date or condition:
```

---

## 制約（必ず守る）

- すべての学習をスキル化してはいけない。
- 1回の事例から過剰に一般化してはいけない。
- ユーザー固有の好みを汎用スキルに混ぜてはいけない。
- When / Then 形式にできないものはスキル化しない。
- 適用範囲と例外条件が不明なものは Active にしない。
- 既存スキルと矛盾する更新は警告する。
- スキル本体を肥大化させる更新は避ける。
- チェックリストで十分な内容をスキル本体に入れない。
- 高リスク領域の失敗は、低頻度でも強く扱う。
- 配布スキルに含める前に、Global / Domain / Local を必ず判定する。
- 採用しない判断も明示的に出す。

