ブランチをPRのようにレビュー。 スレッドはエージェントに引き渡す。
どんなgitリポジトリでも実行可能: 差分にインラインコメントを残し、同梱のスキル経由でレビュアーまたはレビュイーとして振る舞うLLMにスレッドを引き渡す。コメントは .reviews/ 配下のプレーンなJSON — クリップボードでの受け渡しも、エージェントループのためのサーバーも不要。
ブラウザの中で。あるいはそのままターミナルの中で。
同じキーボード駆動のレビューUIが、ローカルWebアプリとして動作し、Carbonyl 経由でターミナル内でも完全に動作します — TTYに描画するChromiumフォークです。ウィンドウの切り替えも、コンテキストの喪失もありません。ほぼすべてのキーバインドがそのまま使えます(2つの修飾キーコードはターミナルに優しい代替を使用)。
フル機能のGUI、セットアップ不要
--carbonyl で1つのペインに収める
差分を眺めるだけでなく、レビューループのために作られた。
ただの差分ビューアにはできない、slop-review の9つの機能。
まず核心となる変更にたどり着く。
すべての差分は、アルファベット順ではなく、変更セットにおける中心度でファイルを並べ替えます。重要なコードから始め、テストやドキュメントへと外側に進んでいきます。
- 被参照数: 他のいくつの変更ファイルがこのファイルをインポートしているか
- 次にステータス(修正、追加、削除の順)
- 次にサポートファイル(テスト、ドキュメント、フィクスチャ、設定)よりソースを優先、その後パス順

レビュー全体をホームポジションから操作。
1文字の動詞でコメント、コピー、ディープリンク、ピーク、削除を処理。キーボードから手を離す必要はありません。which-keyヒントバーは最初のキー入力で現れ、状態が変わるたびに再描画され、現在の行で有効なキーだけを表示します。
- 隠れたヒントは厳密に何もしないため、バーが死んだキーを案内することはありません
j/k移動、cコメント、n次のスレッド、rレビュー済み、pHEADをピーク

新しい側にも古い側にもインラインスレッド。
c を押すとカーソル行でコメントエディタが開きます。あるいは先に v で範囲を選択します。単一行でも複数行でも、新しい側でも古い側でも、スレッドは3つの差分モードすべてで同じように機能します。

スレッドをコーディングエージェントに引き渡す。
同梱の Claude Code スキルにより、エージェントが .reviews/ のJSONを直接読み書きして、レビュアー(インラインコメントを残す)またはレビュイー(未解決スレッドに対応し、ソースを編集し、返信する)として振る舞えます。HTTP APIも、稼働中のサーバーも不要。

ファイルを承認。実際に変更されるまで緑のまま。
ファイルヘッダーをクリックしてレビュー済みにマーク(そして折りたたみ)します。マークはマーク時点のそのファイルのblob SHAに紐づくため、後で 1つ のファイルに触れるプッシュがあっても、そのマークだけが無効になります。触れられていないファイルはすべて緑のままです。
- コミット単位のマークは「以降の変更がない」ことが条件なので、見ていなかった内容を承認してしまうことはありません
pでコミットビューを離れずにHEADのファイルをピークできます


識別子をダブルクリックすれば、すべての出現箇所が見える。
差分内の任意の識別子をダブルクリックすると、変更されたファイル全体での出現箇所がすべて一覧表示され、アクティブな行はその場でハイライトされます。2つ目のシンボルを開くと、1つ目は右端のストリップに退避し、マッチ一覧とジャンプ履歴は保持されるため、コンテキストを失わずに同時進行の検索を切り替えられます。

ブランチ全体、任意のコミット、あるいは作業コピー。
ベースとの累積差分、任意の単一コミット、またはローカルの作業コピーの差分。Shift+← / Shift+→ でこれらを切り替えられ、コメントは3つすべてで機能します。コールドスタート時はそのブランチの最後のビューを再開するか、適切なコミット単位のデフォルトにフォールバックします。

未解決のPRスレッドをローカルに取り込む。
slop-review --sync は、ブランチのGitHub PRから未解決のレビュースレッドをローカルスレッドにミラーし、各GitHubの作者を保持します。再実行するとGitHubをミラーします: 新しい返信が流れ込み、解決済みのスレッドはローカルで削除され、ローカルで触れたものはフラグが立てられて編集内容が保持されます — 新しいGitHubの返信は引き続き追記されますが、あなたの作業が上書きされることはありません。
- 同期されたスレッドには GitHub バッジが付き、元のコメントへリンクします
- UIを開いている間は5分ごとに再同期し続けます

LLMが生成する変更セットのマップ。
概要モーダルは、codex exec または claude を使ってオンデマンドでブランチの要約を生成します: 何が変わったか、メンタルモデル、変更前後の挙動、そして図として描画された小さなアーキテクチャのスケッチ。


スマホで読みやすく。ターミナルでレビューしやすく。
小さな画面では差分が読みやすい1カラムに折りたたまれ、スレッド、返信、;; の送信コードを含むレビューループ全体が Carbonyl 内で機能します。
ループ全体を、ホームポジションで。
同じバインドが通常のブラウザでも Carbonyl でも機能します。
| jk | カーソルを1行下 / 上へ移動(JK で5行) | carbonyl ✓ |
| cC | 新しい側 / 古い側の行にコメント | ✓ |
| vV | ビジュアル行選択を開始 | ✓ |
| y | カーソル行への path:line 参照をコピー | ✓ |
| r | カーソル行のファイルのレビュー済みを切り替え | ✓ |
| nN | 表示内の次 / 前のスレッドへジャンプ | ✓ |
| p | カーソル行のHEADをピーク(コミットビュー) | ✓ |
| e | ハンク周辺のコンテキスト行を展開 | ✓ |
| ⌘/Ctrl↵ | コメントエディタを送信 | ;; を使用 |
| ⇧←→ | コミット / 全体 / ローカルを切り替え | ‹ › を使用 |
どんなgitリポジトリでも、コマンド1つ。
cwdが自動でレビュー対象としてブートストラップされ、サーバーが空きポートを選び、ブラウザが開きます。スレッドは .reviews/ に保存されます。ローカルに留めておくにはgitignoreしてください。
実行する
インストール不要、設定不要。Node ≥ 20 とPATH上の git があればOK。
ターミナルモード
Carbonyl 経由でUIをそのままTTYに描画します。
エージェントに教える
同梱のスキルをインストールして、LLMがレビュアーやレビュイーとして振る舞えるようにします。
GitHub PRを同期する
未解決のPRスレッドをローカルにミラーし、UIを開きます。