difit-review について
指定された Git 差分を difit で確認し、指摘や説明をビューアー上のコメントとして付けるスキルです。対象の調査、稼働中サーバーの再利用、レビュー URL の共有を扱います。
主な機能
- 01指定された Git 差分の確認
- 02変更箇所へのレビューコメント添付
- 03稼働中の difit サーバーの再利用
- 04レビューへの未追跡ファイルの追加
活用シーン
- 01プルリクエストの差分に指摘を注釈
- 02差分ビューアー上で変更を説明
- 03再起動せずにレビューを継続
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ yoshiko-pg/ difit --skill difit-reviewインストール後、Claude Code で/difit-reviewを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Difit レビュー
このスキルを使用するタイミング
difit は外部のブラウザー UI を開き、長時間実行するローカルサーバーを起動するため、明示的にオプトインされた場合にのみ起動します。
- ユーザーが difit の名前を明示した場合、difit ビューアーでレビューを開く、表示する、または注釈を付けるよう依頼した場合、あるいはこのスキルを名前で呼び出した場合にのみ、このスキルを使用してください。
- 「これらの変更をレビューして」「reviewer エージェントを使って」「この差分の問題点を見つけて」「この PR/コミット/ブランチをレビューして」などの通常のレビュー依頼には使用しないでください。通常どおりレビューを行い、結果を回答で報告してください。
- 依頼の意図が曖昧な場合は、difit を使わないレビュー方法を優先してください。
概要
このスキルは、ユーザーが指定した git 差分を、人間が読みやすいビューアーで開きます。同時に、エージェントは --comment オプションを使って任意のコメントを追加できます。
このコメント機能は、コードレビューの指摘やコードの説明に適しています。
コマンドを実行する前に、次のルールに従って <difit-command> を選択してください。
command -v difitが成功した場合は、difitを使用します。- それ以外の場合は、
npx difitを使用します。 - ネットワーク権限のないサンドボックス環境で
npx difitにネットワークアクセスが必要な場合は、実行する前に権限の昇格とユーザーの承認を求めてください。
手順
最終的なコマンドは、通常、次のようになります。
<difit-command> <target> [compare-with] \
--comment '{"type":"thread","filePath":"src/foobar.ts","position":{"side":"old","line":102},"body":"line 1\nline 2"}' \
--comment '{"type":"thread","filePath":"src/example.ts","position":{"side":"new","line":{"start":36,"end":39}},"body":"Range comment for L36-L39"}'
詳細な手順は次のとおりです。
- 対象の差分を特定し、その内容をレビューします。
- ユーザーが指定した差分を確認します。これはローカルの git リビジョン、GitHub URL、パッチファイル、または類似のものです。
- 通常どおり差分を理解し、必要に応じて周辺のコードも調べます。また、指摘、説明など、ユーザーの依頼に応じて必要な回答を検討します。
- PR をレビューする場合は、PR をローカルで確認し、レビュー結果は difit の出力に限定します。リモートの GitHub にコメントを投稿しないでください。
- 用意したコメントを追加して difit を起動するか、実行中のサーバーを再利用します。
- 起動する前に再利用を確認
- Git ルートとレビュー対象ごとに、稼働中の difit サーバーは最大 1 つにしてください。同じ対象に対して以前に起動した difit サーバーがまだ稼働している場合は、別のサーバーを起動したり、その URL を再度開いたりせず、
<difit-command> comment add --port <port> '<json>'(--commentと同じ JSON 形式)を使って新しい指摘を追加し、開いているページに反映させてください。 - レビューを繰り返す見込みがある場合は、
--keep-aliveまたは--backgroundを付けて起動してください(ブラウザーを自動で開かず、{"port":4966,"url":"http://localhost:4966","pid":123}のような JSON の接続情報を出力する、切り離された keep-alive サーバー)。その後のラウンドでは、comment add/comment get --port <port>を使用してください。
- Git ルートとレビュー対象ごとに、稼働中の difit サーバーは最大 1 つにしてください。同じ対象に対して以前に起動した difit サーバーがまだ稼働している場合は、別のサーバーを起動したり、その URL を再度開いたりせず、
- difit の起動オプション
<difit-command> <target> [compare-with]を使って、対象の差分を指定します。- コミットされていない変更には
<difit-command> .、作業ツリーの変更には<difit-command> working、ステージ済みの変更には<difit-command> stagedを使用します。 - 標準入力から入力する場合は、
diff -u file1.txt file2.txt | <difit-command>のような形式を使用します。
- コメントの引数
- 各コメントには
type: "thread"を使用します。 - コメント本文は、ユーザーが使用している言語で記述します。
- 差分の対象側に存在する行には
position.side: "new"を使用します。 - 削除側にのみ存在する行には
position.side: "old"を使用します。 - 複数行にまたがる問題には、範囲コメントを使用します。
- 差分に含まれる秘密情報、トークン、パスワード、API キー、秘密鍵、その他の認証情報に類する内容を、
--commentの本文やコマンドライン引数に決してコピーしないでください。
- 各コメントには
- まだ git に追加されていないファイルの追加引数
- コミットされていない変更について、まだ git に追加されていないファイルも差分に含める場合は、
--include-untrackedを追加します。
- コミットされていない変更について、まだ git に追加されていないファイルも差分に含める場合は、
- difit の URL を共有して回答を完了します。
- 追加するコメントがなかった場合は、その旨を明示してください。
- 起動した difit ページを手動で確認する必要はありません。
コメント
Markdown 対応