pi-slopkick
Pi coding-agent extension for terminal-native review, annotation, and rich diff workflows.
Package details
Install pi-slopkick from npm and Pi will load the resources declared by the package manifest.
$ pi install npm:pi-slopkick- Package
pi-slopkick- Version
0.0.5- Published
- May 21, 2026
- Downloads
- not available
- Author
- upamune
- License
- MIT
- Types
- extension
- Size
- 157.5 KB
- Dependencies
- 2 dependencies · 1 peer
Pi manifest JSON
{
"extensions": [
"./src/index.ts"
]
}Security note
Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.
README
pi-slopkick
pi-slopkick is a Pi coding-agent extension that provides a terminal-native review and annotation UI for code changes. It lets you stop after an agent turn, inspect the diff inside Pi, add precise line/file/whole-change feedback, and insert a clean follow-up prompt back into Pi’s editor.
It is a fork of Rob Zolkos’ robzolkos/pi-slopchop, inspired by Mario Zechner’s pi-diff-review. This fork keeps the original MIT license notice and adds pi-slopkick-specific updates under the same MIT license.
pi-slopkick uses diffs.com via @pierre/diffs for rich diff parsing/rendering workflows, while keeping review, comments, navigation, and prompt handoff in the terminal.
Summary
Use /slopkick when you want to review and annotate work before sending the agent another turn.
It supports three review scopes:
git difflast commitall files
Inside the review UI you can:
- move through files and hunks quickly
- review rich, syntax-highlighted diffs rendered in the terminal
- annotate added and deleted lines
- leave file-level annotations
- leave a whole-change note
- mark feedback as either:
FIX— the agent should change somethingDISCUSS— the agent should explain, justify, or propose, without editing code just to satisfy the comment
- insert the resulting review prompt into Pi’s editor
/slopkick does not auto-send the prompt. It stages the next message for you.
Quickstart
Install
pi install npm:pi-slopkick
Then restart Pi or run /reload.
Run it
Inside a git repo in Pi:
/slopkick
Or use the global shortcut:
ctrl+alt+s
Basic flow
Run
/slopkick.Pick a scope:
git diff— review your current uncommitted working tree changes againstHEADlast commit— review the most recent commit against its parentall files— review files changed on the current branch compared with the default branch; if there are no changed scopes, falls back to current file contents
By default, pi-slopkick opens the first scope that makes sense for the repo in this order:
git diffif there are uncommitted changes- otherwise
all filesif the current branch differs from the default branch - otherwise
last commitif there is a reviewable last commit - otherwise
all filesas a current-file fallback
In the branch-level
all filesscope, files are ordered for review priority: changed files referenced by more other changed files come first, then modified/renamed before added before deleted, then source files before tests/docs/changesets, then path order. The navigator can filter to files related to the active file withr. In related mode,→means the active file references that file,←means that file references the active file, and↔means both. Pressragain to return to all files.Move to the file and line you care about.
Add annotations:
ffor a line annotation withFIXpreselecteddorcfor a line annotation withDISCUSSpreselectedlfor a file annotationafor a whole-change note
Press
sto insert the review prompt into the editor.Read it, tweak it if you want, then send it normally.
Fastest path
If you want speed, use slash shortcuts on a selected diff line:
- press
/ - press a shortcut key from the right panel
That creates a templated annotation instantly. If you want to refine it afterwards, press e on that same line.
Diff rendering and review workflow
pi-slopkick depends on @pierre/diffs, the npm package for diffs.com, to power rich diff handling in the review workflow. Pi supplies the coding-agent context and terminal UI; pi-slopkick adds a focused review layer for walking changes, marking up feedback, and converting that feedback into a prompt.
The UI is designed for terminal review instead of browser-based code review:
- changed files and hunks are navigable from the keyboard
- added and deleted lines are both commentable
- comments retain their scope and intent
- prompts are generated only when you submit, then inserted into Pi’s editor for final review
Annotation model
pi-slopkick treats feedback as one of three scopes:
Line comments
Use these for precise feedback tied to a specific added or deleted line.
Examples:
Why was this deleted?What is this code doing?Consider a clearer name here.
File comments
Use these when the feedback applies to the whole file change rather than one line.
Examples:
Explain this file-level refactor.This file now does too much.
Whole-change note
Use this when the feedback is about the change as a whole.
Examples:
Explain this entire diff to me.What is the overall intention behind this change?
FIX vs DISCUSS
This distinction is central to how pi-slopkick works.
FIX
Use FIX when you want the next agent turn to change something.
Examples:
- rename this
- simplify this
- add tests for this
- restore this deleted line
DISCUSS
Use DISCUSS when you want explanation, rationale, tradeoffs, or a proposal.
Examples:
- why was this deleted?
- what is this code doing?
- explain this change to me
- is this approach intentional?
When pi-slopkick generates the prompt, it uses different wording depending on whether your review is:
DISCUSSonlyFIXonly- mixed
FIX+DISCUSS
That keeps pure discussion prompts strict, and avoids unnecessary instructions when you only want changes.
Navigation and commenting
Global
1 / 2 / 3— switch scope- mouse wheel — scroll the pane under the cursor
Tab— cycle focus: navigator → diff → comments/— search files, or open slash shortcuts in diff focus?— toggle help in the right sidebarw— toggle wrappingu— toggle unchanged context in diff scopesh— hide/show the comments panes— insert the generated prompt into the editorEsc— cancel the review
Navigator
↑↓orj/k— move between filesCtrl+d/Ctrl+u— move down / up by half a paner— toggle related-files filter inall filesscope- file rows show change counts as
+added -deleted Enter— move focus to diff
Diff
↑↓orj/k— move between selectable added/deleted linesCtrl+d/Ctrl+u— move down / up by half a panen / p— next / previous hunko— open the selected line in$EDITOR, then return to pi-slopkick when the editor exitsf— line comment, defaultFIXdorc— line comment, defaultDISCUSSe— edit the existing line comment on the selected linex— delete the existing line comment on the selected linel— file commenta— whole-change note/— open slash shortcut mode for the selected line
Line comment markers in the diff gutter:
●=FIX◆=DISCUSS
Comments panel
↑↓orj/k— move through saved commentsCtrl+d/Ctrl+u— move down / up by half a paneeorEnter— edit selected commentd— delete selected comment
Editor
Tab— toggleFIX/DISCUSSEnter— saveShift+Enter— newlineEsc— cancel editor
Slash shortcut mode
Slash shortcut mode is for very fast line comments.
When you press / on a selected diff line:
- the right sidebar switches to a shortcut panel
- shortcuts are grouped under
DISCUSSandFIX - pressing one shortcut key applies that comment immediately
This is designed for repetitive review patterns like:
- explain this
- why was this added?
- why was this deleted?
- what problem is this solving?
- simplify this
- add tests
If you want to refine the templated text after applying it, press e on that line.
Shortcut configuration
Optional user-level config file:
~/.pi/agent/extensions/slopkick.json
If you are migrating from pi-slopchop, rename ~/.pi/agent/extensions/slopchop.json to ~/.pi/agent/extensions/slopkick.json.
Example:
{
"version": 1,
"builtins": {
"disable": ["restore-deleted"]
},
"shortcuts": [
{
"id": "trace-added",
"key": "x",
"label": "trace",
"intent": "discuss",
"side": "added",
"text": "Explain how execution reaches this line."
}
]
}
Fields
version— schema version, currently1builtins.disable— built-in shortcut ids to turn offshortcuts— your custom shortcuts
Each shortcut has:
id— stable identifierkey— one-character trigger after/label— short label shown in the UIintent—fixordiscussside—added,deleted, orbothtext— the comment text to apply
Prompt generation
When you submit, pi-slopkick builds a prompt that matches the kind of review you created.
It groups feedback naturally into sections like:
- review-wide note
- file comments
- line comments
and uses stricter instructions when DISCUSS items are present, so the model is less likely to turn explanatory comments into accidental edits.
What it is good at
pi-slopkick is especially good when you want to:
- pause after an agent turn and inspect the change carefully
- ask for explanation without losing the exact line you are looking at
- separate actionable change requests from discussion
- review deleted lines, not just added ones
- stay inside Pi instead of switching to a browser or external review tool
Attribution and license
pi-slopkick is forked from robzolkos/pi-slopchop, originally copyright 2026 Rob Zolkos.
This repository is distributed under the MIT License. The original copyright notice is preserved in LICENSE, with an additional copyright notice for Yu SERIZAWA for pi-slopkick modifications.