この記事は何
僕は現在、Claude Code Pluginの機能を活用して、自分の開発環境を拡張しています。PluginはClaude Code公式の機能で、Skills(再利用可能な知識・手順)やSub-agents(特化したエージェント)、Custom Slash Commands(カスタムコマンド)などを配布・導入できる仕組みです。
今回は、僕が作成しているClaude Code Pluginの中から「commands/fix-review-point」というカスタムコマンドについて紹介します。
僕のClaude Code Pluginは以下のリポジトリで公開しています。
カスタムコマンドとは
カスタムコマンドは、Claude Codeで特定のワークフローを再利用可能な形でまとめたものです。Markdownファイルとしてプロンプトを定義し、スラッシュコマンドとして呼び出すことができます。
通常のプロンプトを毎回入力する代わりに、よく使う作業フローをコマンド化しておくことで、一貫性のある作業を効率的に実行できます。
commands/fix-review-point について
commands/fix-review-pointは、PRに付けられた未解決のレビューコメントに対応するためのカスタムコマンドです。
コードレビューでは、レビュアーから複数の指摘を受けることがよくあります。それらの指摘に一つずつ対応し、修正をコミットし、レビューコメントを解決していく作業は、手動だと時間がかかりがちです。このコマンドを使えば、そうした作業をClaude Codeに委譲できます。
用途
以下の形式で実行します。
/getty104:fix-review-point <branch_name>
実行すると、以下のステップが自動で実行されます。
- git-worktreeの準備: create-git-worktreeスキルを使用して、指定したブランチ用のworktreeを作成し、環境をセットアップします
- worktreeへの移動: 作成したworktreeディレクトリに移動します
- Serenaのアクティベート: worktree内でSerenaをアクティベートし、オンボーディングを完了します
- レビューコメント対応: review-comment-implementerサブエージェントに委譲し、未解決のレビューコメントへの対応を行います
何が嬉しいの?
分離された作業環境
git-worktreeを使うことで、メインの作業ディレクトリを汚さずに、別のブランチでの作業ができます。レビュー対応のために現在の作業を中断する必要がありません。worktree内で完結するため、作業後のクリーンアップも容易です。
スキルとサブエージェントの組み合わせ
このコマンドは、以前紹介したスキルとサブエージェントを組み合わせて動作しています。
- create-git-worktreeスキル: worktreeの作成と環境セットアップを担当します
- read-unresolved-pr-commentsスキル: GitHub GraphQL APIを使用して未解決のレビューコメントを取得します
- resolve-pr-commentsスキル: 対応が完了したレビューコメントを一括でResolveします
- high-quality-commitスキル: 適切なgitコミット戦略で変更を記録します
- review-comment-implementerサブエージェント: レビューコメントの内容を読み込み、TDDアプローチで実装を行い、修正内容をコミット・プッシュします
これらを組み合わせることで、レビュー対応の一連のフローを自動化しています。
コンテキストの効率的な利用
カスタムコマンドとして定義することで、Claude Codeに対して最初から適切なコンテキストを渡すことができます。毎回同じ説明をする必要がなく、一貫した品質でレビュー対応を行えます。
また、サブエージェントに委譲することで、メインのコンテキストを消費せずに処理を進められます。複数のレビューコメントに対応する場合でも、コンテキストの枯渇を気にせず作業を進められます。
プロンプト・コード
コマンドのプロンプトは以下のリポジトリで公開しています。
最後に
今回は、PRのレビューコメント対応を自動化するcommands/fix-review-pointについて紹介しました。
レビュー対応は開発フローの中で頻繁に発生する作業ですが、このコマンドを使うことでClaude Codeに委譲できます。特に、複数の指摘がある場合や、worktreeを使った分離環境での作業が必要な場合に便利です。
興味がある方は、ぜひPluginを導入して試してみてください。
最後までお読みいただきありがとうございました。