Difit Review

yoshiko-pg/difit/skills/difit-review

作者 yoshiko-pg82a765c037ec28fe7fe90ab2f1e4b5748032b4fa无许可证3.2K 个星标收录于 2026年10月9日更新于 2026年10月9日仓库5周前更新

Review a specific diff (branch, commit, or GitHub PR) and show the findings as comments inside difit, the local diff viewer. Explicit opt-in only — use when the user explicitly names difit, asks to open or annotate the review in the difit viewer, or invokes this skill by name. For ordinary requests to review code, diffs, commits, branches, or pull requests, review normally and respond in the conversation without launching difit.

AI 生成的概览

启动 difit 本地差异查看器展示指定 diff,并在其中附加评审评论。

功能
该技能在 difit 浏览器差异查看器中打开指定的 git diff(分支、提交、补丁或 GitHub PR),并通过 --comment 选项把代理准备的发现以线程评论形式附加到对应行或行范围。它涵盖选择 difit 命令、复用已运行的服务器、向现有服务器追加评论,以及分享生成的 URL。其产出是带注释的差异视图,而不是对话中的文字评审。
适用场景
仅在用户明确提到 difit、要求打开、展示或在 difit 查看器中标注评审,或按名称调用该技能时使用。普通的评审请求应直接在对话中正常处理。
运行要求
需要 difit CLI,或作为回退的 npx difit;在无网络权限的沙箱环境中,npx difit 可能需要网络访问和提权批准。它会启动长期运行的本地服务器并打开外部浏览器界面。该技能不附带脚本,仅为说明文档。

Difit Review

When to Use This Skill

difit opens an external browser UI and starts a long-running local server, so launching it must be explicit opt-in:

  • Use this skill only when the user explicitly names difit, asks to open, show, or annotate the review in the difit viewer, or invokes this skill by name.
  • Do NOT use it for ordinary review requests such as "review these changes", "use the reviewer agent", "find problems in this diff", or "review this PR/commit/branch". Perform those reviews normally and report the findings in your response.
  • When a request is ambiguous, prefer the non-difit review path.

Overview

This skill launches a requested git diff in a viewer that is easy for humans to read. At the same time, the agent can attach arbitrary comments via the --comment option. This comment mechanism is well suited for code review findings and code explanations. Before running commands, choose <difit-command> using the following rule:

  • If command -v difit succeeds, use difit.
  • Otherwise, use npx difit.
  • If falling back to npx difit would require network access in a sandboxed environment without network permission, request escalated permissions and user approval before running it.

Steps

The final command typically looks like this:

bash
<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"}'

The detailed procedure is as follows.

  1. Identify the target diff and review its contents.
  • Inspect the diff specified by the user. This may be a local git revision, a GitHub URL, a patch file, or something similar.
  • Understand the diff normally, inspect surrounding code when needed, and think through the response required by the user's request, whether that is review findings, explanations, or something else.
  • For PR reviews, inspect the PR locally and keep the review result limited to difit output. Do not post comments back to remote GitHub.
  1. Attach the prepared comments and launch difit — or reuse a running server.
  • Reuse before launch
    • Keep at most one live difit server per Git root and review target. If a difit server you started earlier is still running for the same target, do not launch another or reopen its URL; add the new findings to it with <difit-command> comment add --port <port> '<json>' (same JSON shape as --comment) and let the open page pick them up.
    • If review rounds are expected to repeat, launch with --keep-alive or --background (a detached keep-alive server that prints JSON connection info such as {"port":4966,"url":"http://localhost:4966","pid":123} without auto-opening a browser), then use comment add / comment get --port <port> for later rounds.
  • difit launch options
    • Use <difit-command> <target> [compare-with] to specify the target diff.
    • For uncommitted changes use <difit-command> ., for working tree changes use <difit-command> working, and for staged changes use <difit-command> staged.
    • For stdin input, use a form such as diff -u file1.txt file2.txt | <difit-command>.
  • Comment arguments
    • Use type: "thread" for each comment.
    • Write comment bodies in the language the user is using.
    • Use position.side: "new" for lines that exist on the target side of the diff.
    • Use position.side: "old" for lines that exist only on the deleted side.
    • Use range comments for issues that span multiple lines.
    • Never copy secrets, tokens, passwords, API keys, private keys, or other credential-like material from the diff into --comment bodies or any command-line arguments.
  • Additional argument for files not yet added to git
    • For uncommitted changes, if you decide files not yet added to git should also appear in the diff, add --include-untracked.
  1. Share the difit URL and finish the response.
    • If there were no comments to attach, explicitly say so.
    • No manual verification of the launched difit page is required.

来源与署名

来源:yoshiko-pg/difit位于skills/difit-review提交82a765c

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架