Розбір репозиторію 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 рядки й теж не завантажує все підряд. Усе нікому не потрібне. Потрібна жменька того, що пасує до коду, який ви насправді пишете.