I'm not a developer. I run my entire job through Claude Code, and I just open-sourced the plugin that holds it together.

I'm not a developer. I run my entire job through Claude Code, and I just open-sourced the plugin that holds it together.

I'm not a developer. For the last few months my entire job has run through Claude Code, and since I can't read the code it writes, I had to find another way to trust what comes out. The same failures kept returning: corrections I'd already made, settled decisions quietly reopened, a confident "done" with nothing behind it.

What it is ballast is the piece of my setup I cleaned up and open-sourced: a goal-completion framework — one hook plus eleven markdown skills. It's packaged as a Claude Code plugin, and because the skills are plain markdown, the same files run on Codex through an AGENTS.md block (conventions only there — more on that below).

The loop, start to finish A goal arrives, and the first move is mobilize: check what the project already holds — standing rules, verified notes, solved procedures — and using what exists is mandatory, not optional.

What's missing gets built, not guessed. The goal skill cuts the goal top-down into a pyramid of atomic pieces — no overlaps, no gaps — then fills them bottom-up, and every piece passes a verify gate before it bears weight: claims stay labeled drafts until they survive refutation against primary sources, with an optional second model configured to argue back. Research can be delegated to any second CLI you point at it, but whatever it returns lands as hearsay and goes through the same gate. The skeleton lives in a file, so the next session picks up the same tree instead of starting over.

Before anything ships, it gets rehearsed: a zero-context reader executes the deliverable and every stall gets fixed — the release this post describes went through that procedure itself, three rounds. Done means a check passed, not "Claude said so".

And what the work settles outlives the session. Decisions go to an append-only ledger, and reversing one means sweeping every surface the old wording still lives on. Verified facts land in a knowledge base that gets read before any new research. Procedures that recurred become skills. Corrections become rules: you correct Claude once — "this repo uses pnpm, npm broke the lockfile twice" — and from then on a hook running on every prompt delivers that rule's full text with any message that matches it. Claude follows it because it arrived with the message, not because it remembered. Coming back after a break is a thirty-second read.

What I have to be straight about Only the hook is code — the eleven skills are markdown conventions that hold exactly as well as the model follows them, and can drift like any prompt (the README labels every piece as code or convention; on Codex there is no hook at all, so everything there is convention).

Claude Code wrote all of it — the hook, the skills, the docs — with me steering. It's free — MIT.

Try it:https://github.com/svy04/ballast— on Claude Code, install is two slash commands: /plugin marketplace add svy04/ballast, then /plugin install ballast@ballast. On Codex, docs/CODEX.md is the wiring guide.

If you know prior art for this loop, open an issue and I'll link it in the README — injecting context on prompt submit is a documented hook pattern, and append-only records are older than software; "I haven't seen the whole loop bundled elsewhere" is the most I can claim. Happy to answer anything about the setup — and if you're a non-developer hitting the same walls, I'd like to hear what breaks first when you try it.

https://reddit.com/link/1vp9h8b/video/7j9jav4z5sjh1/player

reddit.com
u/Melony_Ivy8483 — 6 days ago