TRENDSHIFT #15 · 2026.05.27

ECC 딥다이브
— AI 코딩 에이전트 하네스 운영 시스템

Anthropic x Cerebral Valley 해커톤에서 개발된 프로젝트. Claude Code · Codex · Cursor 같은 AI 코딩 에이전트가 더 똑똑하고 안전하게 일하도록 만드는 외장 운영체제. 67개 전문 에이전트 + 271개 스킬 + 후크 + 룰 + 보안 스캐너를 한 플러그인에 묶었다. 7개 하네스에 동시 동작하며, 제작자(Affaan Mustafa)가 자기 회사에서 10개월간 매일 다듬은 프로덕션급 설정 모음집이다. (저장소: affaan-m/ECC · TypeScript/Python/Rust 혼합)
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 시스템 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

한 문장으로 무엇을 하는 프로젝트인가
한 문장 정리

"ECC는 Claude Code·Codex·Cursor 같은 AI 코딩 에이전트가 더 똑똑하고 안전하게 일하도록 만드는 외장 운영체제 — 67개 전문 에이전트 + 271개 스킬 + 후크 + 룰 + 보안 스캐너를 하나의 플러그인으로 묶은 프로덕션급 설정 모음집."

실제 제품을 매일 만들면서 10개월간 다듬은 결과물이다. Anthropic x Cerebral Valley 해커톤에서 개발됐으며, 만든 사람(Affaan Mustafa)이 자기 회사에서 매일 쓰던 설정을 오픈소스로 푼 것.

친숙한 비유

우리가 평소에 OS(macOS, Windows)를 깔면 기본 앱들이 줄줄이 깔리듯, ECC는 AI 코딩 에이전트라는 "OS" 위에 어떻게 일해야 하는지에 대한 매뉴얼 + 도구함을 한 방에 깔아주는 패키지다.

"하네스(harness)"는 말에 채우는 마구(馬具)에서 온 표현으로 — Claude Code·Cursor 같은 IDE/CLI 자체를 가리킨다. ECC는 그 하네스 위에 덧씌우는 운영 매뉴얼이라고 보면 된다.

중요 용어 먼저 정리

핵심 용어
하네스 (harness)
말에 채우는 마구(馬具). 여기서는 "AI를 부려 일을 시키는 외피" — Claude Code, Cursor 같은 IDE/CLI 자체를 가리킨다.
핵심 용어
에이전트 (agent)
"한 분야 전문 비서". 코드리뷰 전담, 빌드오류 해결 전담 등 역할이 정해진 보조 AI.
핵심 용어
스킬 (skill)
"요리 레시피". 특정 작업을 어떻게 수행하는지 적어둔 매뉴얼. AI가 상황에 맞춰 자동 호출.
핵심 용어
후크 (hook)
"동작 감지 센서". 파일을 수정하거나 명령을 실행하는 순간 자동으로 끼어들어 검사하는 트리거.
핵심 용어
룰 (rule)
"회사 행동 강령". 언어/프레임워크별 "이렇게 코딩해라" 가이드라인.
핵심 용어
MCP (Model Context Protocol)
AI가 외부 도구(GitHub, DB)와 대화하는 표준 통신 규약.

2왜 주목받는가

트렌딩 이유와 경쟁 제품 대비 차별점

TrendShift 일간 15위에 오른 이유는 단순하다. AI 코딩 에이전트(Claude Code, Cursor, Codex)는 강력하지만 매일 쓰다 보면 누구나 같은 문제에 부딪힌다 — 컨텍스트 윈도우 폭발, 같은 설명 반복, 보안 사고, 비용 폭주. ECC는 이 모든 통점을 한 번에 정리한 "완성된 운영 패턴"을 무료로 푼 것이다.

경쟁 제품 대비 차별점

비교 대상일반적 접근ECC의 접근
설정 모음집(dotfiles 같은 것)config 파일 모아둠 → 사용자가 알아서 활용설정 + 실행 시스템 + 10개월 운영 경험 묶음
단일 스킬 패키지특정 작업(예: SEO)만 잘함전 분야(언어 12종, 프레임워크 10+) 커버
Claude Code 전용 툴한 하네스에만 묶임7개 하네스에 동시 동작 (Claude/Codex/Cursor/OpenCode/Gemini/Zed/Copilot)
AI 보안 도구패턴 매칭만 함AgentShield — Opus 4.6 3개로 레드팀/블루팀/감사관 시뮬레이션

핵심 장점 6가지

장점 1
토큰 최적화 (Token Optimization)

모델 선택, 시스템 프롬프트 축소, 백그라운드 프로세스 분리 등으로 API 비용을 60~90%까지 낮춘다. 같은 작업에 비용이 1/10 들면 더 많이 시도할 수 있다 = 학습 속도가 빨라진다.

장점 2
메모리 지속성 (Memory Persistence)

세션이 끝나도 컨텍스트를 자동 저장/로드. "어제 어디까지 했지?"를 사람이 다시 설명할 필요 없음.

장점 3
지속 학습 (Continuous Learning v2)

세션마다 사용자의 패턴을 자동으로 추출해 "본능(instinct)"으로 저장하고, 클러스터링해 새로운 스킬로 진화시킨다. 시간이 지날수록 AI가 당신 스타일에 가까워진다.

장점 4
검증 루프 (Verification Loops)

체크포인트 evals, 연속 evals, 그레이더(grader), pass@k 메트릭 등 ML 분야 평가 기법을 일반 코딩에 도입.

장점 5
병렬화 (Parallelization)

git worktree를 활용해 여러 AI 인스턴스를 동시에 다른 브랜치에서 돌린다. "캐스케이드 방법" 등 멀티 인스턴스 패턴 제공.

장점 6
보안 (AgentShield)

102개 정적 분석 룰, 1282 테스트, 98% 커버리지. npx ecc-agentshield scan 한 줄로 CLAUDE.md/settings.json/MCP/후크의 취약점 점검.

흥미로운 사실

"단일 메인테이너 1명이 7개 하네스에 매주 배포한다" — 이게 가능한 이유는 ECC 자체가 자기 자신을 ECC로 개발하기 때문이다. 도그푸딩(dogfooding)의 극단적 사례.

3기술 스택 전체 지도

런타임 · 패키지 · 언어/프레임워크 · 7개 하네스

ECC는 단일 언어 프로젝트가 아니다. 각 부분이 가장 적합한 도구로 작성되어 있다.

3-1. 런타임 (Runtime)

구성요소언어/도구역할
크로스플랫폼 스크립트Node.js설치 스크립트, 후크 실행기. macOS/Windows/Linux 모두 동작.
대시보드 GUIPython + Tkinterecc_dashboard.py — 에이전트/스킬/룰 시각 탐색기 (다크/라이트 토글)
ECC 2.0 컨트롤플레인Rustecc2/ — 알파 상태. dashboard, start, sessions, daemon 명령 제공.
상태 저장소SQLite설치 상태, 세션 기록, 본능 컬렉션 저장. CLI에서 쿼리 가능.
오케스트레이션PM2멀티 서비스 워크플로우 관리. /pm2, /multi-execute 등.

3-2. 패키지 & 배포

채널이름설명
npmecc-universal크로스 하네스 설치 CLI. npx ecc-install --profile minimal
npmecc-agentshield보안 스캐너. 독립 사용 가능.
Claude 플러그인ecc@ecc한 줄 설치: /plugin install ecc@ecc
GitHub Appecc-tools유료 호스팅 버전. PR 자동 감사. 150+ 설치.

3-3. 지원 언어 룰 (12개 생태계)

SUPPORTED LANGUAGES

TypeScript / JavaScript · Python · Go · Rust · Java · Kotlin · Swift · C++ · F# · PHP · Perl · ArkTS(HarmonyOS)

3-4. 지원 프레임워크 스킬

SUPPORTED FRAMEWORKS

: Django, Next.js (Turbopack), NestJS, Spring Boot, Quarkus, Laravel

모바일: Swift Actor / Concurrency 6.2, Liquid Glass(iOS 26), HarmonyOS

데이터: PostgreSQL, JPA/Hibernate, ClickHouse, pgvector

인프라: Docker, Playwright(E2E), Plankton(코드 품질 후크)

3-5. 지원 AI 하네스 (7개)

┌──────────────────────────────────────────────────────────┐ │ ECC: 같은 룰/스킬을 7개 하네스에 동시 배포 │ ├──────────────────────────────────────────────────────────┤ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Claude │ │ Cursor │ │ Codex │ │ OpenCode │ │ │ │ Code ★ │ │ IDE │ │ App+CLI │ │ Plugin │ │ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ │ │ │ │ │ ┌────┴──────┐ ┌───┴──────┐ ┌──┴───────┐ ┌──┴──────┐ │ │ │ Gemini │ │ Zed │ │ GitHub │ │ JoyCode │ │ │ │ CLI │ │ IDE │ │ Copilot │ │ /Qwen │ │ │ └───────────┘ └──────────┘ └──────────┘ └─────────┘ │ │ │ │ ▲ Adapter Pattern으로 차이 흡수 │ │ │ │ ┌────────────────────────────────────────────────┐ │ │ │ 핵심 자산 (한 곳에서 관리) │ │ │ │ - agents/ 67개 (전문 서브에이전트) │ │ │ │ - skills/ 271개 (워크플로우 매뉴얼) │ │ │ │ - rules/ 21개 언어/프레임워크 │ │ │ │ - hooks/ 이벤트 트리거 │ │ │ │ - mcp-configs/ MCP 서버 설정 │ │ │ └────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────┘ ★ = 1순위 타깃. 나머지는 어댑터로 변환. ※ JoyCode/Qwen은 별도 어댑터(공식 7개 하네스 외 추가 지원).
왜 어댑터 패턴인가?

Cursor는 후크 이벤트가 20개, Claude Code는 8개. ECC의 .cursor/hooks/adapter.js가 Cursor의 stdin JSON을 Claude Code 포맷으로 변환해, 같은 후크 스크립트를 양쪽에서 재사용한다. DRY(Don't Repeat Yourself)의 정석.

4아키텍처 심화 분석

전체 흐름 + 4대 설계 패턴 + 보안 아키텍처

4-1. 전체 시스템 흐름

사용자가 Claude Code에 "OAuth 인증 추가해줘"라고 입력했을 때, ECC가 뒤에서 어떻게 동작하는지 시각화하면:

┌─────────────────────────────────────────────────────────────────────┐ │ 사용자 입력 │ │ "/ecc:plan OAuth 인증 추가해줘" │ └────────────────────────┬────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ① beforeSubmitPrompt 후크 (보안 1차 필터) │ │ - 시크릿 키 패턴 검사 (sk-, ghp_, AKIA…) │ │ - 위험 명령 차단 │ └────────────────────────┬────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ② sessionStart 후크 (컨텍스트 로드) │ │ - 지난 세션 상태 복원 (~/.claude/sessions/...) │ │ - 학습된 인스팅트(instinct) 주입 │ │ - 토큰 8000자 이내 캡 (ECC_SESSION_START_MAX_CHARS) │ └────────────────────────┬────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ③ /ecc:plan 슬래시 커맨드 매칭 │ │ → planner 에이전트로 위임 │ │ → architect 에이전트와 협업해 설계 결정 │ └────────────────────────┬────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ④ Skill 자동 호출 │ │ - tdd-workflow 스킬 ─→ 실패 테스트 먼저 작성 │ │ - backend-patterns 스킬 ─→ API 디자인 규칙 │ │ - search-first 스킬 ─→ 코딩 전 코드베이스 검색 │ └────────────────────────┬────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ⑤ Edit/Write 도구 사용 → afterFileEdit 후크 자동 실행 │ │ - 포맷터 (Prettier/Black) │ │ - 타입 체크 (tsc/mypy) │ │ - console.log 경고 │ │ - Plankton 코드 품질 검사 │ └────────────────────────┬────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ⑥ /code-review 슬래시 → code-reviewer 에이전트 │ │ → security-reviewer 에이전트가 OWASP Top 10 점검 │ │ → verification-loop 스킬: build/test/lint/typecheck 통과 확인 │ └────────────────────────┬────────────────────────────────────────────┘ │ ▼ ┌─────────────────────────────────────────────────────────────────────┐ │ ⑦ Stop 후크 (세션 마감) │ │ - 패턴 추출 → continuous-learning-v2가 인스팅트로 저장 │ │ - 다음 세션을 위한 상태 직렬화 │ └─────────────────────────────────────────────────────────────────────┘

4-2. 핵심 설계 패턴 4가지

① 멀티 어댑터 패턴 (Multi-Adapter)

같은 핵심 자산(스킬/룰)을 N개 하네스에 배포하려면 N개를 따로 유지하면 안 된다. ECC는 "공통 자산 1세트 + 하네스별 어댑터" 구조로 풀었다.

scripts/hooks/session-start.js  ← 한 곳에 작성한 후크 로직
        ↑
   ┌────┴─────┬──────────┬─────────┐
   │          │          │         │
Claude    Cursor       Codex      Zed
어댑터    어댑터       어댑터     어댑터
(stdin 포맷만 변환, 핵심 로직은 공유)

② Selective Install (선택 설치)

v1.9.0부터 도입. 매니페스트 기반 설치 파이프라인으로 install-plan.js가 "뭐를 깔지" 계획을 세우고, install-apply.js가 실제 복사한다. SQLite 상태 저장소가 "지금 뭐가 깔려 있는지" 추적해 점진적 업데이트를 가능하게 한다.

npx ecc consult "security reviews" --target claude
# → 매칭되는 컴포넌트 + 관련 프로필 + 미리보기/설치 명령 출력

npx ecc install --profile minimal --target claude --with capability:machine-learning
# → 최소 프로필 + 머신러닝 캐퍼빌리티만 추가

③ Continuous Learning v2 (인스팅트 기반)

Stop 후크가 세션 종료 시 자동 발화. 사용자가 반복한 패턴(예: "에러는 항상 result 객체로 반환")을 감지해 신뢰도(confidence)를 매긴 인스팅트로 저장한다. 시간이 지나면 /evolve가 관련 인스팅트를 클러스터링해 정식 스킬로 승격.

왜 "인스팅트(본능)"라고 부르나?
Instinct = AI가 자동 추론한 룰
명시적인 룰(rule)은 사용자가 직접 적어야 한다. 인스팅트는 AI가 사용자 행동을 보고 자동으로 추론한 룰이다. 사람의 "본능적 직감"과 비슷해서 그렇게 이름 붙였다.

④ Verification Loop (검증 루프)

"코드 짜기 → 빌드 → 테스트 → 린트 → 타입체크 → 보안"을 한 번에 끝까지 돌리는 사이클. 중간에 하나라도 깨지면 처음으로 돌아간다. ML에서 학습 루프를 돌리듯 코딩도 루프로 본다.

4-3. 보안 아키텍처 (AgentShield)

가장 멋진 설계 중 하나. npx ecc-agentshield scan --opus --stream을 실행하면 Claude Opus 4.6 모델 3개가 동시에 일한다:

역할하는 일
Red Team (공격자)설정 파일을 살펴보고 "내가 해커라면 어떻게 뚫지?" — exploit chain 찾기
Blue Team (방어자)현재 보호 장치(권한, 후크, 룰)를 분석해 어떤 공격을 막아내는지 평가
Auditor (감사관)레드/블루팀 결과를 종합해 우선순위 매긴 리스크 리포트 생성

출력은 터미널(A-F 색상 등급), JSON(CI 파이프라인용), Markdown, HTML 네 가지. 크리티컬 발견 시 exit code 2로 빌드 게이트 차단 가능.

5디렉토리 구조 해부

레포 루트의 핵심 폴더와 역할

레포 루트의 핵심 폴더만 추리면 다음과 같다. 각각이 ECC의 어떤 "기능"을 담당하는지가 중요하다.

ECC/ ├── .claude-plugin/ ← 플러그인 매니페스트 (이게 있어야 /plugin install 가능) │ ├── plugin.json "이 플러그인이 뭐 가지고 있는지" 카탈로그 │ └── marketplace.json "이 레포가 마켓플레이스다" 선언 │ ├── agents/ ← 67개 전문 서브에이전트 (한 명에 한 가지 일) │ ├── planner.md 기획 전문 │ ├── code-reviewer.md 코드리뷰 전문 │ ├── security-reviewer.md 보안 점검 전문 │ ├── tdd-guide.md TDD 강제 전문 │ ├── go-reviewer.md Go 코드 리뷰 (언어별로 분리) │ ├── pytorch-build-resolver PyTorch 빌드 오류 해결 │ └── mle-reviewer.md 프로덕션 ML 파이프라인 리뷰 │ ├── skills/ ← 271개 스킬 (이게 ECC의 본체) │ ├── tdd-workflow/ TDD 워크플로우 │ ├── frontend-slides/ HTML 슬라이드 빌더 │ ├── continuous-learning-v2/ 인스팅트 학습 시스템 │ ├── cost-aware-llm-pipeline 비용 최적화 LLM 호출 │ ├── search-first/ "코딩 전 먼저 검색" 원칙 │ ├── security-scan/ AgentShield 통합 │ └── mle-workflow/ 프로덕션 ML 워크플로우 │ ├── rules/ ← 21개 언어/프레임워크 행동 강령 (수동 복사 필수) │ ├── common/ 모든 언어 공통 │ │ ├── coding-style.md │ │ ├── testing.md (80% 커버리지 필수) │ │ ├── performance.md │ │ └── security.md │ ├── typescript/ TS/JS 전용 │ ├── python/ Python 전용 │ ├── golang/ Go 전용 │ └── arkts/ HarmonyOS ArkTS │ ├── hooks/ ← 자동화 트리거 │ ├── hooks.json 모든 후크 한 곳에 정의 │ ├── memory-persistence/ 세션 저장/복원 │ └── strategic-compact/ 컨텍스트 압축 제안 │ ├── commands/ ← 슬래시 커맨드 (e.g. /plan, /code-review) │ ├── plan.md │ ├── code-review.md │ ├── multi-execute.md 멀티 에이전트 오케스트레이션 │ └── instinct-status.md 학습된 인스팅트 확인 │ ├── legacy-command-shims/ ← 은퇴한 짧은 이름 (옵트인 전용) │ └── tdd.md → 이제는 tdd-workflow 스킬 권장 │ ├── scripts/ ← Node.js 크로스 플랫폼 스크립트 │ ├── lib/utils.js 공통 유틸 │ ├── hooks/ 후크 본체 │ │ ├── session-start.js │ │ ├── session-end.js │ │ └── pre-compact.js │ └── setup-package-manager.js │ ├── tests/ ← 997+ 내부 테스트 ├── contexts/ ← 동적 시스템 프롬프트 주입용 ├── examples/ ← 실전 CLAUDE.md 예제 (SaaS, Go 마이크로서비스 등) ├── mcp-configs/ ← MCP 서버 설정 (GitHub, Supabase, Vercel…) ├── ecc_dashboard.py ← Tkinter GUI ├── ecc2/ ← Rust 컨트롤플레인 (알파) ├── install.sh / install.ps1 ← 통합 설치 스크립트 └── README.md ← 1700+ 줄의 거대한 문서
주목할 패턴

agents/skills/가 분리된 이유는 역할이 다르기 때문. 에이전트는 "위임받는 인격" (Read/Grep/Bash 도구 권한이 따로 있음), 스킬은 "참고하는 매뉴얼" (자동 호출되지만 권한은 호스트와 공유). 새 워크플로우는 항상 skills/에 먼저 만들고, 위임이 필요할 때만 agent로 분리한다.

핵심 파일 한 줄 정리

파일역할
.claude-plugin/plugin.json"이 플러그인은 이런 컴포넌트를 가지고 있다" 매니페스트. Claude Code v2.1+가 자동 로드.
hooks/hooks.json"어떤 이벤트에 무슨 명령 실행" 매핑. plugin.json에 hooks 필드 절대 추가 금지(중복 검출 에러).
install.sh / install.ps1OS별 설치 진입점. --profile minimal/core/full, --target claude/cursor/codex.
scripts/hooks/session-start.js세션 시작 시 컨텍스트 로드 후크의 본체.
ecc_dashboard.pyTkinter GUI. npm run dashboard로 실행.

6학습 포인트 (기술별)

이 저장소에서 배울 수 있는 것

ECC를 그냥 사용하는 게 아니라 "읽고 배워서 자기 도구를 만드는 재료"로 쓸 때 얻을 게 많다. 분야별로 정리.

학습 1 — AI 에이전트 시스템 설계

67개 에이전트를 어떻게 역할별로 쪼개는가

배울 것: 67개 에이전트를 어떻게 역할별로 쪼개고, 언제 위임할지 결정하는 로직.

핵심 파일: agents/*.md의 frontmatter — tools(허용 도구), model(opus/sonnet/haiku 라우팅)

실습 아이디어: 자기 직무에 맞는 에이전트 1개 만들기 (예: "내 회사 코딩 컨벤션 리뷰어")

학습 2 — 스킬 패키지 시스템

Agent Skills 표준 이해하기

배울 것: Agent Skills 표준 (SKILL.md 형식, YAML frontmatter, description-driven activation)

핵심 파일: skills/skill-stocktake/ — 스킬 품질 감사 스킬 (메타!)

실습 아이디어: /skill-create로 자기 git 히스토리에서 스킬 자동 추출

학습 3 — 후크 기반 자동화

이벤트 드리븐 패턴과 차단/허용 제어

배울 것: 이벤트 드리븐 패턴, JSON matcher 문법, exit code로 차단/허용 제어

핵심 파일: hooks/hooks.json, scripts/hooks/*.js

실습 아이디어: "git push 전에 npm test 강제" 후크 작성

학습 4 — 크로스 플랫폼 Node.js 스크립팅

OS별 차이를 자동 흡수하기

배울 것: 패키지 매니저 자동 감지 (npm/pnpm/yarn/bun), Windows/macOS/Linux 경로 차이 처리

핵심 파일: scripts/lib/utils.js, scripts/lib/package-manager.js

실습 아이디어: Lock 파일 우선순위로 패키지 매니저 추론하는 함수 작성

학습 5 — SQLite를 활용한 로컬 상태 관리

CLI 도구의 설치 상태 영속화

배울 것: CLI 도구가 설치 상태/세션 기록을 어떻게 영속화하나

핵심 파일: 상태 저장소 + 쿼리 CLI

실습 아이디어: 자기만의 "설치 매니페스트 + 상태 저장" 미니 도구 만들기

학습 6 — LLM 보안 / 프롬프트 인젝션

AgentShield의 102개 정적 분석 룰

배울 것: AgentShield의 102개 정적 분석 룰 — 시크릿 패턴(sk-, ghp_, AKIA), 권한 감사, MCP 위험 프로파일링

핵심 파일: skills/security-scan/, AgentShield 별도 레포

실습 아이디어: npx ecc-agentshield scan을 자기 프로젝트에 돌려보고 결과 분석

학습 7 — Tkinter Desktop GUI

Python 표준 라이브러리만으로 데스크탑 앱

배울 것: Python 표준 라이브러리만으로 다크/라이트 토글, 폰트 커스터마이즈 가능한 데스크탑 앱

핵심 파일: ecc_dashboard.py

실습 아이디어: Tkinter로 "내 git 레포 대시보드" 만들기

7시스템 요구사항

필요 버전과 설치 시 주의점
항목필요 버전 / 사양
Claude Code CLIv2.1.0 이상 필수 (이전 버전은 후크 자동 로딩이 안 됨)
Node.js18+ (크로스플랫폼 스크립트 실행용)
Python3.x (대시보드 사용 시. 미사용이면 불필요)
OSWindows / macOS / Linux 모두 지원
패키지 매니저npm / pnpm / yarn / bun 중 아무거나 (자동 감지)
디스크전체 설치 시 약 100MB (선택 설치로 줄일 수 있음)
컨텍스트 윈도우200K 권장. SessionStart 캡 8000자 (환경변수로 조정)
MCP 서버10개 이내, 활성 도구 80개 이내 권장
설치 주의
플러그인 + 수동 설치 동시 사용 금지

플러그인 + 수동 설치를 동시에 하면 후크가 중복 실행돼 충돌한다. 처음 깔 때 한 가지 경로만 선택해야 한다. 이미 꼬였다면 node scripts/uninstall.js --dry-run으로 먼저 확인하고 정리.

8직접 해볼 수 있는 실습 과제

난이도별로 손에 익히는 5단계
난이도 ★ 입문 · 30분

실습 1: 최소 설치 + 둘러보기

목표: ECC를 깔고 대시보드로 어떤 게 들었는지 시각적으로 확인.

# 1) 플러그인 설치
/plugin marketplace add https://github.com/affaan-m/ECC
/plugin install ecc@ecc

# 2) 룰만 수동 복사 (자기 기술스택 1개만)
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/

# 3) 대시보드 띄우기
npm install && npm run dashboard

학습 포인트: 플러그인 매니페스트가 어떻게 동작하는지, 어떤 컴포넌트가 자동/수동 설치인지 체감.

난이도 ★ 입문 · 15분

실습 2: AgentShield로 자기 설정 스캔

목표:~/.claude/ 폴더에 보안 이슈가 있는지 확인.

npx ecc-agentshield scan --markdown > security-report.md
# A-F 등급과 발견된 이슈 마크다운 리포트 생성

학습 포인트: 시크릿 키 노출, 위험한 후크, 과도한 MCP 권한이 어떤 모양으로 보이는지 학습.

난이도 ★★ 중급 · 1시간

실습 3: 나만의 스킬 1개 만들기

목표: 자기 회사 코딩 컨벤션을 SKILL.md로 만들어 ECC와 함께 사용.

# 1) skill-creator 실행
/skill-create

# 2) 또는 직접 작성
mkdir -p ~/.claude/skills/my-team-style
cat > ~/.claude/skills/my-team-style/SKILL.md << 'EOF'
---
name: my-team-style
description: 우리 팀 코딩 컨벤션 — 함수명은 동사+명사, 에러는 항상 Result 타입
---
# 코딩 규칙
1. 함수명은 동사+명사 (e.g. fetchUserData)
2. 에러 처리는 throw 대신 Result<T, E> 패턴
3. console.log 절대 금지, logger.debug 사용
EOF

학습 포인트: Skill 자동 호출(description-based activation) 메커니즘 이해.

난이도 ★★ 중급 · 1~2시간

실습 4: 후크로 자동 검사 추가

목표: Edit 도구로 .ts 파일을 수정할 때마다 자동으로 ESLint 돌리기.

// ~/.claude/hooks/hooks.json
{
  "matcher": "tool == \"Edit\" && tool_input.file_path matches \"\\\\.tsx?$\"",
  "hooks": [{
    "type": "command",
    "command": "npx eslint $file_path --fix || echo '[ESLint] 위반' >&2"
  }]
}

학습 포인트: 후크 matcher 문법, stderr/exit code로 차단/경고 차이 만들기.

난이도 ★★★ 상급 · 반나절

실습 5: 7개 하네스 어댑터 패턴 분석 후 재현

목표: ECC의 .cursor/hooks/adapter.js가 Cursor↔Claude Code 포맷 변환을 어떻게 하는지 분석하고, "Gemini CLI 어댑터"를 직접 작성해보기.

// 분석 순서
1. .cursor/hooks/adapter.js 정독 (stdin JSON 변환 로직)
2. scripts/hooks/session-start.js가 어떤 포맷을 기대하는지 파악
3. Gemini CLI의 hook event 포맷 조사
4. adapter-gemini.js 작성 → 같은 session-start.js를 재사용

학습 포인트: 어댑터 패턴의 실전 적용. 단일 진실의 원천(SSOT)을 유지하면서 다중 환경 지원하는 방법.

9관련 기술 심화 학습 로드맵

8주 코스로 차근차근

"ECC를 깊이 이해하려면"이라는 관점에서 8주 코스로 정리.

주차주제학습 자료
1주Claude Code 기본 + Agent Skills 표준Anthropic 공식 docs, ECC Shorthand Guide
2주MCP (Model Context Protocol) 이해MCP 스펙 문서, ECC mcp-configs/
3주서브에이전트 + 위임 패턴ECC agents/ 67개 정독, planner→architect 흐름
4주후크 시스템 + 이벤트 드리븐 아키텍처ECC hooks/hooks.json, scripts/hooks/*
5주토큰 최적화 + 컨텍스트 관리ECC Longform Guide, strategic-compact 스킬
6주지속 학습 시스템 (Continuous Learning v2)인스팅트 → 스킬 진화 사이클 추적
7주LLM 보안 (AgentShield)AgentShield 레포 정독, OWASP LLM Top 10
8주자기만의 ECC 만들기처음부터 작은 skill pack 1개 + GitHub 마켓플레이스 등록
핵심 추천

ECC README의 표 "Token Optimization / Memory Persistence / Continuous Learning / Verification Loops / Parallelization / Subagent Orchestration" 여섯 가지를 키워드로 잡고, 각각의 ECC 구현을 코드까지 읽어보면 AI 에이전트 운영의 거의 모든 토픽을 커버한다.

10핵심 키워드 사전

자주 등장하는 용어 한눈에
용어의미
HarnessAI 모델을 부려 일을 시키는 외피(IDE/CLI). Claude Code, Cursor, Codex가 다 harness.
Agent특정 역할이 정해진 서브AI. Read/Bash 등 도구 권한이 분리됨.
Skill워크플로우 매뉴얼. YAML frontmatter + description으로 AI가 자동 호출.
Hook이벤트 트리거. PreToolUse, PostToolUse, SessionStart, Stop 등에서 발화.
Rule항상 적용되는 가이드라인. 언어별/공통으로 폴더 분리.
MCPModel Context Protocol. AI ↔ 외부 도구(GitHub/DB/Slack) 표준 통신.
Instinct사용자 행동에서 자동 추출된 패턴. 신뢰도 점수가 매겨짐. Continuous Learning v2의 단위.
Evolve관련 인스팅트를 클러스터링해 정식 스킬로 승격하는 명령.
Verification Loopbuild → test → lint → typecheck → security를 한 사이클로 보는 패턴.
pass@k같은 문제를 k번 시도했을 때 한 번이라도 맞히는 비율. ML eval 메트릭.
Cascade Method여러 AI 인스턴스를 git worktree에서 병렬로 돌리는 패턴.
Strategic Compact컨텍스트가 차기 전에 의도적으로 압축하는 기법.
Red Team / Blue Team / AuditorAgentShield의 3개 Opus 4.6 에이전트 패턴 (공격 / 방어 / 감사).
Selective Install매니페스트 기반 컴포넌트 선택 설치. SQLite로 상태 추적.
Adapter Pattern같은 핵심 로직을 여러 환경(Cursor/Claude/Codex)에서 재사용하기 위한 변환 레이어.
Plankton코드 품질을 작성 시점에 강제하는 후크 시스템.

11참고 링크

더 깊이 파고들 곳
자기 점검 퀴즈

읽고 나서 답해보기

  1. ECC는 왜 "하네스 네이티브(harness-native)"라고 자신을 소개하나?
  2. Agent와 Skill의 차이를 한 문장으로?
  3. AgentShield의 --opus 플래그가 만드는 3개 Opus 모델의 역할은?
  4. plugin.json"hooks" 필드를 넣으면 안 되나?
  5. Continuous Learning v2에서 "Instinct"가 "Skill"로 바뀌는 명령은?