Agent skill

Diff Review

by ClickHouse in ClickHouse/ClickHouse

In-browser review of pending changes before committing or opening a PR.

Apache-2.0Auto-check passedDatabases

Install Diff Review

skills CLI
$ npx skills add ClickHouse/ClickHouse --skill diff-review -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ClickHouse/ClickHouse diff-review --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ClickHouse/ClickHouse.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/diff-review .claude/skills/diff-review && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
diff-review
GitHub stars
50k
Token cost
~1.3k tokens
SKILL.md length
657 words
Files
10
Skills in repo
24
Repo updated
First seen
Licence
Apache-2.0

At a glance

In-browser review of pending changes before committing or opening a PR.

  • Works in 5 steps: Start the server in the background (Bash… → Tell the user the review is ready at… → Read the --out JSON file. Shape → …
  • The user asks for a browser review of the changes
  • SKILL.md covers When not to use it, How to run and Troubleshooting
  • Runs JavaScript scripts from its folder; calls git, ssh and node

What it does

Diff Review is an agent skill from ClickHouse/ClickHouse. In-browser review of pending changes before committing or opening a PR. Starts a local server on localhost:3000 that renders the working-tree diff with @pierre/diffs CodeView, opens the user's browser, and waits for their line comments — which must then be read back and addressed. Works from a browser on the same machine, or from the user's own machine through an SSH-forwarded port (the server prints the ssh -L command); where nobody opens the page within 120 s, it exits on its own. Use when the user asks for a…

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files (for example `vendor/README.md`).

It sits in Databases. It works with Git. The repository describes itself as: ClickHouse® is a real-time analytics database management system. The licence is Apache-2.0.

When your agent uses it

  • The user asks for a browser review of the changes

Example prompts

  • “/diff-review”

Requirements

  • Node.js

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Start the server in the background (Bash tool with run_in_background: true)
  2. Tell the user the review is ready at http://localhost:3000 (and relay the
  3. Read the --out JSON file. Shape
  4. Address every comment. They are the user's code review. For each one,
  5. verdict: "approve" with no comments → proceed with the commit / PR.

What it can do on your machine

Read from SKILL.md and the folder at commit cd023af. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (JavaScript), which the agent can run.

    Shell commands in SKILL.md call:

    • git
    • ssh
    • node

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use git and ssh, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Diff Review loads about 1.3k tokens when it runs. Until then it costs about 140 tokens; SKILL.md has 657 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~140
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from ClickHouse/ClickHouse at commit cd023af, republished under its Apache-2.0 licence (© ClickHouse). 657 words, ~1,302 tokens.

Download SKILL.mdSave it as .claude/skills/diff-review/SKILL.md (or your agent's skills folder). This skill also uses 9 other files; get the full folder from GitHub.
name
diff-review
description
In-browser review of pending changes before committing or opening a PR. Starts a local server on localhost:3000 that renders the working-tree diff with @pierre/diffs CodeView, opens the user's browser, and waits for their line comments — which must then be read back and addressed. Works from a browser on the same machine, or from the user's own machine through an SSH-forwarded port (the server prints the `ssh -L` command); where nobody opens the page within 120 s, it exits on its own. Use when the user asks for a browser review of the changes.

diff-review — let the user review changes in the browser

The user wants to read and review code changes in a browser UI before anything is committed or pushed. This skill serves the diff on localhost, collects the user's line comments, and hands them back to you as JSON. You must address every comment.

When not to use it

The server binds to loopback, so the UI is reachable from a browser on the very machine the server runs on — or from the user's own machine once they forward the port (when the machine looks remote, the server prints the exact ssh -L command to do that). What it cannot survive is an environment where nobody will ever open the page: an unattended run on an isolated VM. There the server exits 4 on its own after 120 s (see Exit code 4 below). Don't reach for this skill when there is no user around to open a browser: show the diff in the terminal with git diff / git show, or just open the pull request and let review happen there.

How to run

  1. Start the server in the background (Bash tool with run_in_background: true):

    bash
    node .claude/skills/diff-review/server.mjs \
      --repo <repo-root> \
      --base HEAD \
      --port 3000 \
      --out /tmp/diff-review-comments.json
    • --base <ref> — what to diff against. HEAD (default) reviews uncommitted work: staged + unstaged + untracked files.
    • --committed — review already-committed branch work before a PR: diffs <base>..HEAD and ignores the working tree, so uncommitted or untracked local edits never leak into the review. Combine it with the merge base against the repo's default branch, e.g. --base $(git merge-base origin/master HEAD) --committed.
    • The server prints the URL, opens the user's browser automatically, and stays alive until the user clicks Finish review in the UI, then exits 0.
    • On a remote-looking machine (an SSH session, a cloud instance, no graphical session) it starts all the same, but prints an ssh -L port-forwarding command for the user to review from their own machine, and exits 4 if no browser opens the page within 120 s.
    • The UI is fully self-contained: @pierre/diffs is vendored (see vendor/README.md), so no network access is needed and no third-party CDN ever sees the diff.
  2. Tell the user the review is ready at http://localhost:3000 (and relay the port-forwarding command if the server printed one), then wait. Do not fetch the URL yourself — a request from you would count as the browser the server is waiting for. Do not proceed with the commit/PR — you will be notified when the background command exits (i.e. when the user submits the review, or when nobody opened the page in time).

  3. Read the --out JSON file. Shape:

    json
    {
      "verdict": "approve" | "request_changes",
      "overall": "free-text overall comment (may be empty)",
      "comments": [
        { "file": "src/app.ts", "side": "new", "startLine": 12, "endLine": 15,
          "comment": "the user's comment text" }
      ]
    }

    side: "new" means line numbers refer to the new version of the file; side: "old" refers to the base version (a comment on deleted lines).

  4. Address every comment. They are the user's code review. For each one, quote it briefly, then either fix the code or answer the question. After making fixes, offer another review round (re-run the skill) before committing.

  5. verdict: "approve" with no comments → proceed with the commit / PR. verdict: "request_changes" → do NOT commit until fixes are made and the user is satisfied.

Show full SKILL.md (142 more words)Show less

Troubleshooting

  • Exit code 3 — nothing to review against the chosen --base.
  • Exit code 4 — the machine looked remote (an SSH session (SSH_CONNECTION/SSH_CLIENT/SSH_TTY), cloud-init state or a cloud vendor in the DMI strings, or a Linux session with neither DISPLAY nor WAYLAND_DISPLAY) and no browser opened the review page within 120 s, despite the printed port-forwarding command. This is the expected outcome on an unattended, isolated VM — fall back to a terminal diff and carry on; do not retry on your own initiative. --force (or DIFF_REVIEW_FORCE=1) makes the server wait indefinitely — for a user who asked for it because they need more time to forward the port.
  • Port 3000 busy — a stale server is probably running: pkill -f "diff-review/server.mjs", or pass --port <other> and give the user the new URL.
  • User wants to abort — stop the background task with TaskStop; don't wait forever.

© ClickHouse, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 9 other files in .claude/skills/diff-review of ClickHouse/ClickHouse.

  • SKILL.md
  • server.mjs
  • ui.html
  • vendor/README.md
  • vendor/node_async_hooks.mjs
  • vendor/node_buffer.mjs
  • vendor/node_events.mjs
  • vendor/node_process.mjs
  • vendor/node_tty.mjs
  • vendor/pierre-diffs-1.2.12.mjs.gz

Open the folder on GitHubat commit cd023af

Compare with similar skills

Diff Review next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Diff Review compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Diff Review this skillClickHouse/ClickHouse50k—~1.3kAutomated safety check: PassApache-2.0
Lancedb Update Lance Dependencylancedb/lancedb12k—~1.1kAutomated safety check: PassApache-2.0
Find Postgres Bugdigoal/blog8.6k—~4kAutomated safety check: PassGPL-2.0
Wtfnoobnooc/agent1.4k—~2.1kAutomated safety check: NotesNone
Notcrawlopenclaw/notcrawl134—~698Automated safety check: PassMIT
Alsacreations Guidelinesalsacreations/kiwipedia338—~900Automated safety check: PassNone

Similar skills

  • Update LanceDB to a specific Lance release or tag. An agent skill from lancedb/lancedb.

    12k GitHub stars~1.1k tokensUpdated today
    DatabasesAuto-check passed
  • Find latent bugs in a local PostgreSQL source tree (RELxxSTABLE branch or HEAD) the way a core hacker does: build a heavily-poisoned debug instance (cassert + cache-discard + -O0/-ggdb3 + core…

    8.6k GitHub stars~4k tokensUpdated 10 days ago
    DatabasesAuto-check passed
  • Wtf

    noobnooc/agent

    Pre-launch and pre-commit audit for vibe coding projects. An agent skill from noobnooc/agent.

    1.4k GitHub stars~2.1k tokensUpdated 1 mo ago
    DatabasesAuto-check: notes
  • Notcrawl

    openclaw/notcrawl

    A skill your agent uses for local Notion archive search, sync freshness, Markdown/database exports, git-share snapshots, and Notcrawl repo/release work.

    134 GitHub stars~698 tokensUpdated yesterday
    DatabasesAuto-check passed
  • Alsacreations Guidelines

    alsacreations/kiwipedia

    Guidelines techniques et conventions internes d'Alsacréations (Kiwipedia) — HTML, CSS, JavaScript, TypeScript, Vue.js, WordPress, PHP/MySQL, accessibilité, performance, SEO, RGPD, écoconception…

    338 GitHub stars~900 tokensUpdated 19 days ago
    DatabasesAuto-check passed
  • Plan Review

    KenjiOhtsuka/harmonica

    A skill your agent uses when reviewing the Harmonica restart plan against reality — after a phase PR or milestone merges, before proposing the next phase, or when asked "are the specs up to date" /…

    131 GitHub stars~1k tokensUpdated 16 days ago
    DatabasesAuto-check passed

More from ClickHouse/ClickHouse

All 24 skills in this repo
  • Keeper Stress Analysis

    ClickHouse/ClickHouse

    Analyze ClickHouse Keeper stress-test results from play.clickhouse.com / keeperstresstests data warehouse.

    50k GitHub stars~4.7k tokensUpdated today
    Auto-check passed
  • Perf Comparison

    ClickHouse/ClickHouse

    Evaluate ClickHouse performance test results from existing CI/dashboard data or local perf.py runs.

    50k GitHub stars~3.9k tokensUpdated today
    Auto-check: notes
  • Patch Release Check

    ClickHouse/ClickHouse

    Check whether ClickHouse's supported versions (last 3 majors + latest LTS) have recent stable patch releases, diagnose why the scheduled AutoReleases pipeline failed, and identify which releases…

    50k GitHub stars~4k tokensUpdated today
    Auto-check: notes
  • Alloc Profile

    ClickHouse/ClickHouse

    Analyze a jemalloc (or other) allocation profile in collapsed stack format.

    50k GitHub stars~4.3k tokensUpdated today
    Auto-check passed
  • Bisect

    ClickHouse/ClickHouse

    Bisect a ClickHouse regression using pre-built master binaries from CI.

    50k GitHub stars~1.4k tokensUpdated today
    Auto-check passed
  • Clickhouse PR Description

    ClickHouse/ClickHouse

    Generate PR descriptions for ClickHouse/ClickHouse that match maintainer expectations.

    50k GitHub stars~1.9k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Diff Review

What does Diff Review do?

In-browser review of pending changes before committing or opening a PR. Diff Review is an agent skill from ClickHouse/ClickHouse. In-browser review of pending changes before committing or opening a PR.

When should I use Diff Review?

Diff Review fits situations like: the user asks for a browser review of the changes.

How do I install Diff Review in Claude Code?

Run `npx skills add ClickHouse/ClickHouse --skill diff-review -a claude-code`. Or copy the skill folder (.claude/skills/diff-review in ClickHouse/ClickHouse) into .claude/skills/diff-review in your project. Claude Code loads it when a task matches its description.

How do I install Diff Review in Codex?

Run `npx skills add ClickHouse/ClickHouse --skill diff-review -a codex`. Or copy the skill folder (.claude/skills/diff-review in ClickHouse/ClickHouse) into .agents/skills/diff-review in your project. Codex loads it when a task matches its description.

Can I use Diff Review in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ClickHouse/ClickHouse --skill diff-review -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/diff-review, .gemini/skills/diff-review, .github/skills/diff-review and .opencode/skills/diff-review in your project.

What does Diff Review need to run?

Going by SKILL.md and its folder, Diff Review needs JavaScript for the scripts in its folder and the command-line tools its instructions call (git, ssh and node). Our summary lists: Node.js.

Does Diff Review access the network?

SKILL.md contains no URLs. Its commands use git and ssh, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Diff Review safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Diff Review use?

Diff Review is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Diff Review use?

About 1.3k tokens (SKILL.md is roughly 5.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Diff Review?

Skills that share tags, products or a category with Diff Review: Lancedb Update Lance Dependency (lancedb/lancedb, 12k stars), Find Postgres Bug (digoal/blog, 8.6k stars), Wtf (noobnooc/agent, 1.4k stars) and Notcrawl (openclaw/notcrawl, 134 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Diff Review?

ClickHouse (a GitHub organization) maintains it in ClickHouse/ClickHouse, which has 50,288 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.

Source: ClickHouse/ClickHouse on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.