npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@gian-tiaga/eda

v3.12.0

Published

Пакет скилов и специализированных агентов eda-* для Claude Code и Codex CLI

Readme

🌊 eda

Поточная разработка с AI-агентами — на русском языке. Пакет готовых скилов и специализированных агентов для Claude Code и Codex CLI, которые ведут тебя через весь цикл: от исследования до коммита.

eda — это двадцать три скила и пакетные агенты для повторяемых ролей. Скил отвечает за пользовательский workflow и оркестрацию, агент — за изолированную работу с закреплённой моделью и ограничениями. Вместо того чтобы каждый раз объяснять модели, как делать ревью или как исполнять план, ты говоришь одно слово — и она следует чёткой инструкции на русском, со всеми правилами, проверками и артефактами в нужных папках.


⚡ Установка

npm install -g @gian-tiaga/eda

Обновляешься с 2.x или более ранней версии? Перед обновлением прочитай гайд по миграции на 3.0: рабочие артефакты теперь лежат в docs/artifacts/.

В корне твоего проекта:

eda init

Установщик покажет чекбоксы: стрелками выбираешь среду, пробелом отмечаешь, Enter продолжает. Можно поставить Claude Code, Codex CLI или обе среды сразу. Устанавливаются и скилы, и агенты. Если docs/settings.yaml ещё нет, установщик предложит настройки скилов, а для каждой проверки plan-review и review отдельно спросит режим и модели Claude/Codex. В неинтерактивном запуске записывается сбалансированный профиль. В конце eda init отдельно пишет, какие скилы и агенты реально установлены или изменились.

eda update сначала переносит старые рабочие каталоги из docs/<тип>/ в docs/artifacts/<тип>/, затем обновляет настройки, скилы и агентов. Содержимое файлов при переносе не меняется. Если один относительный путь уже существует в новой структуре, новый файл сохраняется, а старый удаляется.

Полный валидный v3-конфиг сохраняется, пока совпадает с актуальным шаблоном; если в пакете появились новые значения или подсказки, файл молча перерисовывается с сохранением ваших значений. Старый, неизвестный или неполный файл разбирается как YAML: известные значения переносятся, в TTY спрашиваются только отсутствующие, затем профиль целиком атомарно записывается как v3. Без TTY используются перенесённые значения и defaults.

Если пакет уже стоит во многих проектах, можно обновить его одной командой:

eda update-all ~/Code

eda update-all ищет проекты в указанной директории, её прямых подпапках и подпапках второго уровня. Проект считается найденным, если в нём уже есть установленный скил, агент или manifest eda для Claude/Codex. В каждом проекте команда переносит рабочие артефакты, затем предлагает настроить один общий профиль для всех проектов или выбрать skip. В режиме skip актуальный полный v3 сохраняется, устаревший по шаблону перерисовывается, старые и неполные конфиги индивидуально переносятся, отсутствующие создаются с defaults. Без TTY автоматически используется skip. Ошибка одного проекта не останавливает остальные.


🛠️ Скилы

| Скил | Что делает | Куда складывает | |---|---|---| | eda-orhestra | Выполняет настраиваемую цепочку eda-*-скилов. В subagents каждый этап получает чистый контекст, в main этапы выполняет текущий агент, а main_propagated дополнительно передаёт main в совместимые execute/review-этапы. По умолчанию: план без проверок → полировка плана → выполнение → автономное ревью и исправления → ручные тесты. Если QA нашёл баг, оркестра запускает fix и повторяет только ручной тест. В orhestra.steps шаги можно переставлять, отключать и снабжать args. Не коммитит | Артефакты включённых скилов | | eda-aim | Сначала через отдельного агента-планировщика согласует с человеком одну или несколько простых проверяемых целей, затем передаёт их агентам-исполнителям и повторяет работу до независимого подтверждения агентом-проверяющим. При необходимости использует установленные скилы в отдельных изолированных субагентах. В automatic отвечает на безопасные рабочие вопросы самостоятельно, в manual передаёт их человеку; режим задаётся через aim.mode или текущий вызов. Точный список новых целей человек подтверждает всегда | docs/artifacts/aims/ и артефакты задействованных скилов | | eda-new-project | Помогает стартовать новый проект: собирает и согласует требования, функциональность и границы, ограничения и архитектурные драйверы, сравнивает варианты основного стека и фиксирует выбранные компоненты с актуальными стабильными версиями. Не проектирует архитектуру, правила, проверки, AI-скилы или MCP; сохраняет подтверждённый стартовый бриф и всегда без дополнительного вопроса запускает полный технический bootstrap через eda-prepare-ai | docs/artifacts/project-starts/, затем артефакты eda-prepare-ai | | eda-business | Совместно с человеком описывает целевое поведение проекта по тематическим карточкам: сложные темы фиксирует подробно, но без шума, соседних модулей и привязки к текущему коду. Может закрепить значимый механизм вроде JWT или серверного хранения токенов, но не язык, библиотеку или конкретную СУБД. about содержит лишь короткое описание проекта и основные возможности | docs/business.md, docs/business/ | | eda-roadmap | Создаёт roadmap-файл: список будущих задач с короткими, понятными и недвусмысленными описаниями без деталей реализации, файлов, библиотек, API и пошагового плана | docs/artifacts/roadmaps/ | | eda-explore | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. После определения темы читает только применимые business- и reference-карточки. В дефолтном режиме ведёт исследование как диалог; для пакетов и ПО проверяет актуальные стабильные версии | docs/artifacts/researches/ | | eda-plan | Пишет план реализации через Plan Mode: фиксирует решения, контракты БД и API, устройство и дизайн интерфейса, консольные команды и фазы, каждую из которых один агент выполняет и проверяет за один проход. На подтверждение показывает полный план в формате скила, включая метаданные, разделы и структуру фаз; сохраняет тот же текст. Задач с идентификаторами внутри фаз нет. Реализацию не описывает — её задают docs/rules.md, docs/arch.md и карточки. Если целевое поведение ещё не описано в business-карточках, до реализации добавляет Дополнить бизнесовые правила; если решение противоречит правилам или архитектуре, сначала меняет сам документ. По plan.review запускает изолированный eda-plan-polish ровно на одну итерацию полировки (limit 1); plan.strict независимо включает кросс-CLI ревью | docs/artifacts/plans/, опционально plan-review артефакты | | eda-plan-review | Одним read-only проходом проверяет план по фиксированному чек-листу из 16 пунктов: покрытие запроса, отсутствие развилок, соответствие правилам и архитектуре, дубли, регистр текста, фазы и объём. Замечания вне списка не принимает. Оценка — доля закрытых пунктов, поэтому растёт монотонно. План не меняет | docs/artifacts/plan-reviews/ | | eda-plan-review-fix | Закрывает проваленные пункты чек-листа минимальным изменением плана с совпадающим SHA-256. План не растёт: сначала удаление и замена, прирост объёма за один заход не больше 3%. Новое ревью не делает и код не меняет | docs/artifacts/plan-review-fixes/ | | eda-plan-polish | Оркестрирует изолированный цикл plan-review → plan-review-fix. Хранит снапшот лучшей версии плана: как только score перестаёт расти, останавливается и восстанавливает лучшую версию, а не последнюю. По умолчанию одна итерация: проверка и исправление. Исправление проверяет ревью следующей итерации, поэтому при limit 1 последняя правка остаётся неперепроверенной. Кросс-CLI strict не используется | docs/artifacts/plan-reviews/, docs/artifacts/plan-review-fixes/ | | eda-plan-execute | Управляет выполнением плана по фазам в режиме subagents, main или auto. В subagents каждую фазу целиком выполняет отдельный изолированный субагент: он читает план, правила, архитектуру и только business/reference-карточки затронутого поведения и компонентов. Фазы проходят строго последовательно и принимаются независимыми проверяющими. В main весь план по тем же правилам выполняет и проверяет основной агент в одном контексте, а auto выбирает режим по плану. Отметки подтверждённых задач и журнал ведёт основной агент | docs/artifacts/executions/ | | eda-just-do-it | Сразу выполняет задачу из текста рядом с вызовом: определяет scope, загружает только необходимые проектные инструкции, business/reference-карточки, код и тесты, вносит нужные изменения и проверяет результат. Не подменяет выполнение планом и не делает git- или внешние действия без прямого указания | docs/artifacts/just-do-it/ | | eda-fix | Делает обычные фиксы по короткому контексту, баг-репорту или плану. Перед правками читает правила, архитектуру и только применимые карточки, добавляет нужные тесты, прогоняет проверки и сохраняет историю правок | docs/artifacts/fixes/ | | eda-review | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. Сохраняет только доказанные дефекты, которые обязательно исправить; косметические и спекулятивные предложения отбрасывает. Любая находка даёт changes-required, а чистое ревью — clean и 100/100. Без аргументов ревьюит git diff HEAD | docs/artifacts/reviews/ | | eda-fix-by-review | Применяет все находки из ревью с учётом правил, архитектуры и применимых карточек. Спрашивает только при неоднозначности, конфликте, расширении scope или рискованном действии. В конце ссылается на отчёт прямо в файле ревью | docs/artifacts/review-fixes/ | | eda-manual-test | Делает ручную проверку после изменений. По умолчанию проверка полная: разбирает план или другой артефакт по разделам, дополняет его фактическим git diff HEAD и закрывает матрицу областей — API, база данных, консольные команды, интерфейс, алгоритмы, фон и интеграции, права и роли, конфигурация, логи, регрессии рядом. Область нельзя закрыть чтением кода или зелёными автотестами; незакрытая область даёт blocked. Быстрый smoke включается настройкой manual-test.depth или словом в запросе. Применимая business-карточка может добавить только относящийся к задаче инвариант или сценарий. Не правит код, не пишет автотесты и не коммитит | docs/artifacts/manual-tests/ | | eda-polish | Оркестрирует доводку изменений: запускает полное eda-review, затем eda-fix-by-review и повторяет цикл до clean и отсутствия находок либо до лимита 5 итераций. Режим цикла задаёт polish.execution: в main оба контракта выполняет основной агент без субагентов, в subagents каждый шаг получает отдельный изолированный контекст. Все находки исправляются, score остаётся справочным. Не коммитит | docs/artifacts/reviews/, docs/artifacts/review-fixes/ | | eda-send-review | На sonnet / gpt-5.6-terra отправляет ревью на GitHub PR через gh всегда в едином формате: общий комментарий-сводка плюс комментарии к строкам кода. Без явно указанного типа использует comment; approve и request-changes берёт только из контекста текущего вызова. По настройке может скрыть предыдущие сводки eda-send-review и зарезолвить их inline-треды. По умолчанию шлёт все пункты. Claude-модель закрепляется при установке; Codex-модель хранится как рекомендуемый будущий override | (комментарий в PR) | | eda-commit | Работает как лёгкий оркестратор одного sonnet / gpt-5.6-terra агента: тот сам собирает git-контекст, пишет сообщения и тексты PR по исходному запросу и фактическим изменениям, точечно коммитит и выполняет явно заданные push/PR/merge-действия. Агент экономит время: собирает контекст одним вызовом, не читает кодовую базу и документацию целиком, вместо полного diff берёт сводку --stat и дочитывает только неясные файлы, а смысл работы берёт из свежих артефактов docs/artifacts/**, если они есть в составе изменений. Весь состав идёт одним коммитом; на несколько логически цельных коммитов он делится только по явной просьбе (split, «раздели», «отдельными коммитами») или при явно раздельном scope. Для PR использует шаблон репозитория, отражает все группы изменений и указывает только реально выполненные проверки. С явным контекстом охватывает указанный состав; без контекста коммитит всё — все tracked-изменения и все untracked-файлы независимо от авторства и связи с текущей задачей, кроме очевидных кэшей и локальных служебных артефактов вроде .DS_Store. В Claude Code сам оркестратор закреплён за sonnet; в Codex остаётся на активной модели сессии из-за отсутствия per-skill override. При вероятном секрете агент блокируется до индексации затронутой группы. После любого push всегда возвращает ссылку — на существующий PR или на его создание — и спрашивает, создавать ли PR, если его нет. Если продолжение не задано, предлагает применимые варианты | (git, опционально GitHub PR) | | eda-worktree | На haiku / gpt-5.6-luna создаёт через пакетного агента git worktree рядом с основным проектом в папке {name}-work-{n} и одноимённую ветку. Базу берёт из аргумента или спрашивает | соседняя папка {name}-work-{n} | | eda-merge-worktree | На haiku / gpt-5.6-luna мержит через пакетного агента ветку из соседнего worktree в текущую ветку. Принимает номер 1, короткое имя work-1 или полное имя {name}-work-1. Worktree и ветку после merge не удаляет | (git) | | eda-prepare-ai | Выполняет технический bootstrap нового или существующего проекта: проектирует архитектуру, строгие правила и профиль инструментов, проходит полный каталог автоматических проверок, подбирает применимые AI-скилы, роли и MCP, затем создаёт AI-документацию. Один факт хранит у одного владельца: docs/rules.md содержит рабочие действия, запреты и команды проверок, а docs/arch.md — топологию исходного кода, ownership, зависимости и потоки без рабочих инструкций. Подтверждённые требования, стек и архитектурные драйверы из eda-new-project принимает как обязательный вход и не переоткрывает без обнаруженного конфликта. Для пустого проекта не выдумывает reference-карточки и не выдаёт неустановленные инструменты за доступные | docs/rules.md, docs/arch.md, docs/references.md, docs/references/, AGENTS.md, CLAUDE.md | | eda-discover-automations | Проводит baseline gap-аудит проекта даже без истории, а при наличии анализирует ревью, планы и фиксы. Не ограничивает число предложений: проверяет тесты/e2e, стиль, статанализ, границы модулей, конфиги/IaC, API/БД, security/supply chain, performance, release, эксплуатацию, browser MCP и MCP стека. Для каждой идеи даёт команду, контур запуска и приоритет; ничего не внедряет | docs/artifacts/automations/ |

Структура docs/

Постоянная документация проекта остаётся непосредственно в docs/: settings.yaml, rules.md, arch.md, business.md, каталог business/, references.md и каталог references/. Все временные и рабочие результаты скилов лежат в docs/artifacts/<тип>/.

Версия 3.0 не поддерживает старые пути во время работы скилов. eda update и eda update-all физически переносят известные старые каталоги, но сохраняют байты файлов как есть: ссылки вида docs/plans/..., уже записанные внутри исторических документов, не переписываются. eda init миграцию артефактов не запускает.

Business-контекст

eda-business хранит в docs/business.md только простое оглавление из двух колонок — описание темы и ссылка на готовую согласованную карточку. Степень подробности определяется темой: сложная аутентификация может подробно фиксировать вид токенов, их выпуск, обновление и отзыв, тогда как about остаётся коротким описанием проекта и основных возможностей. Карточки не привязываются к путям, классам и внутренним модулям текущего кода; значимый механизм вроде JWT указать можно, а язык, библиотеку, конкретную СУБД и схему реализации — нет. Последний раздел содержит только прямые расхождения поведения по собственной теме.

Потребляющий скил сначала определяет текущую задачу и фактически затронутое поведение, а затем выбирает по описаниям только применимые business-карточки. Отсутствие подходящей карточки не является ошибкой и не требует загружать остальные. Если задача противоречит карточке, агент показывает конфликт и спрашивает человека, изменить задачу или пересогласовать правило через eda-business.

eda-review-check выведен из эксплуатации: его специализированные проверки теперь входят прямо в eda-review. eda-execute переименован в eda-plan-execute, eda-automate — в eda-discover-automations, eda-docs — в eda-prepare-ai, а eda-start — в eda-new-project. Контекстный агент eda-commit-context также выведен из эксплуатации: сбор контекста теперь выполняет единый eda-commit-executor. При обновлении старые имена удаляются из целевых сред. Установщик удаляет только управляемые EDA-копии retired-компонентов и не трогает чужие компоненты.

Экстремальный профиль проверок

eda-prepare-ai и eda-discover-automations проходят не короткий список, а полный стек-зависимый каталог. В него входят unit/integration/component/contract/API/e2e/smoke/regression-тесты; property-based, mutation и fuzz; visual regression, accessibility и cross-browser; форматирование, lint, сложность, дубли и dead code; typecheck, taint и sanitizers; границы модулей, циклы и направления зависимостей; валидация env, CI, Docker, Kubernetes, Terraform и других конфигов; API/схемы и migrations; security, supply chain и SBOM; performance/load/soak/chaos; reproducible build, compatibility и release checks; документация, observability, backup/restore, доменные инварианты и AI evals.

Для каждой применимой проверки скил указывает инструмент, точную команду или сценарий, риск и место запуска: pre-commit, pre-push, PR CI, nightly, release, post-deploy или MCP/manual. Browser/Playwright MCP и MCP выбранного стека рассматриваются отдельно и не подменяют детерминированные CLI/CI-проверки. Фиксированного лимита предложений нет; неприменимые группы должны иметь явное обоснование.

eda-prepare-ai разбирает значимые настройки каждого выбранного инструмента и предлагает самый строгий стабильный применимый профиль, а не конфигурацию по умолчанию. Для динамических и слаботипизированных языков это включает строгий typecheck, nullability, типизированные публичные контракты и runtime-валидацию внешних данных; для линтеров, статанализа, тестов, security и CI — максимальные полезные наборы проверок, нулевой бюджет предупреждений и явное обоснование каждого ослабления.


🤖 Пакетные агенты

| Агент | Claude Code | Codex | Роль | |---|---|---|---| | eda-aim-planner | sonnet, workspace-write | gpt-5.6-terra, workspace-write | Задаёт вопросы, формулирует простой проверяемый список и создаёт файл только после подтверждения человека | | eda-aim-executor | opus, workspace-write | gpt-5.6-sol, workspace-write | Выполняет назначенные пункты, при необходимости запрашивает установленные скилы для запуска в изолированных субагентах и дополняет общий журнал | | eda-aim-verifier | opus, workspace-write | gpt-5.6-sol, workspace-write | Независимо проверяет каждый критерий, отмечает подтверждённые цели и возвращает пробелы на новый круг выполнения | | eda-commit-executor | sonnet | gpt-5.6-terra | Одним вызовом собирает git-контекст, пишет сообщения коммитов и PR по запросу, артефактам и фактическим изменениям, коммитит состав одним коммитом или по группам при split и выполняет явно разрешённые push/PR/merge-действия | | eda-worktree-executor | haiku | gpt-5.6-luna | Создаёт соседний worktree и одноимённую ветку, не изменяя файлы проекта | | eda-merge-worktree-executor | haiku | gpt-5.6-luna | Мержит ветку из соседнего worktree в текущую без cleanup и ручного разрешения конфликтов | | eda-review-correctness | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет функциональную корректность и крайние случаи | | eda-review-architecture | opus, read-only | gpt-5.6-sol, read-only | Проверяет архитектурные границы и зависимости | | eda-review-rules | haiku, read-only | gpt-5.6-luna, read-only | Проверяет инструкции и правила проекта | | eda-review-references | haiku, read-only | gpt-5.6-luna, read-only | Проверяет применимые эталонные карточки | | eda-review-business | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет изменённое поведение по применимым business-карточкам | | eda-review-plan-alignment | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет соответствие реализации плану | | eda-review-code-quality | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет читаемость, сложность и поддерживаемость | | eda-review-tests | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет тестовое покрытие и корректность тестов | | eda-review-security | opus, read-only | gpt-5.6-sol, read-only | Проверяет безопасность и границы доверия | | eda-review-performance | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет производительность и масштабирование | | eda-review-frontend | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет frontend-код, UI и UX по исходникам | | eda-review-api | sonnet, read-only | gpt-5.6-terra, read-only | Проверяет API-контракты и совместимость | | eda-review-database | opus, read-only | gpt-5.6-sol, read-only | Проверяет схемы, миграции, запросы и целостность данных | | eda-review-documentation | haiku, read-only | gpt-5.6-luna, read-only | Проверяет обязательные обновления документации | | eda-review-previous-reviews | haiku, read-only | gpt-5.6-luna, read-only | Перепроверяет незакрытые удалённые замечания |

Агенты устанавливаются отдельно от скилов. Модели review-агентов в таблице — сбалансированные defaults; docs/settings.yaml или прямое указание пользователя может заменить модель конкретной проверки на текущий запуск в режиме subagents. eda-aim последовательно разделяет согласование, выполнение и независимую проверку, а при необходимости использует установленные скилы только в отдельных изолированных субагентах; основной агент передаёт вопросы и структурированные результаты. eda-commit сохраняет исходный запрос и целиком передаёт сбор контекста, выбор файлов, коммит и разрешённое продолжение одному простому агенту. eda-worktree и eda-merge-worktree передают одному специализированному агенту git-операцию, обрабатывают его вопрос или результат и сами команды не выполняют. eda-review поддерживает два режима: subagents параллельно запускает применимых review-агентов, а main выполняет те же проверки основным агентом по встроенной матрице без субагентов. В Codex специализированные review-агенты запускаются с fork_turns: "none", без наследования истории. В subagents все выбранные проверки отправляются одним нативным параллельным пакетом без ручных партий и shell-опроса.

Для Claude Code установленный eda-commit получает model: sonnet, а eda-worktree и eda-merge-worktree — model: haiku. В Codex у скилов пока нет отдельного per-skill model override: основной поток остаётся на выбранной пользователем модели, но он выполняет только лёгкую оркестрацию; содержательная работа eda-commit закреплена за gpt-5.6-terra, а worktree-операции — за gpt-5.6-luna.


🚩 Флаги скилов

У некоторых скилов есть флаг strict — он включает дополнительные тяжёлые проверки. Передаётся как часть запроса агенту, например: eda-explore strict <тема>. Также strict можно включить отдельно в docs/settings.yaml, например через explore.strict: true. У eda-review режим исполнения задаётся через subagents / main, а состав проверок — через собственные mode и model.

У eda-plan-execute есть режимы subagents / main / auto. Режим можно разово указать в вызове, например eda-plan-execute main docs/artifacts/plans/....md; без него используется plan-execute.mode из настроек, а без настроек — auto.

Выбранный режим исполнения обязателен для eda-plan-execute, eda-review, eda-polish и eda-orhestra. При main из вызова или настроек агент не может перейти к субагентам из-за большого плана, diff или нехватки контекста. Прогресс и режим сохраняются для продолжения после сжатия контекста; при технической невозможности продолжить агент сообщает блокер. Выбор по размеру плана разрешён только в eda-plan-execute auto до начала выполнения. Зафиксированный режим меняется только по новому прямому указанию пользователя; automatic оркестратора такого права не даёт. У оркестратора main по-прежнему управляет только верхней цепочкой, а main_propagated также передаёт main совместимым execute/review-этапам; остальные вложенные контракты сохраняются.

У eda-aim есть режимы automatic / manual. В автоматическом основной агент сам отвечает на безопасные рабочие вопросы по рекомендации субагента и фактам проекта, в ручном передаёт их человеку. Режим можно разово указать в вызове; без него используется aim.mode из настроек. Точный список новых целей перед записью в docs/artifacts/aims/ всё равно один раз подтверждает человек.

Скилы, которых нет в таблице ниже, не поддерживают эти флаги. Набор проверок eda-review отдельно управляется через review.agents.

| Скил | Флаг | Что включает | Когда стоит использовать | |---|---|---|---| | eda-orhestra | automatic / manual, subagents / main / main_propagated, без полировки плана, без полировки кода, полировка кода N итераций, без ручных тестов | Разово меняет вопросы, исполнение, состав цепочки и параметры шагов поверх docs/settings.yaml | main экономит верхний слой, main_propagated также включает main у совместимых execute/review-этапов | | eda-aim | automatic / manual | Разово меняет способ ответа на рабочие вопросы поверх aim.mode; подтверждение точного списка новых целей остаётся обязательным | Автономная работа или совместное прохождение развилок с человеком | | eda-explore | strict | После сохранения отчёта отдаёт его соседнему CLI (Claude → Codex или наоборот) на критическое ревью конкретности, фактов, развилок, рисков и версий; затем доправляет отчёт по замечаниям | Серьёзные исследования, которые лягут в основу больших решений; когда хочется второго мнения от другой модели/среды | | eda-plan | strict, без ревью плана, без проверок | strict независимо включает кросс-CLI проверку; без ревью плана отключает встроенный review/fix; без проверок отключает оба вида ревью | Когда нужно разделить создание плана и его последующую полировку | | eda-plan-review | threshold N | Разово меняет долю закрытых пунктов, при которой план считается готовым | Для самостоятельного аудита готового плана | | eda-plan-execute | subagents / main / auto | Разово меняет, где выполняются фазы, поверх plan-execute.mode | main для обязательного выполнения основным агентом, subagents для изолированных фаз, auto для выбора по размеру плана | | eda-plan-polish | threshold N, limit N | Меняет gate и максимальное число итераций «проверка + исправление» | Для доводки ответственных планов перед eda-plan-execute | | eda-manual-test | full / полная проверка, smoke / быстро | Разово меняет глубину ручной проверки поверх manual-test.depth | smoke для короткой правки, full — когда нужно закрыть все области после плана | | eda-polish | subagents / main, limit N | Разово меняет способ выполнения review и исправлений поверх polish.execution и число итераций | subagents держит каждый шаг в чистом контексте, main экономит контекст на мелкой доводке | | eda-review | subagents / main | Разово меняет способ выполнения выбранных проверок поверх review.execution | main экономит контекст на частых локальных ревью; subagents сохраняет независимость ролей для ответственных изменений |


⚙️ Настройки проекта

Скилы читают docs/settings.yaml, если файл есть. Прямое указание в текущем запросе важнее настроек: например, strict включает строгий режим для одного запуска, а normal / без strict выключает его. Для eda-plan явный short включает короткий план, а normal / обычный план — обычный.

Файл по умолчанию:

version: 3

orhestra:
  # Режим полного цикла eda-orhestra.
  # automatic | manual
  mode: automatic
  # Где выполняются этапы и передаётся ли main совместимым вложенным скилам.
  # subagents | main | main_propagated
  execution: subagents
  # Упорядоченная цепочка. Шаги можно отключать, удалять и переставлять.
  steps:
    - id: plan
      skill: eda-plan
      enabled: true
      # Строка аргументов передаётся скиллу как часть текущего вызова.
      args: "без проверок"
    - id: plan-polish
      skill: eda-plan-polish
      enabled: true
      # Строка аргументов передаётся скиллу как часть текущего вызова.
      args: ""
    - id: execute
      skill: eda-plan-execute
      enabled: true
      # Строка аргументов передаётся скиллу как часть текущего вызова.
      args: ""
    - id: polish
      skill: eda-polish
      enabled: true
      # Строка аргументов передаётся скиллу как часть текущего вызова.
      args: "limit 5"
    - id: manual-test
      skill: eda-manual-test
      enabled: true
      # Строка аргументов передаётся скиллу как часть текущего вызова.
      args: ""
      # Обработка failed-результата этого шага.
      on_failure:
        skill: eda-fix
        args: ""
        # После исправления повторно запускаются включённые шаги с этими id.
        then:
          - manual-test
        max_cycles: 5

aim:
  # Режим ответов на рабочие вопросы eda-aim.
  # automatic | manual
  mode: automatic

explore:
  # Включает кросс-CLI ревью в eda-explore.
  # true | false
  strict: false
  # Определяет, как eda-explore ведёт исследовательские развилки.
  # autonomous | recommend_and_ask | ask_each_time
  decision_mode: recommend_and_ask

plan:
  # Включает кросс-CLI ревью в eda-plan.
  # true | false
  strict: false
  # Запускает изолированный цикл eda-plan-polish.
  # true | false
  review: true
  # Задаёт размер плана.
  # normal | short | ask_each_time
  size: normal
  # Определяет, как eda-plan принимает существенные решения.
  # autonomous | recommend_and_ask | ask_each_time
  decision_mode: recommend_and_ask
  # Задаёт стратегию тестов и автоматических проверок.
  # after_each_phase | phase_tests_final_checks | tdd_each_phase | end_of_plan | ask_each_time
  test_strategy: ask_each_time
  # Задаёт стратегию логирования.
  # debug_precise | standard | ask_each_time
  logging_strategy: ask_each_time

plan-review:
  # Доля закрытых пунктов чек-листа, при которой план считается готовым.
  threshold: 100

plan-polish:
  # Максимальное число итераций «проверка + исправление».
  limit: 1

plan-execute:
  # Где eda-plan-execute выполняет фазы плана.
  # subagents — каждая фаза в отдельном субагенте, main — весь план одним контекстом, auto — решает по плану.
  mode: auto

polish:
  # Где eda-polish выполняет review и исправления цикла полировки.
  # subagents — каждое review и каждое исправление в отдельном изолированном субагенте, main — оба контракта основным агентом.
  execution: subagents

manual-test:
  # Глубина ручной проверки в eda-manual-test.
  # full — закрыть все применимые области: API, база, консольные команды, интерфейс, алгоритмы, фон, права, конфигурацию, логи и регрессии рядом.
  # smoke — только запуск и основной сценарий изменённой области.
  # full | smoke | ask_each_time
  depth: full

review:
  # subagents — отдельный специализированный агент на проверку, main — все проверки основным агентом без субагентов.
  execution: subagents
  # Каждая проверка имеет собственный режим запуска; модели применяются только в subagents.
  agents:
    # Проверяет ошибки в логике, крайние случаи и обработку ошибок.
    # Эта базовая проверка по умолчанию запускается всегда.
    correctness:
      # always — всегда, auto — когда применимо, off — отключено.
      mode: always
      model:
        # Модель для Claude Code.
        claude: sonnet
        # Модель для Codex.
        codex: gpt-5.6-terra

    # Проверяет архитектурные границы, зависимости и разделение ответственности.
    # В auto запускается при изменении модулей, зависимостей, публичных контрактов или границ системы.
    architecture:
      mode: auto
      model:
        claude: opus
        codex: gpt-5.6-sol

    # Проверяет соблюдение AGENTS.md, CLAUDE.md и docs/rules.md.
    # Эта базовая проверка по умолчанию запускается всегда.
    rules:
      mode: always
      model:
        claude: haiku
        codex: gpt-5.6-luna

    # Проверяет соответствие применимым карточкам из docs/references/.
    # В auto запускается только когда для изменений выбраны применимые карточки.
    references:
      mode: auto
      model:
        claude: haiku
        codex: gpt-5.6-luna

    # Проверяет изменённое поведение по применимым карточкам из docs/business/.
    # В auto запускается только когда изменения затрагивают поведение с применимой business-карточкой.
    business:
      mode: auto
      model:
        claude: sonnet
        codex: gpt-5.6-terra

    # Проверяет, что реализация соответствует указанному или однозначно найденному плану.
    # В auto запускается только когда у ревью есть конкретный план.
    plan_alignment:
      mode: auto
      model:
        claude: sonnet
        codex: gpt-5.6-terra

    # Проверяет читаемость, сложность, дублирование и поддерживаемость кода.
    # Эта базовая проверка по умолчанию запускается всегда.
    code_quality:
      mode: always
      model:
        claude: sonnet
        codex: gpt-5.6-terra

    # Проверяет достаточность, корректность и устойчивость тестов.
    # Эта базовая проверка по умолчанию запускается всегда.
    tests:
      mode: always
      model:
        claude: sonnet
        codex: gpt-5.6-terra

    # Проверяет уязвимости, права доступа, валидацию и работу с чувствительными данными.
    # В auto запускается для auth, permissions, внешнего ввода, файлов, сети, секретов и криптографии.
    security:
      mode: auto
      model:
        claude: opus
        codex: gpt-5.6-sol

    # Проверяет запросы, циклы, память, конкурентность и другие риски производительности.
    # В auto запускается при изменении запросов, кешей, конкурентности или горячих путей.
    performance:
      mode: auto
      model:
        claude: sonnet
        codex: gpt-5.6-terra

    # Проверяет фронтенд-код, UI, UX, адаптивность и состояния интерфейса.
    # В auto обязательно запускается при изменении компонентов, стилей, клиентских маршрутов или состояния UI.
    frontend:
      mode: auto
      model:
        claude: sonnet
        codex: gpt-5.6-terra

    # Проверяет API-контракты, совместимость, валидацию и обработку ошибок.
    # В auto запускается при изменении маршрутов, handlers, DTO, схем API, GraphQL или RPC.
    api:
      mode: auto
      model:
        claude: sonnet
        codex: gpt-5.6-terra

    # Проверяет схемы, миграции, запросы, индексы и целостность данных.
    # В auto запускается при изменении миграций, моделей хранения, SQL, схем или транзакций.
    database:
      mode: auto
      model:
        claude: opus
        codex: gpt-5.6-sol

    # Проверяет, обновлена ли документация для изменившегося пользовательского поведения.
    # В auto запускается при изменении публичного API, CLI, настроек или документируемого поведения.
    documentation:
      mode: auto
      model:
        claude: haiku
        codex: gpt-5.6-luna

    # Перепроверяет незакрытые замечания предыдущих ревью для удалённого PR или MR.
    # В auto запускается только для ссылки на PR/MR или другой цели с доступными удалёнными обсуждениями.
    previous_reviews:
      mode: auto
      model:
        claude: haiku
        codex: gpt-5.6-luna

send-review:
  # После успешной отправки скрывает предыдущие сводки eda-send-review и резолвит их inline-треды.
  # true | false
  close_previous_reviews: false

discover-automations:
  # Добавляет docs/artifacts/plans/ в обычный запуск eda-discover-automations.
  # true | false
  include_plans: false

Что означают настройки:

  • orhestra.mode — automatic безопасно закрывает рабочие вопросы без промежуточных подтверждений; manual пишет план вместе с человеком и передаёт ему вопросы.
  • orhestra.execution — subagents запускает каждый этап отдельно, main выполняет верхнюю цепочку текущим агентом, main_propagated дополнительно передаёт main шагам eda-plan-execute, eda-polish и прямому eda-review; default subagents. Другие вложенные скилы сохраняют собственный контракт.
  • orhestra.steps — выполняемый сверху вниз workflow. enabled: false отключает шаг, а args передаёт ему дополнительные параметры. Например, для eda-polish: args: "limit 2". Шаги можно переставлять или добавлять, но git/publish-скиллы оркестратор не запускает.
  • Старое значение steps[].skill: eda-execute во время запуска автоматически понимается как eda-plan-execute; существующий docs/settings.yaml установщик не переписывает.
  • steps[].on_failure — настраивает исправление failed manual-test прямо рядом с этим шагом: skill и args задают фикс, then — повторяемые id шагов, max_cycles — лимит. Если обработчика нет, оркестратор сохраняет failed-отчёт и останавливается.
  • aim.mode — automatic самостоятельно выбирает безопасные ответы на рабочие вопросы; manual передаёт вопросы человеку. Явный режим в текущем вызове имеет приоритет.
  • explore.strict и explore.decision_mode — кросс-CLI ревью и способ выбора по исследовательским развилкам в eda-explore.
  • plan.review — изолированный цикл eda-plan-polish внутри eda-plan, ровно одна итерация полировки (limit 1); plan.strict независимо управляет кросс-CLI ревью.
  • plan.size, plan.decision_mode, plan.test_strategy, plan.logging_strategy — режим и структура работы eda-plan. Имя test_strategy сохранено для совместимости, но настройка управляет и тестами, и автоматическими проверками: after_each_phase запускает их после каждой фазы, tdd_each_phase сначала пишет тесты и после реализации запускает все проверки фазы, phase_tests_final_checks в фазе запускает только добавленные или изменённые ею тесты, а остальные проверки оставляет финалу, end_of_plan переносит тесты и автоматические проверки в конец плана.
  • plan-review.threshold — доля закрытых пунктов чек-листа для статуса ready, default 100. Отдельных агентов у plan-review больше нет: проверку целиком делает один субагент.
  • plan-polish.limit — максимальное число итераций «проверка + исправление»; default 1. Отдельного подтверждающего прохода нет: исправление проверяет ревью следующей итерации. Цикл останавливается раньше, если score перестал расти.
  • plan-execute.mode — где eda-plan-execute выполняет фазы: subagents — каждая фаза в отдельном изолированном субагенте с независимой проверкой, main — весь план одним контекстом без субагентов, auto — выбор по плану; default auto. Явный режим в вызове имеет приоритет.
  • polish.execution — где eda-polish выполняет review и исправления своего цикла: subagents — каждый шаг в отдельном изолированном субагенте, main — оба контракта основным агентом; default subagents. Настройка независима от review.execution, которая задаёт только раскладку проверок внутри eda-review. Явный режим в вызове и main от eda-orhestra в main_propagated имеют приоритет.
  • manual-test.depth — глубина ручной проверки в eda-manual-test: full — закрыть все применимые области матрицы покрытия, smoke — только запуск и основной сценарий изменённой области, ask_each_time — спрашивать каждый раз; default full. Явная глубина в вызове имеет приоритет.
  • review.execution — где выполняются проверки eda-review: subagents запускает отдельные специализированные роли, main выполняет те же выбранные проверки основным агентом без субагентов и с однократной загрузкой общего контекста; default subagents. Явный режим в вызове имеет приоритет.
  • review.agents.<check>.mode — запускать проверку всегда, автоматически по контексту или отключить.
  • review.agents.<check>.model.claude и .codex — модель конкретной проверки в соответствующей среде для subagents; в main используется текущая модель агента.
  • eda-review не делит находки по обязательности: каждый принятый пункт требует исправления, а предложения без доказанного практического дефекта отбрасываются. Score остаётся экспертной оценкой серьёзности; любая находка блокирует clean независимо от score.
  • send-review.close_previous_reviews — после успешной новой отправки скрывает предыдущие сводки, созданные eda-send-review текущим GitHub-пользователем, и резолвит связанные inline-треды; прямое указание в текущем запросе переопределяет настройку.
  • discover-automations.include_plans — добавляет docs/artifacts/plans/ в обычный запуск eda-discover-automations.

Каждый скилл читает только свой раздел. Для eda-review прямое указание в текущем запросе может разово включить или отключить проверку и заменить её модель, например: «без performance, включи business, architecture на opus».

Поддерживается только version: 3. Полный валидный v3 установщик сохраняет как есть, пока его текст совпадает с шаблоном пакета; когда шаблон меняется — например, у настройки появляется новое допустимое значение, — файл перерисовывается без вопросов: ваши значения переносятся, посторонние ключи и ручные комментарии не сохраняются. Старые, неизвестные и неполные файлы разбираются через YAML: валидные известные значения переносятся, в TTY спрашиваются только отсутствующие, затем профиль целиком атомарно нормализуется. Без TTY недостающие поля получают defaults. plan.meta_review переносится в plan.review, а plan-polish.strict удаляется.

eda update-all configure записывает один общий v3-профиль. skip сохраняет актуальный полный v3 и перерисовывает устаревший по шаблону, индивидуально переносит остальные конфиги и создаёт defaults при отсутствии файла. Подробности перехода приведены в MIGRATION.md


🔄 Воркфлоу

eda-orhestra по умолчанию запускает основной цикл одной командой:

В default subagents каждая стрелка передаёт явный вход и пути к артефактам в новый изолированный субагент. В main и main_propagated верхние этапы идут последовательно в текущем контексте.

plan без проверок → plan-polish → plan-execute → polish → manual-test ──passed──> готово
                                                                  ^          │
                                                                  └── fix <───┘ failed

eda-aim может обернуть любую цепочку ниже в автономный цикл:

согласование цели → выполнение с нужными скилами в изолированных субагентах → независимая проверка
                              ^                         │
                              └──── устранение пробелов ─┘
new-project ───────> prepare-ai ─────────┬───────────────┐
                    │                     │               │
                    v                     v               v
                 roadmap ────────> explore ─────> plan ───> plan-polish ───> plan-execute ───┬──> manual-test ───> review ───> fix-by-review ───┬──> send-review
                                              │                         │                                  │
                                              └────────────> plan       v                                  └──> commit
                                                                     fix ─────────────> manual-test

Если проект уже существует, можно начинать без eda-new-project:

prepare-ai ─────────┬───────────────┐
                    │               │
                    v               v
roadmap ────────> explore ─────> plan ───> plan-polish ───> plan-execute ───┬──> manual-test ───> review ───> fix-by-review ───┬──> send-review
                    │                                  │                                  │
                    └──────────────> plan              v                                  └──> commit
                                                      fix ─────────────> manual-test

polish = полное review ─> fix-by-review всех находок ─> подтверждающий review до clean и нужной оценки
plan-polish = итерации «plan-review ─> plan-review-fix всех находок» до gate или limit

discover-automations может запускаться от review, fix-by-review или fix.

eda-manual-test обычно ставится после eda-plan-execute, eda-fix или eda-fix-by-review, чтобы руками проверить API, базу, консольные команды, интерфейс и алгоритмы перед ревью или коммитом.

Использовать всю цепочку не обязательно — каждый скил самодостаточен. Для полного прохода одной задачи можно вызвать eda-orhestra automatic <задача> или eda-orhestra manual <задача>. Разовые варианты: eda-orhestra main <задача>, eda-orhestra main_propagated <задача>, eda-orhestra automatic без полировки плана <задача>, eda-orhestra полировка кода 2 итерации <задача>, eda-orhestra без ручных тестов <задача>. Постоянный режим исполнения задаётся в orhestra.execution, порядок и аргументы — в orhestra.steps. Для прямой задачи без отдельного процесса вызови eda-just-do-it <задача>: скил сам выберет необходимый контекст, выполнит работу и сохранит отчёт. Новый проект можно начать с eda-new-project; существующий — с eda-prepare-ai, eda-roadmap, eda-explore, или сразу с eda-plan-execute на готовом плане, или просто eda-commit, когда правки уже сделаны. Для параллельной работы есть eda-worktree, а для возврата ветки из worktree в текущую ветку — eda-merge-worktree.

Вызов eda-commit без контекста охватывает все незакоммиченные tracked-изменения и все untracked-файлы, в том числе чужие и не относящиеся к текущей задаче; очевидные кэши, временные и локальные служебные артефакты вроде .DS_Store остаются вне коммитов. Executor коммитит полный состав одним коммитом; чтобы получить несколько логически цельных коммитов, добавь в запрос split, «раздели» или «отдельными коммитами». Например, запрос eda-commit сразу отправь ветку, создай PR и дай ссылку использует тот же полный состав и выполняет всю указанную цепочку без отдельного вопроса после серии коммитов.


🎯 Главные принципы

  • Простой язык. Скилы общаются с тобой так, чтобы понял человек без глубоких знаний предмета. Термины — только когда без них нельзя.
  • Все вопросы — интерактивно. В Claude Code — через AskUserQuestion; в интерактивном Codex — через request_user_input или блокирующий вопрос в чат. В codex exec и других неинтерактивных запусках скил не имитирует диалог: если без ответа нельзя безопасно продолжать, он завершает работу со статусом blocked: нужен ответ пользователя.
  • Способ review настраивается. В subagents eda-review запускает установленных read-only агентов нативным механизмом Claude/Codex и блокируется при их недоступности без CLI-fallback. В main основной агент выполняет те же выбранные проверки по общей матрице без субагентов и повторной загрузки общего контекста.
  • Технические остановки обрабатываются по причине. Оркестраторы ждут свободный слот при лимите параллельности, запрашивают недостающее разрешение, один раз продолжают агента после временной API-ошибки и без бессмысленных retry останавливаются при лимите глубины, исчерпанной квоте или неизвестном сбое.
  • Повторяемые роли — в пакетных агентах. Скилы управляют процессом, а стабильные изолированные роли получают собственный prompt, модель и доступ. Полные review-prompts не дублируются в оркестраторе.
  • Артефакты по папкам. Исследования отдельно, планы отдельно, ревью отдельно. Между файлами — ссылки. Через месяц легко найти, кто что когда решал.
  • Границы между скилами жёсткие. plan-execute только управляет субагентами и не коммитит — это работа commit. review не правит код — это fix-by-review. Никаких размытых ответственностей.
  • Доверие модели. Скилы короткие. Они говорят «что» и «почему», а «как именно» — модель разбирается сама.

💻 Команды

eda init      # выбрать Claude Code / Codex / обе среды и установить пакет
eda update    # дополнить недостающие настройки и обновить скилы и агенты
eda update-all [dir] # сохранить конфиги или настроить общий и обновить проекты на глубине 2
eda --version # показать версию установленного пакета
eda --help    # справка

Когда выходит новая версия пакета:

npm update -g @gian-tiaga/eda    # подтянуть новый код
eda update           # синхронизировать пакет в текущем проекте

Для папки с несколькими проектами:

npm update -g @gian-tiaga/eda
eda update-all ~/Code

📁 Структура и установка компонентов

Исходники скилов лежат в skills/<skill>/SKILL.md. Дополнительные ресурсы скила можно хранить рядом; skill.json содержит только платформенные настройки и в проект пользователя не копируется. Поля claude.context: fork и claude.agent renderer добавляет только во front matter Claude-копии скила. models.codex можно хранить как зарезервированную настройку для будущего per-skill override, но текущий Codex renderer её не добавляет в SKILL.md.

Исходники агентов лежат в agents/<agent>/agent.json и prompt.md. Установщик рендерит единый агентный контракт в нативный формат выбранной среды.

| Компонент | Claude Code | Codex CLI | |---|---|---| | Скил | .claude/skills/<skill>/SKILL.md | .agents/skills/<skill>/SKILL.md | | Агент | .claude/agents/<agent>.md | .codex/agents/<agent>.toml | | Manifest владения | .claude/eda-manifest.json | .codex/eda-manifest.json |

eda update переносит известные старые каталоги артефактов, сохраняет актуальный полный v3-конфиг как есть, устаревший по шаблону перерисовывает с сохранением значений, а старый или неполный умно переносит и целиком нормализует; затем идемпотентно синхронизирует обе группы компонентов и отдельно показывает реально изменившиеся скилы и агенты. Manifest хранит только идентификаторы компонентов, которыми владеет eda: retired-компоненты удаляются, а чужие скилы и агенты остаются нетронутыми. eda update-all [dir] выполняет тот же перенос артефактов в каждом проекте, затем либо записывает общий профиль, либо в skip сохраняет актуальный полный v3, перерисовывает устаревший по шаблону и переносит остальные настройки. При миграции Codex установщик переносит актуальные скилы в .agents/skills/ и удаляет принадлежащие eda старые копии .codex/skills/<skill>/ и .codex/skills/<skill>.md, не затрагивая чужие компоненты.

Установленные копии не являются источником правды. Локальные изменения внутри .claude/skills/eda-*, .agents/skills/eda-*, .claude/agents/eda-* или .codex/agents/eda-* будут заменены следующим обновлением.

AGENTS.md (как и любые другие файлы в корне проекта) установщик не трогает. Codex автоматически обнаруживает проектные скилы в .agents/skills/.


🤝 Для кого это

  • Для тех, кто постоянно пишет код с AI-агентом и устал каждый раз заново объяснять, как делать ревью.
  • Для команд, где хочется единый стандарт работы с агентами — чтобы ревью у всех было пронумеровано и оценено, планы лежали в одной папке, а коммиты были по одному стилю.
  • Для разработчиков, которые любят строгость: максимально жёсткие правила, обязательные тесты и отдельные контекстные проверки ревью на подходящих моделях.

📜 Лицензия

MIT.

Используй, форкай, переписывай под себя. Будет здорово, если поделишься улучшениями обратно.