difit について
明示的な依頼に応じて difit を起動し、ブラウザーのレビュー画面で Git の差分を表示してコメントを集めるスキルです。通常のコードレビューではなく、difit を指定したワークフロー向けです。
主な機能
- 01ブラウザーで差分を表示
- 02レビューコメントの収集と取得
- 03コメントスレッドの追加と解決
- 04稼働中のレビューサーバーの再利用
活用シーン
- 01未コミットの変更をレビュー用に表示
- 02コミットやブランチ間の比較を提示
- 03稼働中のレビューでフィードバックを反復
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ yoshiko-pg/ difit --skill difitインストール後、Claude Code で/difitを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Difit
このスキルを使うタイミング
difit は外部ブラウザー UI を開き、長時間稼働するローカルサーバーを起動するため、明示的なオプトインがあった場合にのみ起動してください。
- このスキルを使うのは、ユーザーが difit を明示的に指定した場合、ビューアーで差分を開く、または表示するよう求めた場合、あるいはコード変更後に difit を使ってレビューを依頼するよう常時指示している場合(たとえば、プロジェクトのドキュメントやエージェントの設定)に限ります。
- 「これらの変更をレビューして」「レビュアーエージェントを使って」「この差分の問題を見つけて」「この PR/コミット/ブランチをレビューして」といった通常のレビュー依頼には使わないでください。通常の応答経路で回答してください。
- 依頼の意図が曖昧な場合は、difit を使わない方法を優先してください。
概要
このスキルは、difit を使ってユーザーにコードレビューを依頼します。
コマンドを実行する前に、次のルールに従って <difit-command> を選択してください。
command -v difitが成功した場合は、difitを使います。- それ以外の場合は、
npx difitを使います。 - ネットワーク権限のないサンドボックス環境で
npx difitにネットワークアクセスが必要になる場合は、実行前に権限の昇格を求め、ユーザーの承認を得てください。
ユーザーがレビューコメントを残した場合、選択した difit コマンドの終了時に標準出力へ表示されます。 レビューコメントが返されたら、作業を続けて対応してください。 コメントがないままサーバーが終了した場合は、「レビューコメントは提供されなかった」とみなしてください。再起動する必要はありません。 ページが正しく起動したかどうかを手動で確認する必要もありません。
コマンド
- コミット前に未コミットの変更をレビューする:
<difit-command> . - HEAD コミットをレビューする:
<difit-command> - ステージング領域の変更をレビューする:
<difit-command> staged - ステージングされていない変更のみをレビューする:
<difit-command> working
基本的な使い方:
<difit-command> <target> # View single commit diff. ex: difit 6f4a9b7
<difit-command> <target> [compare-with] # Compare two commits/branches. ex: difit feature main
起動時コメント(任意)
difit の起動時にユーザーへ伝えたいことがある場合は、--comment を使って起動時コメントとして追加してください。
レビューで見つかった問題、説明、差分上でユーザーに直接伝えるべき背景情報などに便利です。
<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"}'
- 各コメントには
type: "thread"を使ってください。 - コメント本文は、ユーザーが使っている言語で記述してください。
- 差分の変更後側に存在する行には
position.side: "new"を使ってください。 - 削除された側にのみ存在する行には
position.side: "old"を使ってください。 - 複数行にまたがる問題には範囲コメントを使ってください。
- 差分に含まれる秘密情報、トークン、パスワード、API キー、秘密鍵、その他の認証情報に類する情報を、
--commentの本文やコマンドライン引数に決してコピーしないでください。
未追跡ファイルを含める
未コミットの変更において、まだ git に追加されていないファイルも差分に表示するには、--include-untracked を追加してください。
<difit-command> . --include-untracked
実行中のサーバーの再利用
Git ルートとレビュー対象ごとに、稼働中の difit サーバーは最大 1 つにしてください。レビューを開始した後に再度編集する場合は、新たに起動するのではなく、実行中のサーバーを再利用してください。起動を繰り返すと、ポートやブラウザータブが重複します。
- difit を起動する前に、同じ Git ルートに対して以前に起動した difit サーバーがまだ稼働しているか確認してください(たとえば、起動したバックグラウンドプロセスがまだ動作している場合など)。
- 同じ対象に対してサーバーが稼働している場合は、別のサーバーを起動したり、その URL を開き直したりしないでください。作業ツリーを対象とする場合(
.、working、staged、およびデフォルトの HEAD)、difit はリポジトリを監視し、差分が変更されると開いているページでユーザーに再読み込みを促します。 - レビューを繰り返すことが予想される場合は、
--keep-alive(ブラウザーが切断されてもサーバーが稼働し続けます)または--background(切り離された keep-alive サーバーを起動します。{"port":4966,"url":"http://localhost:4966","pid":123}のような JSON を出力し、ブラウザーを自動的に開かないため、URL は一度だけユーザーに共有します)を指定してサーバーを起動してください。 - サーバーが稼働している間は、再起動せずにフィードバックをやり取りしてください。
<difit-command> comment get --port <port>— ユーザーのレビューコメントを読み取ります(構造化出力には--format jsonを指定します)。<difit-command> comment add --port <port> '<json>'— 稼働中のサーバーに新しいコメントを追加します(--commentと同じ JSON 形式です)。<difit-command> comment resolve <threadId...> --port <port>— 対応済みのスレッドを解決します。
- レビュー対象が変更された場合(たとえば、コミット範囲が変わった場合)は、同じリポジトリに 2 つのサーバーを残さず、既存のサーバーを停止して新しいサーバーを起動してください。
制約
Git 管理下のディレクトリ内でのみ使用できます。