mcpField
R
remove-dumb-comments

remove-dumb-comments

github.com/lukeberrypi開発25244 回インストール11 週間前に更新
リポジトリ

remove-dumb-comments について

remove-dumb-comments は、コードの言い換えにすぎないコメントを特定し、意図や背景を説明するコメントを残すコードレビュー用スキルです。候補を順位付けし、削除前に確認を求めます。

主な機能

  1. 01冗長なコメントを価値順に順位付け
  2. 02git blame でコメントの時期を確認
  3. 03理由を説明するコメントを保持
  4. 04編集前に確認を要求
  5. 05編集後に lint と型チェックを実行

活用シーン

  1. 01ソースコード内のコメントのレビュー
  2. 02コードを言い換えただけのコメントの整理

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/lukeberrypi/skills --skill remove-dumb-comments

インストール後、Claude Code で/remove-dumb-commentsを入力して読み込まれたか確認します。

詳細

不要残しても意味のないコメントを削除する

コードがすでに示している「何を」説明するコメントに印を付け、「なぜ」を説明するコメントは残します。印を付けたコメントを削除するかどうかは、ユーザーが選択します。

呼び出し方

コマンド動作
/remove-dumb-comments価値の低いコメントを10件見つけます。
/remove-dumb-comments <number>指定された数の価値の低いコメントを見つけます。
/remove-dumb-comments all価値の低いコメントをすべて見つけます。

削除しないコメント

コードだけでは伝えられない「なぜ」を含むコメントは残します。

  • バックポート、互換性、またはバージョン固有の動作
  • インフラストラクチャ、デプロイ、またはアーキテクチャ
  • 回避策、注意点、または自明でない理由
  • ドキュメント、仕様、RFC、またはADR
  • バグ、課題、チケット、または背景情報を含むTODO/FIXME
  • 意図、トレードオフ、または制約

判断に迷ったら残します。単なる言い換えに限って印を付けます。

ワークフロー

  1. 呼び出し方に基づいて件数の上限を決めます(デフォルトは10)。
  2. ソースファイルを検索します。生成物、ベンダー依存関係、ロックファイル、ドキュメントは対象外です。
  3. 候補を冗長性の高い順に並べます。
  4. git blame で各候補の経過時間を確認します(「コメントの経過時間」を参照)。
  5. 以下の表を提示し、その後、推奨するコメントをすべて削除するか尋ねます(「フィードバック」を参照)。
  6. はいの場合は、Remove の項目をすべて承認済みとして扱います。いいえの場合は、場所ではなく正確なテキストを示して、各コメントについて Remove か Keep かを尋ねます。
  7. 承認されたコメントだけを削除します。
  8. プロジェクトのリンターと型チェックを実行し、変更によって生じた問題を修正します。

利用可能な場合は、読み取り専用の検索を高速で推論負荷の低いサブエージェントに委任します。候補は上限数までとし、それぞれについて正確なパス、行番号、コメントのテキスト、および前後1~3行のコードを求めます。そうでない場合は、直接検索します。

コメントの経過時間

候補ごとに、次を実行します。

git blame -L <line>,<line> --date=relative -- <file>

相対日付を使用します。未コミットの行には uncommitted と記します。

必須の出力

以下の列を正確に使用します。

| Comment | Age | Why |
|---------|-----|-----|
| `// increment the counter` | 8 months ago | *Remove.* Restates `count++` verbatim. |
| `/** Returns the user id. */` | 3 weeks ago | *Remove.* Describes the function word by word. |
| `// debounce avoids hammering the API on each keypress` | 1 year ago | *Keep.* Explains intent, not mechanics. |
  • Comment:コメントのテキストを正確にバッククォートで囲んで記載します。
  • Age:相対的な git blame の経過時間を記載します。
  • Why:*Remove.* または *Keep.* で始め、その後に短い理由を1つ記載します。

フィードバック

表を提示した後、次のように尋ねます。

推奨するコメントをすべて削除しますか?

  • はい、推奨するコメントをすべて削除する
  • いいえ、各コメントを確認したい

コメント