关于 diffx-finish-review
用于处理 diffx 代码评审评论的技能,可从本地运行的 diffx 服务读取评论,并按评论意图修改代码或回复问题。适合在评审后整理待办并更新评论状态。
主要功能
- 01获取 diffx 评审评论
- 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