| name | ecc |
| description | Everything Claude Code (ECC) — agent harness configuration layer for Claude Code and other AI coding IDEs. Augments agents with skills, hooks, persistent memory, model routing, and quality gates without modifying the underlying model. |
| license | MIT |
| compatibility | yana-ai >= 1.3.54 |
| metadata | {"origin":"yana-ai — synthesized from affaan-m/ECC (MIT)","version":"1.0.0"} |
| triggers | ["ECC","everything claude code","agent harness","agent harness optimization","claude code harness","coding agent harness","hook profile minimal strict","ECC_HOOK_PROFILE","agent skills hooks rules","autonomous loop quality gate","model route complexity","harness audit","loop-start loop-status"] |
| do_not_use_for | ["Multi-agent pipelines with inter-agent communication — use crewai or smolagents","Building LLM apps or chatbots — use langgraph or vercel-ai-sdk","Fine-tuning or training models","Teams needing Python-native agent framework with eval tooling — use smolagents + deepeval"] |
| see_also | ["smolagents","crewai","langgraph","agent-safety-patterns"] |
ECC — Everything Claude Code Agent Harness
Source: affaan-m/ECC (MIT) — runtime configuration harness for AI coding agents
What ECC Is
A drop-in configuration layer for Claude Code (and Codex, Cursor, Gemini CLI, Zed, Copilot).
It does not modify the model — it wraps the agent runtime with:
- Reusable skills (declarative SKILL.md docs auto-loaded into context)
- Hook automations (shell scripts on PreToolUse, PostToolUse, SessionStart, Stop)
- Rules (always-active guidelines injected every session)
- Memory (persistent facts across sessions)
- Model routing (send simple tasks to cheap model, complex to power model)
Directory Layout
.claude/
skills/ ← declarative "when/how to use" docs
hooks/ ← trigger-based shell scripts
rules/ ← always-active session guidelines
memory/ ← persistent facts
settings.json ← hook registration + model routing
Hook Profile Gating
export ECC_HOOK_PROFILE=minimal
export ECC_HOOK_PROFILE=standard
export ECC_HOOK_PROFILE=strict
[[ "${ECC_HOOK_PROFILE:-standard}" == "minimal" ]] && exit 0
Key Built-in Commands
/learn — persist lesson to session memory after solving hard problem
/harness-audit — audit active hooks + skills, detect drift
/loop-start — begin autonomous multi-turn iteration loop
/loop-status — check loop progress and quality gate results
/quality-gate — enforce coding standards + test coverage + security before commit
/model-route — route task to cheapest capable model by complexity score
Model Routing Pattern
{
"modelRouting":