Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

difit-review — Claude Code skill: what it does, how to install

Launches the local difit viewer for git diffs and attaches review notes to exact code lines. Runs only upon explicit request.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add yoshiko-pg/difit --skill difit-review -a claude-code
Open on GitHub

What difit-review does

The skill routes git diffs into the local difit browser UI. The agent attaches line-level findings as JSON payloads via the --comment flag, binding notes to deleted or added lines. Credentials found in code are never sent to comments. PR reviews stay local and never push comments back to GitHub.

Launching difit starts a background server and opens a browser window. Because of this, the skill requires explicit opt-in and ignores general review requests. When a server is already running for the target, the agent avoids duplicates and calls comment add --port <port>. If difit is missing locally, execution falls back to npx difit, which will stall in a sandboxed environment without granted network access.

What it helps with

  • display code review findings inside the local difit browser UI
  • review pull requests locally without posting comments to GitHub
  • attach line-level comments to working tree or staged diffs
  • push new review rounds into an active difit server

Example prompts for the agent

  • Review this branch and show findings in difit
  • difit-review for uncommitted changes including untracked files
  • Inspect staged diff and open comments in difit

How to install difit-review

1Skills CLI (Vercel)

npx skills add yoshiko-pg/difit --skill difit-review -a claude-code

2Manually: put the files in place

~/.claude/skills/difit-review/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/difit-review/

From the same set2

The whole set →

Similar

get-pr-comments cursor Pulls feedback and discussions from the active pull request. It sorts reviewer remarks by importance so you can jump straight into fixes. Claude Code CX Codex Cursor +1 2,200installs ask Yeachan-Heo Skill to route prompts through local CLIs of different models (Claude, Codex, Gemini, Cursor and others) and save results as artifacts. Claude Code CX Codex Cursor +1 710installs salesforce-apex-quality official github Checks Apex for governor-limit risks, security gaps, and missing tests. Use it when GitHub Copilot reviews or generates Salesforce classes, triggers, and test code. GitHub Copilot 884installs thermos cursor Runs two code-review subagents in parallel as background tasks, then folds their findings into one prioritised report. Claude Code CX Codex Cursor +1 2,100installs diagramming-code trailofbits Generates Mermaid diagrams from code graphs using Trailmark. Useful for visualizing call paths, module dependencies, and data flows. Claude Code CX Codex Cursor +1 4,200installs resolve-conflicts tailcallhq Handles Git merge conflicts plan-first: audits the files, rebuilds lock files, rescues edits from deleted files, and asks you when the diff is ambiguous. Claude Code CX Codex Cursor +1 683installs improve-codebase-architecture Matt Pocock This skill scans a codebase for architectural friction, then builds a visual HTML report with refactoring candidates. Use it before a deeper architecture review. Claude Code 1,163,035installs tdd Matt Pocock Guides the red-green TDD loop: ensures tests are written first, keep them at public interfaces, and avoid coupling to implementation details. Claude Code 1,141,062installs

Questions about difit-review

How to install difit-review in Claude Code?

Run npx skills add yoshiko-pg/difit --skill difit-review -a claude-code in your terminal.

What does difit-review do?

It reviews a target git diff, starts the local difit web viewer, and attaches inline notes directly to changed lines.

Why does difit-review require explicit opt-in?

The viewer opens an external browser tab and a persistent server. To avoid unwanted popups, the agent only triggers difit when specifically requested.

Source text

SKILL.md · MIT
---
name: difit-review
description: 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.
---

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

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

3. 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 · MIT · yoshiko-pg/difit

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor