ralphex is a command-line tool that runs coding agents through implementation plans, executing repository tasks autonomously in separate sessions. It is intended for developers who want long-running features implemented, validated, reviewed, and committed with less interactive supervision.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/umputun/ralphex/ralphex-updatenpx skills add umputun/ralphex --skill ralphex-updategit clone --depth 1 https://github.com/umputun/ralphexWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/umputun/ralphex/ralphex-update)<a href="https://agentmods.dev/skills/umputun/ralphex/ralphex-update"><img src="https://agentmods.dev/badge/skills/umputun/ralphex/ralphex-update.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00013 | $0.01664 |
| Opus 5 | $0.00006 | $0.00832 |
| Sonnet 5 | $0.00003 | $0.00333 |
| Haiku 4.5 | $0.00001 | $0.00166 |
Grade C, and why
ralphex-update scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf <dump-dir> How it starts
The opening of the file, as written. The whole thing — 178 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ralphex-update - Smart Prompt Merging
SCOPE: Compare current embedded defaults with user's installed config, and intelligently merge updates into customized files. Preserves user intent while incorporating structural changes.
Step 0: Verify CLI Installation
which ralphex
If not found, guide installation:
- macOS (Homebrew):
brew install umputun/apps/ralphex - Any platform with Go:
go install github.com/umputun/ralphex/cmd/ralphex@latest
Do not proceed until which ralphex succeeds.
Step 1: Extract Current Defaults
Create temp directory and dump embedded defaults:
DUMP_DIR=$(mktemp -d /tmp/ralphex-defaults-XXXX)
ralphex --dump-defaults "$DUMP_DIR"
echo "$DUMP_DIR"
Save the dump directory path for later use.
Step 2: Determine Config Directory
Resolve the user's config directory:
# check environment variable first
echo "${RALPHEX_CONFIG_DIR:-}"
If RALPHEX_CONFIG_DIR is empty, use default:
- macOS/Linux:
~/.config/ralphex/
Verify the directory exists:
ls -la <config-dir>/
If it doesn't exist, inform user that ralphex hasn't been configured yet and there's nothing to update.
How ralphex Config Files Work
ralphex installs config, prompt, and agent files with all content commented out (every line prefixed with # ). At runtime, stripComments() removes these lines, finds nothing, and falls back to embedded defaults compiled into the binary. These all-commented files are functionally identical to missing files — they are do-nothing placeholders.
When ralphex is updated, new embedded defaults take effect automatically for every file that hasn't been customized. No file changes are needed.
A file is customized only if it contains at least one uncommented, non-empty line that was intentionally modified by the user. The --dump-defaults command produces the raw (uncommented) embedded content for comparison.
Step 3: Compare Files
For each file in the defaults dump (config, prompts/*.txt, agents/*.txt), compare with the corresponding file in the user's config directory.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 5d ago First seen · 178 lines · 13 tokens per session scan C b83d1ef3681c
ralphex-update is a skill published in the GitHub repository umputun/ralphex (1,477 stars, last pushed today), licensed MIT. It adds 13 tokens to every session and 1,664 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
kanban-workflow
Comprehensive guide for using YYLO Ledger task management. Covers all commands (create, list, search, get, mark, update, archive, deps, ready, order, merge), dependency management, best practices, and workflow patterns. Use when you need to interact with the YYLO Ledger board.
plan-kanban-tasks
Create a concise Product Development Requirement and one or more implementation-sized Kanban tasks when the user explicitly asks to plan or register work.
understand-project
Inspect the current product architecture, dependencies, and validation loops before planning or implementing a requested change.
ralph-loop
Execute exactly one explicitly assigned Kanban task to a validated queued commit. Use only when the user explicitly requests ralph-loop.
claude-loop
Autonomous orchestrated loop that works through a prd.json story-by-story using a fresh Task subagent per story. Use this skill whenever the user asks to "run the loop", "claude loop", "start the loop", "kick off the loop", "work through the prd", "process prd.json", "implement all the stories", "iterate through the…
agent-loop
Run bounded, resumable OpenAI-native coding loops with shell and applypatch, similar to Claude Code agent loops. Use when the user asks for a loop, autonomous iteration, or a persistent inspect-edit-test cycle with a turn cap.