Ralph
SkillMonitoring & opsIterative measurement-driven improvement loop. Measure, profile, mutate, re-measure, commit. Works for performance, bundle size, complexity, test coverage — anything quantifiable. Use when the user wants to systematically improve a metric through repeated cycles of profiling and targeted changes.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Ralph skill
What this skill tells your AI
The instructions your AI receives, as published by juspay/kolu in .agents/skills/ralph/SKILL.md and read by ahel’s review.
Iterative measurement-driven improvement loop. Each cycle: measure → profile → find biggest contributor → mutate → re-measure → commit only if improvement exceeds noise.
0. Gather inputs
Use AskUserQuestion to collect:
- What to improve — target metric and direction
- How to measure — command or method (research and propose one if user doesn't know)
- How many cycles — default 20
- Constraints — what must NOT change
1. Setup
- Create a feature branch and draft PR early (load
forge-prskill for title/body). PR description includes a measurements table updated as cycles complete. - Baseline: measure at least 5 runs, report median. For time: distinguish cold (no cache) from hot (cached). Document methodology.
- Create
docs/<target>-ralph-report.mdwith baseline, methodology, optimization log table, and findings. - Seed
TaskCreatelist with N cycle tasks — emit all calls as paralleltool_useblocks in a single assistant turn so the seed is one model round-trip, not N.
2. The loop
Each cycle:
- Profile — break down the metric into components. Measure each independently. Don't guess.
- Classify — categorize the biggest contributor (unnecessary dep, eager eval, redundant work, wrong abstraction, missing cache, structural overhead).
- Mutate — single, targeted change addressing the biggest contributor.
- Re-measure — same benchmark, same methodology. If improvement is within noise (<3% for time), don't commit — document in report only.
- Commit + push — only if improvement exceeds noise. Include metrics in commit message. Push report file with each commit.
3. Wrap-up
- Final measurement with same methodology as baseline — this is the number for the PR.
- Update PR description with final before/after table, summary of changes, key findings.
- Complete report with optimization log, dead ends ("Investigated but no improvement"), key findings, and cost breakdown.
- Run CI to verify nothing is broken.
Rules
- Facts over opinions. Measure everything. Don't commit based on theory.
- One change per cycle. Isolate variables.
- Only commit improvements. Noise-level changes clutter history.
- Preserve behaviour. All changes behaviour-preserving unless user explicitly allows otherwise.
- Document dead ends. "X doesn't help" is valuable knowledge.
- Stop at diminishing returns. 3 consecutive no-improvement cycles → tell user and stop.
- Keep the report. The
.mdis a deliverable — useful for blog posts and future reference.
Signals
- GitHub stars
- 78
- Forks
- 12
- Last commit
- Sep 2026
Others that do the same job
Advanced
- Catalog kind
- skill
- Gateway key
ralph-juspay- Source
- github.com/juspay/kolu