diffx-finish-review について
稼働中のローカル diffx サーバーからコードレビューコメントを取得して処理するスキルです。変更依頼と質問を区別し、コードの修正や返信を行い、必要に応じてコメントの状態を更新します。
主な機能
- 01diffx のレビューコメント取得
- 02変更依頼と質問の判別
- 03依頼に沿ったコード修正
- 04返信と変更依頼の解決
- 05曖昧なコメントへの確認
活用シーン
- 01コードレビューの指摘を反映
- 02レビューコメントの質問に回答
- 03未解決コメントのフォローアップ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wong2/ diffx --skill diffx-finish-reviewインストール後、Claude Code で/diffx-finish-reviewを入力して読み込まれたか確認します。
詳細
diffx のレビューを完了する
実行中の diffx サーバーからすべてのレビューコメントを取得し、依頼された変更を適用して、各コメントを解決済みにします。
実行すること
1. API からコメントを取得する
diffx サーバーはローカルで実行中です。前の会話のコンテキストを確認し、起動時に diffx が報告したポート番号を調べます。すべてのコメントを取得します。
curl -s http://localhost:<port>/api/comments
<port> を、起動時に diffx が報告したポート番号(サーバーログの出力で確認できます)に置き換えます。
レスポンスはコメントオブジェクトの JSON 配列です。
[
{
"id": "uuid",
"filePath": "src/utils/parser.ts",
"side": "additions",
"lineNumber": 42,
"lineContent": "const x = tokenize(input)",
"body": "Rename x to parsedToken for clarity",
"status": "open",
"createdAt": 1234567890,
"replies": []
}
]
2. 各コメントを処理する
"status": "open" のコメントごとに、まず意図を判断します。変更依頼ですか、それとも質問ですか?
変更依頼(例:「x を parsedToken に名前変更してください」「これをヘルパーに切り出してください」)
filePathのファイルを読み取ります。lineContentを手がかりに、該当するコードを探します。bodyに記載された変更を適用します。- 実施した内容を説明する返信をコメントに投稿し、その後、コメントを解決済みにします。
# Reply to the comment
curl -s -X POST http://localhost:<port>/api/comments/<id>/replies \
-H "Content-Type: application/json" \
-d '{"body": "Done. Renamed x to parsedToken."}'
# Mark as resolved
curl -s -X PUT http://localhost:<port>/api/comments/<id> \
-H "Content-Type: application/json" \
-d '{"status": "resolved"}'
質問(例:「ここで Map を使わないのはなぜですか?」「これはスレッドセーフですか?」)
回答だけを返信します。コードを変更したり、コメントを解決したりしないでください。ユーザーが読んで必要に応じてフォローアップできるよう、未解決のままにします。
curl -s -X POST http://localhost:<port>/api/comments/<id>/replies \
-H "Content-Type: application/json" \
-d '{"body": "A Map would work too, but we use a plain object here because..."}'
side フィールドは、コメントが追加された行(additions)にあるのか、削除された行(deletions)にあるのかを示します。
3. エッジケースへの対応
- コメントが曖昧な場合は、推測せずに確認を求める返信をします。
- 複数のコメントが関連する場合(例:名前の変更が複数の箇所に影響する場合)は、まとめて対応します。
- 未解決のコメントがない場合は、処理するものがないことをユーザーに伝えます。
4. まとめ
すべてのコメントを処理した後、実施した内容を簡潔にまとめます。適用した変更の数と、回答した質問の数を伝えます。
コメント
Markdown 対応