HERO — Anti-OverDefense
A paste-in rules block that stops coding agents from over-defending across hashing, edge cases, rubrics and overbuild.
- Source repo
- wanshuiyin/HERO-Anti-OverDefense
- Stars
- ★ 769
- Last updated
- 3d ago
- License
- MIT
- Primary language
- Python
- FA score
- Insufficient evidence
At a glance
- How it runs
- Works with
- Universal · cross-platformCodex · Claude Code
- Cost
- Free, no paid service needed
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A developer running unattended Claude Code or Codex sessions where the agent spends the night writing audit loops instead of the feature
- Not a fit if
- Teams needing enforced guarantees rather than defeasible natural-language instructions the model can decline
- Users hoping to make agents do less work — the contract redirects effort, it does not reduce it
- Existing users who pasted the block before the 2026 rule changes and have not re-pasted it
- Source review
- Insufficient evidence 8 safety controls not found
What does this agent do, and when should you use it?
HERO classifies coding-agent over-defense into four families — Hashing, Edge cases, Rubrics and Overbuild — and ships a bilingual (English/Chinese) contract you paste into your agent's auto-loaded config file, such as CLAUDE.md or AGENTS.md. The repository contains the RULES.md contract, a numbered catalogue of observed behaviours (cases/), per-host placement guidance (hosts/), and an optional Goal Pulse skill for Codex that reminds the main agent every 30 minutes to collect finished work and tackle recurring blockers. There is nothing to install or run: the core rules are plain text. The block bounds what the agent proposes, never what it looks for, so genuine defects and requested security work still get reported. Generalised out of ARIS (~13.7k stars), the project is honest about its limits — it is defeasible natural-language configuration that the model can decline, not enforcement.
The core deliverable is the nine-rule "=== SCOPE LIMITS ===" block in RULES.md: it restricts hashes/checksums (only when they replace a materially more expensive operation and change what happens next), forbids hardening for inputs that do not occur in the project, bans scoring tables and checklists replacing judgement, forbids scaffolding for futures nobody asked for, rules that deliverable text is not a defense transcript, makes momentum part of the deliverable, and requires the final deliverable to carry no generation or correction traces. Installation is a shell one-liner: grep checks whether CLAUDE.md already contains 'scope.limits', then curl fetches RULES.md and awk extracts the block, appending it to the file — idempotent and append-only. The cases/ directory indexes observed behaviours by ID (e.g. HERO-R-006, HERO-O-005, SIB-003, SIB-004) for you to quote back when an agent insists some hardening is necessary; it is deliberately not loaded by the agent. The Goal Pulse skill (skills/goal-pulse/) adds bilingual timed reminders for Codex Goals.
- A developer running unattended Claude Code or Codex sessions where the agent spends the night writing audit loops instead of the feature
- An ML researcher whose agent builds a permanent version tree for every recoverable failure and hashes every spreadsheet row, needing case IDs to push back
- A team using both Codex and Antigravity, which both read AGENTS.md — one file covers both hosts
- A team running an adversarial reviewer model, described as the single most productive source of this behaviour, which should also receive the block
- A writer whose papers become confessions of caveats and 'we do not address X' statements, addressed by Rule 7 and the SIB cases
- A user with a tight config file who opts for the short version — same nine rules, no worked examples, about half the size
How do you install or deploy this agent?
Paste the block into the file your agent loads automatically — CLAUDE.md for Claude Code, AGENTS.md for Codex and Antigravity, .github/copilot-instructions.md for Copilot, .cursorrules for Cursor. Or append it with one idempotent command:
grep -qi 'scope.limits' CLAUDE.md 2>/dev/null || { printf '\n\n'; curl -sL \
https://raw.githubusercontent.com/wanshuiyin/HERO-Anti-OverDefense/main/RULES.md \
| awk '/^=== SCOPE LIMITS/,/^Say plainly when something is correct/'; } >> CLAUDE.mdSwap the filename for your host. The Chinese block requires changing both the grep guard and the awk range together.
Important: if you pasted the block before any of the rule changes listed in the changelog, your old "=== SCOPE LIMITS ... ===" section is stale — the guard that prevents double-appending also prevents replacing, so delete the old section and run the command again. The core rules need no runtime installation. The optional Goal Pulse skill is installed separately into Codex per skills/goal-pulse/README.md.
How do you use this agent?
Core usage is zero-touch: keep the block in the always-loaded config file, not an invoked one — it must be present on long unattended runs where nobody is there to invoke it. The cases/ directory is not loaded by your agent; you quote it back by ID when the agent insists some hardening is necessary. If the block fades on long runs, RULES.md tells you how to tell three causes apart: something more specific is contradicting it, it is buried under hours of output, or compaction thinned it — and act accordingly; do not set an hourly timer since context grows with work, not minutes. Before running any check, answer: what specific failure would this detect, and what would I do differently if it occurred? Goal Pulse, once installed, is enabled by default on Codex Goal starts and resumes, sending bilingual reminders every 30 minutes; paused Goals stay silent.
What are this agent's strengths and limitations?
- Zero install, zero runtime: the core rules are plain text and work with any agent that auto-loads a config file, including hosts not on the list
- The case catalogue gives over-defense claims concrete, checkable shapes and IDs instead of vibes-based arguments
- Cleanly bounded in both directions: it limits the fix, never the search — doc-produced rare bugs and smoke tests are still reported, with two ✓ calibration examples
- Honest limitations section: the author states it 'helps a little' and that models can decline, rather than overselling
- The constraint is defeasible natural-language configuration: there are reports of agents replying that higher-priority system constraints win
- The block fades on long runs (contradicted, buried, or compacted away) and diagnosing which cause applies is on the user
- Blocks pasted before the 2026-08-11 changes are stale, and the idempotent installer will not replace them — manual deletion and re-paste required
- Outcomes depend on model choice: several reports describe switching to a different or earlier model as more direct than any prompt
How does this agent compare with similar options?
The project is explicitly generalised out of the same author's ARIS (Auto-claude-code-research-in-sleep, ~13.7k stars), whose cross-model reviewer spent a measurable share of its output proposing hashes nobody reads — HERO keeps the value and drops the tax. Rule 7's press-release principle is adopted from Adkid-Zephyr's anti-defensive-writing-Skill. The sibling project Anti-Autoresearch applies the same method to research integrity.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| HERO — Anti-OverDefense This agent | Insufficient evidence | Agent plugin / skillFree | ★ 769 | 3d ago | Python | Codex · Claude Code |
| CoCo Super Intelligence | 69 · Some gaps | Agent plugin / skillFree + model costs | ★ 797 | 3d ago | Python | Codex · Claude Code |
| Most Capable Agent System Prompt | 44 · Major gaps | — | ★ 882 | 1d ago | — | ChatGPT · Codex · Claude Code |
| Loop Library: Reusable AI Agent Workflows | 61 · Some gaps | Agent plugin / skillFree | ★ 3.2k | 1mo ago | JavaScript | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
Only README, LICENSE, one CI workflow, and a Goal Pulse test file are provided; RULES.md, hosts/, cases/, and skills/goal-pulse/scripts/goal_pulse.py are referenced but absent, so permissions, confirmation, data flow, and rollback cannot be verified. The README install command curls a remote RULES.md and appends it to CLAUDE.md with no checksum or signature, an external side effect, but the referenced script is missing. All trust criteria scored 0 for lack of evidence.
The test file shows detailed behavioral assertions for Goal Pulse (cooldown, pause, locking, replacement timeout), but the tested script and requirements.txt are not supplied, so dependency availability and failure-message implementation cannot be confirmed. README itself states the rules are defeasible natural-language configuration overridable by higher-priority instructions. Insufficient evidence; scored 0.
README claims compatibility with Claude Code, Codex, Antigravity, Cursor, Copilot, Windsurf, and Gemini CLI and separates core rules from optional Goal Pulse, but hosts/ and RULES.md are missing, so trigger precision, boundaries, and environment fit cannot be checked. Scored 0.
LICENSE is a complete MIT text (2026 Ruofeng Yang) and README has a changelog and install notes, but the information architecture depends on many absent files (RULES.md, cases/, hosts/, skills/), versioning and maintenance responsibility are only asserted in README, and publisher identity is unverified. Insufficient evidence; scored 0.
README clearly defines the four over-defense families (Hashing, Edge cases, Rubrics, Overbuild) with examples and offers a short version and paste-in block, but the core RULES.md and case catalogue are absent, so output usability and marginal value cannot be assessed. Scored 0.
README cites PRs, case IDs, and external projects, but the corresponding files are not provided for cross-checking; the test file corroborates some Goal Pulse behavior, yet the tested code is missing. Claim traceability and fact/inference separation cannot be evaluated; scored 0.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
- Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
- Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
- Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
- Core files RULES.md, hosts/, cases/, and skills/goal-pulse/scripts/goal_pulse.py are not included in the evidence, so rule content, install paths, and Goal Pulse implementation cannot be verified.
- The README install command curls remote content and appends it to CLAUDE.md without a checksum or signature, creating supply-chain and content-drift risk.
- Publisher identity is unverified; maintenance responsibility and update path are only asserted in README and should not be used to infer reliability.
- README states the rules are defeasible natural-language configuration that a higher-priority system instruction can override, not enforcement.