MCPInstall

difit-review

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.

Installs
1.9K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/yoshiko-pg/difit --skill difit-review
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads difit-review automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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:

<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.

FAQ

What does the difit-review skill do?

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.

How do I install difit-review?

Run npx skills add https://github.com/yoshiko-pg/difit --skill difit-review in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/difit-review/ (personal) or .claude/skills/difit-review/ (project).

Which AI agents can use difit-review?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is difit-review safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains difit-review?

It is published by yoshiko-pg in yoshiko-pg/difit. It has 1,863 recorded installs.

More from yoshiko-pg/difit

View all →

difit

yoshiko-pg/difit

Ask the user for a code review by opening the changes in difit, a local diff viewer. Explicit opt-in only — use when the user names difit, asks to open or show the diff in the viewer, or has a standing instruction to request reviews through difit after changes. Do not use it for ordinary requests to review code, diffs, commits, branches, or pull requests.

difit-dev

yoshiko-pg/difit

Open the skill to read its SKILL.md instructions.

48 installs

release

yoshiko-pg/difit

Open the skill to read its SKILL.md instructions.

48 installs

vscode-release

yoshiko-pg/difit

Open the skill to read its SKILL.md instructions.

46 installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.