πŸ”₯πŸ”₯πŸ”₯

RAGE-o-meter

Finally, an AI benchmark you can trust.

Reprimands At Generative Entities β€” per session
See the gallery β†’ View on GitHub

# The metric we deserve

Software engineering used to have one true code quality metric: WTFs per minute. But in the age of agentic development, nobody reads code anymore β€” we supervise entities that write it. The metric had to evolve.

CODE REVIEW WTF! WTF? wtf… then: WTFs/minute evolution I've also refactored 47 files you never mentioned NO. I SAID ONE FILE!! now: RAGE/session
same energy, new target

# The bands

"How many times did I yell at my agents before the task was done?"

0 4 6+ measuring…
live reading from an average tuesday
0–2
😌
Great agentic workflow
Either the agent behaved, or you have given up entirely.
3–5
😐
Needs better prompting
You said "actually" more than once. It was noted.
6+
πŸ”₯
I'm doing the task myself
The oldest fallback architecture known to engineering.

# How it works

A Claude Code hook watches every prompt you submit and scores it β€” fully locally. No model calls, no network, no telemetry. Just a pile of honest heuristics and a JSONL file that knows too much about you.

"NO. I told you already!!" your prompt hook scorer correction +2 negation +1 punctuation +1 UserPromptSubmit events .jsonl local only /rage the report
no cloud was harmed in the measuring of this rage
despair+4
"forget it, I'll do it myself"
profanity+3
the classics β€” in English and German
correction+2
"I said…", "that's not what I asked"
terse-rejection+2
"wrong again"
repetition+2
same prompt, second time, slower
caps+2
WHY ARE YOU STILL EDITING THAT FILE
negation-start+1
"no", "stop", "why", "ugh"
punctuation+1
!! ??? ?!
rapid-fire+1
short prompt, <25s after the last one
Deliberately not counted: code blocks and stack traces (pasting FATAL!!! is not anger), short acronyms like API or TODO (not shouting), and /rage itself (checking your rage is not a rage event).

# The report

Type /rage whenever you want the damage report.

❯ /rage RAGE β€” this session ────────────────────────────────────────────── Reprimands : 3 Rage score : 14 Verdict : 😐 Needs better prompting What set you off: correction 2 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ negation-start 2 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ rapid-fire 2 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ punctuation 1 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ profanity 1 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ Peak rage (6): "ffs read the error message" RAGE β€” all time ────────────────────────────────────────────── Sessions with rage : 2 Total reprimands : 4 RAGE/session : 2.0 😌 Great agentic workflow Most infuriating projects: proj-alpha 3 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ proj-beta 1 β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ

# Install

Two commands inside Claude Code:

# add the marketplace /plugin marketplace add rangulvers/rage-o-meter # install the plugin /plugin install rage-o-meter@rage-o-meter

Then just work as usual. The meter runs itself.

Privacy: everything stays in ~/.claude/rage/ on your machine. Only an 80-character excerpt of flagged prompts is stored. Calm prompts never touch disk. Wipe it any time with --reset --yes.

# The gallery

Everyone thinks their agent is the worst. Prove it. Run /rage --share, open a pull request with the card it prints, and your stats go up on the wall.

# generate your gallery card /rage --share

Cards carry counts, verdict, and signal names only β€” never anything you typed.

Browse the gallery β†’