Everything Claude Code is a public GitHub repo by Affaan Mustafa (user affaan-m) that bundles a ready-made setup for Claude Code: subagents, skills, slash commands, hooks and rules. Its README is titled Everything Claude Code in the v1.9.0 release of 21 March 2026 and ECC in v2.1.0 of 27 July. The old address, github.com/affaan-m/everything-claude-code, answers with a 301 redirect to affaan-m/ECC. If you saw both names in search results, they are one repository.
Whether to install it is a separate question. Short answer: take parts of it, read the hooks first, and check what it adds to every request. The sections below give the reasons and the commands.
What is in the repo
Numbers come from the README and the repository files on 10 November 2026.
| Component | Count | Location |
|---|---|---|
| Subagents | 71 | agents/ |
| Skills | 314 | skills/ |
| Commands | 98 (the README calls them legacy command shims) | commands/ |
| Hooks | 27 entries across 8 events | hooks/hooks.json |
| Rules | a common pack plus packs per language | rules/ |
| MCP | one default connector, chrome-devtools, plus an opt-in catalog | .mcp.json, mcp-configs/ |
The license is MIT, the repo has roughly 300 thousand stars, the latest release is 2.2.3 from 1 October, and the repo was updated on 9 November. Claude Code is the main target, though the README also has paths for Codex, Cursor and OpenCode. The authors also sell ECC Pro, a paid GitHub App for private repos (from $19 per seat per month, per the README). The install steps for the plugin never mention it.
Stars measure how many people read a repo. They say nothing about review. The README calls the project the work of a single maintainer, but the history shows many authors: the latest 100 commits to skills/ on 10 November come from 13 people and none of them is the owner, and hooks/hooks.json has 30 authors across its history. That is one more reason to read the hooks yourself. The README itself warns to install only from its official channels, because re-uploads by third parties may carry malware.
How a Claude Code plugin works
Per Anthropic's documentation, a plugin is a directory with a manifest at .claude-plugin/plugin.json and a set of components that Claude Code installs and loads as one unit.
| Component | What it does | File in the plugin |
|---|---|---|
| Skills | instructions Claude loads when the description matches | skills/<name>/SKILL.md |
| Agents | subagents Claude can hand work to | agents/<name>.md |
| Hooks | commands that run on lifecycle events, such as before or after a tool call | hooks/hooks.json |
| MCP servers | tool servers that connect while the plugin is enabled | .mcp.json |
| Mod | hooks written as JavaScript functions that can also draw panes and add commands | a hooks module |
If you searched for "claude code mods", the last row is the answer: a mod is a plugin that ships a hooks module. There is no separate product behind the word.
Plugins come from marketplaces. A marketplace is a catalog: a repo with a .claude-plugin/marketplace.json file. Claude Code adds Anthropic's official catalog, claude-plugins-official, on first start. Anything else you add yourself with /plugin marketplace add. When you install, you pick a scope: just you across all projects, everyone who works in this repository, or just you in this repository.
None of this requires a plugin. A skill saved in ~/.claude/skills/ already works in every project, as the skills guide describes. A plugin earns its place when you want a set packaged as one unit with updates.
How to install ECC
You need Node.js 18 or newer, Git and Claude Code 2.1 or newer. Then pick one of two routes.
The native route, inside Claude Code:
/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc
In a session, /plugin install does not install straight away. It opens a panel with the plugin's details and asks for a scope. Afterwards the skills show up in the command list as /ecc:..., and claude plugin list prints the version and scope.
The guided route:
npx ecc-universal@2.2.3 setup
The wizard checks what is already installed, installs ecc@ecc into the scope you choose and lets you pick a hook profile. The version is pinned in the command, and the README adds right away that a pin does not replace reading the source.
Two rules from the README. Do not stack install methods: a plugin plus a manual install.sh into the same Claude Code duplicates skills and hooks. And do not paste hooks/hooks.json into your own settings.json, because Claude Code loads plugin hooks by itself and a second copy would fire every hook twice.
Rules do not ship through plugins. The README says plainly that Claude Code plugins cannot distribute rules, so you copy them by hand into ~/.claude/rules/ecc/, starting with rules/common plus one pack for your language. Rules sit in context permanently, so extra ones cost the most. For comparison with a project instruction file, see the piece on AGENTS.md.
To remove the plugin: claude plugin uninstall ecc@ecc. Rules you copied by hand stay where they are.
What to read in the hooks before you install
Anthropic's plugin security page opens with one sentence: an installed plugin can run arbitrary code on your machine with your user privileges. Claude Code's permission rules and sandbox cover the tool calls the model makes, not the code a plugin starts by itself. Hooks, monitors and MCP server processes run outside the sandbox. The same page adds that Anthropic does not control what plugins contain and cannot verify that they work as intended or stay unchanged.
The review order the docs give:
claude plugin marketplace listshows where each catalog was added from.- The Will install block in
/pluginsays hooks exist but not what they run. - Open
hooks/hooks.jsonand.mcp.jsonin the repo, plusbin/if the plugin has one. ECC has nobin/: its hook commands start scripts fromscripts/hooks/, and.mcp.jsonholds a single server, chrome-devtools. - Clone the repo and run
claude --plugin-dir <plugin directory> plugin details ecc. It prints skills, agents, hooks with their events and MCP servers without starting a session.
ECC ships 27 hooks across 8 events: 10 on PreToolUse, 8 on Stop, two each on SessionStart, PostToolUse and PostToolUseFailure, and one each on UserPromptSubmit, PreCompact and SessionEnd. All of them launch Node scripts from scripts/hooks. The README in the hooks directory gives examples. One hook blocks npm run dev outside tmux. A pre-commit check looks at staged files for secrets, debugger and console.log, and stops the commit on critical findings. Prettier and tsc --noEmit run after edits. Some hooks write session state to disk.
GateGuard stands out. According to its skill description, it rejects the first edit to a file, or the first shell command, until the model states facts (who imports this module, what schema the data has), then allows a retry. Per the CHANGELOG, read-only commands such as ls, cat, rg and git status do not use up the shell gate, so the first command outside that list is the one blocked. It is on in the standard and strict profiles and off in minimal. In ECC's CHANGELOG, Unreleased section as of 10 November, the authors write that their own pilot of 72 sessions measured the cost of the gate at about 45% more turns and did not measure its benefit. More turns means more tokens. We see no malice in this list, but a blocked everyday command is annoying until you know where it comes from.
What you can configure:
plugin.jsonhas two options:hooks_enabled(on by default) andhook_profile, which takesminimal,standardorstrictand defaults tostandard.- The
ECC_HOOK_PROFILEvariable changes strictness, andECC_DISABLED_HOOKSswitches off hooks by ID, comma-separated. - With a manual install,
install.shstops until you pass--enable-hooksor--no-hooks. - The plugin does not enable its bundled MCP servers by itself. If the term is new, start with the MCP servers guide.
One command deserves its own warning: /astra-review. By the README it runs your local Codex CLI and sends your diff to OpenAI, and the README treats invoking the command as your consent. If the code must not leave your network, do not call it.
Updates work in your favor here. For third-party catalogs, auto-update is off by default in Claude Code, so files you reviewed do not change silently. You update on your own schedule, and it is sensible to read the hooks diff again after each update.
How much context ECC takes
This is the least obvious part. Anthropic's docs explain that while a plugin is enabled, the names and descriptions of its skills, agents and commands sit in context on every turn. Those tokens count toward usage and take room from the context window even when nothing from the plugin runs. A skill's body loads only when the skill is used.
We measured it on the repo files (commit of 6 November). Name plus description for 314 skills add up to 102,234 characters, for 71 agents 15,915, for 98 commands 15,397. That is 133,546 characters in total, around 33 thousand tokens at four characters per token. Treat the figure as a rough ceiling: by default Claude Code cuts a skill's description and when_to_use text together at 1,536 characters (the cap can be changed with skillListingMaxDescChars), and a skill with disable-model-invocation: true stays out of the list. The real contribution shows up in claude plugin details ecc (the Always-on line), in /context and in /skill-doctor. ECC has its own command for this too, /context-budget.
If you pay per token, that background load appears on your bill every day. Ways to trim it are collected in the piece on cutting a Claude Code bill.
Which plugins to install
Start from the task, not from the catalog. These fit the usual needs.
| You need | Take | From |
|---|---|---|
| Commits, push, PRs | commit-commands | official catalog |
| Pull request review | code-review | official catalog |
| Feature work step by step | feature-dev | official catalog |
| Types and code navigation | typescript-lsp, pyright-lsp, gopls-lsp | official catalog |
| Your own hooks without someone else's code | hookify | official catalog |
| A process: brainstorm, plans, subagents with review | superpowers | official catalog |
| Everything at once, 314 skills | ecc | third-party catalog ecc |
The install command is the same shape for the official catalog: /plugin install commit-commands@claude-plugins-official. We checked the list against the marketplace.json of anthropics/claude-plugins-official on 10 November: it holds 317 plugins and ecc is not among them. The superpowers README gives the same form: /plugin install superpowers@claude-plugins-official.
If you still want ECC, take it in parts. The README describes a lighter profile with no hooks:
npx ecc-universal@2.2.3 install --profile minimal --target claude
It installs rules, agents, commands and core workflows and leaves hooks-runtime out. It is a separate install route, so do not combine it with the plugin.
What to pay with while all this runs
Plugins run inside Claude Code on your machine, and the API side only receives ordinary model requests. We have not run ECC against our gateway specifically, but Claude Code itself is set up with a Claudexia key as the setup guide describes. You need an address, a key and model aliases. This route is for people whose card or region Anthropic does not accept, and for anyone who wants one key across several model families, paid with a local card, SBP (the Russian instant-payment system) or crypto:
export ANTHROPIC_BASE_URL="https://api.claudexia.tech"
export ANTHROPIC_AUTH_TOKEN="sk_cdx_yourkeyhere"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-5-5[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-sonnet-5"
The aliases are mandatory. ECC's savings advice names sonnet and haiku, and through a gateway they resolve only when these variables are set: without them Claude Code asks for its own default models and answers with a model-selection error. The ECC README also says tool names in the plugin are kept short on purpose (ecc@ecc) because of strict checks on third-party gateways. Top-ups start at $1. Measuring what your plugin set costs is easiest on pay-as-you-go billing, since the dashboard shows spend per request.
FAQ
What is Everything Claude Code?
A GitHub repo, affaan-m/ECC, with agents, skills, commands, hooks and rules for Claude Code. It carried the name Everything Claude Code until summer 2026 and was then renamed ECC. The license is MIT.
How do I install Everything Claude Code?
Inside Claude Code run /plugin marketplace add https://github.com/affaan-m/ECC, then /plugin install ecc@ecc. The alternative is npx ecc-universal@2.2.3 setup. Pick one route and do not mix them.
Which Claude Code plugins should I install?
Start with commit-commands, code-review and a language-server plugin for your language from the official catalog. Add superpowers if you want a development process. Take ECC whole only when you are ready to read its hooks.
Are Claude Code plugins safe?
A plugin runs code with your user rights, and Anthropic does not vet third-party plugins. Read hooks/hooks.json, .mcp.json and bin/, switch off hooks you do not need, and keep auto-update off for third-party catalogs.
What is the difference between a plugin and a skill?
A skill is a folder with a SKILL.md file. A plugin packages skills, agents, hooks and MCP servers into one unit with a manifest and updates. A lone skill installs by copying its folder.
What are mods in Claude Code?
A mod is a plugin with a hooks module: its hooks are JavaScript functions, and it can draw panes and add commands. It runs with the same rights as any other plugin.