Skip to content

mattorb/rep

Repository files navigation

CI License: MIT

Rep

A human in the loop TUI to review and revise LLM generated markdown plan files quickly.

Rep CLI demo

For agent-loop usage, wrap your agent harness in a tmux session so the skill can launch the rep UI modally.

Rep Claude skill demo

Overview

rep opens a markdown file in an interactive TUI optimized for providing feedback and requesting changes from an LLM.

When you exit rep, it prints a list of requested changes for an AI agent to process and apply to the markdown plan. These changes can be a mix of deletions, additions, changes, and intent guidance.

For the most seamless experience, launch Codex or Claude Code inside a tmux session, which allows rep to launch as modal from a skill and automatically pass the revisions you ask it for back into the agentic loop.

Installation

Install the latest macOS or Linux release to ~/.local/bin, and the bundled agent skill source to ~/.agents/skills/rep, with this command:

curl -fsSL https://raw.githubusercontent.com/mattorb/rep/main/install.sh | sh

After installing the skill source, the installer offers to symlink it into the supported agent skill directories for Claude, Codex, Gemini, opencode, Hermes, and Droid. The prompt works with the curl | sh form when an interactive terminal is available.

To install or update only the skill source and optional agent symlinks later:

curl -fsSL https://raw.githubusercontent.com/mattorb/rep/main/install.sh | sh -s -- --skills-only

This source install path installs the rep binary only.

Usage

Preferred

Use the rep skill to launch in the agentic loop: /rep in Claude Code or $rep in Codex.

Manual fallback

If you execute it manually like this, you'll have to copy and paste results back to the agent.

rep plan.md

Keybindings

Key Action
j, Down, Right Move to the next active unit
k, Up, Left Move to the previous active unit
Space Cycle to the next selection unit
Backspace Cycle to the previous selection unit
i Use a finer selection unit
o Use a coarser selection unit
c Add or edit a literal change request
f Add or edit feedback or intent
b Insert text before the current unit
a Insert text after the current unit
x Clear existing annotations or mark the unit for deletion
e Edit an existing annotation
[, ] Jump to the previous or next annotation
/ Search
n, N Jump to the next or previous search match
?, Shift + / Open or close help
I Open or close the AST view
O Reveal markdown links for the current sentence
r Copy annotations to the clipboard
q Quit and print annotations to stdout
Q Quit silently and discard annotations
Enter Save text in change, feedback, insert, edit, or search modes
Esc Cancel the current input mode or close an open popup

Platform Support

Platform Release artifact CI coverage Support status
Linux x86_64 x86_64-unknown-linux-musl Build, package, archive smoke test, and installer smoke test on GitHub-hosted Ubuntu Supported
Linux arm64 aarch64-unknown-linux-musl Cross-build, package, archive smoke test, and installer smoke test on GitHub-hosted Ubuntu Supported
macOS x86_64 x86_64-apple-darwin Build and tests on GitHub-hosted macOS Supported
macOS arm64 aarch64-apple-darwin Cross-target release build on GitHub-hosted macOS Supported

Linux release artifacts are static MUSL builds.

Emitted Annotations Example

On exit, something like this prints to stdout, for the LLM agent to consume and make modifications to the markdown plan file.

FILE: plan.md

ACTION: change
WHERE: line 12 sentence 2
CONTEXT:
  prev: The release workflow builds archives for every configured target.
  target: Windows artifacts are published even though the installer and tests do not cover Windows.
  next: Checksums are generated after packaging.
CHANGE: Stop publishing Windows archives until CI and installer support are added.

License

MIT — see LICENSE.

About

Rep: Replan/revise/annotate agent generated markdown plans, especially in session in tmux

Resources

License

Stars

4 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors