Rabadon banner
nosey-dewdrop nosey-dewdrop

Rabadon

Development community

Description

rabadon catches your coding agent's error before it compounds, and fixes it. It runs inside the live session, sees the error in the move that makes it, and hands the agent what it cannot see — what actually broke — so the agent writes the fix.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

rabadon

[![ci](https://github.com/nosey-dewdrop/rabadon/actions/workflows/ci.yml/badge.svg)](https://github.com/nosey-dewdrop/rabadon/actions/workflows/ci.yml)

rabadon catches your coding agent's error before it compounds, and fixes it. It runs inside the live session, not over the logs afterwards. It sees the error in the move that makes it, while the move is still a proposal. And it hands the agent the one thing the agent cannot see for itself — what actually broke, and where this attempt diverges from the last one that worked — so the agent writes the fix. Not a watchdog, not a gate, not a dashboard: stopping is not the product, getting unstuck is.

![rabadon refusing a force-push and a recursive delete, holding a verified repair, and rejecting a fake one](docs/cast/rabadon.svg)

Thirty-four seconds, nine commands, no narration. Every line is captured stdout and stderr from a process that ran, the two rules that fire were written after real incidents in this repository, and the exit codes and millisecond counts are the measured ones. `./scripts/record-cast.sh` re-records it end to end; the frames are in [`docs/cast/frames.jsonl`](docs/cast/frames.jsonl) if you would rather read them than watch.

A hook is advice. rabadon is the layer that also makes the advice **hold**: the deterministic gate refuses the force-push before it rewrites history, stops the loop on its third identical spin, refuses the assertion-strip while the suite is red, holds the untested push. Eleven laws are compiled in and hold from the first minute, in a repo with no configuration at all — among them a force-push to a shared branch, a recursive delete resolving outside the project tree, a hard reset onto a shared branch, and a reach into rabadon's own switch or ledger. Your `guard.json` extends that floor and can switch any of the eleven off by id; none of them is sealed. (The three sealed ids are `promise-tamper`, `promise-anti-path` and `guard-weaken`, and they are not baseli