✓ You're in — here's the full guide. Check your inbox for The Input Daily.

Free guide

Make Claude Code actually reliable

Everyone's hunting for a better prompt. ECC makes a different bet: fix the environment around the model instead.

Skip to the install →

By Adan · adanxai · Last updated July 2026 · Free, given away in full

ECC is a free, MIT-licensed set of rules, skills, agents, memory and hooks for Claude Code, Codex and Cursor. It's config files in folders that your assistant reads — no model change, no magic.

MIT free & open source
v2.1.0+ Claude Code required
~6 min read

1. The problems it fixes

If you use an AI coding assistant daily, this list will feel familiar:

  • It forgets everything between sessions. Every morning you re-explain your architecture.
  • You retype the same prompts — "write tests," "follow our conventions" — forever.
  • Inconsistent style. Every file looks like a different developer wrote it, because effectively one did.
  • Weak verification. Code that looks right and was never run.
  • No project standards the assistant reliably respects.
  • Security as an afterthought — nobody audits the config files the agent itself reads.

2. The core idea

Most people chasing better output reach for a bigger prompt. A longer CLAUDE.md. More instructions crammed into context. It works for about a session and a half.

Don't make the model smarter. Make its environment smarter.

The model doesn't change. Everything around it does — and that's the whole pitch. Here's roughly what handles what:

ProblemWhat handles it
Forgets your projectMemory (session-lifecycle hooks)
Retyping promptsSkills — reusable workflows
Inconsistent styleRules — always-follow guidelines
Weak verificationAgents (code-reviewer, tdd-guide)
Manual repetitionHooks that fire on tool events
Unaudited configAgentShield security scan

3. Installing it (real commands)

ECC ships as a Claude Code plugin. Two commands, run inside Claude Code.

1. Add the marketplace
/plugin marketplace add https://github.com/affaan-m/ECC
2. Install the plugin
/plugin install ecc@ecc

Requirement: Claude Code CLI v2.1.0 or later — earlier versions handle plugin hooks differently. Check with claude --version.

Read the hooks before you install. ECC ships hooks that run automatically on tool events — that's code executing on your machine. Skim the hooks/ folder first. That advice applies to this repo and every other one you install.

Want a smaller footprint?

There's a script install with profiles. minimal skips hooks entirely.

macOS / Linux
./install.sh --profile minimal --target claude
Windows PowerShell
.\install.ps1 --profile minimal --target claude

Not sure which pieces you need? Describe the job in plain English and it recommends components:

Component advisor
npx ecc consult "security reviews" --target claude

Three identifiers that aren't interchangeable

ThingIdentifier
GitHub repoaffaan-m/ECC
Claude pluginecc@ecc
npm packageecc-universal

4. Two things that break setups

Both are silent. Neither throws an obvious error. Fix them at install time and you avoid the two failure modes that make people give up on this.

① Don't stack install methods

Two install paths exist and they conflict. Running /plugin install and then install.sh --profile full leaves you with duplicate, competing configs. Pick one path and stay on it.

② Rules don't come with the plugin

Rules are markdown files ECC defines — they aren't a Claude Code plugin primitive, so nothing auto-installs them. If your coding standards are being ignored after a clean install, this is why. Copy them in by hand.

Clone the repo
git clone https://github.com/affaan-m/ECC.git
Copy rules into their own namespace
mkdir -p ~/.claude/rules/ecc
cp -R rules/common ~/.claude/rules/ecc/
cp -R rules/typescript ~/.claude/rules/ecc/

One more if you install components manually: Claude Code loads skills only from direct children of ~/.claude/skills. Nest them under ~/.claude/skills/ecc/ and they silently never load.

If something's already broken

Diagnose, then repair
node scripts/ecc.js doctor
node scripts/ecc.js repair
Preview a clean removal
node scripts/uninstall.js --dry-run

Worth knowing before you commit: uninstall is a documented, dry-runnable path. This isn't a one-way door.

5. What's actually inside

Rules

Always-follow guidelines: coding style, git workflow, testing, performance, security. Split into common/ plus language folders — typescript/, python/, golang/, swift/, php/.

Skills

Reusable expert workflows — TDD, security review, verification loops, refactoring, search-first research. This is where the project is actively moving; new development lands here first.

Agents

Specialized subagents with limited scope: planner, architect, code-reviewer, security-reviewer, tdd-guide, build-error-resolver, plus language-specific reviewers for Go, Python, Rust, Java, Kotlin, C++ and TypeScript.

Memory

Session-lifecycle hooks that persist summaries, learned patterns and metrics under ~/.claude — so the assistant doesn't restart from zero every morning.

Hooks

Automations firing on tool events (PreToolUse, PostToolUse, Stop) — format code, run tests, update docs, save memory. Tunable with ECC_HOOK_PROFILE, set to minimal, standard or strict.

Commands

Slash-command entry points — /plan, /code-review, /build-fix, /quality-gate, /test-coverage, /security-scan. On a plugin install they're namespaced: /ecc:plan.

6. The security scan people skip

Your assistant reads config files — CLAUDE.md, settings.json, MCP configs, hook definitions, agent definitions, skills. Every one is an input, and inputs can be poisoned.

AgentShield scans exactly that surface:

Audit your agent config
npx ecc-agentshield scan
Auto-remediate what it finds
npx ecc-agentshield scan --fix

Five categories: secrets detection, permission auditing, hook injection analysis, MCP server risk profiling, agent config review. Reports come as terminal, JSON, Markdown or HTML, and it exits with code 2 on critical findings so you can gate a CI build on it.

If you run MCP servers you didn't write yourself, run this before anything else in the repo.

7. The three official guides

The repo is code; the reasoning lives in three companion guides. Bookmark these — they're worth more than any summary:

8. Is it worth it?

Worth it if you use an AI coding assistant most days, work in a real codebase with standards worth enforcing, and you're tired of re-explaining your project every session. Memory and rules alone carry it.

Skip it if you use AI coding occasionally or for one-off scripts. There's a lot of it, and you'll spend longer configuring than you save.

Three things to know before you commit

  • Context cost is real. Rules and memory load into your context every session. That's the tradeoff for persistence — the Longform Guide covers token optimization, and it's worth reading before you install everything.
  • It installs to ~/.claude, not your repo. This is your machine's setup, not something your team inherits by cloning. Teammates each install their own.
  • It's a fast-moving, single-maintainer project. MIT-licensed and free, which is great for adoption — just know that before a team workflow depends on it.

The underlying idea holds even if you never install it: most bad AI coding output is a context problem, not a model problem. Fix what surrounds the model and the same model does noticeably better work.

Repo: github.com/affaan-m/ECC — free, MIT licensed, by @affaan-m. Not affiliated — I just think it's the right way to think about this.

Want the next one first?

The Input Daily — a 5-minute AI brief every weekday. 3 stories that matter, 1 tool worth trying, 1 prompt to steal.

Free. Every morning. Unsubscribe in one click. Privacy Policy.

You're all set.

The Input Daily lands in your inbox tomorrow morning. While you're here — the rest of the guides are free too.

Browse all free guides →