lrv

star 0

show the current changes, or other changes, in lrv code review tool

padenot By padenot schedule Updated 5/21/2026

name: lrv description: show the current changes, or other changes, in lrv code review tool

lrv

Invoke lrv tool for code review, potentially showing the diff requested by the author (e.g. "open lrv on the diff of the entire branch" will pipe the diff from the current commit up to the main branch). On submission, fix issues without summary.

Do it like this (adapt those examples):

jj diff --git | lrv --title="One sentence description if possible" # if not commited
jj show --git -r changeid | lrv # if commited
git diff | lrv # if not commited
git diff HEAD^ | lrv # if commited

For reviewing a full branch as a series of individual commits:

lrv --series "trunk()..@"      # jj revset
lrv --series "main..HEAD"      # git range

The UI shows a commit strip; comments are grouped per commit in the output.

For a local LLM pre-review requested by the user, review the diff yourself before launching lrv, write the findings as review notes JSON, and pass them to lrv:

git diff > /tmp/lrv.diff
# write /tmp/lrv-local-review.json from that diff
lrv --file /tmp/lrv.diff --review-notes-file /tmp/lrv-local-review.json

Behavior

  • Silently run lrv. Never run it in a sub-agent or background task, this NEEDS to be synchronous.
  • Always print the URLs (plural) for the user to see. Otherwise the whole ordeal is useless.
  • Wait for user to submit comments
  • If asked for a local LLM pre-review, do the review yourself before starting lrv. Do not make lrv call a model.
  • Local pre-review note schema: JSON array of objects with required file, line, side, and body; optional id, author, date, source_url, commit_idx. Use exact diff file paths; use side: "new" for comments on changed/new code; use file: "(commit)", line: 1, side: "new" for global comments. In series mode, set commit_idx to the zero-based commit index. Set author to something like Local LLM review.
  • When comments are received, make a plan about them. One plan per item. This is absolutely critical to avoid skipping comments.
  • Apply fixes directly to code
  • No explanations or commentary
  • Single-commit mode: put the change into the right commit (squash, absorb, git commit --amend, jj squash, etc.)
  • Series mode: output is a commits array, each entry has commit_hash, commit_message, and a comments list. Work through commits in order: for each commit that has comments, edit it and apply all its fixes, then jj edit back to the top of the stack before moving on.
  • When addressing review comments on a series, it is best to work bottom to top. In jj, this is straightforward: either jj edit the target commit directly, or jj new on top of it, make the change, and squash it back. In Git, agents should usually avoid interactive editors: create a fixup! commit for the target commit, then run GIT_SEQUENCE_EDITOR=: git rebase -i --autosquash <base> to fold it in non-interactively. As a fallback, with a clean worktree, an agent can check out the target commit, edit or amend it, then replay descendants with git cherry-pick. Conflicts are expected and need to be resolved.
Install via CLI
npx skills add https://github.com/padenot/lrv --skill lrv
Repository Details
star Stars 0
call_split Forks 0
navigation Branch main
article Path SKILL.md
More from Creator