Help us improve
Share bugs, ideas, or general feedback.
From file-review
Installs file-review CLI tool if needed, launches GUI to review files, or processes existing review comments. Activates on mentions of file-review, reviewing files, or comments.
npx claudepluginhub desplega-ai/ai-toolbox --plugin file-reviewHow this skill is triggered — by the user, by Claude, or both
Slash command
/file-review:file-reviewThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Unified skill for the file-review plugin. Routes to the correct workflow based on user intent.
Provides installation instructions for the file-review tool on new machines. Thin redirect to full setup guide in file-review skill. Use for install or setup queries.
Launches interactive web UI for reviewing markdown content from files, plans, or conversation using checkboxes and comments.
Launches revdiff TUI overlay for inline annotations on diffs, files, and changes in git, hg, jj repos. Answers questions on usage, config, themes, keybindings. Opens in tmux/zellij/kitty and captures history.
Share bugs, ideas, or general feedback.
Unified skill for the file-review plugin. Routes to the correct workflow based on user intent.
Note: The
/file-reviewand/process-commentscommands are simple shortcuts for backward compatibility. They trigger the Review and Process workflows below. This skill is the canonical entry point.
Match the user's request to one of three workflows:
| Intent signals | Workflow |
|---|---|
| "install file-review", "set up file-review", "file-review not found" | Install |
"review this file", "file-review <path>", "open for review", "let's review" | Review a File |
| "I left comments", "process comments", "done reviewing", "address feedback" | Process Comments |
If the intent is ambiguous, use AskUserQuestion:
| Question | Options |
|---|---|
| "What would you like to do with file-review?" | 1. Review a file (open GUI), 2. Process existing review comments, 3. Install file-review |
brew tap desplega-ai/tap
brew install file-review
Verify: which file-review
Prerequisites: bun, Rust
git clone https://github.com/desplega-ai/ai-toolbox.git
cd ai-toolbox/file-review
bun install
bun run install:app
This symlinks to ~/.local/bin/file-review. Ensure that's in PATH.
~/.local/bin in PATH, restart terminalxcode-select --installcd ai-toolbox/file-review && bun run uninstall:app
Check for recently created or modified files in the current session:
thoughts/<username|shared>/plans/thoughts/<username|shared>/research/Propose candidates to the user via AskUserQuestion.
Verify the file exists and is readable.
Check if file-review is installed:
which file-review
If not found, jump to the Install section above.
Launch the GUI:
file-review "<absolute_path>"
run_in_background: true and timeout: 600000 (max allowed — 10 minutes)& to the command — the process must block until the user closes the GUI--bg — let the Bash tool handle backgroundingOther CLI flags: --silent (no comment output), --json (JSON output).
Inform the user:
I've opened file-review for <filename>.
Shortcuts: Cmd+K (add comment), Cmd+S (save), Cmd+Q (quit), Cmd+/ (help)
No need to ask the user to notify you when done — you will be automatically notified when the GUI closes.
After the background task completes, the notification includes stdout with review comments:
=== Review Comments (N) ===
[abc123] Line 15 (inline):
"highlighted code"
-> Comment text here
Present the output, then proceed to Process Comments below.
| Shortcut | Action |
|---|---|
| Cmd+K | Add comment to selection |
| Cmd+S | Save file |
| Cmd+Q | Quit application |
| Cmd+/ | Show all shortcuts |
| Cmd+T | Toggle theme |
| Cmd+Shift+V | Toggle vim mode |
| Cmd+O | Open file |
The file-review tool embeds comments as HTML markers:
Inline comments:
<!-- review-start(ID) -->highlighted text<!-- review-end(ID): reviewer feedback -->
Line comments:
<!-- review-line-start(ID) -->
content spanning
multiple lines
<!-- review-line-end(ID): reviewer feedback -->
ID is an 8-character alphanumeric identifier.
// Inline - captures: [full, id, highlighted, feedback]
/<!--\s*review-start\(([a-zA-Z0-9-]+)\)\s*-->([\s\S]*?)<!--\s*review-end\(\1\):\s*([\s\S]*?)\s*-->/g
// Line - captures: [full, id, highlighted, feedback]
/<!--\s*review-line-start\(([a-zA-Z0-9-]+)\)\s*-->\n?([\s\S]*?)\n?<!--\s*review-line-end\(\1\):\s*([\s\S]*?)\s*-->/g
Step 1: Read and Parse
Read the file, extract all comments, present a summary:
Found 3 review comments in <filename>:
1. [inline] "implement caching" -> "Consider using Redis"
2. [line] "function fetchData()..." -> "Add error handling"
3. [inline] "TODO" -> "Please complete this"
Step 2: Process Each Comment
For each comment, show context and use AskUserQuestion:
| Question | Options |
|---|---|
| "Comment N of M: " | 1. Apply edit, 2. Acknowledge (remove markers only), 3. Skip |
Step 3: Remove Markers
<!-- review-start(ID) -->text<!-- review-end(ID): feedback --> with textStep 4: Final Summary
Processing complete!
- Applied edits: 2
- Acknowledged: 1
- Skipped: 0
File saved.