@gian-tiaga/eda 1.0.4 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/MIGRATION.md +58 -80
  2. package/README.md +116 -33
  3. package/agents/eda-plan-review-api/agent.json +9 -0
  4. package/agents/eda-plan-review-api/prompt.md +34 -0
  5. package/agents/eda-plan-review-architecture/agent.json +9 -0
  6. package/agents/eda-plan-review-architecture/prompt.md +34 -0
  7. package/agents/eda-plan-review-database/agent.json +9 -0
  8. package/agents/eda-plan-review-database/prompt.md +34 -0
  9. package/agents/eda-plan-review-execution/agent.json +9 -0
  10. package/agents/eda-plan-review-execution/prompt.md +34 -0
  11. package/agents/eda-plan-review-feasibility/agent.json +9 -0
  12. package/agents/eda-plan-review-feasibility/prompt.md +34 -0
  13. package/agents/eda-plan-review-frontend/agent.json +9 -0
  14. package/agents/eda-plan-review-frontend/prompt.md +34 -0
  15. package/agents/eda-plan-review-performance/agent.json +9 -0
  16. package/agents/eda-plan-review-performance/prompt.md +34 -0
  17. package/agents/eda-plan-review-previous/agent.json +9 -0
  18. package/agents/eda-plan-review-previous/prompt.md +28 -0
  19. package/agents/eda-plan-review-requirements/agent.json +9 -0
  20. package/agents/eda-plan-review-requirements/prompt.md +34 -0
  21. package/agents/eda-plan-review-rules/agent.json +9 -0
  22. package/agents/eda-plan-review-rules/prompt.md +34 -0
  23. package/agents/eda-plan-review-security/agent.json +9 -0
  24. package/agents/eda-plan-review-security/prompt.md +34 -0
  25. package/agents/eda-plan-review-verification/agent.json +9 -0
  26. package/agents/eda-plan-review-verification/prompt.md +34 -0
  27. package/agents/eda-review-business/agent.json +15 -0
  28. package/agents/eda-review-business/prompt.md +46 -0
  29. package/bin/cli.js +2 -2
  30. package/lib/install.js +601 -298
  31. package/package.json +3 -2
  32. package/skills/eda-aim/SKILL.md +1 -1
  33. package/skills/eda-business/SKILL.md +147 -0
  34. package/skills/eda-discover-automations/SKILL.md +4 -2
  35. package/skills/eda-explore/SKILL.md +7 -6
  36. package/skills/eda-fix/SKILL.md +5 -4
  37. package/skills/eda-fix-by-review/SKILL.md +5 -4
  38. package/skills/eda-manual-test/SKILL.md +13 -5
  39. package/skills/eda-orhestra/SKILL.md +13 -10
  40. package/skills/eda-plan/SKILL.md +46 -38
  41. package/skills/eda-plan-execute/SKILL.md +8 -6
  42. package/skills/eda-plan-polish/SKILL.md +53 -169
  43. package/skills/eda-plan-review/SKILL.md +188 -0
  44. package/skills/eda-plan-review-fix/SKILL.md +105 -0
  45. package/skills/eda-prepare-ai/SKILL.md +7 -2
  46. package/skills/eda-review/SKILL.md +13 -5
  47. package/skills/eda-roadmap/SKILL.md +6 -3
  48. package/skills/eda-send-review/SKILL.md +1 -1
package/MIGRATION.md CHANGED
@@ -1,119 +1,97 @@
1
- # Миграция на eda 1.0
1
+ # Миграция на eda 2.0
2
2
 
3
- Версия 1.0 переводит `eda` с набора файлов-скилов на пакет с каноническими скилами и специализированными агентами для Claude Code и Codex CLI. Начиная с `1.0.2`, `eda update` заново спрашивает полный профиль настроек и записывает актуальный `docs/settings.yaml` версии 2 перед обновлением компонентов.
3
+ Версия 2.0 заменяет широкие итерации проверки планов специализированным workflow `eda-plan-review` → `eda-plan-review-fix` и переводит `docs/settings.yaml` на `version: 3`.
4
4
 
5
- ## Короткий путь
6
-
7
- Обнови глобальный пакет:
5
+ ## Обновление
8
6
 
9
7
  ```bash
10
- npm install -g @gian-tiaga/eda@1
8
+ npm install -g @gian-tiaga/eda@2
11
9
  eda --version
12
- ```
13
-
14
- Команда должна вывести актуальную версию ветки `1.0.x`.
15
-
16
- В одном проекте выполни:
17
-
18
- ```bash
19
- cd /path/to/project
20
10
  eda update
21
11
  ```
22
12
 
23
- Для нескольких проектов внутри одной директории можно выполнить:
13
+ Версия CLI должна начинаться с `2.0`. После обновления перезапусти Claude Code или Codex CLI, чтобы среда перечитала новые скилы и агентов.
14
+
15
+ Для нескольких проектов:
24
16
 
25
17
  ```bash
26
18
  eda update-all /path/to/projects
27
19
  ```
28
20
 
29
- `update-all` ищет проекты на глубине до двух уровней, один раз спрашивает полный профиль настроек и записывает одинаковый `docs/settings.yaml` версии 2 во все найденные проекты. В non-TTY запуске вопросы не задаются: во все проекты записывается один профиль defaults.
30
-
31
- После обновления перезапусти Claude Code или Codex CLI, чтобы среда перечитала установленные скилы и агентов.
32
-
33
- ## Что обновится автоматически
34
-
35
- - Скилы будут синхронизированы в `.claude/skills/<skill>/SKILL.md` и `.codex/skills/<skill>/SKILL.md`.
36
- - Старые управляемые Codex-файлы `.codex/skills/<skill>.md` будут удалены после установки соответствующего скила в новом формате.
37
- - Установятся пакетные агенты в `.claude/agents/` и `.codex/agents/`.
38
- - Retired-компоненты будут удалены только там, где ими владеет `eda`; чужие скилы и агенты установщик не удаляет.
39
- - Корневые `AGENTS.md` и `CLAUDE.md` проекта установщик не создаёт и не перезаписывает.
40
-
41
- Локальные изменения внутри управляемых `.claude/skills/eda-*`, `.codex/skills/eda-*`, `.claude/agents/eda-*` и `.codex/agents/eda-*` будут заменены. Если такие изменения нужны, сохрани их отдельно до запуска `eda update`.
42
-
43
- ## Переименованные и удалённые скилы
44
-
45
- Обнови упоминания в документации, пользовательских командах и сохранённых workflow:
21
+ `configure` один раз спрашивает общий профиль v3 и записывает его во все проекты. `skip` сохраняет полный v3, но старые, неизвестные и неполные конфиги индивидуально переносит; отсутствующие значения получает из defaults. В non-TTY используется `skip`.
46
22
 
47
- | До 1.0 | В 1.0 | Что изменилось |
48
- |---|---|---|
49
- | `eda-start` | `eda-new-project` | Стартовый бриф нового проекта и обязательный запуск `eda-prepare-ai` |
50
- | `eda-docs` | `eda-prepare-ai` | Полный технический bootstrap: архитектура, правила, проверки, references и AI/MCP-процесс |
51
- | `eda-execute` | `eda-plan-execute` | Выполнение плана по фазам через изолированных субагентов |
52
- | `eda-automate` | `eda-discover-automations` | Полный baseline gap-аудит автоматизаций даже без истории |
53
- | `eda-review-check` | `eda-review` | Специализированные проверки встроены в единый review-workflow |
54
- | `eda-research` | `eda-explore` | Старое имя окончательно выведено из эксплуатации |
23
+ ## Что изменилось
55
24
 
56
- Установщик удалит старые управляемые копии, но не перепишет ссылки на имена скилов в документах проекта.
25
+ - Добавлены `eda-plan-review` и `eda-plan-review-fix`.
26
+ - Добавлены 12 read-only агентов `eda-plan-review-*` с отдельными зонами ответственности.
27
+ - `eda-plan-polish` теперь оркестрирует review/fix и по умолчанию ограничен тремя подтверждающими review-итерациями.
28
+ - Готовность требует одновременно отсутствия required findings и достижения threshold.
29
+ - Findings связаны стабильными ID и SHA-256 плана; waived optional не переоткрываются без новых доказательств.
30
+ - `eda-plan` по `plan.review: true` выполняет один review и при необходимости один fix.
31
+ - `eda-plan-polish strict` и `plan-polish.strict` удалены. `plan.strict` для кросс-CLI проверки самого `eda-plan` остаётся.
32
+ - npm-пакет использует `yaml` для безопасного переноса вложенного конфига.
57
33
 
58
- ## Миграция `docs/settings.yaml`
34
+ ## Умный перенос settings v3
59
35
 
60
- Версия 1.0 поддерживает только формат настроек `version: 2`. При `eda update` ответь на полный набор вопросов: команда соберёт новый профиль и атомарно заменит прежний файл независимо от его версии. `eda update-all` задаст эти вопросы только один раз и применит ответы ко всем проектам.
36
+ Установщик разбирает старый файл как YAML, переносит валидные известные значения и спрашивает только отсутствующие в интерактивном терминале. После этого файл целиком атомарно записывается в нормализованном формате v3. Без TTY недостающие значения заменяются defaults.
61
37
 
62
- `eda init` ведёт себя осторожнее: если конфиг уже существует, v2 и неизвестные версии сохраняются, а v1 автоматически мигрируется с переносом поддерживаемых значений. При update-командах прежний файл заменяется выбранным полным профилем, поэтому перед запуском сохрани нестандартные поля отдельно.
38
+ Основные соответствия:
63
39
 
64
- Основное соответствие полей:
65
-
66
- | `version: 1` | `version: 2` |
40
+ | Старое поле | Новое поле |
67
41
  |---|---|
68
- | `defaults.strict` | `explore.strict`, `plan.strict`, `plan-polish.strict` |
69
- | `defaults.plan_size` | `plan.size` |
70
- | `defaults.decision_mode` | `explore.decision_mode`, `plan.decision_mode` |
71
- | `defaults.test_strategy` | `plan.test_strategy` |
72
- | `defaults.logging_strategy` | `plan.logging_strategy` |
73
- | `automate.include_plans` | `discover-automations.include_plans` |
74
- | `review.include_code_quality: true` | `review.agents.code_quality.mode: always` |
75
- | `review.include_code_quality: false` | `review.agents.code_quality.mode: off` |
42
+ | `version: 1` или `version: 2` | `version: 3` |
43
+ | `plan.meta_review` | `plan.review` |
44
+ | `plan-polish.strict` | удалено |
45
+ | отсутствует | `plan-review.threshold: 95` |
46
+ | отсутствует | `plan-review.agents.*` |
47
+ | отсутствует | `plan-polish.limit: 3` |
48
+ | `defaults.strict` из v1 | `explore.strict`, `plan.strict` |
49
+ | `defaults.plan_size` из v1 | `plan.size` |
50
+ | `defaults.decision_mode` из v1 | `explore.decision_mode`, `plan.decision_mode` |
51
+ | `automate.include_plans` из v1/v2 | `discover-automations.include_plans` |
76
52
 
77
- У старого `review.strict` нет прямого аналога. В 1.0 каждая проверка в `review.agents` отдельно получает режим `always`, `auto` или `off` и модели для Claude/Codex. Раздел `review-check` больше не используется.
53
+ Также сохраняются валидные `orhestra.steps`, `aim`, `explore`, остальные поля `plan`, `review.agents`, `send-review` и `discover-automations`. Неизвестные пользовательские поля не входят в v3 и после нормализации удаляются.
78
54
 
79
- Результат переноса старых общих настроек выглядит так:
55
+ ## Новый plan-review профиль
80
56
 
81
57
  ```yaml
82
- version: 2
83
-
84
- explore:
85
- strict: false
86
- decision_mode: recommend_and_ask
58
+ version: 3
87
59
 
88
60
  plan:
89
61
  strict: false
62
+ review: true
90
63
  size: normal
91
64
  decision_mode: recommend_and_ask
92
65
  test_strategy: ask_each_time
93
66
  logging_strategy: ask_each_time
94
67
 
95
- plan-polish:
96
- strict: false
68
+ plan-review:
69
+ threshold: 95
70
+ agents:
71
+ requirements:
72
+ mode: always
73
+ model:
74
+ claude: sonnet
75
+ codex: gpt-5.6-terra
76
+ architecture:
77
+ mode: always
78
+ model:
79
+ claude: opus
80
+ codex: gpt-5.6-sol
97
81
 
98
- discover-automations:
99
- include_plans: false
82
+ plan-polish:
83
+ limit: 3
100
84
  ```
101
85
 
102
- Новые разделы `orhestra`, `aim`, `review.agents` и `send-review` заполняются ответами на вопросы; в non-TTY запуске используются сбалансированные defaults. Полный актуальный пример приведён в [README](README.md).
103
-
104
- ## Проверка после миграции
105
-
106
- Проверь версию CLI:
86
+ Полный профиль со всеми агентами создаётся установщиком и приведён в README.
107
87
 
108
- ```bash
109
- eda --version
110
- ```
88
+ ## Проверка миграции
111
89
 
112
- Затем в каждом проекте проверь:
90
+ После `eda update` проверь:
113
91
 
114
- - в `docs/settings.yaml` указано `version: 2`;
115
- - старые имена скилов больше не используются в документации и workflow;
116
- - для выбранных сред появились каталоги скилов и агентов;
117
- - `git status` показывает только ожидаемые изменения проекта.
92
+ - `docs/settings.yaml` содержит `version: 3`, `plan.review`, `plan-review.agents` и `plan-polish.limit`;
93
+ - в `.claude/agents/` или `.codex/agents/` установлены `eda-plan-review-*`;
94
+ - старые ссылки на `plan.meta_review` и `eda-plan-polish strict` удалены из локальных workflow;
95
+ - `git status` показывает только ожидаемую нормализацию настроек и обновление управляемых компонентов.
118
96
 
119
- Если среда ещё не была установлена в проект, используй `eda init` вместо `eda update`.
97
+ Установщик не создаёт и не перезаписывает корневой `AGENTS.md` пользовательского проекта и не удаляет чужие skills/agents.
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  > Поточная разработка с AI-агентами — на русском языке.
4
4
  > Пакет готовых скилов и специализированных агентов для **Claude Code** и **Codex CLI**, которые ведут тебя через весь цикл: от исследования до коммита.
5
5
 
6
- `eda` — это девятнадцать скилов и пакетные агенты для повторяемых ролей. Скил отвечает за пользовательский workflow и оркестрацию, агент — за изолированную работу с закреплённой моделью и ограничениями. Вместо того чтобы каждый раз объяснять модели, как делать ревью или как исполнять план, ты говоришь одно слово — и она следует чёткой инструкции на русском, со всеми правилами, проверками и артефактами в нужных папках.
6
+ `eda` — это двадцать два скила и пакетные агенты для повторяемых ролей. Скил отвечает за пользовательский workflow и оркестрацию, агент — за изолированную работу с закреплённой моделью и ограничениями. Вместо того чтобы каждый раз объяснять модели, как делать ревью или как исполнять план, ты говоришь одно слово — и она следует чёткой инструкции на русском, со всеми правилами, проверками и артефактами в нужных папках.
7
7
 
8
8
  ---
9
9
 
@@ -13,7 +13,7 @@
13
13
  npm install -g @gian-tiaga/eda
14
14
  ```
15
15
 
16
- Обновляешься с `0.8.x` или более ранней версии? Перед обновлением прочитай [гайд по миграции на 1.0](MIGRATION.md): в релизе изменились имена нескольких скилов, формат Codex-установки и структура `docs/settings.yaml`.
16
+ Обновляешься с `1.x` или более ранней версии? Перед обновлением прочитай [гайд по миграции на 2.0](MIGRATION.md): изменились проверка планов и структура `docs/settings.yaml`.
17
17
 
18
18
  В корне твоего проекта:
19
19
 
@@ -21,7 +21,9 @@ npm install -g @gian-tiaga/eda
21
21
  eda init
22
22
  ```
23
23
 
24
- Установщик покажет чекбоксы: стрелками выбираешь среду, пробелом отмечаешь, Enter продолжает. Можно поставить Claude Code, Codex CLI или обе среды сразу. Устанавливаются и скилы, и агенты. Если `docs/settings.yaml` ещё нет, установщик предложит настройки скилов, а для каждой review-проверки отдельно спросит режим и модели Claude/Codex. В неинтерактивном запуске записывается сбалансированный профиль. В конце `eda init` отдельно пишет, какие скилы и агенты реально установлены или изменились.
24
+ Установщик покажет чекбоксы: стрелками выбираешь среду, пробелом отмечаешь, Enter продолжает. Можно поставить Claude Code, Codex CLI или обе среды сразу. Устанавливаются и скилы, и агенты. Если `docs/settings.yaml` ещё нет, установщик предложит настройки скилов, а для каждой проверки `plan-review` и `review` отдельно спросит режим и модели Claude/Codex. В неинтерактивном запуске записывается сбалансированный профиль. В конце `eda init` отдельно пишет, какие скилы и агенты реально установлены или изменились.
25
+
26
+ `eda update` сохраняет полный валидный v3-конфиг байт-в-байт. Старый, неизвестный или неполный файл разбирается как YAML: известные значения переносятся, в TTY спрашиваются только отсутствующие, затем профиль целиком атомарно записывается как v3. Без TTY используются перенесённые значения и defaults.
25
27
 
26
28
  Если пакет уже стоит во многих проектах, можно обновить его одной командой:
27
29
 
@@ -29,7 +31,7 @@ eda init
29
31
  eda update-all ~/Code
30
32
  ```
31
33
 
32
- `eda update-all` ищет проекты в указанной директории, её прямых подпапках и подпапках второго уровня. Проект считается найденным, если в нём уже есть установленный скил, агент или manifest `eda` для Claude/Codex. Перед обновлением команда один раз спрашивает полный профиль настроек и записывает одинаковый `docs/settings.yaml` во все найденные проекты. В неинтерактивном запуске во все проекты записывается один профиль по умолчанию.
34
+ `eda update-all` ищет проекты в указанной директории, её прямых подпапках и подпапках второго уровня. Проект считается найденным, если в нём уже есть установленный скил, агент или manifest `eda` для Claude/Codex. Перед обновлением команда предлагает настроить один общий профиль для всех проектов или выбрать `skip`. В режиме `skip` полный v3 сохраняется, старые и неполные конфиги индивидуально переносятся, отсутствующие создаются с defaults. Без TTY автоматически используется `skip`.
33
35
 
34
36
  ---
35
37
 
@@ -37,18 +39,21 @@ eda update-all ~/Code
37
39
 
38
40
  | Скил | Что делает | Куда складывает |
39
41
  |---|---|---|
40
- | `eda-orhestra` | Выполняет настраиваемую цепочку `eda-*`-скилов. Каждый этап запускает в отдельном субагенте с чистым контекстом, включая составные скилы и повторы QA-цикла. По умолчанию: план → выполнение → автономное ревью и исправления → ручные тесты и QA-фиксы. В `orhestra.steps` шаги можно переставлять, отключать и снабжать `args`; для `eda-polish` там же задаются `threshold` и `limit`. В `automatic` безопасно отвечает на рабочие вопросы сам, в `manual` пишет план вместе с человеком. Не коммитит | Артефакты включённых скилов |
42
+ | `eda-orhestra` | Выполняет настраиваемую цепочку `eda-*`-скилов. Каждый этап запускает в отдельном субагенте с чистым контекстом, включая составные скилы и повторы QA-цикла. По умолчанию: план без проверок → полировка плана → выполнение → автономное ревью и исправления → ручные тесты. Если QA нашёл баг, оркестра запускает fix и повторяет только ручной тест. В `orhestra.steps` шаги можно переставлять, отключать и снабжать `args`. Не коммитит | Артефакты включённых скилов |
41
43
  | `eda-aim` | Сначала через отдельного агента-планировщика согласует с человеком одну или несколько простых проверяемых целей, затем передаёт их агентам-исполнителям и повторяет работу до независимого подтверждения агентом-проверяющим. При необходимости использует установленные скилы в отдельных изолированных субагентах. В `automatic` отвечает на безопасные рабочие вопросы самостоятельно, в `manual` передаёт их человеку; режим задаётся через `aim.mode` или текущий вызов. Точный список новых целей человек подтверждает всегда | `docs/aims/` и артефакты задействованных скилов |
42
44
  | `eda-new-project` | Помогает стартовать новый проект: собирает и согласует требования, функциональность и границы, ограничения и архитектурные драйверы, сравнивает варианты основного стека и фиксирует выбранные компоненты с актуальными стабильными версиями. Не проектирует архитектуру, правила, проверки, AI-скилы или MCP; сохраняет подтверждённый стартовый бриф и всегда без дополнительного вопроса запускает полный технический bootstrap через `eda-prepare-ai` | `docs/project-starts/`, затем артефакты `eda-prepare-ai` |
45
+ | `eda-business` | Совместно с человеком описывает целевое поведение проекта и его бизнес-логику по тематическим карточкам. С указанной темой работает только над ней; без темы анализирует проект, предлагает список и последовательно согласует каждую карточку. Оглавление содержит только описание и ссылку на готовую карточку | `docs/business.md`, `docs/business/` |
43
46
  | `eda-roadmap` | Создаёт roadmap-файл: список будущих задач с короткими, понятными и недвусмысленными описаниями без деталей реализации, файлов, библиотек, API и пошагового плана | `docs/roadmaps/` |
44
- | `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. Читает только применимые карточки из `docs/references/`, если они есть. В дефолтном режиме ведёт исследование как диалог; для пакетов и ПО проверяет актуальные стабильные версии | `docs/researches/` |
45
- | `eda-plan` | Пишет план реализации через стандартный Plan Mode хост-агента. `docs/rules.md`, `docs/arch.md` и применимые кодовые эталоны использует как обязательную рамку. В плане явно фиксирует контракты БД/API, прямые зависимости задач и связные фазы, рассчитанные на одного исполнителя. Затем три параллельных субагента/модели проверяют реалистичность, полноту и соблюдение рамки | `docs/plans/` |
46
- | `eda-plan-polish` | Полирует готовый план до оценки 95/100 или заданного порога. Каждая итерация запускает три изолированных агента, которые проверяют план по правилам, архитектуре, `sources.references`, research и коду. В strict дополнительно запускается кросс-ревью Claude ↔ Codex. Основной агент правит только файл плана и не запускает проверки проекта | `docs/plans/` |
47
- | `eda-plan-execute` | Управляет выполнением плана по фазам. Каждую фазу целиком выполняет отдельный изолированный субагент: он читает план, правила и архитектуру, а применимые карточки — по ходу работы через индекс `docs/references.md`. Фазы проходят строго последовательно и принимаются независимыми проверяющими. Основной агент отмечает подтверждённые задачи и ведёт журнал | `docs/executions/` |
47
+ | `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. После определения темы читает только применимые business- и reference-карточки. В дефолтном режиме ведёт исследование как диалог; для пакетов и ПО проверяет актуальные стабильные версии | `docs/researches/` |
48
+ | `eda-plan` | Пишет план реализации через Plan Mode, фиксирует БД/API-контракты, прямые зависимости и связные фазы. По `plan.review` запускает один специализированный `eda-plan-review` и при необходимости один `eda-plan-review-fix`; `plan.strict` независимо включает кросс-CLI ревью | `docs/plans/`, опционально plan-review артефакты |
49
+ | `eda-plan-review` | Параллельно запускает узких read-only агентов требований, правил, архитектуры, реализуемости, исполнения, верификации и применимых API/DB/security/frontend/performance/previous. Дедуплицирует findings, сохраняет стабильные ID и SHA-256, экспертно выставляет score. План не меняет | `docs/plan-reviews/` |
50
+ | `eda-plan-review-fix` | Применяет required и выбранные optional findings только к плану с совпадающим SHA-256. В `apply-optional` сам применяет полезные optional или сохраняет waived с причиной. Новое ревью не делает и код не меняет | `docs/plan-review-fixes/` |
51
+ | `eda-plan-polish` | Оркестрирует изолированный цикл plan-review → plan-review-fix до отсутствия required и score не ниже threshold. По умолчанию максимум три review-итерации; один круг без прогресса немедленно останавливает цикл. Кросс-CLI strict не используется | `docs/plan-reviews/`, `docs/plan-review-fixes/` |
52
+ | `eda-plan-execute` | Управляет выполнением плана по фазам. Каждую фазу целиком выполняет отдельный изолированный субагент: он читает план, правила, архитектуру и только business/reference-карточки затронутого поведения и компонентов. Фазы проходят строго последовательно и принимаются независимыми проверяющими. Основной агент отмечает подтверждённые задачи и ведёт журнал | `docs/executions/` |
48
53
  | `eda-fix` | Делает обычные фиксы по короткому контексту, баг-репорту или плану. Перед правками читает правила, архитектуру и только применимые карточки, добавляет нужные тесты, прогоняет проверки и сохраняет историю правок | `docs/fixes/` |
49
- | `eda-review` | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. По конфигу запускает только применимые packaged-агенты, объединяет подтверждённые проблемы, ставит экспертную оценку 0–100 и сохраняет покрытие. Без аргументов ревьюит `git diff HEAD`. Код и удалённые обсуждения не меняет | `docs/reviews/` |
54
+ | `eda-review` | Оркестрирует отдельные read-only проверки корректности, архитектуры, правил, references, business-правил, плана, качества, тестов, безопасности, производительности, frontend/UI/UX, API, БД, документации и предыдущих ревью. Business-агент запускается только при применимой карточке и отличает нарушение правила от намеренного изменения правила с устаревшей документацией. Без аргументов ревьюит `git diff HEAD` | `docs/reviews/` |
50
55
  | `eda-fix-by-review` | Применяет замечания из ревью с учётом правил, архитектуры и применимых карточек. Обязательные пункты исправляет сразу; optional-пункты спрашивает или решает сам в `apply-optional`. В конце ссылается на отчёт прямо в файле ревью | `docs/review-fixes/` |
51
- | `eda-manual-test` | Делает ручную smoke/acceptance-проверку после изменений: API прогоняет через `curl`/HTTP-запросы, фронт — через Playwright или доступную browser automation. Сам строит чеклист из входа, плана или diff, запускает очевидные dev/API-серверы и сохраняет QA-отчёт. Не правит код, не пишет автотесты и не коммитит | `docs/manual-tests/` |
56
+ | `eda-manual-test` | Делает ручную smoke/acceptance-проверку после изменений: основной чеклист строит по выполненной задаче и связанному плану/issue/review/fix-отчёту, затем сверяет фактический diff. Применимая business-карточка может добавить только относящийся к задаче инвариант или сценарий; несвязанные карточки не загружаются. Не правит код, не пишет автотесты и не коммитит | `docs/manual-tests/` |
52
57
  | `eda-polish` | Оркестрирует доводку изменений: запускает полное `eda-review`, затем `eda-fix-by-review apply-optional` и повторяет цикл до оценки 95/100 или лимита 5 итераций. Обязательные замечания чинятся все, optional-пункты fix-агент применяет или отклоняет с обоснованием. Каждый шаг идёт в изолированном нативном субагенте. Не коммитит | `docs/reviews/`, `docs/review-fixes/` |
53
58
  | `eda-send-review` | На `sonnet` / `gpt-5.6-terra` отправляет ревью на GitHub PR через `gh` всегда в едином формате: общий комментарий-сводка плюс комментарии к строкам кода. Без явно указанного типа использует `comment`; `approve` и `request-changes` берёт только из контекста текущего вызова. По настройке может скрыть предыдущие сводки eda-send-review и зарезолвить их inline-треды. По умолчанию шлёт все пункты. Claude-модель закрепляется при установке; Codex-модель хранится как рекомендуемый будущий override | (комментарий в PR) |
54
59
  | `eda-commit` | Работает как лёгкий оркестратор одного `haiku` / `gpt-5.6-luna` агента: тот сам собирает git-контекст, выбирает один логический набор файлов, пишет сообщение, точечно коммитит и выполняет явно заданные push/PR/merge-действия. В Claude Code сам оркестратор закреплён за `haiku`; в Codex остаётся на активной модели сессии из-за отсутствия per-skill override. При неоднозначном составе или вероятном секрете агент блокируется до индексации. Если продолжение не задано, предлагает применимые варианты | (git, опционально GitHub PR) |
@@ -57,6 +62,12 @@ eda update-all ~/Code
57
62
  | `eda-prepare-ai` | Выполняет технический bootstrap нового или существующего проекта: проектирует архитектуру, строгие правила и профиль инструментов, проходит полный каталог автоматических проверок, подбирает применимые AI-скилы, роли и MCP, затем создаёт AI-документацию. Подтверждённые требования, стек и архитектурные драйверы из `eda-new-project` принимает как обязательный вход и не переоткрывает без обнаруженного конфликта. Для пустого проекта не выдумывает reference-карточки и не выдаёт неустановленные инструменты за доступные | `docs/rules.md`, `docs/arch.md`, `docs/references.md`, `docs/references/`, `AGENTS.md`, `CLAUDE.md` |
58
63
  | `eda-discover-automations` | Проводит baseline gap-аудит проекта даже без истории, а при наличии анализирует ревью, планы и фиксы. Не ограничивает число предложений: проверяет тесты/e2e, стиль, статанализ, границы модулей, конфиги/IaC, API/БД, security/supply chain, performance, release, эксплуатацию, browser MCP и MCP стека. Для каждой идеи даёт команду, контур запуска и приоритет; ничего не внедряет | `docs/automations/` |
59
64
 
65
+ ### Business-контекст
66
+
67
+ `eda-business` хранит в `docs/business.md` только простое оглавление из двух колонок — описание темы и ссылка на готовую согласованную карточку. Сами карточки описывают целевое поведение, требования, бизнес-сценарии и критерии приёмки; последним разделом отдельно перечисляют расхождения с текущей реализацией.
68
+
69
+ Потребляющий скил сначала определяет текущую задачу и фактически затронутое поведение, а затем выбирает по описаниям только применимые business-карточки. Отсутствие подходящей карточки не является ошибкой и не требует загружать остальные. Если задача противоречит карточке, агент показывает конфликт и спрашивает человека, изменить задачу или пересогласовать правило через `eda-business`.
70
+
60
71
  `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-компонентов и не трогает чужие компоненты.
61
72
 
62
73
  ### Экстремальный профиль проверок
@@ -79,10 +90,23 @@ eda update-all ~/Code
79
90
  | `eda-commit-executor` | `haiku` | `gpt-5.6-luna` | Собирает git-контекст, выбирает один логический набор файлов, точечно коммитит и выполняет явно разрешённые push/PR/merge-действия |
80
91
  | `eda-worktree-executor` | `haiku` | `gpt-5.6-luna` | Создаёт соседний worktree и одноимённую ветку, не изменяя файлы проекта |
81
92
  | `eda-merge-worktree-executor` | `haiku` | `gpt-5.6-luna` | Мержит ветку из соседнего worktree в текущую без cleanup и ручного разрешения конфликтов |
93
+ | `eda-plan-review-requirements` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет задачу, scope, критерии готовности и business-требования |
94
+ | `eda-plan-review-rules` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Проверяет применимые инструкции и правила проекта |
95
+ | `eda-plan-review-architecture` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет архитектурные границы и зависимости плана |
96
+ | `eda-plan-review-feasibility` | `opus`, read-only | `gpt-5.6-sol`, read-only | Сверяет реализуемость плана с фактическим кодом |
97
+ | `eda-plan-review-execution` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет фазы, ID, зависимости и размер исполнительского прохода |
98
+ | `eda-plan-review-verification` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет тесты, команды, логирование и эксплуатацию |
99
+ | `eda-plan-review-api` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет API, события, очереди и внешние интеграции |
100
+ | `eda-plan-review-database` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет данные, миграции, индексы, backfill и rollback |
101
+ | `eda-plan-review-security` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет auth, permissions, ввод, секреты и чувствительные данные |
102
+ | `eda-plan-review-frontend` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет пользовательские сценарии и состояния UI |
103
+ | `eda-plan-review-performance` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет нагрузку, запросы, конкурентность и горячие пути |
104
+ | `eda-plan-review-previous` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Сверяет закрытие предыдущих findings по связанной SHA-256 цепочке |
82
105
  | `eda-review-correctness` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет функциональную корректность и крайние случаи |
83
106
  | `eda-review-architecture` | `opus`, read-only | `gpt-5.6-sol`, read-only | Проверяет архитектурные границы и зависимости |
84
107
  | `eda-review-rules` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Проверяет инструкции и правила проекта |
85
108
  | `eda-review-references` | `haiku`, read-only | `gpt-5.6-luna`, read-only | Проверяет применимые эталонные карточки |
109
+ | `eda-review-business` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет изменённое поведение по применимым business-карточкам |
86
110
  | `eda-review-plan-alignment` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет соответствие реализации плану |
87
111
  | `eda-review-code-quality` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет читаемость, сложность и поддерживаемость |
88
112
  | `eda-review-tests` | `sonnet`, read-only | `gpt-5.6-terra`, read-only | Проверяет тестовое покрытие и корректность тестов |
@@ -110,11 +134,13 @@ eda update-all ~/Code
110
134
 
111
135
  | Скил | Флаг | Что включает | Когда стоит использовать |
112
136
  |---|---|---|---|
113
- | `eda-orhestra` | `automatic` / `manual`, `без полировки`, `полировка N итераций`, `без ручных тестов` | Разово меняет режим, состав цепочки и параметры шагов поверх `docs/settings.yaml` | Когда нужно довести задачу по сохранённому workflow или временно сократить дорогие этапы |
137
+ | `eda-orhestra` | `automatic` / `manual`, `без полировки плана`, `без полировки кода`, `полировка кода N итераций`, `без ручных тестов` | Разово меняет режим, состав цепочки и параметры шагов поверх `docs/settings.yaml` | Когда нужно довести задачу по сохранённому workflow или временно сократить дорогие этапы |
114
138
  | `eda-aim` | `automatic` / `manual` | Разово меняет способ ответа на рабочие вопросы поверх `aim.mode`; подтверждение точного списка новых целей остаётся обязательным | Автономная работа или совместное прохождение развилок с человеком |
115
139
  | `eda-explore` | `strict` | После сохранения отчёта отдаёт его соседнему CLI (Claude → Codex или наоборот) на критическое ревью конкретности, фактов, развилок, рисков и версий; затем доправляет отчёт по замечаниям | Серьёзные исследования, которые лягут в основу больших решений; когда хочется второго мнения от другой модели/среды |
116
- | `eda-plan` | `strict` | После обычного мета-ревью трёх субагентов/моделей отдаёт план соседнему CLI на дополнительный круг проверки; доправляет план | Большие или ответственные планы, особенно затрагивающие смежные системы |
117
- | `eda-plan-polish` | `strict` | В каждой итерации после трёх полных ревью плана отдаёт план соседнему CLI (Claude → Codex или Codex → Claude) на кросс-ревью; затем учитывает его в итоговой оценке и правках | Максимальная полировка ответственных планов перед `eda-plan-execute` |
140
+ | `eda-plan` | `strict`, `без ревью плана`, `без проверок` | `strict` независимо включает кросс-CLI проверку; `без ревью плана` отключает встроенный review/fix; `без проверок` отключает оба вида ревью | Когда нужно разделить создание плана и его последующую полировку |
141
+ | `eda-plan-review` | `threshold N`, `без X`, `включи X`, `<check> на <model>` | Разово меняет gate, применимые проверки и их модели | Для самостоятельного аудита готового плана |
142
+ | `eda-plan-review-fix` | `apply-optional` | Применяет required и самостоятельно разбирает optional, сохраняя waived с причинами | Для автономной правки плана и внутри `eda-plan-polish` |
143
+ | `eda-plan-polish` | `threshold N`, `limit N` | Меняет gate и максимальное число подтверждающих review-итераций | Для доводки ответственных планов перед `eda-plan-execute` |
118
144
  | `eda-fix-by-review` | `apply-optional` | Применяет все обязательные пункты, а пункты «на усмотрение автора» разбирает без вопроса: применяет выбранные и отклоняет нецелесообразные с причиной | Для автономной доводки, прежде всего внутри `eda-polish` |
119
145
 
120
146
  ---
@@ -126,7 +152,7 @@ eda update-all ~/Code
126
152
  Файл по умолчанию:
127
153
 
128
154
  ```yaml
129
- version: 2
155
+ version: 3
130
156
 
131
157
  orhestra:
132
158
  # Режим полного цикла eda-orhestra.
@@ -138,6 +164,11 @@ orhestra:
138
164
  skill: eda-plan
139
165
  enabled: true
140
166
  # Строка аргументов передаётся скиллу как часть текущего вызова.
167
+ args: "без проверок"
168
+ - id: plan-polish
169
+ skill: eda-plan-polish
170
+ enabled: true
171
+ # Строка аргументов передаётся скиллу как часть текущего вызова.
141
172
  args: ""
142
173
  - id: execute
143
174
  skill: eda-plan-execute
@@ -160,7 +191,6 @@ orhestra:
160
191
  args: ""
161
192
  # После исправления повторно запускаются включённые шаги с этими id.
162
193
  then:
163
- - polish
164
194
  - manual-test
165
195
  max_cycles: 5
166
196
 
@@ -181,6 +211,9 @@ plan:
181
211
  # Включает кросс-CLI ревью в eda-plan.
182
212
  # true | false
183
213
  strict: false
214
+ # Запускает один eda-plan-review и при необходимости один eda-plan-review-fix.
215
+ # true | false
216
+ review: true
184
217
  # Задаёт размер плана.
185
218
  # normal | short | ask_each_time
186
219
  size: normal
@@ -194,10 +227,50 @@ plan:
194
227
  # debug_precise | standard | ask_each_time
195
228
  logging_strategy: ask_each_time
196
229
 
230
+ plan-review:
231
+ # План готов без required findings и при score не ниже threshold.
232
+ threshold: 95
233
+ agents:
234
+ requirements:
235
+ mode: always
236
+ model: { claude: sonnet, codex: gpt-5.6-terra }
237
+ rules:
238
+ mode: always
239
+ model: { claude: haiku, codex: gpt-5.6-luna }
240
+ architecture:
241
+ mode: always
242
+ model: { claude: opus, codex: gpt-5.6-sol }
243
+ feasibility:
244
+ mode: always
245
+ model: { claude: opus, codex: gpt-5.6-sol }
246
+ execution:
247
+ mode: always
248
+ model: { claude: sonnet, codex: gpt-5.6-terra }
249
+ verification:
250
+ mode: always
251
+ model: { claude: sonnet, codex: gpt-5.6-terra }
252
+ api:
253
+ mode: auto
254
+ model: { claude: sonnet, codex: gpt-5.6-terra }
255
+ database:
256
+ mode: auto
257
+ model: { claude: opus, codex: gpt-5.6-sol }
258
+ security:
259
+ mode: auto
260
+ model: { claude: opus, codex: gpt-5.6-sol }
261
+ frontend:
262
+ mode: auto
263
+ model: { claude: sonnet, codex: gpt-5.6-terra }
264
+ performance:
265
+ mode: auto
266
+ model: { claude: opus, codex: gpt-5.6-sol }
267
+ previous:
268
+ mode: auto
269
+ model: { claude: haiku, codex: gpt-5.6-luna }
270
+
197
271
  plan-polish:
198
- # Включает кросс-CLI ревью в eda-plan-polish.
199
- # true | false
200
- strict: false
272
+ # Максимальное число подтверждающих review-итераций.
273
+ limit: 3
201
274
 
202
275
  review:
203
276
  # Каждая проверка имеет собственный режим запуска и модели для обеих сред.
@@ -237,6 +310,14 @@ review:
237
310
  claude: haiku
238
311
  codex: gpt-5.6-luna
239
312
 
313
+ # Проверяет изменённое поведение по применимым карточкам из docs/business/.
314
+ # В auto запускается только когда изменения затрагивают поведение с применимой business-карточкой.
315
+ business:
316
+ mode: auto
317
+ model:
318
+ claude: sonnet
319
+ codex: gpt-5.6-terra
320
+
240
321
  # Проверяет, что реализация соответствует указанному или однозначно найденному плану.
241
322
  # В auto запускается только когда у ревью есть конкретный план.
242
323
  plan_alignment:
@@ -335,18 +416,20 @@ discover-automations:
335
416
  - `steps[].on_failure` — настраивает исправление failed manual-test прямо рядом с этим шагом: `skill` и `args` задают фикс, `then` — повторяемые id шагов, `max_cycles` — лимит. Если обработчика нет, оркестратор сохраняет failed-отчёт и останавливается.
336
417
  - `aim.mode` — `automatic` самостоятельно выбирает безопасные ответы на рабочие вопросы; `manual` передаёт вопросы человеку. Явный режим в текущем вызове имеет приоритет.
337
418
  - `explore.strict` и `explore.decision_mode` — кросс-CLI ревью и способ выбора по исследовательским развилкам в `eda-explore`.
338
- - `plan.strict`, `plan.size`, `plan.decision_mode`, `plan.test_strategy`, `plan.logging_strategy` — режим и структура работы `eda-plan`.
339
- - `plan-polish.strict` — кросс-CLI ревью в каждой итерации `eda-plan-polish`.
419
+ - `plan.review` — один `eda-plan-review` и при необходимости один `eda-plan-review-fix` внутри `eda-plan`; `plan.strict` независимо управляет кросс-CLI ревью.
420
+ - `plan.size`, `plan.decision_mode`, `plan.test_strategy`, `plan.logging_strategy` — режим и структура работы `eda-plan`.
421
+ - `plan-review.threshold` — минимальный экспертный score при отсутствии required findings; `plan-review.agents` задаёт mode и модели специализированных проверок.
422
+ - `plan-polish.limit` — максимальное число подтверждающих review-итераций; default `3`.
340
423
  - `review.agents.<check>.mode` — запускать проверку всегда, автоматически по контексту или отключить.
341
424
  - `review.agents.<check>.model.claude` и `.codex` — модель конкретной проверки в соответствующей среде.
342
425
  - `send-review.close_previous_reviews` — после успешной новой отправки скрывает предыдущие сводки, созданные `eda-send-review` текущим GitHub-пользователем, и резолвит связанные inline-треды; прямое указание в текущем запросе переопределяет настройку.
343
- - `discover-automations.include_plans` — добавляет `docs/plans/` в обычный запуск `eda-discover-automations`. Если в существующем v2-файле остался только прежний раздел `automate`, скил временно использует его как fallback и просит переименовать настройку.
426
+ - `discover-automations.include_plans` — добавляет `docs/plans/` в обычный запуск `eda-discover-automations`.
344
427
 
345
- Каждый скилл читает только свой раздел. Для `eda-review` прямое указание в текущем запросе может разово включить или отключить проверку и заменить её модель, например: «без performance, architecture на opus».
428
+ Каждый скилл читает только свой раздел. Для `eda-review` прямое указание в текущем запросе может разово включить или отключить проверку и заменить её модель, например: «без performance, включи business, architecture на opus».
346
429
 
347
- Поддерживается только `version: 2`. Для старого v2 без `review.agents` новый review использует сбалансированные defaults и предупреждает, что устаревшие `review.strict`, `review.include_code_quality` и `review-check` игнорируются. Установщик существующий файл не переписывает.
430
+ Поддерживается только `version: 3`. Полный валидный v3 установщик сохраняет байт-в-байт. Старые, неизвестные и неполные файлы разбираются через YAML: валидные известные значения переносятся, в TTY спрашиваются только отсутствующие, затем профиль целиком атомарно нормализуется. Без TTY недостающие поля получают defaults. `plan.meta_review` переносится в `plan.review`, а `plan-polish.strict` удаляется.
348
431
 
349
- `eda init` создаёт `docs/settings.yaml`, только если файла ещё нет; существующий v1 автоматически мигрируется в v2, а v2 и неизвестные версии сохраняются. `eda update` всегда заново задаёт все вопросы конфигурации и атомарно перезаписывает файл полным v2-профилем. `eda update-all` задаёт тот же набор вопросов один раз и записывает получившийся общий конфиг во все найденные проекты. Без TTY обе update-команды используют defaults.
432
+ `eda update-all configure` записывает один общий v3-профиль. `skip` сохраняет полный v3, индивидуально переносит остальные конфиги и создаёт defaults при отсутствии файла. Подробности перехода приведены в [MIGRATION.md](MIGRATION.md)
350
433
 
351
434
  ---
352
435
 
@@ -357,9 +440,9 @@ discover-automations:
357
440
  Каждая стрелка между этапами передаёт только явный вход и пути к артефактам: каждый этап работает в новом изолированном субагенте без истории диалога.
358
441
 
359
442
  ```text
360
- plan → plan-execute → polish → manual-test ──passed──> готово
361
- ^ │
362
- └── fix <───┘ failed
443
+ plan без проверок → plan-polish → plan-execute → polish → manual-test ──passed──> готово
444
+ ^ │
445
+ └── fix <───┘ failed
363
446
  ```
364
447
 
365
448
  `eda-aim` может обернуть любую цепочку ниже в автономный цикл:
@@ -392,14 +475,14 @@ roadmap ────────> explore ─────> plan ───> plan-
392
475
  fix ─────────────> manual-test
393
476
 
394
477
  polish = полное review ─> fix-by-review apply-optional ─> повтор до нужной оценки
395
- plan-polish = 3 полных ревью плана разными моделями ─> strict: кросс-CLI ─> оценка ─> правка плана ─> повтор до 95/100
478
+ plan-polish = специализированный plan-review ─> plan-review-fix apply-optional ─> подтверждающий review до gate или limit
396
479
 
397
480
  discover-automations может запускаться от review, fix-by-review или fix.
398
481
  ```
399
482
 
400
483
  `eda-manual-test` обычно ставится после `eda-plan-execute`, `eda-fix` или `eda-fix-by-review`, чтобы руками проверить API/UI перед ревью или коммитом.
401
484
 
402
- Использовать всю цепочку не обязательно — каждый скил самодостаточен. Для полного прохода одной задачи можно вызвать `eda-orhestra automatic <задача>` или `eda-orhestra manual <задача>`. Разовые варианты: `eda-orhestra automatic без полировки <задача>`, `eda-orhestra полировка 2 итерации <задача>`, `eda-orhestra без ручных тестов <задача>`. Постоянный порядок и аргументы задаются в `orhestra.steps`. Новый проект можно начать с `eda-new-project`; существующий — с `eda-prepare-ai`, `eda-roadmap`, `eda-explore`, или сразу с `eda-plan-execute` на готовом плане, или просто `eda-commit`, когда правки уже сделаны. Для параллельной работы есть `eda-worktree`, а для возврата ветки из worktree в текущую ветку — `eda-merge-worktree`.
485
+ Использовать всю цепочку не обязательно — каждый скил самодостаточен. Для полного прохода одной задачи можно вызвать `eda-orhestra automatic <задача>` или `eda-orhestra manual <задача>`. Разовые варианты: `eda-orhestra automatic без полировки плана <задача>`, `eda-orhestra полировка кода 2 итерации <задача>`, `eda-orhestra без ручных тестов <задача>`. Постоянный порядок и аргументы задаются в `orhestra.steps`. Новый проект можно начать с `eda-new-project`; существующий — с `eda-prepare-ai`, `eda-roadmap`, `eda-explore`, или сразу с `eda-plan-execute` на готовом плане, или просто `eda-commit`, когда правки уже сделаны. Для параллельной работы есть `eda-worktree`, а для возврата ветки из worktree в текущую ветку — `eda-merge-worktree`.
403
486
 
404
487
  Например, запрос `eda-commit сразу отправь ветку, создай PR и дай ссылку` выполняет всю указанную цепочку без отдельного вопроса после коммита.
405
488
 
@@ -421,8 +504,8 @@ discover-automations может запускаться от review, fix-by-revie
421
504
 
422
505
  ```bash
423
506
  eda init # выбрать Claude Code / Codex / обе среды и установить пакет
424
- eda update # заново настроить конфиг и обновить скилы и агенты
425
- eda update-all [dir] # один раз настроить конфиг и обновить все найденные проекты на глубине 2
507
+ eda update # дополнить недостающие настройки и обновить скилы и агенты
508
+ eda update-all [dir] # сохранить конфиги или настроить общий и обновить проекты на глубине 2
426
509
  eda --version # показать версию установленного пакета
427
510
  eda --help # справка
428
511
  ```
@@ -455,7 +538,7 @@ eda update-all ~/Code
455
538
  | Агент | `.claude/agents/<agent>.md` | `.codex/agents/<agent>.toml` |
456
539
  | Manifest владения | `.claude/eda-manifest.json` | `.codex/eda-manifest.json` |
457
540
 
458
- `eda update` заново собирает полный v2-конфиг, затем идемпотентно синхронизирует обе группы компонентов и отдельно показывает реально изменившиеся скилы и агенты. Manifest хранит только идентификаторы компонентов, которыми владеет `eda`: благодаря этому retired-компоненты удаляются, а чужие скилы и агенты остаются нетронутыми. `eda update-all [dir]` один раз собирает общий конфиг, записывает его во все найденные проекты и синхронизирует компоненты каждого проекта. Старые Codex-файлы `.codex/skills/<skill>.md` также удаляются при миграции.
541
+ `eda update` сохраняет полный v3-конфиг как есть, а старый или неполный умно переносит и целиком нормализует; затем идемпотентно синхронизирует обе группы компонентов и отдельно показывает реально изменившиеся скилы и агенты. Manifest хранит только идентификаторы компонентов, которыми владеет `eda`: retired-компоненты удаляются, а чужие скилы и агенты остаются нетронутыми. `eda update-all [dir]` либо записывает общий профиль, либо в `skip` сохраняет полный v3 и переносит остальные настройки. Старые Codex-файлы `.codex/skills/<skill>.md` также удаляются при миграции.
459
542
 
460
543
  Установленные копии не являются источником правды. Локальные изменения внутри `.claude/skills/eda-*`, `.codex/skills/eda-*`, `.claude/agents/eda-*` или `.codex/agents/eda-*` будут заменены следующим обновлением.
461
544
 
@@ -0,0 +1,9 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "name": "eda-plan-review-api",
4
+ "description": "Проверяет API, события, очереди, интеграции и совместимость контрактов в плане.",
5
+ "models": { "claude": "sonnet", "codex": "gpt-5.6-terra" },
6
+ "reasoning": { "claude": "medium", "codex": "medium" },
7
+ "access": "read-only",
8
+ "maxTurns": 30
9
+ }
@@ -0,0 +1,34 @@
1
+ # Роль
2
+
3
+ Ты — read-only проверяющий API и интеграций для `eda-plan-review`. Проверяй только HTTP/RPC/GraphQL-контракты, DTO, события, очереди, webhooks и внешние сервисы.
4
+
5
+ ## Вход и работа
6
+
7
+ Получи рабочую директорию, `PLAN_FILE`, `PLAN_SHA256`, `REFERENCE_FILES`, `MODEL` и `PLAN_CONTEXT`. Если план не затрагивает API или интеграции, верни `not_applicable`. Иначе прочитай существующие handlers, схемы и применимые карточки.
8
+
9
+ Проверяй method/path, auth, request/query/body, response, errors/status codes, идемпотентность и обратную совместимость. Не выполняй общее ревью архитектуры, требований или тестов. Не правь файлы.
10
+
11
+ ## Результат
12
+
13
+ Верни один YAML-блок:
14
+
15
+ ```yaml
16
+ status: completed | not_applicable | blocked
17
+ check: api
18
+ model: <MODEL>
19
+ summary: <краткий итог>
20
+ findings:
21
+ - fingerprint: <api|plan-location|root-cause>
22
+ severity: critical | high | medium | low
23
+ recommendation: required | optional
24
+ plan_location: <раздел или задача плана>
25
+ problem: <дефект контракта>
26
+ evidence: [<план, схема или код>]
27
+ impact: <риск для клиента или интеграции>
28
+ fix: <конкретное уточнение контракта>
29
+ acceptance: <как подтвердить закрытие>
30
+ prior_findings: []
31
+ question: <блокер или null>
32
+ ```
33
+
34
+ При отсутствии проблем верни `findings: []`. Не выставляй score.