Build and TypeScript error resolution specialist. Use PROACTIVELY when build fails or type errors occur. Fixes build/type errors only with minimal diffs, no architectural edits. Focuses on getting the build green quickly.
npx skills add affaan-m/everything-claude-codeThe 10 skills worth having on every project - with the copy-paste install commands. One email, free.
Or install it in one command: npx skillissue loadout · read the loadout first
Build Error Resolver is a misc agent skill for Claude Code: Build and TypeScript error resolution specialist. Use PROACTIVELY when build fails or type errors occur. Fixes build/type errors only with minimal diffs, no architectural edits. Focuses on getting the build green quickly. It has 225,587 stars on GitHub.
npx skills add affaan-m/everything-claude-code/skills to confirm Build Error Resolver is loaded.Build Error Resolver is a misc agent skill for Claude Code: Build and TypeScript error resolution specialist. Use PROACTIVELY when build fails or type errors occur. Fixes build/type errors only with minimal diffs, no architectural edits. Focuses on getting the build green quickly. It has 225,587 stars on GitHub.
Run "npx skills add affaan-m/everything-claude-code" in your terminal, or copy the skill into ~/.claude/skills/ (all projects) or .claude/skills/ (current project). Verify it loaded with the /skills command inside a Claude Code session.
Yes. Build Error Resolver is open source - the full source is on GitHub at affaan-m/everything-claude-code and free to install and use with Claude Code.
<p align="center"> <img src="assets/hero.png" alt="ECC - the agent harness operating system" width="100%" /> </p>
<p align="center"> <a href="https://www.star-history.com/affaan-m/ecc"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/badge?repo=affaan-m/ECC&type=trending&theme=dark" /> <img src="https://api.star-history.com/badge?repo=affaan-m/ECC&type=trending" alt="GitHub Trending Repository of the Day" height="46" /> </picture> </a> <a href="https://www.star-history.com/affaan-m/ecc"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/badge?repo=affaan-m/ECC&type=rank&theme=dark" /> <img src="https://api.star-history.com/badge?repo=affaan-m/ECC&type=rank" alt="Star History Global Rank" height="46" /> </picture> </a> </p>
<p align="center"> <strong>Language:</strong> <a href="README.md">English</a> | <a href="docs/pt-BR/README.md">Português (Brasil)</a> | <a href="README.zh-CN.md">简体中文</a> | <a href="docs/zh-TW/README.md">繁體中文</a> | <a href="docs/ja-JP/README.md">日本語</a> | <a href="docs/ko-KR/README.md">한국어</a> | <a href="docs/tr/README.md">Türkçe</a> | <a href="docs/ru/README.md">Русский</a> | <a href="docs/vi-VN/README.md">Tiếng Việt</a> | <a href="docs/th/README.md">ไทย</a> | <a href="docs/de-DE/README.md">Deutsch</a> | <a href="docs/es/README.md">Español</a> </p>
<p align="center"> <a href="https://discord.gg/36yGMHGFbR"><img src="https://img.shields.io/discord/1496644400590094540?logo=discord&logoColor=white&label=Discord&color=5865F2" alt="Discord" /></a> <a href="https://ecc.tools"><img src="https://img.shields.io/badge/Website-ecc.tools-E07856?logo=googlechrome&logoColor=white" alt="Website" /></a> <a href="https://github.com/apps/ecc-tools"><img src="https://img.shields.io/badge/GitHub%20App-ECC%20Tools-181717?logo=github&logoColor=white" alt="GitHub App" /></a> <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="MIT license" /></a> </p>
<p align="center"> <a href="https://github.com/affaan-m/ECC/stargazers"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi.ecc.tools%2Fbadge%2Fstars&style=flat" alt="Stars" /></a> <a href="https://github.com/affaan-m/ECC/network/members"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi.ecc.tools%2Fbadge%2Fforks&style=flat" alt="Forks" /></a> <a href="https://github.com/affaan-m/ECC/graphs/contributors"><img src="https://img.shields.io/github/contributors/affaan-m/ECC?style=flat" alt="Contributors" /></a> <a href="https://github.com/marketplace/ecc-tools"><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi.ecc.tools%2Fbadge%2Finstalls&logo=github" alt="GitHub App installs" /></a> </p>
<p align="center"> <a href="https://www.npmjs.com/package/ecc-universal"><img src="https://img.shields.io/npm/dw/ecc-universal?label=ecc-universal&logo=npm" alt="ecc-universal npm downloads" /></a> <a href="https://www.npmjs.com/package/ecc-agentshield"><img src="https://img.shields.io/npm/dw/ecc-agentshield?label=ecc-agentshield&logo=npm" alt="ecc-agentshield npm downloads" /></a> </p>
<p align="center"> <img src="https://img.shields.io/badge/-Shell-4EAA25?logo=gnu-bash&logoColor=white" alt="Shell" /> <img src="https://img.shields.io/badge/-TypeScript-3178C6?logo=typescript&logoColor=white" alt="TypeScript" /> <img src="https://img.shields.io/badge/-Python-3776AB?logo=python&logoColor=white" alt="Python" /> <img src="https://img.shields.io/badge/-Go-00ADD8?logo=go&logoColor=white" alt="Go" /> <img src="https://img.shields.io/badge/-Java-ED8B00?logo=openjdk&logoColor=white" alt="Java" /> <img src="https://img.shields.io/badge/-Perl-39457E?logo=perl&logoColor=white" alt="Perl" /> <img src="https://img.shields.io/badge/-Markdown-000000?logo=markdown&logoColor=white" alt="Markdown" /> </p>
> [!WARNING]
> Official sources only. Install ECC only from verified channels: the GitHub repository github.com/affaan-m/ECC, the npm packages ecc-universal and ecc-agentshield, the GitHub App, the plugin slug ecc@ecc, and the project website ecc.tools. Third-party re-uploads and unofficial mirrors are not maintained or reviewed by the project and may contain malware.
Run these commands inside Claude Code:
text /plugin marketplace add https://github.com/affaan-m/ECC /plugin install ecc@ecc
That installs ECC's skills, agents, commands, and plugin-managed hooks. If you choose this path, stop there. Do not also run a full manual install into Claude Code.
> Guided package setup is coming in ecc-universal 2.2.0. Use the native
> Claude plugin commands above while npm remains on 2.1.0.
<div align="center">
<table aria-label="ECC primary links"> <tr> <td width="33%" align="center"> <a href="https://ecc.tools/pricing"> <img src="assets/images/community/ecc-tools-mark.svg" height="42" alt="ECC Tools" /><br /> <strong>ECC Pro + GitHub App</strong> </a><br /> <sub><a href="https://github.com/apps/ecc-tools">Install free</a> · <a href="https://ecc.tools/pricing">Private repos from $19/seat/mo</a></sub> </td> <td width="33%" align="center"> <a href="https://github.com/sponsors/affaan-m"> <img src="assets/images/community/heart.svg" height="42" alt="" /><br /> <strong>Sponsor ECC</strong> </a><br /> <sub>Fund the open-source project</sub> </td> <td width="33%" align="center"> <a href="https://discord.gg/36yGMHGFbR"> <img src="assets/images/community/discord.svg" height="42" alt="Discord" /><br /> <strong>Community</strong> </a><br /> <sub>Discord · Q&A · Show and Tell</sub> </td> </tr> </table>
</div>
<sub>OSS stays free. This repo is MIT-licensed forever. ECC Pro is the hosted GitHub App for private repos. <a href="https://github.com/sponsors/affaan-m">Sponsors</a> and <a href="https://ecc.tools/pricing">Pro subscribers</a> fund the work. That's why a single maintainer ships weekly across 7 harnesses.</sub>
<div align="center">
<sub><strong>Partners & sponsors</strong></sub>
<p align="center" aria-label="Partners and sponsors"> <a href="https://www.coderabbit.ai" title="CodeRabbit"><img src="assets/images/sponsors/coderabbit.png" height="54" alt="CodeRabbit" /></a> <a href="https://www.greptile.com/go/ecc" title="Greptile"><img src="assets/images/sponsors/greptile.png" height="54" alt="Greptile" /></a> <a href="https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=ECC" title="Atlas Cloud"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/atlascloud-dark.svg" /><img src="assets/images/sponsors/atlascloud.svg" width="154" alt="Atlas Cloud" /></picture></a> <a href="https://www.moonshot.ai" title="Moonshot AI - Kimi"><picture><source media="(prefers-color-scheme: dark)" srcset="assets/images/sponsors/moonshot-dark.png" /><img src="assets/images/sponsors/moonshot.png" width="132" alt="Moonshot AI - Kimi" /></picture></a> <a href="https://compute.itomarkets.com" title="Itô Markets"><picture><source media="(prefers-color-scheme: light)" srcset="assets/images/sponsors/ito-transparent-light.png" /><img src="assets/images/sponsors/ito-transparent.png" width="96" alt="Itô Markets" /></picture></a> </p>
<sub><strong>Community sponsors:</strong> <a href="https://github.com/mikejmorgan-ai">Mike Morgan</a> · <a href="https://github.com/jasonwu513">@jasonwu513</a> · <a href="https://github.com/1anter">@1anter</a> · <a href="https://github.com/massimotodaro">@massimotodaro</a> · <a href="https://github.com/meadmccabe">@meadmccabe</a></sub>
<sub><a href="https://github.com/sponsors/affaan-m"><strong>Become a Sponsor</strong></a> · <a href="SPONSORS.md">Sponsor Tiers</a> · <a href="SPONSORING.md">Sponsorship Program</a></sub>
</div>
<p align="center"><a href="#install-ecc">Jump to install ↓</a></p>
Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills and workflows.
text plan -> test -> implement -> review -> verify -> remember -> improve
Instead of rebuilding that process in every prompt, you install it once and make it part of how your agent works.
> Optimize the context window. Persist everything else.
ECC is MIT-licensed open source. It works best with Claude Code today, has a supported Codex sync path, and provides capability-limited adapters for Cursor, OpenCode, Gemini, Zed, GitHub Copilot, Antigravity, Qwen, and other harnesses. See the [support status matrix](#platform-support) before assuming feature parity.
Access to 68 agents, 286 skills, and 94 legacy command shims, plus hooks, rules, memory, continuous learning, and AgentShield security scanning. The agents are specialized for planning, review, build repair, security, architecture, and domain work.
| Included | Count | What it gives you | | ---------------- | ----------: | ------------------------------------------------------------------------------------ | | Agents | 68 agents | Planning, review, build repair, security, architecture, and domain work | | Skills | 286 skills | TDD, research, security, docs, frontend, data, ML, operations, and more | | Commands | 94 commands | Convenient entry points while ECC moves to a skills-first surface | | Hooks and memory | Runtime | Enforcement, session summaries, continuous learning, instincts, and context controls | | Rules | Selective | Always-loaded standards you choose by language or project | | AgentShield | Included | Scanning for prompts, hooks, MCP config, permissions, secrets, and agent files |
<p align="center"> <a href="https://www.star-history.com/affaan-m/ecc"> <picture> <source media="(prefers-color-scheme: dark)" srcset="assets/star-history-dark.svg" /> <img src="assets/star-history-light.svg" alt="ECC star history: first 40,000 stars, January 18 to February 7, 2026" width="100%" /> </picture> </a> </p>
> [!IMPORTANT]
> Guided package setup is coming in ecc-universal 2.2.0. The current npm
> release, 2.1.0, does not include the guided setup commands. Use the native
> Claude plugin commands at the top of this README until 2.2.0 is published.
You can use ECC with Claude Code, Codex, and other harnesses at the same time. Choose one install method for each harness:
Do not stack install methods. Installing ECC twice into the same harness can duplicate skills, commands, hooks, or configuration; installing it once into multiple harnesses does not.
If you already layered multiple installs and things look duplicated, skip straight to [Reset / Uninstall ECC](#reset--uninstall-ecc).
Install trouble? Open the short install or runtime problem form, or run ecc feedback. ECC never uploads diagnostics automatically.
Claude Code owns these built-in commands, including their errors when a marketplace, plugin, or conflicting scope already exists. ECC cannot intercept that parser. If either native command reports an existing install or scope conflict, wait for the 2.2.0 guided setup or resolve the conflicting Claude plugin scope before retrying; do not layer a manual install on top.
After ECC is installed, /ecc:configure-ecc is the namespaced in-Claude reconfiguration skill. It delegates to the same safe setup flow, but it is available only after the plugin is installed and cannot replace Claude Code's built-in /plugin command during a first install.
Claude Code plugins cannot distribute rules, so add only the rule packs you actually want:
bash git clone https://github.com/affaan-m/ECC.git cd ECC mkdir -p ~/.claude/rules/ecc cp -R rules/common ~/.claude/rules/ecc/ cp -R rules/typescript ~/.claude/rules/ecc/ # replace with your stack
Start with rules/common plus one language or framework pack you actually use. If you install the plugin, do not run ./install.sh --profile full afterward.
<details> <summary><strong>Prefer settings.json? Add the marketplace declaratively</strong></summary>
Add directly to your ~/.claude/settings.json:
json
{
"extraKnownMarketplaces": {
"ecc": {
"source": {
"source": "github",
"repo": "affaan-m/ECC"
}
}
},
"enabledPlugins": {
"ecc@ecc": true
}
}
This gives you the same result as the two /plugin commands above.
</details>
<details> <summary><strong>Naming + migration note (ecc@ecc, affaan-m/ECC, ecc-universal)</strong></summary>
ECC has three public identifiers, and they are not interchangeable:
affaan-m/ECCecc@eccecc-universalThis is intentional. Anthropic marketplace/plugin installs are keyed by a canonical plugin identifier, so ECC uses ecc@ecc to keep tool names and slash-command namespaces short enough for strict Desktop/API validators. Older posts may still show the former long marketplace identifier; treat that as a legacy alias only. Separately, the npm package stayed on ecc-universal, so npm installs and marketplace installs intentionally use different names.
npm releases are cut per version tag, not per commit, so ecc-universal tracks releases (2.1, 2.2, ...) rather than every push to main. Install from git if you want the bleeding edge.
If your local Claude setup was wiped or reset, that does not mean you need to repurchase anything. Start with node scripts/ecc.js list-installed, then run node scripts/ecc.js doctor and node scripts/ecc.js repair before reinstalling. That usually restores ECC-managed files without rebuilding your setup.
</details>
Current Codex releases can install ECC as a native repo-marketplace plugin. The marketplace entry uses the repository root so Codex's cache receives the manifest together with all referenced skills, MCP configuration, hook runtime, scripts, and assets:
bash codex plugin marketplace add affaan-m/ECC codex plugin add ecc@ecc codex plugin list --json node scripts/codex/check-plugin-cache.js
Both add commands are idempotent. To refresh later, run codex plugin marketplace upgrade ecc followed by codex plugin add ecc@ecc. Codex stores one enabled plugin state in the active CODEX_HOME; it does not offer Claude's user, project, and local scopes. Its native hooks require an explicit trust decision and do not use Claude's four ECC hook profiles. Inside Codex, invoke $configure-ecc for the guided provider-aware flow.
The older scripts/sync-ecc-to-codex.sh path is a deprecated compatibility option for users who intentionally need copied and merged configuration in ~/.codex; it is not required for the native plugin. New sync runs write an ownership manifest so cleanup can preserve modified user files. Run Codex once first so ~/.codex/config.toml exists, then:
bash git clone https://github.com/affaan-m/ECC.git cd ECC npm install bash scripts/sync-ecc-to-codex.sh
To inspect or remove that legacy layer without touching Codex conversations or native plugin caches:
bash node scripts/ecc.js uninstall --legacy-codex-sync --dry-run node scripts/ecc.js uninstall --legacy-codex-sync
Pre-manifest installations are handled conservatively: ECC removes its marked AGENTS.md block but preserves copied files it cannot prove it owns and reports them for review.
You can also open the ECC repository directly in Codex for a project-local setup. Codex reads the root AGENTS.md and the trusted project configuration in .codex/ without a global sync. Do not add the native marketplace plugin on top of the sync flow.
For repo navigation, surface ownership, and PR diff packet guidance, read the [Codex ECC Navigation Map](docs/CODEX-NAVIGATION-GUIDE.md). See the [.codex plugin notes](.codex-plugin/README.md) for native lifecycle details.
<details> <summary><strong>Cursor, OpenCode, Gemini, Zed, Antigravity, Qwen, Hermes, OpenClaw, Kimi, CodeBuddy, JoyCode, Copilot</strong></summary>
Clone ECC once, then choose the target that matches your harness:
bash git clone https://github.com/affaan-m/ECC.git cd ECC
| Harness | Install or setup | Notes |
|---|---|---|
| Cursor | ./install.sh --profile minimal --target cursor | Project-local .cursor/ adapter |
| OpenCode | npm install && npm run build:opencode && ./install.sh --profile full --target opencode | Builds the plugin payload before the full install |
| Gemini CLI | ./install.sh --profile minimal --target gemini | Project-local .gemini/ config |
| Zed | ./install.sh --profile minimal --target zed | Project-local .zed/ adapter |
| Antigravity | ./install.sh --profile minimal --target antigravity | See the [Antigravity guide](docs/ANTIGRAVITY-GUIDE.md) |
| Qwen CLI | ./install.sh --profile minimal --target qwen | See the [Qwen guide](docs/QWEN-GUIDE.md) |
| Hermes | ./install.sh --profile minimal --target hermes | See the [Hermes setup guide](docs/HERMES-SETUP.md) |
| OpenClaw | ./install.sh --profile minimal --target openclaw | Managed home-directory install |
| Kimi Code CLI | ./install.sh --profile minimal --target kimi | Project-local .kimi-code/ install |
| CodeBuddy | ./install.sh --profile minimal --target codebuddy | Project-local .codebuddy/ install |
| JoyCode | ./install.sh --profile minimal --target joycode | Project-local .joycode/ install |
GitHub Copilot support is already included in this repository. .github/copilot-instructions.md provides the instruction layer, .github/prompts/ contains the reusable /plan, /tdd, /security-review, /build-fix, and /refactor prompts, and .vscode/settings.json enables chat.promptFiles.
For a harness without a native ECC target, use the [manual adaptation guide](docs/MANUAL-ADAPTATION-GUIDE.md). It explains how to carry a small set of ECC skills and workflow instructions into chat-style tools without pretending hooks or native skill discovery are available.
Cursor installs agent definitions under .cursor/agents/ecc-*.md. Cursor-native loading behavior can vary by Cursor build. ECC does not install root AGENTS.md into .cursor/. The adapter keeps Cursor's context scoped to its native rules and agent surfaces.
Deep per-harness notes (feature parity, hook adapters, limitations) live in [Platform Support](#platform-support) below. </details>
ECC works through each harness's normal configuration, so you can use an official provider, a compatible custom API endpoint or model gateway, or a self-hosted model without changing ECC's workflows.
For Claude Code, ECC does not hardcode Anthropic-hosted transpor
ranked by real install + star numbers · data mirrored from the source repo · browse the full Claude Code skills directory