| name | explain |
| description | Explain selected code or a specified file/function in plain language, including what it does, why it exists, and potential pitfalls |
| allowed-tools | Read, Grep, Glob |
| argument-hint | [file-path or function-name] |
指定されたコードを説明してください。
対象の特定
-
引数 $ARGUMENTS が指定されている場合:
- ファイルパスなら、そのファイルを読み込む
- 関数名・クラス名なら、コードベースを検索して見つける
-
引数がない場合:
- 会話の文脈から対象を判断する
- 不明な場合は何を説明するか確認する
説明の構成
概要(1〜3文)
このコードが「何をするか」を平易な言葉で説明する。技術的な詳細より目的・役割を優先。
動作の説明
入力 → 処理 → 出力の流れを説明する。
重要なステップがあれば番号付きリストで示す。
重要な設計上の判断
「なぜこう書かれているか」を説明する。
- 採用されているパターン・アルゴリズム
- トレードオフ(速度 vs メモリ、シンプルさ vs 柔軟性)
- 依存関係・前提条件
注意点・落とし穴
- エッジケース・境界条件
- よくある誤用
- パフォーマンス上の注意点
- セキュリティ上の考慮事項(該当する場合)
説明のトーン
- 専門用語は使っても良いが、初めて読む人でも理解できるよう補足する
- コードの問題点を指摘する場合は建設的に
- 長大なファイルの場合は主要な部分に絞って説明する