mcpField
D
diffity-resolve

diffity-resolve

github.com/nilbuild開発8951.7k 回インストール1 日前に更新
リポジトリ

diffity-resolve について

diffity-resolveは、コーディングエージェント向けのスキルです。diffityの未解決コメントを確認し、依頼されたコードやドキュメントの変更を行ってスレッドを処理します。単一またはすべての対象スレッドを扱えます。

主な機能

  1. 01未解決のレビューコメントを確認
  2. 02依頼に応じてコードや文書を変更
  3. 03概要を付けてスレッドを解決
  4. 04対応不要の一般コメントを除外
  5. 05スレッドIDで対象を指定

活用シーン

  1. 01コードレビューの指摘を反映
  2. 02解決概要でレビューの質問に回答

MCP 対応

このスキルはdiffityコマンドラインでレビューコメントを確認・管理します。MCPとの直接連携については入力に記載されていません。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/nilbuild/diffity --skill diffity-resolve

インストール後、Claude Code で/diffity-resolveを入力して読み込まれたか確認します。

詳細

Diffity Resolve スキル

未解決のレビューコメントを読み、要求されたコード変更を行って解決します。

引数

  • thread-id(省略可):すべての未解決スレッドではなく、IDで指定した特定のスレッドを解決します。例:/diffity-resolve abc123

CLI リファレンス

diffity agent diff
diffity agent list [--status open|resolved|dismissed] [--json]
diffity agent comment --file <path> --line <n> [--end-line <n>] [--side new|old] --body "<text>"
diffity agent general-comment --body "<text>"
diffity agent resolve <id> [--summary "<text>"]
diffity agent dismiss <id> [--reason "<text>"]
diffity agent reply <id> --body "<text>"
  • comment では --file、--line、--body が必須です
  • --end-line のデフォルトは --line です(単一行コメント)
  • --side のデフォルトは new です
  • general-comment は、ファイルや行に紐付かない差分レベルのコメントを作成します
  • <id> には完全な UUID または 8 文字のプレフィックスを指定できます

前提条件

  1. diffity が利用可能か確認します:which diffity を実行します。見つからない場合は、npm install -g diffity でインストールします。
  2. レビューセッションが存在するか確認します:diffity agent list を実行します。「No active review session」で失敗した場合は、まず diffity を起動するようユーザーに伝えます(例:diffity または /diffity-diff)。

手順

  1. 未解決のコメントスレッドを、詳細を含めて一覧表示します:
    diffity agent list --status open --json
    
    thread-id 引数が指定されている場合は、そのスレッドのみを対象にします。JSON 出力には、各スレッドのコメント本文、ファイルパス、行番号、side が含まれます。
  2. 未解決のスレッドがない場合は、解決するものがないことをユーザーに伝えます。
  3. 未解決のスレッドごとに、comments 配列と各コメントの author.type フィールド("user" または "agent")を確認します: a. 一般コメント(filePath が __general__)はスキップします。これらは要約であり、対応可能なコード変更ではありません。 b. 最後のコメントが、ユーザーへの質問を含むエージェントの返信(例:「詳しく説明していただけますか?」)で、まだユーザーから回答がないスレッドはスキップします。エージェントはユーザーの入力を待っています。ただし、エージェントが元のコメント(コードの提案、レビューのフィードバックなど)を残しているスレッドは対応可能なため、処理します。 c. [nit] コメントは、細かな提案ですが対応可能です。他のコメントと同様に解決します。 d. (ユーザーからの)[question] コメントは、質問を読み、該当するコードを調べて、回答を要約としてスレッドを解決します:
    diffity agent resolve <thread-id> --summary "回答をここに記載"
    
    e. 明示的な [question] タグがなくても質問形式のコメント(例:「X を追加すべきですか?」や「これをリネームできますか?」)は提案です。対応が必要なリクエストとして扱い、変更を行います。 f. コメント本文を JSON 出力から読み、要求されている変更を把握します。意図を解釈します:
    • コメントがコード変更を提案している場合は、その変更を行います。
    • コメントがドキュメントの追加を提案している場合は、該当するドキュメントを追加または更新します。
    • コメントがアクションを伴う質問(例:「X を追加すべきですか?」)をしている場合は、そのアクションを実行するリクエストとして扱います。
    • コメントの内容が本当に不明確で、どのような対応をすべきか判断できない場合は、黙ってスキップせず、説明を求める返信をします:
      diffity agent reply <thread-id> --body "どのような変更をご希望か、詳しく説明していただけますか?"
      
    g. コメントが付いた行の前後にある全体的な文脈を把握するため、該当するソースファイルを読み、Edit ツールを使用して要求された変更を行います。 h. 変更後、次のように要約を付けてスレッドを解決します:
    diffity agent resolve <thread-id> --summary "修正済み:<変更内容の簡単な説明>"
    
  4. 対応可能なすべてのスレッドを解決した後、diffity agent list を実行してステータスを確認します。
  5. ブラウザーを確認するようユーザーに伝えます。ポーリングにより、2 秒以内に解決済みのステータスが表示されます。

コメント