explain-commentlisted
Install: claude install-skill S-Nakamur-a/conductor
# Explain Comment
指定されたファイルまたは範囲のコードを読み込み、重要な部分に説明コメントを追加する。
$ARGUMENTS
## 手順
### 1. 対象コードを読み込む
`$ARGUMENTS` で指定されたファイルパス(およびオプションの行範囲)を Read ツールで読み込む。
- `src/app.rs` — ファイル全体
- `src/app.rs:10-50` — 行範囲指定
- 引数が空の場合、現在 Viewer で開いているファイルを対象とする
### 2. コードを分析
読み込んだコードの中から、説明が有用な箇所を特定する:
- **関数・メソッド定義** — 目的、引数、戻り値の意味
- **構造体・列挙型** — 各フィールドの役割、設計意図
- **複雑なロジック** — アルゴリズム、条件分岐の理由、エッジケース処理
- **パターン・慣用句** — Rust 固有のパターン(ライフタイム、トレイト境界等)
- **重要な副作用** — DB 操作、ファイル I/O、状態変更
自明なコード(getter/setter、単純な代入等)にはコメントを追加しない。
### 3. 説明コメントを追加
各箇所に対して `mcp__conductor__create_comment` を使用してコメントを追加する。
```
mcp__conductor__create_comment:
file_path: <対象ファイルの相対パス>
line_start: <開始行番号>
line_end: <終了行番号(省略可)>
body: <説明文>
kind: "question"
```
#### コメント作成のガイドライン
- **簡潔かつ正確に** — 1〜3文で要点を伝える
- **「なぜ」を重視** — 何をしているかではなく、なぜそうしているかを説明
- **コンテキストを含める** — 他のモジュールとの関係、設計判断の背景
- **日本語で記述** — ユーザーの言語に合わせる
- **kind は `"question"` を使用** — 説明コメントは質問形式(❓)で統一
#### コメント例
良い例:
- `この HashMap キャッシュは、毎フレームの O(n) スキャンを避けるため。ファイル変更時に invalidate する`
- `git2 の diff は working tree 差分を返すが、ここでは HEAD との差分が必要なので reverse している`
悪い例:
- `Vec を作成している` (自明)
- `for ループ` (コードを読めばわかる)
### 4. 複数箇所は並列実行
独立した箇所のコメント追加は並列で実行する。同一ファイルの近い行に対する複数コメントも並列実行可能。
### 5. サマリーを報告
追加したコメントの一覧を報告する:
```
## Explain Comment 完了
### 追加したコメント
| 行 | 対象 | 説明の要約 |
|----|------|-----------|
| L42 | `process_data()` | データ変換パイプラインの概要 |
| L78-85 | match 式 | エラーリカバリ戦略の説明 |
| ... | ... | ... |
合計: N 件のコメントを追加
```
## 重要
- コメントはコードファイルに直接書き込