by alpcanaydin
Turn Rex into a harness for your coding agent: see what it changed, review it in Neovim, send comments back. Claude Code, Codex, OpenCode, Pi.
# Add to your Claude Code skills
git clone https://github.com/alpcanaydin/rexmodGuides for using ai agents skills like rexmod.
See how rexmod compares with popular alternatives.
rexmod is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by alpcanaydin. Turn Rex into a harness for your coding agent: see what it changed, review it in Neovim, send comments back. Claude Code, Codex, OpenCode, Pi. It has 51 GitHub stars.
rexmod's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/alpcanaydin/rexmod" and add it to your Claude Code skills directory (see the Installation section above).
rexmod is primarily written in Go. It is open-source under alpcanaydin on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh rexmod against similar tools.
No comments yet. Be the first to share your thoughts!
Available after the catalog security scan passes.
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
Turn Rex into a harness for your coding agent.
The loop • Install • Usage • How it works • FAQ
https://github.com/user-attachments/assets/ac2e4950-17d7-4bd9-b16a-9bd8cb463f49
Rex already runs your agents. rexmod builds the harness around them: it records every turn, so you see exactly what the agent changed; it opens a real editor beside the agent to read and review that code; and it hands your review back to the agent as its next input. Prompt, change, review, feedback: the whole loop stays in one Rex window, for Claude Code, Codex, OpenCode or Pi.
[!NOTE] rexmod is an unofficial mod, not made by or affiliated with Superlogical. It patches your local copy of Rex so Rex loads the panel; the uninstaller puts the official build back.
Space r on a line or a selection leaves a review comment.Around the loop:
⌘P file picker over the agent's repository, with the editor's syntax highlighting in the
preview.Space u o plays them in the macOS app), and markdown renders in place, images included (Space c p opens a live browser preview).rexmod skill, so it can open a file for
you in the editor pane (rexmod open file:line) when it points you at something.⌘⇧E from the keyboard. When Rex updates itself, rexmod re-applies the patch and asks you to
reopen it.| Agent | How the harness hooks in | Last Turn | Comments with your next message |
|---|---|---|---|
| Claude Code | UserPromptSubmit / Stop hooks |
✓ | ✓ |
| Codex | the same hooks (trust them once with /hooks) |
✓ | ✓ |
| OpenCode | server plugin + TUI plugin | ✓ | ✓ |
| Pi | extension | ✓ | ✓ |
You need a Mac with Apple silicon on macOS 15 or later, Rex installed and opened once, and Homebrew (for Neovim, fzf and Node, if you don't have them).
With Homebrew:
brew trust --tap alpcanaydin/rexmod # Homebrew asks you to trust third-party taps
brew install alpcanaydin/rexmod/rexmod
rexmod-setup
Or in one line:
curl -fsSL https://raw.githubusercontent.com/alpcanaydin/rexmod/main/install.sh | sh
Then quit Rex (⌘Q) and open it again. Nothing is compiled on your machine. After brew upgrade rexmod, run rexmod-setup again.
~/Library/Application Support/rexmod and links ~/.local/bin/rexmod.~/.config/nvim, installs the bundled LazyVim config there; with a lazy.nvim
config, adds one plugin spec (lua/plugins/rexmod.lua); with any other config, installs the bundled
one as ~/.config/rexmod-nvim and leaves yours alone.⌘P to ~/.config/rex/init.lua (in a managed block).rexmod skill. JSON files are backed up first.Options: --update-rex installs the latest official Rex first, --no-patch skips the panel,
--no-hooks skips the agents. From a checkout, ./install.sh builds what it needs if Go and Xcode
are there.
[!IMPORTANT] Codex runs new hooks only after you trust them: start Codex and run
/hooksonce. OpenCode loads plugins when its background server starts, so quit OpenCode once after installing.
| Where | Keys | What |
|---|---|---|
| Rex | ⌘⇧E |
Show or hide the panel |
| Rex | ⌘P |
Find a file in the agent's repository |
| Panel | click a file | Open it in the editor pane |
| Editor | Space r |
Comment on the line, or on the selection in visual mode |
| Comment box | Ctrl+S / Esc |
Save / cancel |
| Editor, on a noted line | E / D |
Edit / delete that note |
| Editor | ]r / [r |
Next / previous comment |
| Editor | Space R |
All comments of the repo: Ctrl+S sends pending ones, Ctrl+X deletes |
Pending comments head the panel's Changes tab, whose icon shows how many there are: click one to
open it in the editor, or send them all right away with Send. Otherwise they ride along with the
next message you type to the agent, as a short list of file:line, the code, and your note.
Several agents in one tab. The panel, Last Turn and your comments follow the agent pane you focused last; working in the editor or a shell doesn't change that. The agent name at the bottom of the panel becomes a menu to switch, and the Info tab lists them all.
flowchart LR
subgraph Rex.app
panel[Changes panel<br/>RexModPanel.dylib]
end
agent[Agent pane<br/>Claude Code · Codex · OpenCode · Pi]
editor[Editor pane<br/>Neovim + rexmod.nvim]
cli((rexmod))
git[(.git/rexmod<br/>turns · comments)]
panel -- "state, open, send" --> cli
agent -- "hook prompt / stop" --> cli
editor -- "comments" --> cli
cli -- "panes, splits, input" --> rex[Rex server API]
cli --> git
cli -- "--listen socket" --> editor
rexmod, a Go CLI, does the work: it finds the tab's agent pane through Rex's API, diffs git
trees, opens files in the editor pane, and keeps comments..git/rexmod/ of the worktree, each tied to the agent pane it was written for.Updates: brew upgrade rexmod && rexmod-setup, or run the one-line install again.
Rex itself: Sparkle can't update a patched Rex (its installer only accepts an app signed by
Superlogical), so rexmod turns Sparkle's checks off and its LaunchAgent updates Rex instead, every
hour: it downloads the official build, checks its signature, Team ID and notarization, patches it
and asks you to reopen Rex. To do it now: ~/Library/Application\ Support/rexmod/scripts/update.sh.
Uninstall, which restores the official Rex and removes the hooks, the ⌘P block and the files:
~/Library/Application\ Support/rexmod/scripts/uninstall.sh
Check that Rex is patched: ~/Library/Application\ Support/rexmod/scripts/patch.sh --check. If Rex
just updated, reopen it once the re-patch notification arrives. The panel logs to
~/Library/Logs/rexmod-panel.log; start Rex with REXMOD_PANEL_DISABLE=1 to run it without the panel.
The agent's hooks aren't running. Run ~/Library/Application\ Support/rexmod/scripts/install-hooks.sh
again, then for Codex trust the hooks with /hooks, and for OpenCode quit it once.
No. A note is tied to the agent pane of the tab you wrote it in. An agent running elsewhere (another terminal or app) in the same repository only gets notes written outside Rex.
Codex runs its hooks in one background server for every pane, so rexmod finds the pane by looking for the Codex that works in that folder. With two of them in the same repository it can't tell which one sent the message, and rather than guess it leaves the notes pending and records the t