---
name: llm-portability-review
description: "ドキュメント・プロンプト・スキル定義が、Claude 以外のLLM（GPT-4o / Gemini / Codex 等）でも意図通りに動作するかを評価する。Claude 固有の解釈・暗黙前提・スタイル依存を検出し、移植耐性を高める改善案を提示する。他LLMへ移植する前に使う。"
---

## Purpose

「Claude では動くが他のLLMでは意図と異なる出力が出る」を防ぐ。
LLMが変わっても出力の品質・構造・安全性が維持されるように、プロンプト・スキル・ドキュメントの移植耐性を評価する。

## Use When

- 新しいスキル定義（SKILL.md）を作成・更新した後
- プロンプトを別のLLMに移植する前
- AI向けコンテキストドキュメント（CLAUDE.md / CONTEXT.md）を整備する場合
- Codex CLI や他のAIエージェントに引き継ぐ仕様を設計する場合

## Inputs

以下を準備すること。不足している場合は推測せず、不足を明示する。

- **評価対象**: レビューするドキュメント・スキル定義・プロンプトの内容またはパス
- **移植先LLM**: どのLLMへの移植を想定するか（GPT-4o / Gemini / Codex / 汎用）
- **移植先での用途**: そのLLMで何をさせるか（コードレビュー / ドキュメント生成 / Q&A 等）
- **許容できる挙動差異**: どの程度の出力の違いが許容されるか

## Output Contract

以下の順で出力すること。順序を変えない。

1. **論点**: この評価対象の移植耐性を左右する核心的な問題
2. **根拠**: その論点をそう判断した理由
3. **移植耐性評価**: 評価項目ごとのチェック結果
4. **含意**: 移植耐性の低さが引き起こすリスク（誤出力 / 安全性の低下 / 構造崩れ）
5. **改善案**: 移植耐性を高める最小限の修正案
6. **代替案**: 移植先LLMに特化した別バージョンの設計案
7. **判断材料**: 「このまま移植可能 / 修正が必要 / LLM別バージョンを作成する」を選ぶための情報

### 移植耐性評価 フォーマット

| チェック項目 | 状態 | 問題箇所・備考 |
|---|---|---|
| Claude 固有の機能・構文に依存していない | OK / 注意 / NG | |
| 出力フォーマットが明示的に定義されている | OK / 注意 / NG | |
| 暗黙の前提知識をLLMに依存していない | OK / 注意 / NG | |
| 用語定義が文脈依存でなく明示されている | OK / 注意 / NG | |
| 指示の曖昧さが他LLMの解釈に委ねられていない | OK / 注意 / NG | |
| Guardrails が他LLMでも機能する表現か | OK / 注意 / NG | |
| Output Contract の構造が他LLMで再現できるか | OK / 注意 / NG | |

## Review Lens

- **目的妥当性**: 評価基準が移植先LLMの特性に対して適切か
- **範囲の過不足**: Claude 特有の挙動に依存している箇所が見落とされていないか
- **中長期リスク**: LLMモデルのアップデートによって挙動が変わるリスクはないか
- **LAB全体との整合性**: Codex CLI / 他エージェントとの連携を考慮した評価か
- **非エンジニア理解可能性**: 移植耐性の問題を非技術者に説明できるか
- **他LLM移植耐性**: このスキル自体が自己矛盾なく他LLMで使用できるか

## Instructions

1. 評価対象を一読し「Claude の文脈・スタイル・機能に依存している箇所」を列挙する
2. 各評価項目を OK / 注意 / NG で評価する
3. NG・注意の項目に対して具体的な問題文・該当箇所を記録する
4. 改善案は「言い換え・明示化・定義追加」の方向で提示する（削除は最終手段）
5. 移植先LLMが特定の場合は、そのLLMの既知の挙動差異を考慮する
6. 「このまま Claude だけで使う」判断も有効な選択肢として提示する
7. 最終判断は人間に委ねる

## Guardrails

- Claude の挙動を「正解」として他LLMを評価しない（差異であって優劣ではない）
- 移植耐性を高めるために指示の具体性を犠牲にしない
- 「他LLMでも動くはず」で未検証の移植を推奨しない
- 移植先LLMの制約・料金・利用規約の違いを無視した改善案を提示しない
- このスキル自体の評価結果を「完全移植可能」と断言しない

## LAB Cross-Check

| 観点 | 状態 | 備考 |
|---|---|---|
| 自動化フロー | — | n8n / Webhook プロンプトの移植耐性が評価されているか |
| データ / 認証 / ログ | — | DB・認証操作の指示が他LLMでも安全に動作するか |
| 実装 / 運用フロー | — | Codex CLI への引き継ぎ仕様が移植耐性を持つか |
| 非エンジニア理解可能性 | — | 移植耐性の問題点を説明できる言葉か |
| 会員共有 / 再利用耐性 | — | 評価フレームワークが他スキル・他プロジェクトに転用できるか |
| 他LLM移植耐性 | — | このスキル自体が他LLMで意図通りに動作するか |

状態は OK / 注意 / NG / 対象外 で記入すること。

## Handoff Notes

- **要件**: 移植耐性評価結果（チェック項目の状態と問題箇所）
- **成功条件**: 移植先LLMで意図した構造・品質の出力が得られる
- **失敗条件**: 移植先LLMで出力構造が崩れる / 安全性が低下する
- **実行範囲**: 評価・改善案提示のみ（プロンプト・スキルの直接編集は行わない）
- **影響範囲**: 移植先LLMで実行されるすべてのタスク
- **ロールバック方針**: 移植後に問題が発生した場合は Claude 版に戻して差異を分析する
- **コスト比較**: 移植耐性評価コスト vs 移植後の誤出力によるデバッグコスト

## Further Reading

- `onboarding-readability` skill — 他LLMが読んで理解できるか（可読性の観点）
- `reusable-doc-structure` skill — 移植耐性のある構造設計
- [docs/DECISIONS.md](../../../docs/DECISIONS.md) — LLM選定・切り替えに関する設計決定記録（ADR）
- [docs/CONTEXT.md](../../../docs/CONTEXT.md) — Codex CLI との連携仕様
