ECCを検証してみる

AnthropicとForum Venturesの共催ハッカソンで優勝したAffaan Mustafa氏が、Claude Codeの設定を Everything Claude Code として公開していると知りました。略称は ECC です。

名前のとおり、agent、skill、hook、commandなどが一通り含まれています。どのような構成なのかが気になり、リポジトリを確認したうえで手元のClaude Codeにも導入しました。

ECCは何を公開したものか

ECCの公式リポジトリは affaan-m/ECC です。以前の affaan-m/everything-claude-code からは、このリポジトリへリダイレクトされます。ライセンスはMITです。

起点はMustafa氏が日常的に使っていたClaude Code設定の公開です。その後も機能追加が続いており、2026年9月2日時点では個人の設定集よりかなり大きなprojectになっています。

手元で取得した 2.2.1 には、次の構成が入っていました。

agents:  68
skills:  286
legacy command shims: 94
hooks:   7イベント
MCP:     chrome-devtools

リポジトリには多数のcontributorsが参加しており、Claude Code以外の設定も含まれます。Codex、Cursor、OpenCode、Gemini、Zedなどへの対応も進んでいます。

公式READMEにも、最も対応が進んでいるのはClaude Codeで、他のharnessには機能差があると明記されています。

調べる前との印象の違い
公開当初は個人の設定集でしたが、現在は複数のcoding agentへ開発手順を持ち込むための大きな設定基盤に変わっています。

プロンプト集ではなく、開発手順を分けて持つ

ECCの構成は、役割ごとに分かれています。

agents

agents には、planner、architect、security reviewer、build error resolverなどの役割定義があります。各agentに目的と使用可能なtoolを持たせ、主セッションから仕事を分けるためのものです。

skills

skills には、TDD、コードレビュー、調査、セキュリティ確認、言語別の実装パターンなどが入っています。必要になったときだけ読み込む、再利用可能な作業手順という理解でいます。

commands

commands は、/ecc:plan のような入口です。現在はskills中心へ移行中で、94件は legacy command shims と呼ばれています。

hooks

hooks は、tool実行の前後やセッション終了時にNode.jsの処理を動かします。破壊的なshell commandの検査、formatterやtype check、セッション状態の保存、継続学習用の記録などがここに含まれます。

rules

rules は、言語やframeworkごとの常時ルールです。ただしClaude Codeのpluginではrulesを配布できないため、必要なものだけ手動で追加する方式です。

ECCの考え方
単に長い CLAUDE.md を配るのではありません。計画、実装、テスト、レビュー、記憶を別の部品として持ち、必要な場面で組み合わせます。ECCが自らをagent harnessの最適化システムと呼ぶ理由は、この構造にあると思います。

インストール前にコードを確認した

外部のpluginには、promptだけでなく実行コードも含まれます。MITライセンスで公開されていることと、安全に実行できることは別です。

今回は公式リポジトリを一時ディレクトリへcloneしました。commit、manifest、hook定義、install scriptを確認しています。

取得時のcommitは次のものでした。

ca185ef5f7667078a1e70a763bd3a9c71c48acf0
chore(release): prepare signed 2.2.1 patch (#2920)

導入後は、インストール済みpluginに対してmanifest検証と、リポジトリ同梱のsupply-chain IOC scanを実行しました。

Validation passed
Supply-chain IOC scan passed (211 files inspected)

これは既知のindicatorを対象とした検査です。全ファイルの安全性を保証するものではありません。

それでも、URLを見てそのまま npx を実行するよりは、変更内容を把握しやすくなりました。

外部pluginで確認したいこと
公開リポジトリであることやライセンスだけで安全性を判断せず、少なくともmanifest、hook、install script、実行する外部commandは確認しておきたいところです。

hookの中には、ファイル編集やBash実行のたびにローカルのJavaScriptを呼ぶ定義があります。

安全機能もありますが、日常の全操作へ影響する点は同じです。そこで、最初から標準profileを有効にするのは避けました。

フックを無効にして導入した

手元の環境は次の状態でした。

Claude Code 2.1.246
Node.js 25.4.0
ECCの既存installなし

ECC 2.2.1 の要件はNode.js 18以降、Claude Code 2.1以降です。要件を満たしていたため、Claude Codeのnative pluginとして導入しました。

claude plugin marketplace add https://github.com/affaan-m/ECC

claude plugin install ecc@ecc \
  --scope user \
  --config hooks_enabled=false \
  --config hook_profile=minimal \
  --yes

対話可能なterminalで自分で実行する場合、確認を省略する --yes は外しても構いません。今回は自動実行だったため付けています。

公式の推奨手順には、npx ecc-universal setup を使うguided setupもあります。

ただし、native pluginと手動installを重ねないよう注意書きがあります。同じharnessへ複数方式で入れると、skills、commands、hooksが重複するためです。

今回はnative pluginだけにしました。rulesの手動copyも行っていません。

設定を確認すると、次の値が保存されていました。

{
  "ecc@ecc": {
    "options": {
      "hooks_enabled": false,
      "hook_profile": "minimal"
    }
  }
}

claude plugin list --json でも、ecc@ecc 2.2.1 がuser scopeで有効になっていることを確認できました。

ここまでは想定どおりです。

28k tokensという表示で手が止まった

導入後にcomponentの見積もりを確認しました。

claude plugin details ecc@ecc

結果は次のとおりです。

Skills (380)
Agents (68)
Hooks (7)
MCP servers (1)

Projected token cost
  Always-on: ~28,435 tok added to every session

manifest上は286 skillsと94 command shimsです。Claude Code側の一覧では、command shimsもskillとして数えられるため380件になります。

数が食い違って見えますが、合計は一致しています。

気になったのは、毎セッション約28k tokensという見積もりです。

各skillの本文がすべて常時読み込まれるわけではありません。それでも、componentを選ぶためのdescriptionだけで相応のcontextを使います。

公式READMEには Optimize the context window とあります。一方、全部入りpluginの見積もりは小さくありません。ここは少し矛盾して見えました。

常時コストは確認しておきたい
「必要なskillだけ遅延読み込みされる」ことと、「plugin自体の常時contextが小さい」ことは別です。全部入りで導入する場合は、Projected token cost も確認しておいたほうがよさそうです。

もう一点、hookを無効にしてもMCPは別です。

ECCには次の定義が含まれていました。

{
  "chrome-devtools": {
    "command": "npx",
    "args": ["-y", "chrome-devtools-mcp@latest"]
  }
}

実際にMCP toolを使う段階で、latest のpackageを取得して実行する構成です。今回は呼び出していません。

hooksとMCPは分けて考える
hooks_enabled=false にしても、pluginに含まれるMCPの定義まで消えるわけではありません。「hookを切れば外部コードが一切動かない」という状態ではない点は把握しておきます。

全部入りのまま常用するかは決めていない

導入自体は完了しました。次回のClaude Codeセッションから、/ecc:plan などを試せます。

ただし、現時点ではフックを有効にしていません。

まずはplanning、TDD、security reviewなど、普段の作業と重なるskillを数件だけ確認するつもりです。

その後も使う範囲が限られるなら、全部入りpluginをuser scopeで常用せず、必要なskillだけを選ぶほうが合うかもしれません。

確認項目 今回の状態
導入方式 Claude Code native pluginのみ
scope user
hooks 無効
hook profile minimal
rules 未導入
MCP chrome-devtools 定義あり。今回は未使用
Projected token cost Always-on 約28,435 tokens

ECCは個人のClaude Code設定を起点としています。現在は大勢のcontributorが参加し、複数harnessへ広がったprojectです。

私が参考にしたいのは、設定の量そのものより、開発中に繰り返した判断をskillやhookへ切り出す考え方です。

自分の環境へ286 skillsを一度に足すより、失敗した手順を一つずつ再利用可能にするほうが長く効く気がします。

次に確認すること
次は /ecc:plan と既存のplanning手順を同じ課題で使い、出力とtoken使用量を比較します。約28k tokensの常時コストに見合う差が出るかを確認したいと思います。

参考

ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。

  • 選考ではありません
  • 履歴書不要
  • 技術の話が中心
  • 所要時間30分程度
  • オンラインOK

エンジニアと話してみる

関連リンク

AI・クラウド・データ分析のご相談はネクスト株式会社までお問い合わせください。