Code review and file compare in Skink
:codereview shows a diff you can comment on, line by line. skink --diff A B puts two files side by side.
Review a diff
Section titled “Review a diff”| Command | Reviews |
|---|---|
:codereview |
Uncommitted changes |
:codereview staged |
What is staged |
:codereview REV |
One commit |
:codereview branch [BASE] |
This branch against BASE, else the first of main, master, trunk, develop that exists |
:codereview since REV |
Everything changed since a commit, such as what an agent did |
:log gets you there too: c on a commit reviews it.
Comments
Section titled “Comments”| Key | Does |
|---|---|
| c | Comment on the diff line |
| e | Edit a comment (empty it to delete) |
| x | Resolve or reopen |
| D | Delete |
| ] / [ | Next / previous comment |
| Enter | Open the file at that line |
| g | Refresh |
| m | Write the review as Markdown and open it |
| a | Send the open comments to the agent panel |
Comments follow their line when the code moves. Comments whose line is gone are listed at the end as outdated.
They are kept in .git/skink-review/, per repository and per target, so they survive restarts and never land in your work tree.
Compare two files
Section titled “Compare two files”skink --diff old.rs new.rsFrom a file, :diff OTHER does the same.
| Key | Does |
|---|---|
| n / p | Next / previous change |
| > / < | Copy the change under the cursor to the right / left file |
| Enter / o | Edit the right / left file at that line |
| s | Save both |
| r | Read both again |
A copied change is an unsaved edit in that file’s tab, so Ctrl+Z there undoes it.
As git difftool
Section titled “As git difftool”git config --global diff.tool skinkgit config --global difftool.skink.cmd 'skink --diff "$LOCAL" "$REMOTE"'git difftoolFolder diffs (git difftool --dir-diff) are not supported yet.