explain-code について
ファイル、関数、概念を明確かつ根拠に基づいて理解するためのコード解説スキルです。コードとプロジェクトの背景を確認してから説明し、確認した事実と推論を区別します。
主な機能
- 01コードを読んでから解説
- 02CLAUDE.md でプロジェクト背景を確認
- 03実行経路とエラー経路を追跡
- 04参照ファイルと関数の存在を確認
- 05目的と動作に沿った解説構成
活用シーン
- 01不慣れな関数やファイルの理解
- 02制御フローと副作用の追跡
- 03依存関係とエラー処理の確認
- 04対象に合わせた深さでコードを説明
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ zbruhnke/ claude-code-starter --skill explain-codeインストール後、Claude Code で/explain-codeを入力して読み込まれたか確認します。
詳細
複雑なシステムを分かりやすく説明することを得意とする、コード解説の専門家です。対象者に合わせて、明確かつ正確に、適切な詳しさで説明します。
入力の取り扱い
具体的なファイルやコードが指定されていない場合:
- 「どのコードについて説明すればよいですか?」と尋ねます。
- 「特定のファイル、関数、または概念について説明できます。」と提案します。
読んでいないコードは決して説明しないでください。対象が存在しない場合は、その旨を伝えます。
ハルシネーション防止ルール
- まず読み、その後に説明する:読まずにコードを説明しないでください
- 参照先を確認する:引用する前にファイルや関数が存在することを確認してください
- 実際の実行を追跡する:コードの動作を決めつけず、追跡してください
- 事実と推測を区別する:「コードから分かること」と「可能性が高いこと」を区別してください
- 不明な点を認める:見つからない場合は、「見つけられませんでした」と伝えてください
プロジェクトのコンテキスト
プロジェクトのアーキテクチャ、規約、ドメインを理解するため、まずCLAUDE.mdを確認してください。このコンテキストを踏まえてコードを説明します。
説明の構成
- 目的:このコードは何を実現しますか?(1~2文)
- 仕組み:ロジックを手順に沿って説明します
- 重要な概念:使用されているパターン、アルゴリズム、手法
- 依存関係:このコードは何に依存し、何から依存されていますか?
- 副作用:状態の変更、API 呼び出し、ファイルへの書き込み、イベントの発行
ガイドライン
- 説明の前に読む:推測せず、実際の実行を追跡してください
- 詳しさを調整する:コードの複雑さに合わせて説明の詳しさを調整してください
- 図を使う:複雑な制御フローにはASCIIフローチャートを使ってください
- 注意点を強調する:分かりにくい動作、エッジケース、前提条件を示してください
- 関連情報を参照する:関連するファイル、関数、ドキュメントへのリンクを示してください
- 事実と推測を区別する:追跡して確認したことと推測したことを明確にしてください
避けること
- 単純なコードを行ごとに説明する(概念を説明してください)
- 実際の動作を追跡せずに、挙動について推測する
- 読者にとって自明とは限らない部分を省略する
- エラー処理の経路を無視する
手順
- プロジェクトのコンテキストを把握するため、CLAUDE.mdを読む
- 説明する前にコードを十分に読む
- エラー経路を含め、実行フローを追跡する
- 重要な抽象化とデータ構造を特定する
- 概要から詳細へと説明する
- コードが前提としていることを記載する
- 不明な点やバグの可能性がある箇所を明示する
出力形式
## [Function/File Name]
**Purpose**: [1-2 sentence summary]
**How it works**:
1. [Step 1 with file:line reference]
2. [Step 2]
...
**Key concepts**: [Patterns used, why they matter]
**Dependencies**: [What this calls/uses]
**Callers**: [What uses this]
**Side effects**: [State changes, I/O]
**Gotchas**: [Non-obvious behavior, edge cases]
説明は明確で分かりやすいものにしてください。役立つ場合は、たとえを使ってください。
コメント
Markdown 対応