by coldteadotai
Make your coding agent abide by all your project rules
# Add to your Claude Code skills
git clone https://github.com/coldteadotai/abideSee how abide compares with popular alternatives.
abide is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by coldteadotai. Make your coding agent abide by all your project rules. It has 51 GitHub stars.
abide's catalog security scan is still queued. You can run an instant dependency and prompt-injection check now with the "Scan for vulnerabilities" button above.
Clone the repository with "git clone https://github.com/coldteadotai/abide" and add it to your Claude Code skills directory (see the Installation section above).
abide is primarily written in TypeScript. It is open-source under coldteadotai on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh abide against similar tools.
No comments yet. Be the first to share your thoughts!
Unlocks once the catalog security scan passes (runs nightly).
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
The deep catalog scan for this skill is still queued. Run an instant dependency check now instead.
npx @coldtea/abide login # paste your TypeSafe key once
npx @coldtea/abide init # hooks into every agent on this machine
Then start claude, codex or opencode as usual. That is the whole setup.
Your AGENTS.md, CLAUDE.md and the rest of your project instructions are full of rules no linter can check. "Use Yup, don't validate by hand." "No helper with one caller." "Never let a raw error reach a user." "Don't add what wasn't asked for." Nothing can script those, so nothing enforces them. In 93 real sessions, the agent broke one on 1 turn in 13, from the first edit on.
https://github.com/user-attachments/assets/a39c14ed-336a-4d68-8366-18e960916669
Abide enforces exactly those rules. On every edit (or turn) it asks Jev, TypeSafe's decision model, one question per rule and gets a probability back. Jev sees the rule and the diff, never the conversation, so edit 200 is checked like edit 1. Break a rule and the agent is told which one and fixes it in the same turn.
Checking every edit against every rule was never worth doing with an ordinary LLM. A check is about 2,500 tokens. At typical model prices that is a cent or more, and a few seconds, per edit, and the answer comes back as prose you then have to parse and cannot fully trust. Two hundred edits a day made it a non-starter.
Jev changes the arithmetic. It is a decision model, so it answers a typed question with a calibrated probability and nothing else. There is no free text, so there is nothing to make up. It is up to 100x cheaper than a typical LLM and answers in about 300 ms. That is what makes it reasonable to check every edit, every time.
npx @coldtea/abide login and paste it. It is stored once, in ~/.abide/.env, owner-only. A .env at the repo root works too.npx @coldtea/abide init in your repo..abide/rubric.json and tells you what it found.Abide: This edit appears to break a rule from this repository's instructions.
- Rule "api-validation-uses-yup" from ~/.codex/AGENTS.md line 65: "When writing API endpoints, do NOT write input validations manually. Use Yup (with clear validation messages) + early return in the API handler". (0.86)
Repair apps/web/src/pages/api/logout.ts now, then continue with the task.
The agent repairs it before moving on. No human in the loop.
| Agent | Install | Where it lands |
|---|---|---|
| Claude Code | npx @coldtea/abide init claude |
~/.claude/settings.json |
| Codex | npx @coldtea/abide init codex |
~/.codex/hooks.json |
| OpenCode | npx @coldtea/abide init opencode |
~/.config/opencode/plugins/abide.js |
init with no name installs into every agent it finds. Add --project to install into the repo instead, so teammates get it with the checkout.
Codex only: start codex, type /hooks, and accept the four abide entries. Codex asks this once for any new hook. Codex edits through apply_patch; abide reads the patch and judges every file in it.
OpenCode only: there are no hook processes, so abide runs as a plugin. Same checks, same messages: an edit that breaks a rule gets the repair request appended to its tool result, and a turn that ends with one gets a single follow-up message.
abide audit src/
Every file is judged as if it had just been written. You get a table by rule and a list by file. On 33 API routes of a real Next.js app: 12 seconds, about a cent.
| Command | What it does |
|---|---|
abide login |
store your TypeSafe key in ~/.abide/.env |
abide init [agent] |
install the hooks (claude, codex, opencode, or every one found) |
abide audit [paths] |
judge existing files, report by rule and by file |
abide check [paths] |
check uncommitted changes the way the hooks would |
abide report |
your rules, what fired, what never fires |
abide replay <agent> |
judge this repo's past sessions in any of the three agents |
abide compile |
compile the rubric now instead of at the next session |
abide calibrate |
score every rule against your recent git history |
abide tune |
rewrite the rules that never fire |
abide bench |
latency and spend, measured on your machine |
abide uninstall [agent] |
remove the hooks |
report, check, audit, bench and calibrate take --json.
.abide/rubric.json is a committed, readable file. Every verdict names a rule in it, and every rule quotes the line of your instruction file it came from. A wrong verdict is a rule you can rewrite.
edit after each edit, turn once at the end against the whole diff. "Did this add more than was asked" has no answer after edit 1 of 12.scope of globs, so an API route and a stylesheet get different questions.calibrate finds those against twenty real hunks from your history and switches them off. tune has the agent rewrite them..env.local and .env at the repo root, then ~/.abide/.env. Never a flag, never logged. Set AI_GATEWAY_API_KEY instead of a TypeSafe key to go through your Vercel AI Gateway.abide bench measures yours..abide/events.jsonl, where report counts it.Four hooks per agent. Session start: hash the instruction files, ask the agent to compile if they changed. Turn start: snapshot the working tree with git. After each edit: run the edit-phase rules on that hunk. End of turn: diff the whole turn against the snapshot and run the turn-phase rules, plus the edit-phase rules for anything a shell command wrote.
abide uninstall # every agent it was installed into
abide uninstall codex # one agent; add --project for a project-level install
Removes abide's own entries and nothing else. Rubric files and ~/.abide/.env stay until you delete them.
packages/schema: the rubric, hook payloads, verdicts and events as zod schemas.packages/cli: the abide command, the hook script and the OpenCode plugin.skills/abide-compile: the procedure the agent follows to compile a rubric.