Разбор репозитория Everything Claude Code: 286 скиллов и индекс на 21K токенов
Подсчёт содержимого репозитория Everything Claude Code своими руками: 286 скиллов, 68 агентов, 23 хука и индекс скиллов на 21 500 токенов. Что стоит оставить и установить iOS-инженеру.
Поздно вечером всплывает короткое видео: победитель хакатона якобы раздал свой полный сетап Claude Code. Следом появляется тред с тем же утверждением, потом ещё один и ещё несколько. Все похожи друг на друга: пара больших чисел, скриншот счётчика звёзд и ссылка. В одном 163K звёзд, в другом 214K, в третьем 228K.
Цифры даже между собой не сходятся, и это первый намёк, что никто из публикующих репозиторий не открывал.
Так что вот что бывает, если его всё-таки открыть. Не README, а сам репозиторий. Если клонировать его, прогнать wc и короткий скрипт на Python и прочитать то, что важно iOS-инженеру, становится ясно, что внутри, что стоит оставить и какое одно измерение меняет подход к установке.
Что такое ECC
ECC расшифровывается как Everything Claude Code — проект Аффана Мустафы под лицензией MIT. На момент проверки у репозитория было около 247 000 звёзд, 37 200 форков, 2631 коммит и версия 2.2.1.
Идея такая: Claude Code из коробки — это один ассистент, а ECC превращает его в рабочий процесс из планирования, тестов, реализации, ревью, проверки, запоминания и улучшения. Вокруг этого — хранилище памяти, «инстинкты» (паттерны, которые сохраняются между сессиями) и сканер безопасности AgentShield.
Установка занимает одну команду:
npx ecc-universal setup
Нужны Node 18+, Git и Claude Code 2.1+. Есть адаптеры для Codex, Cursor, OpenCode, Gemini, Zed и примерно десятка других.
Это маркетинг. Теперь о содержимом.
Считаем, что там на самом деле
Если пропустить цифры из тредов и посчитать напрямую, получится вот что:
ls -1 skills | wc -l # 286
ls -1 agents | wc -l # 68
du -sh --exclude=.git . # 94M
- 286 скиллов, по одному
SKILL.mdна папку - 68 агентов — markdown-файлы, во frontmatter которых указаны модель и разрешённые инструменты
- 94 устаревших командных шима из 426 командных файлов в целом
- 23 записи хуков на семь событий жизненного цикла. Восемь висят на
PreToolUseи семь наStop.PostToolUse,PostToolUseFailureиSessionStartполучают по два, аPreCompactиSessionEnd— по одному - 94 МБ на диске, из них 23 МБ — ассеты и 18 МБ — документация
Одна деталь неожиданна. CLAUDE.md в корне этого 94-мегабайтного памятника конфигурации занимает 82 строки, 531 слово. Человек, выпустивший 286 скиллов, сделал собственный файл инструкций короче, чем во многих частных репозиториях. Это не случайность, и в конце это снова окажется важным.
Цифра, которую треды пропускают
Прежде чем скилл сможет сработать, Claude Code должен знать, что он существует. При старте он загружает имя и краткое описание каждого скилла как каталог, а полное тело скилла подтягивается только в момент срабатывания. Такая ленивая загрузка называется progressive disclosure, и это хорошее решение.
Но анонсы всё равно чего-то стоят, так что их стоит измерить:
# name + description from every SKILL.md frontmatter
skills: 286 name+desc chars: 86,311 ~tokens: 21,577
Это около 21 500 токенов индекса скиллов, потраченных ещё до того, как набрано хоть одно слово самой задачи.
Для сравнения, вот что стоит за индексом:
- все 286 тел скиллов: около 641 000 токенов
- все 68 описаний агентов: около 110 000 токенов
641K токенов никто никогда не загрузит — progressive disclosure ровно для этого и нужен, и он работает. Но индекс на ~21,5K — это входной билет полной установки, который оплачивается в каждой сессии. В окне на 200K больше 10% уходит на меню.
Это вовсе не критика ECC. Это аргумент в пользу профиля minimal, который предлагает сам репозиторий:
./install.sh --profile minimal --target claude
В README это даже сказано прямо: начните с rules/common и одного языкового пакета, которым реально пользуетесь. Самые громкие распространители репозитория эту строчку пропустили.
Шесть вещей, которые оставил бы iOS-инженер
Поиск всего, что похоже на Swift, первым выдаёт cisco-ios-patterns. Это скилл про сети и хорошее напоминание, что «ios» — неудачный поисковый запрос. После него появляются шесть настоящих записей.
| Тип | Название |
|---|---|
| Агент | swift-reviewer.md |
| Агент | swift-build-resolver.md |
| Скилл | swiftui-patterns |
| Скилл | swift-concurrency-6-2 |
| Скилл | swift-actor-persistence |
| Скилл | swift-protocol-di-testing |
Тем, кто живёт в смешанной кодовой базе на UIKit и SwiftUI с MVVM, последнюю группу стоит прочитать, даже если установщик так и не будет запущен.
Что внутри swift-reviewer
Ожидаешь шаблонный промпт в духе «ты полезный ревьюер Swift». Ничего подобного. Frontmatter закрепляет агента за sonnet и ограничивает инструменты набором Read, Grep, Glob, Bash. Ничто из этого не может менять файлы, что для ревьюера идеально.
Дальше идёт процедура:
- Сначала сборка и тесты:
swift build,swiftlint lint --quiet(если установлен) иswift test. Если хоть что-то падает, агент останавливается и докладывает, а не идёт дальше. - Собрать изменения через
git diff HEAD~1 -- '*.swift'илиgit diff main...HEADпри ревью PR. - Смотреть только изменённые файлы
.swiftи ничего больше. - Начать собственно ревью.
Правило «если что-то упало — остановись и доложи» стоит позаимствовать. Большинство промптов для ревью радостно критикуют код, который даже не компилируется. Этот отказывается жечь токены на сломанном дереве.
Уровень CRITICAL читается как список того, что опытные разработчики уже выпускали в прод и потом жалели:
- force unwrap в продакшен-путях
try!без обоснования иas!без предварительной проверки типа- захардкоженные секреты, включая секреты в
UserDefaults, а не в Keychain - исключения ATS без обоснования
- пустые блоки
catch {}иtry?, проглатывающие значимые ошибки fatalError()для ситуаций, из которых вызывающий код мог бы восстановитьсяassert, охраняющий инвариант, который обязан выполняться в релизных сборках. В релизе он вырезается, поэтому правильный инструмент —precondition
Последнее замечание про assert и precondition — по-настоящему сеньорское наблюдение. Его пропускают в реальных пул-реквестах, а в компании, работающей с ценными бумагами, «вырезается в релизе» — вовсе не академическая проблема.
Скилл swiftui-patterns устроен так же. В нём есть таблица выбора property wrapper'ов (@State, @Binding, @Observable, @Bindable, @Environment) и чёткий аргумент в пользу @Observable вместо ObservableObject: поскольку изменения отслеживаются по каждому свойству, SwiftUI перерисовывает только те view, которые действительно читают изменившееся. Те же знания есть в сессиях WWDC. Но иметь их в файле, который можно отдать агенту, — совсем другое дело.
Где польза заканчивается
Тот же ls, что нашёл Swift-скиллы, нашёл и такие записи:
customs-trade-compliance
energy-procurement
production-scheduling
quality-nonconformance
healthcare-cdss-patterns
healthcare-emr-patterns
healthcare-phi-compliance
Если вы не строите пайплайн закупки электроэнергии, ничто из этого вам не пригодится. Эти скиллы — чья-то реальная работа, и автор поступил достойно, выпустив их, но каждый из них — строчка в индексе, за которую платишь и которой не пользуешься.
Ещё три проблемы стоит честно упомянуть.
Плагин не поставляет правила. Установка ECC как плагина Claude Code автоматически приносит агентов, скиллы, хуки и команды, но правила приходится копировать в .claude/rules/ вручную. Так что обещание одной команды прячет внутри рутину.
Установщики не складываются. README снова и снова повторяет: один способ на один харнесс. Баг-репорты про дублирующиеся хуки обычно приходят от тех, кто совместил плагин с ./install.sh --profile full.
Двадцать три хука расширяют поверхность атаки. Восемь из них срабатывают на PreToolUse, то есть каждый — это код, который запускается локально до того, как Claude отредактирует любой файл. ECC этого не скрывает: установщик просит явного согласия перед включением хуков, а AgentShield входит в комплект для сканирования промптов, хуков и MCP-конфигов. Это правильный подход. Но перед согласием всё равно остаётся 23 вещи, которые надо прочитать.
Вердикт
Дело не в количестве звёзд. Никто не ставит звезду репозиторию с 247 000 звёзд, оценив 286 скиллов. Ставят потому, что так сказало короткое видео.
Важно другое: репозиторий — отличный учебный материал по организации работы агентов и посредственный пакет для полной установки. Разумный план выглядит так.
Клонируйте, но пока не устанавливайте.
git clone --depth 1 https://github.com/affaan-m/ECC.git
Потом стоит открыть четыре файла: агента-ревьюера в agents/swift-reviewer.md, скилл в skills/swiftui-patterns/SKILL.md, конфиг хуков в hooks/hooks.json и тот самый короткий CLAUDE.md на 82 строки. Двадцать минут чтения там дадут больше любого треда про репозиторий, если хочется понять, как писать определения агентов.
Ставьте minimal, а не full. Оставьте двух Swift-агентов, четыре Swift-скилла и rules/common. Индекс сожмётся до горстки записей, которые помещаются в голове, а расход контекста будет почти нулевым.
Добавляйте по одной вещи и только тогда, когда этого требует реальная задача.
Подсказка была в репозитории с самого начала. Автор, выпустивший 286 скиллов, уложил свой файл инструкций в 82 строки и тоже не загружает всё подряд. Всё никому не нужно. Нужна горстка того, что подходит к коду, который вы на самом деле пишете.