ECC

affaan-mMIT活跃维护

为 Claude Code、Codex、Cursor 等编码智能体提供技能、直觉、记忆与安全防护的性能优化层,让 AI 编程助手更稳定高效地干活。

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

v2.2.3发布于 2026-10-01 23:00 UTC300,641star +1,914 / 7 天44,376fork同步于 2026-11-10 17:17 UTC

怎么上手

由 README 提炼,执行前请确认
npx [email protected] setup
硬件要求按 README 说明

README 未说明硬件要求;仅要求 Node.js 18 或更新版本,Claude 插件方式还需 Git 和 Claude Code 2.1+ 在 PATH 中。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

给 Claude Code、Codex 等编码 agent 做性能优化的插件系统,统一管理技能、记忆与安全

为 Claude Code、Codex、Cursor 等编码智能体提供技能、直觉、记忆与安全防护的性能优化层,让 AI 编程助手更稳定高效地干活。

核心能力

  • 用引导式向导安装并管理 ecc@ecc 插件
  • 支持 Claude Code、Codex、Kimi Code 多 harness 组合安装
  • 按 user/project/local 作用域切换并更新插件
  • 提供 hooks 配置档(minimal/standard/core)与 dry-run 预检
  • 内置 consult、doctor 等命令做能力检索与安装诊断

容易踩的坑

每个 harness 只能选一种安装方式,不要在手动完整安装之上再叠加插件安装;ecc-install 只是 ecc-universal 内的二进制名,不是独立 npm 包,别直接 npx 它;Yarn Classic 1 没有 yarn dlx,需改用 npx 或升级 Yarn;setup 向导只配置 Claude Code,Codex/Kimi 要走 install --guided。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2.2.3
  1. v2.2.3最新正式版2026-10-01 · 2026-10-01 23:00 UTC

    ECC 2.2.3

    ECC 2.2.3 is a naming and release-reliability update. The project is called ECC everywhere it ships, starting with the pi/core profile, and the release workflow now waits long enough for npm to serve a freshly published version.

    Naming

    • pi/core no longer expands the project name: its README and the bundled blueprint skill refer to ECC only. The profile contents are otherwise unchanged: 123 curated skills and 24 prompt commands, 35,006 characters of skill description text.
    • Downstream packagers need no changes. The package is still ecc-pi-core, the directory is still pi/core/, and existing install paths keep working.

    Release workflow

    • After npm publish, the release workflow polls the registry for up to five minutes before verifying the published artifact. In 2.2.2 it gave up after about 30 seconds while npm was still processing the upload, so the run failed before promoting latest and creating the GitHub Release, and had to be re-run.

    Downstream consumption is unchanged: poll /releases, download archive/refs/tags/vX.Y.Z.tar.gz, pin its sha256, copy pi/core/, and load it offline.

  2. v2.2.22026-09-30 · 2026-09-30 19:04 UTC
    查看更新说明

    ECC 2.2.2

    ECC 2.2.2 adds pi/core, a curated Pi-native skills+prompts-only profile built for downstream packagers that mirror GitHub Releases, plus a set of packaging, memory, hooks, and Windows compatibility fixes.

    Pi core profile

    pi/core/ is a self-contained package (ecc-pi-core) that downstream mirrors of the release tarball can copy directly: no build step, no extensions, no hooks, no runtime downloads, and no network or SaaS dependencies.

    • 123 curated skills (language and framework patterns, testing/TDD, code review, non-offensive security review, planning, refactoring, docs, and git/PR workflows) and 24 prompt commands that are pure prompt workflows.
    • Generated deterministically from the explicit include/exclude lists in manifests/pi-core.json by scripts/build-pi-core.js and committed, so the release tarball contains it verbatim. pi/core/CURATION.md lists every excluded skill and command with its reason; the council skill ships as ecc-council inside pi/core to avoid catalog name clashes.
    • The build fails on safety violations: non-allowlisted URL hosts, pipe-to-shell or fetch-and-run download forms, secrets or tokens, absolute per-user home paths, symlinks, invalid SKILL.md frontmatter, and duplicate skill names.
    • CI rebuilds pi/core on every PR and verifies it is up to date, then installs the Pi coding agent CLI and proves the profile loads fully offline (PI_OFFLINE=1), asserting that every curated command actually registers.
    • The release workflow additionally verifies that VERSION matches the tag and that pi/core is current before publishing.

    Downstream consumption: poll /releases, download archive/refs/tags/vX.Y.Z.tar.gz, pin its sha256, copy pi/core/, and load it offline with pi --offline --skill pi/core/skills --prompt-template pi/core/commands.

    Packaging

    • The compiled OpenCode payload is explicitly included in the npm package, and packing is verified from a clean state with lifecycle scripts enabled.

    Memory and MCP

    • Incomplete memory reads are distinguished from missing records, and directory traversal failures are classified.
    • The reserved _meta parameter is accepted on memory MCP ping requests.

    Hooks and Windows compatibility

    • hooks.json stays within Claude Code's schema; stable hook metadata moved into a validated sidecar.
    • The no-verify guard handles stuck optional values and long-option prefixes.
    • Windows linter paths and ESLint 9 are supported, and settings updates tolerate missing Windows device IDs while retaining full-precision inode checks.

    Workflow guidance, catalog, and dependency security

    • Epic sync filters issues by label; dependency bumps no longer document auto-merge; naming and Boolean guidance is language-neutral; the prp-pr command alias is distinguished; Rails skill discovery, invoice tax calculation order, and framework documentation were corrected; Serply and Squish catalog entries were removed.
    • lru updated to 0.18.2 (RUSTSEC-2026-0253) and js-yaml to 4.3.2 (GHSA-2883-xcg3-v3hh).
  3. v2.2.12026-09-08 · 2026-09-08 17:52 UTC
    查看更新说明

    ECC 2.2.1

    ECC 2.2.1 is a bug and security patch for ECC 2.2. It keeps the published v2.2.0 history immutable. These notes describe the prepared patch; publication and signing evidence are tracked separately in the release checklist.

    Security and data protection

    • GateGuard and governance capture recognize destructive PowerShell commands, including the native PowerShell tool path. Dynamic command handling prevents later variable assignments from concealing earlier unresolved invocations (#2961).
    • Relative GateGuard exemption globs stay within the project root. Explicit absolute exemptions remain supported (#2921).
    • Installer writes reject collisions with untracked user-owned files. Failed installs refresh ownership hashes only for files they actually wrote, preserving the previous ownership hashes of untouched managed files (#2964).
    • Guided setup revalidates its preview before ownership filtering, so files appearing between preview and apply cause a clear retry instead of a false success. Existing identical user files stay outside ECC ownership.
    • Uninstall respects ECC_DRY_RUN=1, including legacy Codex paths, and rejects invalid dry-run values instead of silently allowing deletion (#2952).
    • Observer analysis retains observations on unsuccessful or unconfirmed processing. Exit code zero alone no longer permits archival (#2971).
    • The Yarn lockfile updates toml to 4.3.0, matching the npm lockfile and removing the affected older resolution.

    Hooks and installation

    • Manual Claude installs register ECC-owned hook entries in Claude settings. Repair, consent changes, and uninstall reconcile those entries while preserving unrelated settings. Atomic settings updates check directory identity and retry detected concurrent edits (#2992).
    • Direct hook entrypoints handle larger JSON payloads with bounded, UTF-8-safe reads instead of silently truncating valid inputs. Existing production wrapper limits remain unchanged (#2924).
    • The Pi adapter selects an actual Node runtime instead of recursively executing a compiled OMP host as Node (#2909).
    • Installer listing and control-pane help avoid eager third-party dependency loading. Features that require absent runtime packages report the missing dependency explicitly (#2994).
    • Autonomous harness setup documentation replaces nonexistent package names and unsupported CLI flags with documented interfaces, and distinguishes session scheduling from a durable external scheduler (#2957).

    Installer and release-surface hardening

    • Public and packaged install docs now consistently point at the published ecc-universal commands instead of stale or unrelated package names.
    • The AdaL adapter docs use the correct npx ecc-universal doctor --target adal command.
    • Claude setup preflights git before provider-specific work starts, so missing prerequisites fail fast with the right action.
    • Guided setup dry runs use isolated HOME, config, XDG, temp, and Windows app data roots to avoid ambient host state affecting review or tests.
    • The exact packed artifact now has stronger lifecycle coverage for Claude and Kimi setup, update, doctor, repeat install, uninstall, and dry-run flows.
    • Identifier regression coverage blocks stale ecc, ecc-install, and other mismatched release-path commands from creeping back into user-facing docs.

    Current-main documentation included in this patch

    • The canonical Itô workflow now documents ecc ito accept <ticket-id> a
  4. v2.2.0ECC 2.2.0: Guided Setup, Antigravity 2.0, and the Nasiko CLI Bridge2026-08-28 · 2026-08-28 19:55 UTC
    查看更新说明

    ECC 2.2 is here, led by one guided installer for Claude Code, Codex, and Kimi. It also adds native Antigravity 2.0 support and an experimental, opt-in Nasiko CLI lifecycle bridge.

    The release pipeline is stricter too: the exact npm archive must pass lifecycle tests on Linux, macOS, and Windows before latest moves.

    One guided path into ECC

    ECC 2.2 terminal welcome after a successful install

    Start the guided installer with:

    npx --yes [email protected] install --guided
    

    The installer checks every selected harness before writing files, then applies the setup as one operation. Provider-owned model and authentication settings stay under the provider's control. The terminal welcome appears only after a successful interactive install.

    Nasiko: experimental, opt-in, and explicit

    Nasiko's open-source agent dashboard, shown as product context for the ECC CLI lifecycle bridge

    ECC 2.2 can inspect, install, and remove one pinned Nasiko v0.1.0 CLI build:

    npm install -g [email protected]
    ecc nasiko status --json
    ecc nasiko install --version v0.1.0 --dry-run --json
    ecc nasiko install --version v0.1.0 --yes --json
    

    Downloads are content-addressed and SHA-256 verified, status is read-only, and uninstall protects modified or unqualified binaries. The dashboard above is Nasiko's own product. ECC does not connect agents, start a server, enable telemetry, share data, or operate that control plane. The bridge remains experimental and opt-in.

    Learn more in the Nasiko repository.

    More reliable across every harness

    • Native Antigravity 2.0: ECC installs to .agents/{rules,workflows,skills,agents} and safely migrates legacy ownership.
    • Reliable uninstall: repeated selective installs keep a complete ownership ledger, so unchanged ECC-managed files can be removed cleanly.
    • Safer migrations: OpenCode uses ~/.config/opencode, while OpenCode and Codex preserve edited or untracked files during cleanup.
    • More workflows: Pi, Itô, agent evaluation, multi-model council, dev-team, living docs, secure terminal, TasteForge, and skill-comply all expand the shipped distribution.

    ECC 2.2 ships 68 agents, 286 skills, and 94 command shims, plus the rules, hooks, memory, continuous-learning, and installation surfaces around them.

    Release assurance

    The tagged commit must match origin/main. One npm archive is packed, hashed, and tested on all three operating systems, then published under a staging tag. Registry integrity must match before latest moves. The prior 2.1.0 package remains the immediate rollback target.

    Install or upgrade

    For the native Claude Code plugin:

    /plugin marketplace add https://github.com/affaan-m/ECC
    /plugin install ecc@ecc
    

    Existing Claude installs can run /plugin update ecc.

    Thank you

    A special thank you to returning contributors @gaurav0107, @Seekers2001, and @t0kubetsu for substantial work on learning workflows, collaborative skills, and shared testing.

    Among our first-time contributors, @renan-tiberio brought Pi support, @romanclaudersoai1 repaired /evolve, and @djpjronline-netizen hardened hook parsing.

    Eighteen people made their first ECC contribution in 2.2. Thank you to everyone who tested the installer, reported issues, and helped harden the release across harnesses and operating systems.

    New contributors

    • @AlbertChiu777 in #2483
  5. v2.1.0ECC 2.1.0: Plan Canvas, Kimi Harness, and Self-Hosted Compute2026-07-27 · 2026-07-27 18:10 UTC
    查看更新说明

    ECC 2.1.0: Plan Canvas, Kimi Harness, and Self-Hosted Compute

    ECC 2.1 turns plan review into a visual loop and opens the harness to self-hosted models. Plan Canvas lets you review agent plans in the browser. Point at the part you mean instead of retyping it in chat. A new Kimi Code install target and a verified Itô GPU path make ECC + open-source models a first-class setup, backed by our public sponsors: Moonshot AI (Kimi), Itô, and Atlas Cloud.

    Plan Canvas: review plans by pointing, not retyping

    Plan Canvas demo: reviewing an ECC plan, attaching an annotation, chatting with the agent, and approving the plan

    Download the MP4 demo

    /plan ends with a confirm gate, and until now that review was a wall of markdown in the terminal. Now the agent opens the plan in a loopback-only browser canvas:

    • Click elements or select text to attach numbered annotations
    • Chat with the agent from a side rail while it works in the terminal
    • Approve plan / Request changes buttons map directly onto /plan's CONFIRM gate
    • Mermaid diagrams, tables, and task lists render natively; file edits live-reload the page
    • Model- and harness-agnostic: a plain CLI + JSON protocol (ecc-plan-canvas), no Claude-only dependency

    Kimi harness: Moonshot AI partnership

    ECC now installs directly into Kimi Code (--target kimi). Kimi Code discovers the installed .kimi/AGENTS.md instructions and .kimi/skills/ workflows natively:

    bash ./install.sh --target kimi --profile minimal
    npx ecc doctor --target kimi
    kimi
    

    Self-host on Itô GPUs

    Run ECC against any self-hosted open-source model. If you need GPU capacity, Itô is ECC's preferred compute sponsor. The integration shipped guarded end to end:

    • ecc ito find: opt-in bridge to the canonical Itô CLI that submits a live, authenticated RFQ (it does not reserve capacity)
    • Guarded live node qualification and read-only compute handoff
    • Credential-bearing CLI shims are rejected outright

    The sponsorship link itself is passive: it does not invoke an RFQ, reserve capacity, provision compute, or configure serving. Managed inference through Itô is not live yet. Any GPU provider works, and ECC stays provider-agnostic.

    Partners

    Moonshot AI (Kimi), Itô, and Atlas Cloud are now public sponsors of ECC. The README documents a recommended self-host path: Itô for GPU capacity, a Kimi checkpoint served behind a compatible endpoint, then Kimi Code + ECC on top. Each choice remains separate and swappable.

    Also in 2.1

    • Hermes and OpenClaw install targets: two more harnesses join Claude Code, Codex, OpenCode, Cursor, Gemini, Zed, Copilot, and Kimi
    • Codex ECC navigation guide: find the right skill/command surface from inside Codex
    • GateGuard path exemptions (GATEGUARD_EXEMPT_GLOBS) and configurable instinct injection (count + confidence threshold)
    • PostToolUse hooks consolidated into sync/async dispatchers, with fewer processes per tool call
    • Supply-chain hardening: the installer runtime passes strict vetting, and the pre-commit secret scan now catches Anthropic API keys (sk-ant-...)
    • A long tail of community fixes across OpenCode, Windows, bun lockfiles, the dashboard, and project detection

    The catalog now stands at 67 agents, 281 skills, and 94 command shims (2.0.0 shipped 64/261/84), plus hooks, rules, memory, continuous learning, and AgentShield.

    Install or upgrade

    /plugin marketplace add https://github.com/affaan-m/ECC
    /plugin install ecc@ecc
    

    Existing installs: /plugin update ecc

    Community

    Join the ECC community for release announcements, questio

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    [!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.

    Install with Claude Code

    Use the guided setup or native plugin commands. Both install the same ecc@ecc plugin. Choose one and do not stack a full manual Claude install on top.

    OSS stays free. This repo is MIT-licensed forever. ECC Pro is the hosted GitHub App for private repos. Sponsors and Pro subscribers fund the work. That's why a single maintainer ships weekly across 7 harnesses.

    Partners & sponsors

    Past sponsors: Atlas Cloud · Mike Morgan (inactive)

    Community sponsors: @jasonwu513 · @1anter · @massimotodaro · @meadmccabe

    Become a Sponsor · Sponsor Tiers · Sponsorship Program

    ECC

    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.

    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 native Codex and Qoder plugin paths, and provides capability-limited adapters for Cursor, OpenCode, Gemini, Zed, GitHub Copilot, Antigravity, Qwen, and other harnesses. See the support status matrix before assuming feature parity.

    Access to 71 agents, 314 skills, and 98 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.

    IncludedCountWhat it gives you
    Agents71 agentsPlanning, review, build repair, security, architecture, and domain work
    Skills314 skillsTDD, research, security, docs, frontend, data, ML, operations, and more
    Commands98 commandsConvenient entry points while ECC moves to a skills-first surface
    Hooks and memoryRuntimeEnforcement, session summaries, continuous learning, instincts, and context controls
    RulesSelectiveAlways-loaded standards you choose by language or project
    AgentShieldIncludedScanning for prompts, hooks, MCP config, permissions, secrets, and agent files

    Install ECC

    [!IMPORTANT] ECC 2.2 includes guided package setup for Claude Code, Codex, and Kimi Code. The universal package requires Node.js 18 or newer. Claude plugin setup also requires Git and Claude Code 2.1 or newer on PATH.

    Recommended: universal guided setup

    For Claude Code plugin setup, updates, scope changes, and hook-profile changes:

    npx [email protected] setup
    
    Windows first-time walkthrough

    If you are new to command-line tools, use this copy-and-paste path:

    1. Install Node.js 18 or newer, Git, and Claude Code.

    2. Open PowerShell from the Windows Start menu.

    3. Confirm that each prerequisite is available:

      node --version
      git --version
      claude --version
      
    4. Run the guided installer:

      npx [email protected] setup
      
    5. For a typical personal setup, choose Global user, choose Standard hooks, and confirm.

    6. Start a new Claude Code session and run /plugin list to verify that ecc@ecc is enabled.

    This path does not require cloning the repository. If any prerequisite command is not found, install or repair that prerequisite before rerunning ECC setup.

    If npm reports a version or cache error, confirm the registry version before retrying:

    npm view ecc-universal version
    

    ECC 2.2 supports the same guided setup through modern package runners:

    Package runnerGuided setup command
    npm / npxnpx [email protected] setup
    pnpmpnpm dlx [email protected] setup
    Yarn 2+yarn dlx [email protected] setup
    Bunbunx [email protected] setup

    The examples select the published ECC 2.2.3 release, matching this repository's release version. A version pin is not a security audit or an integrity check. Review the release source and registry integrity before running package code; use a reviewed checkout for unreleased changes.

    Yarn Classic 1 does not provide yarn dlx; use npx, install the package globally, or upgrade Yarn for a temporary one-shot run.

    The wizard inventories the official marketplace and every native Claude install scope before making changes, then installs, updates, or safely moves ecc@ecc to the scope you choose. Rerun the same command whenever you want to update ECC, change scope, or change its hook profile. This setup wizard currently configures the Claude Code plugin; use the multi-harness wizard below for Codex or Kimi Code.

    To configure more than one coding agent in one reviewed flow, use the multi-harness wizard:

    npx [email protected] install --guided
    

    It lets you select any combination of Claude Code, Codex, and Kimi Code, shows each install channel and destination, preflights every selection before the first write, and asks for one final confirmation.

    HarnessGuided install behavior
    Claude CodeNative ecc@ecc plugin with one user, project, or local scope and an ECC hook profile
    CodexNative Codex marketplace/plugin lifecycle; hook review and trust remain Codex-owned
    Kimi CodeManaged project files under ./.kimi-code; ECC hooks, model/provider settings, and authentication are not configured

    For automation, make every provider-specific choice explicit:

    npx [email protected] install --guided \
      --harness claude --harness codex --harness kimi \
      --claude-scope local --claude-hooks standard \
      --profile core --yes
    

    Verify the native guided Codex path and managed Kimi path without writing first:

    npx [email protected] install --guided --harness codex --dry-run
    npx [email protected] install --profile core --target kimi --dry-run
    

    Additional package-name commands are also available through the 2.2 alias:

    npx [email protected] consult "security reviews" --target claude
    npx [email protected] install --profile minimal --target claude --with capability:machine-learning
    npx [email protected] doctor --target kimi
    

    Do not use npx ecc-install --profile minimal --target claude: ecc-install is a binary name inside ecc-universal, not a separately published npm package.

    ECC also ships advanced managed adapters for cursor, antigravity, gemini, opencode, codebuddy, joycode, qwen, zed, hermes, and openclaw. Those targets still use their documented ecc install --target ... paths until each adapter has passed the guided collision, update, repair, and uninstall lifecycle matrix. Neither wizard silently installs into every detected harness.

    Pick one path only (per harness)

    You can use ECC with Claude Code, Codex, and other harnesses at the same time. Choose one install method for each harness:

    • Recommended default: run the guided Claude plugin setup above
    • Also supported for Claude Code: use the native plugin commands
    • Available in release 2.2: guided package setup for Claude Code, Codex, and Kimi Code
    • Works: Claude Code plugin + Codex native plugin
    • Works: Claude Code plugin + the legacy Codex sync flow
    • Avoid: Claude Code plugin + full Claude manual install
    • Avoid: Codex sync + Codex marketplace plugin

    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.

    Install trouble? Open the short install or runtime problem form, or run ecc feedback. ECC never uploads diagnostics automatically.

    Claude Code details

    Alternatively, run Claude Code's native plugin commands inside Claude Code:

    /plugin marketplace add https://github.com/affaan-m/ECC
    /plugin install ecc@ecc
    

    The native path installs ECC's skills, agents, commands, and plugin-managed hooks. If you choose it, stop there. Do not also run a full manual install into Claude Code.

    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, use the 2.2 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:

    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.

    Add directly to your ~/.claude/settings.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.

    ECC has three public identifiers, and they are not interchangeable:

    • GitHub source repo: affaan-m/ECC
    • Claude marketplace/plugin identifier: ecc@ecc
    • npm package: ecc-universal

    This 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.

    Codex App and CLI

    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:

    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:

    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:

    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. See the .codex plugin notes for native lifecycle details.

    Qoder CLI and IDE

    ECC ships a native Qoder plugin that reuses the canonical skills, agents, 95 legacy command shims, and the pinned chrome-devtools MCP definition. From a reviewed checkout, validate and install it with Qoder CLI:

    qoder plugins validate . --strict
    qoder plugins install .
    qoder plugins list
    

    For Qoder IDE, upload a ZIP of the repository root. The ZIP root must contain .qoder-plugin/ together with skills/, agents/, commands/, hooks/, scripts/, and .mcp.json; uploading only the manifest directory or one SKILL.md omits required resources.

    The universal Node.js 18+ requirement applies to Qoder's non-interactive hook environment. The MCP server also requires npx and network access on first use. Qoder receives one reviewed, cross-platform SessionStart bootstrap using QODER_PLUGIN_ROOT and exec-form arguments. ECC does not copy the full Claude hook profile into Qoder: blocking tool hooks, async stop jobs, and Claude-specific matchers remain outside this initial native integration. See the .qoder-plugin notes for the exact boundary.

    Other agents and editors

    Clone ECC once, then choose the target that matches your harness:

    git clone https://github.com/affaan-m/ECC.git
    cd ECC
    
    HarnessInstall or setupNotes
    Cursor./install.sh --profile minimal --target cursorProject-local .cursor/ adapter
    OpenCodenpm install && npm run build:opencode && ./install.sh --profile full --target opencode --enable-hooksBuilds the plugin payload before the full install
    Gemini CLI./install.sh --profile minimal --target geminiProject-local .gemini/ config
    Zed./install.sh --profile minimal --target zedProject-local .zed/ adapter
    Antigravity./install.sh --profile minimal --target antigravitySee the Antigravity guide
    Qwen CLI./install.sh --profile minimal --target qwenSee the Qwen guide
    Hermes./install.sh --profile minimal --target hermesSee the Hermes setup guide
    OpenClaw./install.sh --profile minimal --target openclawManaged home-directory install
    Kimi Code CLI./install.sh --profile minimal --target kimiProject-local .kimi-code/ install · Get Kimi Code
    CodeBuddy./install.sh --profile minimal --target codebuddyProject-local .codebuddy/ install
    JoyCode./install.sh --profile minimal --target joycodeProject-local .joycode/ install
    GitHub Copilot./install.sh --profile full --target copilotInstalls skills to .github/skills/ and agents to .github/agents/ for Copilot CLI

    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. GitHub Copilot CLI additionally discovers the .agents/skills/ subset from a plain clone with no setup; see Platform Support for the full catalog and agents.

    For a harness without a native ECC target, use the manual adaptation guide. 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 below.

    Advanced Install Options

    Low-context / no-hooks path

    Use this when you want ECC's rules, agents, commands, platform config, and core workflows without runtime hooks:

    npx [email protected] install --profile minimal --target claude
    

    From a source checkout, the equivalent command is:

    ./install.sh --profile minimal --target claude
    

    Windows:

    .\install.ps1 --profile minimal --target claude
    

    This profile intentionally excludes hooks-runtime.

    Claude manual installs place each skill directly under ~/.claude/skills/<skill-name>/ (or .claude/skills/<skill-name>/ for claude-project) so Claude Code can discover it. When upgrading an older ECC manual install, the installer migrates only nested skills/ecc/ files recorded in ECC install-state. If a flat skill directory is user-owned, ECC preserves it, prints a conflict warning, and keeps any older managed copy tracked for a safe uninstall instead of overwriting user files.

    For the normal core profile with hooks disabled:

    ./install.sh --profile core --without baseline:hooks --target claude
    ./install.sh --profile core --no-hooks --target claude
    

    Add the hook runtime later only if you want it:

    ./install.sh --target claude --modules hooks-runtime --enable-hooks
    

    Any install whose profile or modules would materialize the hook runtime requires an explicit decision. Without --enable-hooks or --no-hooks, the installer prints what the hooks can do and stops before writing anything. The guided installer (ecc install --guided) asks for this choice interactively.

    Find the right components first

    Ask the packaged advisor which components match your work:

    node scripts/ecc.js consult "security reviews" --target claude
    

    It returns matching components, related profiles, and preview/install commands. Use the preview command before installing if you want to inspect the exact file plan.

    You can also install explicit skills or capabilities:

    ./install.sh --target claude --skills tdd-workflow,security-review
    node scripts/ecc.js install --profile minimal --target claude --with capability:machine-learning
    

    Manual component-by-component copying also works. Each component is fully independent:

    # Just agents
    mkdir -p ~/.claude/agents
    cp agents/*.md ~/.claude/agents/
    
    # Rules directories (common + language-specific)
    mkdir -p ~/.claude/rules/ecc
    cp -r rules/common ~/.claude/rules/ecc/
    cp -r rules/typescript ~/.claude/rules/ecc/   # pick your stack
    
    # Core/general skills only (Claude Code loads skills from direct children
    # of ~/.claude/skills; do not nest manual installs under ~/.claude/skills/ecc/)
    mkdir -p ~/.claude/skills
    cp -r .agents/skills/* ~/.claude/skills/
    cp -r skills/search-first ~/.claude/skills/
    
    # Optional: maintained slash-command compatibility during migration
    mkdir -p ~/.claude/commands
    cp commands/*.md ~/.claude/commands/
    

    Retired shims live in legacy-command-shims/. Copy individual files from there only if you still need old names such as /tdd.

    Use project-local rules when ECC's standards should apply to one repository rather than every Claude Code session:

    cd your-project
    mkdir -p .claude/rules/ecc
    cp -R /path/to/ECC/rules/common .claude/rules/ecc/
    cp -R /path/to/ECC/rules/typescript .claude/rules/ecc/
    

    Rules are always-loaded context, so begin with common and one pack for the stack you actually use. When copying rules manually, copy the whole language directory (for example rules/common or rules/golang), not the files inside it, so relative references keep working and filenames do not collide.

    Use this only when you are intentionally skipping the plugin path:

    git clone https://github.com/affaan-m/ECC.git
    cd ECC
    ./install.sh --profile full --enable-hooks
    

    Windows:

    git clone https://github.com/affaan-m/ECC.git
    cd ECC
    .\install.ps1 --profile full --enable-hooks
    

    These examples enable the automatic hook runtime. To install without hooks, replace --enable-hooks with --no-hooks.

    If you choose this path, stop there. Do not also run /plugin install.

    For hand-picked manual installs, Claude discovers skills as direct children of ~/.claude/skills/; do not nest them under ~/.claude/skills/ecc/.

    Install hooks

    Do not copy the raw repo hooks/hooks.json into ~/.claude/settings.json or ~/.claude/hooks/hooks.json. That file is plugin/repo-oriented; use the installer so hook command paths are rewritten correctly:

    bash ./install.sh --target claude --modules hooks-runtime --enable-hooks
    

    That installs the hook scripts under ~/.claude/ and registers the resolved hook entries in ~/.claude/settings.json. Existing user settings and hooks are preserved; ECC-owned entries are tracked by stable ID for idempotent updates and safe uninstall.

    If you installed ECC via /plugin install, do not copy those hooks into settings.json. Claude Code v2.1+ already auto-loads plugin hooks/hooks.json, and duplicating them in settings.json causes duplicate execution and cross-platform hook conflicts.

    On Windows, Claude's config root is %USERPROFILE%\.claude; install the hook runtime with:

    pwsh -File .\install.ps1 --target claude --modules hooks-runtime --enable-hooks
    
    Configure MCPs

    Claude plugin installs intentionally do not auto-enable ECC's bundled MCP server definitions. This avoids overlong plugin MCP tool names on strict third-party gateways while keeping manual MCP setup available.

    Use Claude Code's /mcp command or CLI-managed MCP setup for live Claude Code server changes; Claude Code persists those choices in ~/.claude.json. For repo-local MCP access, copy desired MCP server definitions from mcp-configs/mcp-servers.json into a project-scoped .mcp.json.

    ECC ships exactly one default connector (chrome-devtools); everything else is a skill wrapping a CLI/REST API or an opt-in catalog entry. The rule and the June 2026 audit that retired the previous six defaults live in docs/MCP-CONNECTOR-POLICY.md.

    If you already run your own copies of ECC-bundled MCPs, set:

    export ECC_DISABLED_MCPS="chrome-devtools"
    

    ECC-managed install and Codex sync flows will skip or remove those bundled servers instead of re-adding duplicates. ECC_DISABLED_MCPS is an ECC install/sync filter, not a live Claude Code toggle.

    Important: Replace YOUR_*_HERE placeholders with your actual API keys.

    multi-* commands are not covered by the base plugin/rules install.

    To use /multi-plan, /multi-execute, /multi-backend, /multi-frontend, and /multi-workflow, you must also install the ccg-workflow runtime. Choose and review an exact release using the upstream CCG installation guide, then initialize that installed runtime. ECC does not bundle CCG or attest to a compatible, audited CCG release; this guide does not bootstrap an unspecified registry version.

    That runtime provides the external dependencies these commands expect, including:

    • ~/.claude/bin/codeagent-wrapper
    • ~/.claude/.ccg/prompts/*

    Without ccg-workflow, these multi-* commands will not run correctly.

    /astra-review sends Claude-written code to GPT-6-Astra for an independent cross-provider review. It runs the locally installed Codex CLI with your ChatGPT login (codex login); no OpenAI API key is needed, and API keys in your environment are not forwarded. Invoking the command is your consent to send that diff to OpenAI. Setup, scopes, push gating, and troubleshooting are in the Astra Review Guide.

    Reset / Uninstall ECC

    If you installed from the universal package, run these commands from the same project directory used for installation:

    npx [email protected] list-installed
    npx [email protected] doctor
    npx [email protected] repair
    npx [email protected] uninstall --dry-run
    npx [email protected] uninstall
    

    From a source checkout, inspect the managed state before reinstalling:

    node scripts/ecc.js list-installed
    node scripts/ecc.js doctor
    node scripts/ecc.js repair
    node scripts/ecc.js uninstall --dry-run
    

    For a direct source-checkout uninstall:

    node scripts/uninstall.js --dry-run
    node scripts/uninstall.js
    

    If you are leaving, the uninstall command prints an optional 20-second feedback form. It is a public GitHub issue, never blocks uninstall, and ECC does not upload diagnostics. You can also run ecc feedback at any time to see the problem, feedback, and feature routes.

    Plugin users should remove the plugin from Claude Code, then delete only the rule folders they manually copied and no longer want. ECC only removes files recorded in its install-state. It does not claim unrelated files in your harness directories.

    If you stacked methods, clean up in this order:

    1. Remove the Claude Code plugin install.
    2. Run the ECC uninstall command from the project directory that contains the managed install-state.
    3. Delete any extra rule folders you copied manually and no longer want.
    4. Reinstall once, using a single path.

    Start Using ECC

    Start with the workflow you need, not the full catalog.

    What you are doingStart here
    Building a feature/ecc:plan "describe the feature", then tdd-workflow
    Fixing a bugReproduce it with a failing test, then use tdd-workflow
    Reviewing new code/code-review for a fresh-context review
    Triaging a GitHub issue/ecc:issue-review <number> (plugin) or /issue-review <number> (manual install) to verify it against the code and draft a reply
    Repairing a build/build-fix
    Cleaning a codebase/refactor-clean
    Checking context pressure/context-budget
    Ending a long session/save-session or /learn-eval
    Resuming later/resume-session
    Auditing agent config/security-scan with a reviewed scanner, or installed agentshield scan --path .

    Claude Code plugin commands use the namespaced form:

    /ecc:plan "Add authentication"
    

    Manual installs may expose the shorter compatibility form:

    /plan "Add authentication"
    

    Skills are the primary workflow surface. Commands remain convenient entry points and compatibility shims. Check what is installed with:

    /plugin list ecc@ecc
    

    Skills are the canonical workflow surface; maintained slash entries stay available for command-first workflows.

    I want to...Use this surfaceAgent used
    Plan a new feature/ecc:plan "Add auth"planner
    Design system architecture/ecc:plan + architect agentarchitect
    Write code with tests firsttdd-workflow skilltdd-guide
    Review code I just wrote/code-reviewcode-reviewer
    Review a GitHub issue/ecc:issue-review (plugin), /issue-review (manual install)— (issue-review skill)
    Fix a failing build/build-fixbuild-error-resolver
    Run end-to-end testse2e-testing skille2e-runner
    Find security vulnerabilities/security-scansecurity-reviewer
    Remove dead code/refactor-cleanrefactor-cleaner
    Update documentation/update-docsdoc-updater
    Review Go code/go-reviewgo-reviewer
    Review Python code/python-reviewpython-reviewer
    Review F# code(invoke fsharp-reviewer directly)fsharp-reviewer
    Review TypeScript/JavaScript code(invoke typescript-reviewer directly)typescript-reviewer
    Develop HarmonyOS apps(invoke harmonyos-app-resolver directly)harmonyos-app-resolver
    Audit database queries(auto-delegated)database-reviewer
    Review production ML changesmle-workflow skill + mle-reviewer agentmle-reviewer

    Slash forms below are shown where they remain part of the maintained command surface. Retired short-name shims such as /tdd and /eval live in legacy-command-shims/ for explicit opt-in only.

    Starting a new feature:

    /ecc:plan "Add user authentication with OAuth"
                                                  -> planner creates implementation blueprint
    tdd-workflow skill                            -> tdd-guide enforces write-tests-first
    /code-review                                  -> code-reviewer checks your work
    

    Fixing a bug:

    tdd-workflow skill                            -> tdd-guide: write a failing test that reproduces it
                                                  -> implement the fix, verify test passes
    /code-review                                  -> code-reviewer: catch regressions
    

    Preparing for production:

    /security-scan                                -> security-reviewer: OWASP Top 10 audit
    e2e-testing skill                             -> e2e-runner: critical user flow tests
    /test-coverage                                -> verify 80%+ coverage
    

    Self-Hosted Models and Custom Endpoints

    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 transport settings. Minimal gateway example:

    export ANTHROPIC_BASE_URL=https://your-gateway.example.com
    export ANTHROPIC_AUTH_TOKEN=your-token
    claude
    

    If your gateway remaps model names, configure that in Claude Code rather than in ECC. ECC's hooks, skills, commands, and rules are model-provider agnostic once the claude CLI is already working. See Anthropic's LLM gateway documentation and model configuration documentation.

    Run or self-host any open-source model behind that gateway using separate compute and serving setup. If you need GPU capacity, Itô is ECC's preferred compute sponsor; any GPU provider works. The sponsorship link is passive: it does not invoke an RFQ, reserve capacity, provision compute, or configure serving. Separately, ecc ito find invokes the explicitly configured canonical Itô CLI and submits a live authenticated RFQ; it does not reserve capacity. Managed inference through Itô is not live yet.

    Self-host Kimi with ECC + Itô compute

    The Kimi Code harness and the model-serving layer are separate. ECC configures the agent harness; you bring an API endpoint (get a Kimi API key) or self-host an open-weight Kimi model on your own GPU capacity. This adapter is verified against Kimi Code 0.31.x (@moonshot-ai/kimi-code):

    Configure the endpoint with Kimi Code's official provider guide, then install ECC:

    bash ./install.sh --target kimi --profile minimal
    node scripts/ecc.js doctor --target kimi
    kimi
    

    Kimi Code discovers the installed .kimi-code/AGENTS.md instructions and .kimi-code/skills/ workflows natively; project-level .agents/skills/ is also an official discovery location. ECC safely merges project MCP entries into .kimi-code/mcp.json and does not change the user-level ~/.kimi-code/config.toml. Kimi Code supports native hooks, but ECC's current managed-project adapter does not configure them, so this installer does not offer Kimi hook profiles. The installer dry-run and regression suite verify that every managed Kimi write stays inside the project-local .kimi-code/ root.

    Itô compute CLI bridge

    ecc ito delegates to the separately installed canonical Itô client; ECC does not maintain a second API client. ecc ito login [--no-browser] performs device authorization, opens the Itô verification page by default, and persists a device token in macOS Keychain; --no-browser suppresses the page handoff. ECC itself does no browser automation. ecc ito auth is validation-only and rejects --no-browser. The available operations are ecc ito login, ecc ito auth, ecc ito find, ecc ito status, and the separately gated ecc ito evals. The matching MCP tools remain ito_auth, ito_find, and ito_status; ito_auth validates existing credentials and node qualification is CLI-only.

    The ito-compute-cli package is currently unpublished. Build it locally from the Itô runtime repo (private while the desk hardens; design partners get access) under cli/ito-compute-cli, run npm ci and npm run check, then set ECC_ITO_CLI_EXECUTABLE to that build's absolute dist/bin/ito.js path. Login never inherits ITO_API_KEY; auth, find, and status forward ITO_API_KEY directly when configured, and ITO_AUTH_MODE=legacy is not required. ecc ito logout revokes the current device credential and retains its local copy if remote revocation cannot be confirmed. Device tokens use macOS Keychain by default; explicit file fallback must retain owner-only directory/file permissions. ECC does not discover this credential-bearing client through PATH. See the ito-compute skill for the full RFQ authority and MCP setup contract.

    find submits a live authenticated RFQ. It does not reserve capacity. evals requires both ITO_ENABLE_SIXTYTWO_LIVE=1 and --live-sixtytwo, a separately installed sixtytwo-cli==0.3.33, an explicit node list, and an existing absolute configuration directory. It cannot rent, launch, recover, repair, or purchase. ECC exposes no quote lock, purchase, workload, or inference path, and it never replaces a missing client or failed live call with a local result.

    What's New

    Current release: 2.2.3 (2026-10-01). Highlights of the 2.2 line:

    • Guided, manifest-driven setup across Claude Code, Codex, and Kimi Code, with install-state ownership, doctor, repair, and uninstall.
    • Native Antigravity install, a thin Pi adapter, and the packed-artifact release gate tested on Linux, macOS, and Windows.
    • Plan Canvas browser review, the unified memory vault (ecc memory), and the Itô compute skill family.

    Full history: CHANGELOG.md. Per-release notes and evidence live under docs/releases/.

    v2.0.0: The Agent Harness Operating System (Jun 2026)

    Stable graduation of the 2.0 line: control-pane substrate, worktree lifecycle service, the orch-* orchestrator family, and the Discord community. Notes: docs/releases/2.0.0/release-notes.md.

    What's Inside

    ECC/
    |-- agents/           # 71 specialized subagents for delegation
    |-- skills/           # 314 reusable workflows loaded on demand
    |-- commands/         # 98 maintained slash-command shims
    |-- rules/            # opt-in common and language standards
    |-- hooks/            # runtime automation and enforcement
    |-- scripts/          # install, repair, sync, orchestration, and checks
    |-- .claude-plugin/   # Claude Code marketplace manifest
    |-- .codex/           # Codex reference configuration and agent roles
    |-- .opencode/        # OpenCode plugin, commands, and instructions
    |-- .cursor/          # Cursor rules and hook adapter
    |-- docs/             # public setup, architecture, and operating guides
    

    The root is the source of truth. Platform adapters package or map these same workflows instead of maintaining separate copies.

    ECC/
    |-- .claude-plugin/   # Plugin and marketplace manifests
    |   |-- plugin.json         # Plugin metadata and component paths
    |   |-- marketplace.json    # Marketplace catalog for /plugin marketplace add
    |
    |-- agents/           # 71 specialized subagents for delegation
    |   |-- planner.md           # Feature implementation planning
    |   |-- architect.md         # System design decisions
    |   |-- tdd-guide.md         # Test-driven development
    |   |-- code-reviewer.md     # Quality and security review
    |   |-- security-reviewer.md # Vulnerability analysis
    |   |-- build-error-resolver.md
    |   |-- e2e-runner.md        # Playwright E2E testing
    |   |-- refactor-cleaner.md  # Dead code cleanup
    |   |-- doc-updater.md       # Documentation sync
    |   |-- docs-lookup.md       # Documentation/API lookup
    |   |-- chief-of-staff.md    # Communication triage and drafts
    |   |-- loop-operator.md     # Autonomous loop execution
    |   |-- harness-optimizer.md # Harness config tuning
    |   |-- cpp-reviewer.md      # C++ code review
    |   |-- cpp-build-resolver.md # C++ build error resolution
    |   |-- fsharp-reviewer.md   # F# functional code review
    |   |-- go-reviewer.md       # Go code review
    |   |-- go-build-resolver.md # Go build error resolution
    |   |-- python-reviewer.md   # Python code review
    |   |-- database-reviewer.md # Database/Supabase review
    |   |-- typescript-reviewer.md # TypeScript/JavaScript code review
    |   |-- java-reviewer.md     # Java/Spring Boot code review
    |   |-- java-build-resolver.md # Java/Maven/Gradle build errors
    |   |-- kotlin-reviewer.md   # Kotlin/Android/KMP code review
    |   |-- kotlin-build-resolver.md # Kotlin/Gradle build errors
    |   |-- harmonyos-app-resolver.md # HarmonyOS/ArkTS app development
    |   |-- ruby-reviewer.md     # Ruby/Rails code review
    |   |-- rust-reviewer.md     # Rust code review
    |   |-- rust-build-resolver.md # Rust build error resolution
    |   |-- pytorch-build-resolver.md # PyTorch/CUDA training errors
    |   |-- mle-reviewer.md      # Production ML pipeline, eval, serving, and monitoring review
    |
    |-- skills/           # Workflow definitions and domain knowledge
    |   |-- coding-standards/           # Language best practices
    |   |-- clickhouse-io/              # ClickHouse analytics, queries, data engineering
    |   |-- backend-patterns/           # API, database, caching patterns
    |   |-- frontend-patterns/          # React, Next.js patterns
    |   |-- frontend-slides/            # HTML slide decks and PPTX-to-web presentation workflows
    |   |-- article-writing/            # Long-form writing in a supplied voice without generic AI tone
    |   |-- content-engine/             # Multi-platform social content and repurposing workflows
    |   |-- market-research/            # Source-attributed market, competitor, and investor research
    |   |-- osint-investigation/        # OSINT methodology: competing hypotheses, falsification, visual and evidence verification
    |   |-- investor-materials/         # Pitch decks, one-pagers, memos, and financial models
    |   |-- investor-outreach/          # Personalized fundraising outreach and follow-up
    |   |-- continuous-learning/        # Legacy v1 Stop-hook pattern extraction
    |   |-- continuous-learning-v2/     # Instinct-based learning with confidence scoring
    |   |-- iterative-retrieval/        # Progressive context refinement for subagents
    |   |-- strategic-compact/          # Manual compaction suggestions (Longform Guide)
    |   |-- tdd-workflow/               # TDD methodology
    |   |-- security-review/            # Security checklist
    |   |-- eval-harness/               # Verification loop evaluation (Longform Guide)
    |   |-- verification-loop/          # Continuous verification (Longform Guide)
    |   |-- videodb/                    # Video and audio: ingest, search, edit, generate, stream
    |   |-- golang-patterns/            # Go idioms and best practices
    |   |-- golang-testing/             # Go testing patterns, TDD, benchmarks
    |   |-- cpp-coding-standards/       # C++ coding standards from C++ Core Guidelines
    |   |-- cpp-testing/                # C++ testing with GoogleTest, CMake/CTest
    |   |-- django-patterns/            # Django patterns, models, views
    |   |-- django-security/            # Django security best practices
    |   |-- django-tdd/                 # Django TDD workflow
    |   |-- django-verification/        # Django verification loops
    |   |-- laravel-patterns/           # Laravel architecture patterns
    |   |-- laravel-security/           # Laravel security best practices
    |   |-- laravel-tdd/                # Laravel TDD workflow
    |   |-- laravel-verification/       # Laravel verification loops
    |   |-- python-patterns/            # Python idioms and best practices
    |   |-- python-testing/             # Python testing with pytest
    |   |-- quarkus-patterns/           # Java Quarkus patterns
    |   |-- quarkus-security/           # Quarkus security
    |   |-- quarkus-tdd/                # Quarkus TDD
    |   |-- quarkus-verification/       # Quarkus verification
    |   |-- rails-patterns/             # Rails architecture patterns
    |   |-- springboot-patterns/        # Java Spring Boot patterns
    |   |-- springboot-security/        # Spring Boot security
    |   |-- springboot-tdd/             # Spring Boot TDD
    |   |-- springboot-verification/    # Spring Boot verification
    |   |-- configure-ecc/              # Interactive installation wizard
    |   |-- security-scan/              # AgentShield security auditor integration
    |   |-- issue-review/               # GitHub issue review: verify, dedupe, severity, draft reply
    |   |-- java-coding-standards/      # Java coding standards
    |   |-- jpa-patterns/               # JPA/Hibernate patterns
    |   |-- postgres-patterns/          # PostgreSQL optimization patterns
    |   |-- nutrient-document-processing/ # Document processing with Nutrient API
    |   |-- database-migrations/        # Migration patterns (Prisma, Drizzle, Django, Go)
    |   |-- api-design/                 # REST API design, pagination, error responses
    |   |-- deployment-patterns/        # CI/CD, Docker, health checks, rollbacks
    |   |-- docker-patterns/            # Docker Compose, networking, volumes, container security
    |   |-- e2e-testing/                # Playwright E2E patterns and Page Object Model
    |   |-- content-hash-cache-pattern/ # SHA-256 content hash caching for file processing
    |   |-- cost-aware-llm-pipeline/    # LLM cost optimization, model routing, budget tracking
    |   |-- regex-vs-llm-structured-text/ # Decision framework: regex vs LLM for text parsing
    |   |-- swift-actor-persistence/    # Thread-safe Swift data persistence with actors
    |   |-- swift-protocol-di-testing/  # Protocol-based DI for testable Swift code
    |   |-- search-first/               # Research-before-coding workflow
    |   |-- skill-stocktake/            # Audit skills and commands for quality
    |   |-- liquid-glass-design/        # iOS 26 Liquid Glass design system
    |   |-- foundation-models-on-device/ # Apple on-device LLM with FoundationModels
    |   |-- swift-concurrency-6-2/      # Swift 6.2 Approachable Concurrency
    |   |-- mle-workflow/               # Production ML data contracts, evals, deployment, monitoring
    |   |-- perl-patterns/              # Modern Perl 5.36+ idioms and best practices
    |   |-- perl-security/              # Perl security patterns, taint mode, safe I/O
    |   |-- perl-testing/               # Perl TDD with Test2::V0, prove, Devel::Cover
    |   |-- autonomous-loops/           # Autonomous loop patterns: sequential pipelines, PR loops, DAG orchestration
    |   |-- plankton-code-quality/      # Write-time code quality enforcement with Plankton hooks
    |   |-- codehealth-mcp/             # Optional CodeScene Code Health MCP skill (opt-in)
    |   |-- docs/examples/project-guidelines-template.md  # Template for project-specific skills
    |
    |-- commands/         # Maintained slash-entry compatibility; prefer skills/
    |   |-- plan.md             # /plan - Implementation planning
    |   |-- code-review.md      # /code-review - Quality review
    |   |-- issue-review.md     # /issue-review - GitHub issue review
    |   |-- build-fix.md        # /build-fix - Fix build errors
    |   |-- refactor-clean.md   # /refactor-clean - Dead code removal
    |   |-- quality-gate.md     # /quality-gate - Verification gate
    |   |-- learn.md            # /learn - Extract patterns mid-session (Longform Guide)
    |   |-- learn-eval.md       # /learn-eval - Extract, evaluate, and save patterns
    |   |-- checkpoint.md       # /checkpoint - Save verification state (Longform Guide)
    |   |-- setup-pm.md         # /setup-pm - Configure package manager
    |   |-- go-review.md        # /go-review - Go code review
    |   |-- go-test.md          # /go-test - Go TDD workflow
    |   |-- go-build.md         # /go-build - Fix Go build errors
    |   |-- skill-create.md     # /skill-create - Generate skills from git history
    |   |-- instinct-status.md  # /instinct-status - View learned instincts
    |   |-- instinct-import.md  # /instinct-import - Import instincts
    |   |-- instinct-export.md  # /instinct-export - Export instincts
    |   |-- evolve.md           # /evolve - Cluster instincts into skills
    |   |-- prune.md            # /prune - Delete expired pending instincts
    |   |-- pm2.md              # /pm2 - PM2 service lifecycle management
    |   |-- multi-plan.md       # /multi-plan - Multi-agent task decomposition
    |   |-- multi-execute.md    # /multi-execute - Orchestrated multi-agent workflows
    |   |-- multi-backend.md    # /multi-backend - Backend multi-service orchestration
    |   |-- multi-frontend.md   # /multi-frontend - Frontend multi-service orchestration
    |   |-- multi-workflow.md   # /multi-workflow - General multi-service workflows
    |   |-- sessions.md         # /sessions - Session history management
    |   |-- test-coverage.md    # /test-coverage - Test coverage analysis
    |   |-- update-docs.md      # /update-docs - Update documentation
    |   |-- update-codemaps.md  # /update-codemaps - Update codemaps
    |   |-- python-review.md    # /python-review - Python code review
    |-- legacy-command-shims/   # Opt-in archive for retired shims such as /tdd and /eval
    |   |-- tdd.md              # /tdd - Prefer the tdd-workflow skill
    |   |-- e2e.md              # /e2e - Prefer the e2e-testing skill
    |   |-- eval.md             # /eval - Prefer the eval-harness skill
    |   |-- verify.md           # /verify - Prefer the verification-loop skill
    |   |-- orchestrate.md      # /orchestrate - Prefer dmux-workflows or multi-workflow
    |
    |-- rules/            # Always-follow guidelines (copy to ~/.claude/rules/ecc/)
    |   |-- README.md            # Structure overview and installation guide
    |   |-- common/              # Language-agnostic principles
    |   |   |-- coding-style.md    # Immutability, file organization
    |   |   |-- git-workflow.md    # Commit format, PR process
    |   |   |-- testing.md         # TDD, 80% coverage requirement
    |   |   |-- performance.md     # Model selection, context management
    |   |   |-- patterns.md        # Design patterns, skeleton projects
    |   |   |-- hooks.md           # Hook architecture, TodoWrite
    |   |   |-- agents.md          # When to delegate to subagents
    |   |   |-- security.md        # Mandatory security checks
    |   |-- typescript/          # TypeScript/JavaScript specific
    |   |-- python/              # Python specific
    |   |-- golang/              # Go specific
    |   |-- swift/               # Swift specific
    |   |-- php/                 # PHP specific
    |   |-- arkts/               # HarmonyOS / ArkTS specific
    |
    |-- hooks/            # Trigger-based automations
    |   |-- README.md                 # Hook documentation, recipes, and customization guide
    |   |-- hooks.json                # All hooks config (PreToolUse, PostToolUse, Stop, etc.)
    |   |-- memory-persistence/       # Session lifecycle hooks (Longform Guide)
    |   |-- strategic-compact/        # Compaction suggestions (Longform Guide)
    |
    |-- scripts/          # Cross-platform Node.js scripts
    |   |-- lib/                     # Shared utilities
    |   |   |-- utils.js             # Cross-platform file/path/system utilities
    |   |   |-- package-manager.js   # Package manager detection and selection
    |   |-- hooks/                   # Hook implementations
    |   |   |-- session-start.js     # Load context on session start
    |   |   |-- session-end.js       # Save state on session end
    |   |   |-- pre-compact.js       # Pre-com