explain について
経験豊富な開発者向けに、コードを分析し、依存関係を追跡して体系的に解説するスキルです。ソースコードや公式ドキュメントで内容を検証し、不確かな点を明示します。
主な機能
- 01対象コードと呼び出し元を調査
- 02依存関係と外部 API を追跡
- 03範囲や処理フローに沿って構成
- 04設計上の選択や性能面を解説
- 05内容を検証し不確実性を明示
活用シーン
- 01関数、クラス、システムの実装を理解
- 02コードの依存関係やデータフローを追跡
- 03フレームワークの動作やエラーを分析
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laststance/ skills --skill explainインストール後、Claude Code で/explainを入力して読み込まれたか確認します。
詳細
Explain — 深く体系的な解説
Codex 互換性
Codex でこのスキルを実行する場合、処理を開始する前に Claude Code 専用のプリミティブを置き換えてください。AskUserQuestion -> chat/request_user_input、TodoWrite -> update_plan、Task/TaskCreate/TeamCreate/SendMessage -> 利用可能かつ許可されている場合は spawn_agent/send_input/wait_agent、EnterPlanMode/ExitPlanMode -> 簡潔なチャットでの計画と明示的な承認。
Read/Write/Edit/Bash/WebSearch/WebFetch は Codex のファイル/シェル/ウェブツールに対応付けてください。また、タスクが明示的に Claude Code を対象としている場合を除き、~/.claude/... のパスは ~/.agents/... または ~/.codex/... に対応付けてください。
Cursor 互換性
Cursor Agent でこのスキルを実行する場合、処理を開始する前に Claude Code 専用のプリミティブを置き換えてください。AskUserQuestion -> AskQuestion、TodoWrite -> Cursor の TodoWrite または同等のチェックリスト、Task/TaskCreate/TeamCreate/SendMessage/マルチエージェントのフロー -> 許可されている場合は Cursor の Task(サブエージェント)、並列の Task、または run_in_background(TeamCreate/SendMessage に完全に一致する機能がない場合があります)、EnterPlanMode/ExitPlanMode -> Plan モード(SwitchMode / CreatePlan)と明示的なユーザー承認。
Read/Write/Edit/StrReplace/Bash/ウェブ/検索/MCP は、Cursor Composer または Agent の同等機能に対応付けてください。mcp__server__tool 形式の MCP 名は通常、設定済みのサーバー識別子を使った call_mcp_tool に対応します。タスクが明示的に Claude Code を対象としている場合を除き、~/.claude/... は ~/.cursor/skills/、.cursor/skills/、.cursor/rules/ に対応付けてください。
内省マーカー、体系的な分析、正確性の検証を含む、上級者向けの解説です。
<essential_principles>
常に適用
- 上級者向け:読者は経験豊富な開発者であると想定してください。手取り足取りの説明は不要です。 「何を」だけでなく、「なぜ」やアーキテクチャ上の考え方を説明してください。
- 内省マーカー:以下のように、解説全体を通じて推論を明示します。
- 🤔 Reasoning — 「🤔 このパターンからは……と考えられます」
- 🎯 Decision — 「🎯 作者が Y ではなく X を選んだのは……ためです」
- ⚡ Performance — 「⚡ これは……により O(n²) の計算量になります」
- 📊 Quality — 「📊 これは SRP の原則に従っています/違反しています」
- 💡 Insight — 「💡 このパターンは……にも応用できます」
- 提示前に検証する:推測してはいけません。実際のコードを読みます。ライブラリ/フレームワークの挙動を解説する際は公式ドキュメントを確認してください。不確かな点は明示します。
- プロジェクト固有のルールなし:このスキルはあらゆるプロジェクトと AI エージェントで使用できます。
</essential_principles>
フェーズ 1:分析
解説を始める前に、対象を徹底的に調べます。
- 対象範囲を特定する:対象はファイル、関数、クラス、概念、それともシステムですか?
- コードを読む:Read、Grep、Glob を使って実際のソースを収集します。
- 依存関係をたどる:インポート、参照、呼び出し箇所を追い、コンテキストを理解します。
- 外部 API を確認する:必要に応じて Context7 または WebSearch を使い、ライブラリ/フレームワークの詳細を確認します。
- 🤔 対象がどのように動作するか、頭の中でモデルを構築します。
ツール:Read、Grep、Glob、mcp__serena__find_symbol、mcp__serena__get_symbols_overview、mcp__context7__query-docs
フェーズ 2:構成
最大限わかりやすくなるよう、解説を組み立てます。
- 核心となる洞察を特定します。理解の鍵となる、最も重要な点です。
- 解説の順序を決めます。
- トップダウン:全体像から始め、詳細へと掘り下げます。
- ボトムアップ:構成要素から始め、全体像へと組み立てます。
- フロー形式:入力から出力まで、データや実行の流れをたどります。
- 🎯 対象に最適なアプローチを選びます。
フェーズ 3:解説
深く、明確な解説を提示します。
- 背景から始める:これは何で、なぜ存在するのでしょうか?
- 核心の解説:内省マーカーを随所に入れながら、仕組みを説明します。
- 重要な設計判断:なぜこの方法で構築されたのでしょうか?どのような代替案があるでしょうか?
- 関連性:より広いシステムやパターンと、どのように関係しているでしょうか?
- コード例:コードを説明する際は、実際の行番号(
file:line)を参照します。
解説の形式
重要な学習ポイントには、洞察ブロック形式を使用します。
`★ Insight ─────────────────────────────────────`
[2-3 key educational points]
`─────────────────────────────────────────────────`
フェーズ 4:検証
説明が正確かつ完全であることを確認します。
- ✅ 実際のコードと主張を照合します(必要に応じて読み直します)。
- ✅ ライブラリやフレームワークの動作を公式ドキュメントで確認します。
- ✅ 不確かな点には「⚠️ Note: ...」と明記します。
- ✅ 誤解を招くような過度の単純化がないことを確認します。
例
/explain src/auth/middleware.ts
/explain "how does React Suspense work"
/explain the hook system in this project
/explain this error message: "Cannot read property of undefined"
対応範囲
対応すること:
- 根拠を明示しながら、詳細で正確な説明を提供します。
- ファイル名から推測するのではなく、実際のコードを読み、処理を追跡します。
- フレームワークやライブラリに関する情報は、公式ドキュメントを参照します。
- 不確かな点や知識の不足を正直に明記します。
対応しないこと:
- 表面的な説明や初心者向けの説明は提供しません(その場合は Claude を直接ご利用ください)。
- ソースを読まずに動作を推測しません。
- コードは変更しません(このスキルは読み取り専用の説明です)。