Leash — Development skill for Claude Code
Jev-powered guardrail that keeps a coding agent's output quality on a short leash: judges every turn against your un-lintable project rules and tells it which one it broke.
How to install Leash
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open CMaintz/leash and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Leash does
Jev-powered guardrail that keeps a coding agent's output quality on a short leash: judges every turn against your un-lintable project rules and tells it which one it broke. Ratcheted, advisory, never a gate.
Alternatives in Development
- Claude Token Efficient — One CLAUDE.md file 3.8k ★
- Claude Instructions For Local Skill Loading — This file tells Claude how to load skills locally 845 ★
- Pinloop CLI — Command-line job search tool for coding agents 317 ★
README
Leash
Keep a coding agent's output quality on a short leash. Leash judges every turn against your project's un-lintable rules using [Jev](https://typesafe.ai) (TypeSafe's System One decision model), and tells the agent exactly which rule it broke so it fixes it before moving on. About 300 ms and a fraction of a cent per turn.
Jev-powered. Early (v0.1): the offline core (rubric, engine, ratchet, CLI). Agent hooks land next. Inspired by [Abide](https://www.npmjs.com/package/@coldtea/abide); the difference is the ratchet (below).
Why
Your `CLAUDE.md` / `AGENTS.md` is full of rules no linter can check: "no premature abstractions", "never let a raw error reach a user", "small single-purpose functions". Nothing enforces them, so the agent breaks them from the first edit. A frontier LLM could judge each rule, but at a cent and a few seconds per check it never pays off. Jev answers one typed question per rule with a calibrated probability in ~300 ms for a fraction of a cent, which is what makes checking every turn viable.
What makes it different: the ratchet
Judging every file as if freshly written buries you in findings on a real repo. Leash borrows Foundry's accepted-debt baseline: existing violations are baselined once, and Leash only ever flags what a turn **newly** introduces. The baseline is one-way, it can only shrink. That is what makes it adoptable on an existing codebase from day one.
Turn-check is the default (once per turn, on the whole diff, where the un-lintable questions actually have an answer). A per-edit mode is planned but off by default: at Jev's edit-level precision, per-edit auto-repair risks the agent chasing phantoms.
Install
npm install -g leash # or: npx leash
Set a key: `export JEV_API_KEY=...` (or `TYPESAFE_AI_BASE_URL` for a self-host / proxy / mock). No key means Leash no-ops and lets the edit through, always.
Use
leash report # list the rules in .leash/rubric.json
leash audit
Related Skills
Spending Effort With Jev
Jev-powered /effort advisor for Claude Code: tells you when to switch effort, per prompt
Outreach Ledger
Claude Code skill that keeps track of everyone you're waiting to hear back from — tells you when to chase, spo
Jev Brig
A Claude Code hook that judges Bash commands against a session policy level, and answers allow/ask/deny with a
Jev Score
Local-first document evaluation workspaces powered by Jev
CloakBrowser Agent
Jev-powered stealth browser agent. TypeSafe Jev decides each step in ~0.3 s, CloakBrowser carries it out like
Jev Gates
Three gates for any coding agent: a deterministic approval gate before irreversible actions, a completion gate
Related Agents
Sizeup Everyday
sizeup helper for everyday jobs (a normal email, post or short document). Its model is set by /sizeup setup. D
Slop Auditor
Audits page copy for machine-written tells — forbidden phrases, empty claims, invented metrics, uniform struct
Story Doctor
Judges whether a video tells a whole story - does the hook promise something, is that promise paid off, does t