
Diffity Review
Run an agent-driven diff review and post inline or general comments through the diffity CLI before merge.
Overview
Diffity Review is an agent skill for the Ship phase that reviews git diffs and posts inline comments via the diffity agent CLI.
Install
npx skills add https://github.com/kamranahmedse/diffity --skill diffity-reviewWhat is this skill?
- Reviews working tree or a git ref such as main..feature or HEAD~3
- Optional focus modes: security, performance, naming, errors, types, logic
- diffity agent comment, general-comment, resolve, dismiss, and reply commands
- Ensures diffity daemon is running for the target ref before commenting
- Install path: npm install -g diffity when which diffity fails
- 6 optional review focus areas: security, performance, naming, errors, types, logic
Adoption & trust: 695 installs on skills.sh; 687 GitHub stars; 2/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have local or branch diffs but no fast way to turn agent analysis into line-level review comments you can track and resolve.
Who is it for?
Solo developers and small teams already using git who want CLI-native, focusable diff reviews before merge.
Skip if: Repos where diffity cannot be installed, teams that require GitHub/GitLab-only review UX, or changes you have not captured in a diffity session.
When should I use this skill?
Review current diff and leave comments using diffity agent commands; optional ref and focus arguments.
What do I get? / Deliverables
You get diffity comments on specific lines plus optional general notes, with IDs you can resolve or dismiss after fixes.
- Line-anchored diffity comments with file, line, and body
- Optional general diff-level summary comment
- Resolved or dismissed comment threads with summaries or reasons
Recommended Skills
Journey fit
Diff review is a Ship activity immediately before or during merge, when changes need structured feedback on the actual patch. Review subphase is where inline findings on security, logic, and style get captured on the diff itself.
How it compares
Use for diffity-backed inline CLI review, not for replacing full platform PR workflows or static analysis dashboards.
Common Questions / FAQ
Who is diffity-review for?
Indie builders and agents comfortable with the terminal who want structured diff comments without leaving the diffity workflow.
When should I use diffity-review?
In Ship before merging—on working tree changes or a ref like main..feature—and when you want a focused pass on security, performance, or logic.
Is diffity-review safe to install?
It runs a global CLI and touches your git diff; check the Security Audits panel on this page and review diffity’s own permissions before CI use.
SKILL.md
READMESKILL.md - Diffity Review
# Diffity Review Skill You are reviewing a diff and leaving inline comments using the `diffity agent` CLI. ## Arguments - `ref` (optional): Git ref to review (e.g. `main..feature`, `HEAD~3`). Defaults to working tree changes. When both `ref` and `focus` are provided, use both (e.g. `/diffity-review main..feature security`). - `focus` (optional): Focus the review on a specific area. One of: `security`, `performance`, `naming`, `errors`, `types`, `logic`. If omitted, review everything. ## CLI Reference ``` 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>" ``` - `--file`, `--line`, `--body` are required for `comment` - `--end-line` defaults to `--line` (single-line comment) - `--side` defaults to `new` - `general-comment` creates a diff-level comment not tied to any file or line - `<id>` accepts full UUID or 8-char prefix ## Prerequisites 1. Check that `diffity` is available: run `which diffity`. If not found, install it with `npm install -g diffity`. ## Instructions ### Step 1: Ensure diffity is running for the correct ref (without opening browser) The review needs a running session whose ref matches the requested ref. A ref mismatch causes "file not in current diff" errors when adding comments. 1. Run `diffity list --json` to get all running instances. Parse the JSON output and find the entry whose `repoRoot` matches the current repo. 2. If a matching entry exists, compare its `ref` field against the requested ref: - The registry stores `"work"` for working-tree sessions and the user-provided ref string (e.g. `"main"`, `"HEAD~3"`) for named refs. - If refs **match** → reuse the session, note the port, and continue to Step 2. - If refs **don't match** → restart: run `diffity <ref> --no-open --new` (or `diffity --no-open --new` if no ref). The `--new` flag kills the old session and starts a fresh one. Use Bash tool with `run_in_background: true`. Wait 2 seconds, then verify with `diffity list --json` and note the port. - If **no ref was requested** and the running session's ref is not `"work"` → restart with `diffity --no-open --new` (the running session is for a named ref, but we need working-tree). 3. If **no session is running** for this repo, start one in the background: - Command: `diffity <ref> --no-open` (or `diffity --no-open` if no ref) - Use Bash tool with `run_in_background: true` - Wait 2 seconds, then verify with `diffity list --json` and note the port. ### Step 2: Review the diff 1. **Get the unified diff** directly from diffity — this handles merge-base resolution, untracked files, and all ref types automatically: ``` diffity agent diff ``` This outputs the full unified diff for the current session. Line numbers are in the `@@` hunk headers. 2. Find and read all relevant CLAUDE.md files — the root CLAUDE.md and any CLAUDE.md files in directories containing modified files. These define project-specific rules that the diff must follow. #### Assess the change size and adapt your strategy 3. **Gauge the diff size** and plan your approach. Every file gets a thorough review regardless of diff size — the difference is how you organize the work: - **Small** (under ~100 changed lines, 1-3 files): Straightforward — review each file in order. - **Medium** (100-500 changed lines, 3-10 files): Group files by area (e.g. backend, frontend, tests, config). Review core logic files first so you understand intent before reviewing the ripple effects. - **Large** (500+ changed lines or 10+ files): Group files by area. Start with core logic, the