mcpField
D
diffity-resolve

diffity-resolve

github.com/nilbuild开发8951.7k 次安装1 天前更新
代码仓库

关于 diffity-resolve

diffity-resolve 是面向编码 Agent 的技能,可读取 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 Skill

你正在查看尚未处理的审查评论,并通过进行所需的代码更改来解决它们。

参数

  • 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 会创建与任何文件或行都不关联的 diff 级评论
  • <id> 可接受完整 UUID 或 8 个字符的前缀

前提条件

  1. 检查 diffity 是否可用:运行 which diffity。如果未找到,请使用 npm install -g diffity 安装。
  2. 检查是否存在审查会话:运行 diffity agent list。如果命令失败并显示“没有活动的审查会话”,请告知用户先启动 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. 跳过最后一条评论是 Agent 回复且在向用户提问(例如“能否说明得更具体一些……?”)的线程,前提是用户尚未回复——Agent 正在等待用户输入。但如果 Agent 留下的是原始评论(代码建议、审查反馈等),仍应处理,因为这类评论是可执行的。 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 秒内显示。

评论

支持 Markdown