by almonk
A live todo list for coding agents, drawn in a Rex pane with the kitty graphics protocol
# Add to your Claude Code skills
git clone https://github.com/almonk/rexpadGuides for using ai agents skills like rexpad.
See how rexpad compares with popular alternatives.
rexpad is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by almonk. A live todo list for coding agents, drawn in a Rex pane with the kitty graphics protocol. It has 50 GitHub stars.
rexpad'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/almonk/rexpad" and add it to your Claude Code skills directory (see the Installation section above).
rexpad is primarily written in Go. It is open-source under almonk 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 rexpad 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.
A live todo list for coding agents, drawn in a Rex pane beside the agent.
When an agent starts a multi-step task, it writes its plan to rexpad and opens a pane next to its own. As it works, it checks items off and moves the highlight to whatever it's doing now. You can see the plan, the progress, and what's left at a glance, without scrolling back through the transcript.
go install github.com/almonk/rexpad@latest
This puts rexpad in $(go env GOPATH)/bin (usually ~/go/bin). Make sure
that directory is on your PATH.
Or build from a clone:
git clone https://github.com/almonk/rexpad
cd rexpad
make install # builds ~/.local/bin/rexpad and links the skill (see below)
The skill is what tells your agent to use rexpad. It's built into the binary:
rexpad skill install
That writes ~/.claude/skills/rexpad/SKILL.md, where Claude Code finds it.
New Claude Code sessions pick it up automatically; check with /skills, or
invoke it directly with /rexpad.
For other agents, install it into their skills directory instead:
rexpad skill install --dir ~/.codex/skills # Codex
rexpad skill show # print it, to paste anywhere else
make install links the skill to the repo instead of copying it, so edits to
skills/rexpad/SKILL.md take effect immediately while you work on rexpad.
In a Rex terminal:
rexpad set <<'EOF'
# Try rexpad
- [x] Install the binary
- [~] Open the pane
- [ ] Ask an agent for a multi-step task
EOF
rexpad show
A pane opens on the right, taking 30% of the width, without taking focus. Run
rexpad next a few times and watch it update.
Long lists follow the active item on their own. To look around yourself, use the trackpad or mouse wheel over the pane, or click into it and use the keys:
| Keys | |
|---|---|
j / k, arrows |
one row |
Space / b, Page Down / Page Up |
one page |
g / G, Home / End |
top / bottom |
f |
follow the active item again (also happens when the agent starts a new item) |
/, Ctrl-F |
find |
q |
close the viewer |
The list is drawn as an image, so the terminal's own find can't see its
text. Press / (or Ctrl-F) in the pane to open rexpad's find bar instead.
The query is fuzzy: its letters have to appear in order, but not next to each
other, so bld finds "build". Spaces split it into terms that must all
match, in any order. Case is ignored unless you type a capital. As you type,
the list folds down to the matching items, each kept under its group's header,
and the matched letters are highlighted. The match you're on gets an outline.
| Keys | |
|---|---|
| Enter | stop typing; the list stays filtered |
n / N, or Up / Down and Ctrl-N / Ctrl-P while typing |
next / previous match |
| Esc | close find: the list unfolds and keeps the match you were on in view |
/ again |
back into the field with the query selected |
You don't need to do anything once the skill is installed: when you give the agent a task with several steps, it writes its plan and opens the pane. You can also ask for it directly: "show your plan", "keep a todo list", "what are you working on?"
Under the hood the agent runs commands like these:
rexpad set <<'EOF' # write the whole plan
# Fix
- [~] Guard the missing session in SidebarView
- [ ] Add a regression test
EOF
rexpad show # open the pane (does nothing if it's already open)
rexpad next # finish the current item, start the next
rexpad add "Bump the dependency pin"
rexpad done 4
# Group title
- [ ] pending item
- [~] active item (working on it now; [>] and [/] work too)
- [x] done item
Each # Group gets a progress ring that fills as its items are done, with
the active item counting half. rexpad get prints the list back with each
item's ID as {#ID}, and rexpad set --json takes the same list as JSON.
rexpad [--list NAME] COMMAND
Showing the list
show [--below] [--ratio PCT] [--theme T] open the viewer beside your pane (30%, no focus change)
hide close the viewer pane
view [--theme terminal|light|dark] run the viewer in the current terminal (q quits)
render -o FILE.png [--width PT] write a PNG of the list
Writing the whole list
set [--json] replace the list from stdin (Markdown checklist or JSON)
get [--json] print the list with item IDs
clear empty the list
Changing items
group TITLE add a group; later adds go to it
add [-g GROUP] TEXT add an item, prints its ID
start ID make ID the active item
done [ID...] check items off (no ID: the active item)
next finish the active item, start the next one
undo ID... mark pending again
edit ID TEXT / rm ID...
progress GROUP PCT|auto pin a group's ring, or go back to counting items
Agent skill
skill install [--dir DIR] install the skill (default ~/.claude/skills)
skill show print the skill
rexpad help prints the full reference.
| Setting | Default | |
|---|---|---|
--list NAME, $REXPAD_LIST |
the agent's pane ($REX_BLOCK) |
Which list to use. Give several agents the same name to share one list. |
--theme |
terminal |
terminal follows the Rex theme; light and dark use fixed palettes. |
--ratio PCT |
30 |
The pane's share of the split. |
--scale N, $REXPAD_SCALE |
from the cell size | Device pixels per point. |
$REXPAD_FONT, $REXPAD_FONT_BOLD |
SF Pro Text | Paths to other font files. |
$XDG_STATE_HOME |
~/.local/state |
Lists are stored in rexpad/ under it. |
~/.local/state/rexpad. Commands
read it, change it, and write it back atomically.rexpad view) is what runs in the pane. It checks the file
every 150 ms and renders the whole list to one tall PNG at the pane's pixel
density, which it uploads once with the kitty graphics protocol. Scrolling
moves the placement's crop window over that image, so it costs a few bytes
per step rather than a new image. The placement is pinned to the pane's
columns and rows, so a client with different cell metrics (such as Rex on a
phone) scales it to fit instead of overflowing. New images are placed before
old ones are deleted, so updates don't flicker.show runs rex split beside $REX_BLOCK without taking
focus, then sets the 70/30 ratio with rex block move, and remembers the
pane so it doesn't open a second one.make build # ./rexpad
make test
make install # ~/.local/bin/rexpad, plus a symlinked skill
The layout constants in render.go are in points, measured against a 2x
reference design. rexpad render -o out.png is the quickest way to check a
change.