

Atsushi Nakatsugawa
March 27, 2026
|1 min read
March 27, 2026
1 min read

Cut code review time & bugs by 50%
Most installed AI app on GitHub and GitLab
Free 14-day trial
Remove manual work with Custom Finishing Touch recipesの意訳です。
プルリクエストをちょっと確認してみてください。
多くの開発者と同じなら、「ほぼ完成」しているPRが少なくとも1つはあるはずです。機能は動いている、ロジックも問題ない、ローカルではテストも通っている。完成しているかどうか聞かれたら、「まあ…ほぼね」と答えるでしょう。それでもまだオープンのままです。

なぜでしょうか?どのチームにも、同じレビューコメントが繰り返し登場するからです。インポートの順序を統一する。TypeScriptの型を厳密にする。プロジェクト固有の規約を適用する。不足しているdocstringを追加する。挙げ出したらきりがありません。
これらの作業は重要ですが、繰り返しの作業でもあります。そして、PRが必要以上に長くオープンのままになる原因でもあります。
不足しているものを生成してレビュー可能な変更をオープンする、それをPR内から直接できるとしたらどうでしょうか?
本題に入る前に、用語を簡単に整理しましょう。Finishing TouchesはCustom Finishing Touchレシピを含む機能群です。大まかに言うと、ワンクリックでPRを磨いて拡張するエージェント型アクションで、以下の処理を担います。
そして最後に、カスタムエージェントコードをPRに対して実行する機能です。このブログではこちらをメインに取り上げます。
どのチームにも、繰り返し発生するクリーンアップパターンがあります。標準的なLinterでは検出できず、レビューのたびに同じ指摘が出てくるものです。Custom Finishing Touchレシピを使えば、再利用可能な名前付きの指示を定義して、プルリクエストに対してエージェントによるコード変更を実行できます。
以下のような場合に最適です。
同じコード品質に関するコメントがPRをまたいで繰り返し登場している
標準的なLinterを超えたプロジェクト固有の規約を適用したい
レビューの往復回数を減らしたい
開発速度を落としたくない
セットアップ方法は2通りあります。
.coderabbit.yaml内にレシピを次のように定義します。
reviews:
finishing_touches:
custom:
- name: "cleanup stale imports"
instructions: |
変更されたファイルから未使用のインポートを検索し、それらを削除します。
型定義で使用されているインポートは残します。
既存のインポートの順序は変更せず、不要になったもののみを削除します。
その後、プルリクエスト内で直接トリガーします。
@coderabbitai run cleanup stale imports
CodeRabbitがレシピを実行し、結果を含む新しいプルリクエストをオープンします。通常のPRと同様にレビューできます。
レシピを設定ファイルに確定させる前に試してみたい場合は、アドホック評価を実行できます。
@coderabbitai evaluate custom finishing touch --name "sort imports" --instructions "変更されたファイル内の各インポート群において、すべてのインポート文をアルファベット順に並べ替えてください。"
実行モデルは同じですが、何も保存されません。一時的なタスクやアイデアを正式採用する前のテストに便利です。
左サイドバーの「Organization Settings」をクリックし、「Finishing touches」に移動します。そこからカスタムレシピを追加できます。

リポジトリごとに最大5つのレシピを定義できます。レシピ名は大文字・小文字を区別しません。また、レシピを削除せずに無効化することもできます。
レシピをトリガーすると、CodeRabbitは単純なスクリプトの実行以上のことを行います。リポジトリを隔離されたサンドボックスにクローンし、タイトル・説明・サマリー・目的を含むPRの完全なコンテキストをエージェントに提供します。
また、reviews.path_instructionsからグローバルなコーディングガイドラインも読み込むため、エージェントはチームが合意した規約に従って動作します。
そこからRead、Write、Edit、Glob、Grep、Bashツールを通じてリポジトリへの制御されたアクセスが可能になります。エージェントは指示を実行し、提案された変更を含む新しいプルリクエストをブランチに対してオープンします。
自動的にマージされたり、ブランチが無断で変更されたりすることはありません。通常のPRと同様に差分をレビューして、何をリリースするかを判断できます。
Custom Finishing TouchレシピはGitHubのProプランユーザー向けにアーリーアクセスとして提供されており、GitLabおよびBitbucketへのサポートも近日公開予定です。
チームがプルリクエストで同じクリーンアップコメントを繰り返しているなら、ぜひ試してみてください。
不足しているものを指摘するのは、仕事の半分にすぎません。クリーンアップがまだ手動であれば、ボトルネックは依然として存在します。私たちはそれをなくしたいと考えています。