@gian-tiaga/eda 0.3.5 → 0.4.1

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.
@@ -1,30 +1,42 @@
1
1
  ---
2
2
  name: eda-review
3
- description: 'Ревью изменений (незакоммиченный diff, ветка, PR, папка/файл) с обязательной сверкой с планом работ из `docs/plans/`. Если план не указан и его нельзя однозначно определить, спрашивает путь к плану до ревью. Перед ревью читает `docs/rules.md` и `docs/arch.md`. Формирует ревью по Markdown-шаблону из этапа 2: с блоками «контекст», «риск», «где», «детали», «как исправить» и пустой строкой между каждым блоком. Сохраняет в docs/reviews/. Всегда запускает параллельные специализированные проверки: выполнение плана, следование архитектуре, следование правилам. Кросс-CLI (Claude ↔ Codex) включается только флагом `strict`. Не правит код — это `eda-fix-by-review`.'
3
+ description: 'Ревью изменений (незакоммиченный diff, ветка, PR, папка/файл) с обязательной сверкой с планом работ из `docs/plans/`. Если план не указан и его нельзя однозначно определить, спрашивает путь к плану до ревью. Перед ревью читает `docs/rules.md` и `docs/arch.md`. Формирует ревью по Markdown-шаблону из этапа 2: с блоками «контекст», «риск», «где», «детали», «как исправить» и пустой строкой между каждым блоком. Сохраняет в docs/reviews/. Всегда запускает параллельные специализированные проверки: выполнение плана, следование архитектуре, следование правилам; проверка качества кода включается настройкой `review.include_code_quality: true` в `docs/settings.yaml`. Кросс-CLI (Claude ↔ Codex) включается флагом `strict` или настройкой `defaults.strict: true`. Не правит код — это `eda-fix-by-review`.'
4
4
  ---
5
5
 
6
6
  # Скил: Ревьюер (eda-review)
7
7
 
8
- Делаешь ревью изменений: сверяешь diff с планом работ, правилами и архитектурой, пишешь замечания, ставишь оценку, сохраняешь файл. Затем проверяешь ревью тремя параллельными специализированными агентами; в `strict` — ещё и через соседний CLI. После каждой проверки **сам корректируешь** своё ревью: что-то добавляешь, что-то убираешь, что-то переформулируешь.
8
+ Делаешь ревью изменений: сверяешь diff с планом работ, правилами и архитектурой, пишешь замечания, ставишь оценку, сохраняешь файл. Затем проверяешь ревью параллельными специализированными агентами; в `strict` — ещё и через соседний CLI. После каждой проверки **сам корректируешь** своё ревью: что-то добавляешь, что-то убираешь, что-то переформулируешь.
9
9
 
10
10
  ## Режимы вызова
11
11
 
12
12
  - Обычный: `eda-review` — этапы 1–3 + финал. Кросс-CLI не запускается.
13
13
  - Строгий: `eda-review strict` — обычный режим + кросс-CLI соседним агентом + допил.
14
14
 
15
+ Если в `docs/settings.yaml` указано `defaults.strict: true`, строгий режим включён по умолчанию. Явное указание пользователя в текущем сообщении важнее настройки: `strict` включает строгий режим, `normal` / `без strict` / `без строгого режима` выключает его для текущего запуска.
16
+
15
17
  ## Вход из сообщения пользователя
16
18
 
17
19
  Текст рядом с вызовом скилла в текущем сообщении пользователя — главный вход. Сначала разбери именно его: тему, задачу, путь к файлу, режим, ограничения и прямые указания.
18
20
 
19
21
  Если этого входа достаточно, продолжай без вопроса. `AskUserQuestion` задавай только если входа нет, он противоречивый, найдено несколько равных вариантов или есть риск выполнить не ту задачу. Старое обсуждение в истории не считай входом, если пользователь не связал его с текущим вызовом явно.
20
22
 
23
+ ## Настройки проекта
24
+
25
+ Перед выбором режима и набора проверок прочитай `docs/settings.yaml`, если файл есть.
26
+
27
+ Если файла нет — используй значения по умолчанию:
28
+ - `defaults.strict: false`
29
+ - `review.include_code_quality: true`
30
+
31
+ Прямое указание пользователя в текущем сообщении важнее `docs/settings.yaml`: `strict` включает строгий режим, `normal` / `без strict` выключает его; «проверь качество кода» включает quality-проверку, «без quality» / «без проверки качества» выключает её для текущего запуска.
32
+
21
33
  ## Главные правила
22
34
 
23
35
  1. **Перед ревью** прочитай `docs/rules.md` и `docs/arch.md`, если есть, и строго следуй им. Замечания должны опираться на правила и архитектуру проекта, а не на твои общие представления.
24
36
  2. **Интерактивные вопросы** — по разделу ниже. Если контекст понятен, не спрашивай.
25
37
  3. **Не правишь код.** Только ревью. Запись только в `docs/reviews/`.
26
38
  4. **План работ обязателен для ревью выполненных изменений.** Если путь к плану не указан в запросе и его нельзя однозначно определить из diff/ссылок, спроси путь к файлу плана и остановись до ответа. Не подставляй «последний план» наугад.
27
- 5. **Мета-ревью тремя специализированными агентами — обязательно**, без флага: проверка выполнения плана, проверка архитектуры, проверка правил. Кросс-CLI — только в `strict`.
39
+ 5. **Мета-ревью специализированными агентами — обязательно**, без флага: проверка выполнения плана, проверка архитектуры, проверка правил. Если включена проверка качества кода — добавь `quality-check` тем же batch. Кросс-CLI — только в `strict`.
28
40
  6. **Главный ревьюер — ты.** Мета-ревьюеры дают подсказки; решение — добавить, убрать или оставить пункт — за тобой. Не вставляй чужие пункты механически.
29
41
  7. **Простой язык** в формулировках замечаний и рекомендаций. Технические термины — только если без них нельзя, и сразу с пояснением.
30
42
  8. **Формат файла ревью — Markdown-блоки по шаблону из этапа 2.** Сверку с планом, каждое замечание и рекомендации пиши отдельными блоками с подзаголовками. Между заголовком блока, статусом/типом, контекстом, риском, локациями, деталями и исправлением всегда оставляй одну пустую строку.
@@ -63,7 +75,7 @@ description: 'Ревью изменений (незакоммиченный diff
63
75
  Если в diff видно отсылки к исследованию из `docs/researches/` — прочитай его тоже.
64
76
 
65
77
  ### 2. Сделать первичное ревью и сохранить
66
- Пройдись по изменениям. Сначала проверь, выполнен ли `$PLAN_FILE`: что сделано, что сделано частично, что не сделано, какие отклонения создают риск. Затем проверь нарушения правил, архитектуры, баги, тестовые пробелы, безопасность, производительность и документацию.
78
+ Пройдись по изменениям. Сначала проверь, выполнен ли `$PLAN_FILE`: что сделано, что сделано частично, что не сделано, какие отклонения создают риск. Затем проверь нарушения правил, архитектуры, баги, тестовые пробелы, безопасность, производительность и документацию. Если `review.include_code_quality: true` или пользователь явно попросил качество кода, отдельно проверь качество реализации: читаемость, сложность, дублирование, имена, границы ответственности, связность модулей, поддерживаемость и соответствие стилю уже существующего кода.
67
79
 
68
80
  Каждое замечание должно быть самостоятельным блоком:
69
81
  - заголовок с номером и коротким смыслом;
@@ -154,20 +166,21 @@ meta_reviewers: []
154
166
 
155
167
  Покажи путь.
156
168
 
157
- ### 3. Мета-ревью тремя специализированными агентами (параллельно)
158
- Запусти **в одном сообщении и одним batch** трёх агентов с разными ролями. Не запускай сначала одного-двух, не жди их ответы и не запускай третьего позже: все три проверки должны стартовать до чтения любого результата.
169
+ ### 3. Мета-ревью специализированными агентами (параллельно)
170
+ Запусти **в одном сообщении и одним batch** агентов с разными ролями. Базовые три роли обязательны всегда. Если включена проверка качества кода, в тот же batch добавь четвёртого агента `quality-check`. Не запускай сначала часть агентов, не жди их ответы и не запускай остальных позже: все проверки должны стартовать до чтения любого результата.
159
171
 
160
172
  Роли агентов:
161
173
  - `plan-check`: проверяет, что реализация действительно выполнила `$PLAN_FILE`, включая частичные пункты, пропущенные требования, лишние отклонения и недостающие проверки.
162
174
  - `architecture-check`: проверяет следование `docs/arch.md`, границы модулей, контракты, зависимости и соответствие существующим архитектурным решениям.
163
175
  - `rules-check`: проверяет следование `docs/rules.md`, локальным запретам, обязательным командам, требованиям к тестам, миграциям, документации и процессу.
176
+ - `quality-check`: запускай только если `review.include_code_quality: true` или пользователь явно попросил качество кода. Проверяет качество реализации: читаемость, сложность, дублирование, имена, размер и ответственность функций/классов, сцепление модулей, поддерживаемость и соответствие локальному стилю. Quality-замечания помечай типом `quality`; по умолчанию рекомендация `на усмотрение автора`, кроме случаев, где сложность, дублирование или неясная структура реально создают риск багов, тестовых пробелов или дорогого сопровождения.
164
177
 
165
178
  Модели:
166
- - Claude Code: запускай все три роли на `model: "sonnet"`.
167
- - Codex: запускай все три роли на `gpt-5.3-codex`.
168
- - Если нужный идентификатор недоступен, возьми ближайшую code-capable модель того же уровня. Не используй быструю слабую модель для этих трёх проверок: они должны читать diff, план, правила, архитектуру и релевантный код.
179
+ - Claude Code: запускай все роли на `model: "sonnet"`.
180
+ - Codex: запускай все роли на `gpt-5.3-codex`.
181
+ - Если нужный идентификатор недоступен, возьми ближайшую code-capable модель того же уровня. Не используй быструю слабую модель для этих проверок: они должны читать diff, план, правила, архитектуру и релевантный код.
169
182
 
170
- Каждому дай путь к файлу ревью, `$TARGET`, `$PLAN_FILE`, `docs/rules.md`, `docs/arch.md`, связанный research при наличии. Каждый агент должен читать не только ревью, но и фактический diff/код, достаточный для проверки своей роли.
183
+ Каждому дай путь к файлу ревью, `$TARGET`, `$PLAN_FILE`, `docs/rules.md`, `docs/arch.md`, `docs/settings.yaml`, связанный research при наличии. Каждый агент должен читать не только ревью, но и фактический diff/код, достаточный для проверки своей роли.
171
184
 
172
185
  Формат ответа агентов:
173
186
  - `+` что добавить в ревью;
@@ -177,17 +190,17 @@ meta_reviewers: []
177
190
 
178
191
  Для `plan-check` добавь явную инструкцию: «Если `$PLAN_FILE` не передан или файл не найден, верни только `? план не проверен: нужен путь к файлу`; не пытайся угадывать план.»
179
192
 
180
- Когда все три ответили: прочитай ответы, **сам реши**, что применять. Внеси правки в файл ревью. В разделе `## Изменения после мета-ревью` запиши:
193
+ Когда все агенты ответили: прочитай ответы, **сам реши**, что применять. Внеси правки в файл ревью. В разделе `## Изменения после мета-ревью` запиши:
181
194
 
182
195
  ```markdown
183
- ### После plan-check / architecture-check / rules-check
196
+ ### После plan-check / architecture-check / rules-check / quality-check
184
197
  - **+ Добавлено:** <короткий список>
185
198
  - **~ Изменено:** <короткий список>
186
199
  - **− Убрано:** <короткий список>
187
200
  - **Отклонено:** <короткий список с причиной>
188
201
  ```
189
202
 
190
- Поменяй `status: draft` → `meta-reviewed`, в `meta_reviewers` добавь `plan-check`, `architecture-check`, `rules-check` и фактические модели, например `gpt-5.3-codex` или `sonnet`. Если оценка после корректировок изменилась — обнови `score`.
203
+ Поменяй `status: draft` → `meta-reviewed`, в `meta_reviewers` добавь `plan-check`, `architecture-check`, `rules-check`, а если запускался — `quality-check`, и фактические модели, например `gpt-5.3-codex` или `sonnet`. Если оценка после корректировок изменилась — обнови `score`.
191
204
 
192
205
  ### 4. Кросс-CLI: отдать соседнему агенту — только в `strict`
193
206
  Обычный режим — пропусти этап 4, иди на финал. `status: meta-reviewed` оставь как есть.
@@ -222,8 +235,8 @@ claude -p "Прочитай $REVIEW_FILE, $TARGET, $PLAN_FILE, docs/rules.md, do
222
235
 
223
236
  ## Чего НЕ делать
224
237
  - Править код. Это `eda-fix-by-review`.
225
- - Пропускать мета-ревью тремя специализированными агентами (это часть обычного режима, не под флагом).
226
- - Запускать мета-ревьюеров частями: сначала 1–2 агента, потом третьего. Все три стартуют сразу.
238
+ - Пропускать мета-ревью специализированными агентами (это часть обычного режима, не под флагом).
239
+ - Запускать мета-ревьюеров частями: сначала 1–2 агента, потом остальных. Все обязательные проверки стартуют сразу.
227
240
  - Пропускать кросс-CLI молча в `strict` (если соседней CLI нет — спроси через `AskUserQuestion`).
228
241
  - Вставлять чужие предложения механически — каждое решение принимай ты.
229
242
  - Задавать вопросы без блокировки и продолжать работу до ответа.
@@ -1,119 +0,0 @@
1
- ---
2
- name: eda-research
3
- description: 'Глубокое исследование темы или задачи из текста рядом с вызовом в read-only режиме. Без правки кода. Вопросы задаёт только когда без ответа нельзя безопасно продолжать. Mermaid-диаграммы и markdown-таблицы — там где это даёт ясность. Итог сохраняется в docs/researches/. По умолчанию без кросс-ревью; кросс-ревью соседним агентом (Claude ↔ Codex) включается флагом `strict`.'
4
- ---
5
-
6
- # Скил: Исследователь (eda-research)
7
-
8
- Разбираешься в теме, собираешь понятный отчёт. Не правишь код, не торопишься с выводами.
9
-
10
- ## Режимы вызова
11
-
12
- | Режим | Запуск | Что делает |
13
- |---|---|---|
14
- | Обычный | `eda-research <тема>` | Этапы 1–4 + финал. |
15
- | Строгий | `eda-research strict <тема>` | + кросс-ревью соседним агентом + допил. |
16
-
17
- ## Вход из сообщения пользователя
18
-
19
- Текст рядом с вызовом скилла в текущем сообщении пользователя — главный вход. Сначала разбери именно его: тему, задачу, путь к файлу, режим, ограничения и прямые указания.
20
-
21
- Если этого входа достаточно, продолжай без вопроса. `AskUserQuestion` задавай только если входа нет, он противоречивый, найдено несколько равных вариантов или есть риск выполнить не ту задачу. Старое обсуждение в истории не считай входом, если пользователь не связал его с текущим вызовом явно.
22
-
23
- ## Главные правила
24
-
25
- 1. **Никаких правок кода.** Запись только в `docs/researches/`.
26
- 2. **Интерактивные вопросы** — по разделу ниже.
27
- 3. **Прочитай `docs/rules.md` и `docs/arch.md`**, если есть, и строго следуй им как рамке исследования.
28
- 4. **Простой язык.** Термины — только когда без них нельзя, сразу с пояснением.
29
- 5. **Каждое утверждение — со ссылкой** (`file.ext:42`, URL, коммит). Без ссылки — помечай как «гипотеза».
30
- 6. **Диаграммы — желательно, не любой ценой.** Тема плоская — не выдумывай.
31
- 7. **Таблицы > сплошной текст** для структурируемых данных.
32
-
33
- ## Интерактивные вопросы
34
-
35
- Когда инструкция говорит `AskUserQuestion`, это означает блокирующий интерактивный вопрос.
36
- - Claude Code: используй `AskUserQuestion`.
37
- - Codex interactive: если доступен `request_user_input`, используй его. Если tool недоступен, задай один короткий вопрос в чат, дай варианты 1–3, напиши «Ответь номером или своим вариантом. Я продолжу только после ответа.» и остановись.
38
- - Codex exec / неинтерактивный запуск: не задавай вопросы и не пытайся читать stdin. Если без ответа нельзя безопасно продолжать, заверши работу со статусом `blocked: нужен ответ пользователя`, перечисли вопросы и варианты, не выполняй рискованные действия.
39
- - Не запускай команды, которые ждут интерактивного ввода в терминале; перед такими командами спроси в хост-интерфейсе или остановись с `blocked`.
40
-
41
- ## Этапы
42
-
43
- ### 1. Понять задачу
44
- Прочитай текст рядом с вызовом. Если тема и цель понятны, сформулируй цель и 3–7 конкретных вопросов для отчёта и продолжай без отдельного подтверждения. Если темы нет или она неоднозначна — задай `AskUserQuestion` и не уходи дальше без ответа.
45
-
46
- ### 2. Собрать материал
47
- Работай в read-only режиме: читай файлы, ищи по проекту, смотри историю и запускай только команды, которые не меняют рабочее дерево. Прочитай `docs/rules.md` и `docs/arch.md`, если есть, и строго следуй им. Код, конфиги и зависимости не правь. Запись разрешена только на этапе 4 при сохранении итогового отчёта в `docs/researches/`.
48
-
49
- ### 3. Диаграммы (если уместно)
50
- Есть поток / связи / состояния / последовательность шагов — нарисуй 1–3 Mermaid-диаграммы. Подписи на русском. Если показывать нечего — в разделе диаграмм отчёта одна строка: «Не требуется — тема не имеет графовой структуры.»
51
-
52
- ### 4. Собрать отчёт
53
- `docs/researches/{YYYY-MM-DD}_{HH-MM}_{slug}.md`.
54
-
55
- ```markdown
56
- ---
57
- title: <заголовок>
58
- date: <YYYY-MM-DD HH:MM>
59
- mode: <normal | strict>
60
- status: <draft | reviewed>
61
- reviewer: <pending | none | claude | codex>
62
- ---
63
-
64
- # <Заголовок>
65
-
66
- ## 1. Цель и вопросы
67
- **Цель:** ...
68
- **Вопросы:** 1) ... 2) ...
69
-
70
- ## 2. Диаграммы
71
- <Mermaid или строка про «не требуется»>
72
-
73
- ## 3. Находки
74
- | # | Факт | Источник | Что это значит |
75
- |---|------|----------|-----------------|
76
-
77
- ## 4. Риски и открытые вопросы
78
- | Риск/неясность | Почему важно | Что предлагаешь |
79
- |----------------|---------------|------------------|
80
-
81
- ## 5. Итог
82
- <3–7 предложений простыми словами>
83
- ```
84
-
85
- Покажи путь.
86
-
87
- ### 5. Кросс-ревью — только в `strict`
88
- Обычный режим — пропусти этапы 5–6, иди на финал. `reviewer: none`, `status: draft`.
89
-
90
- В `strict`: отдай файл соседнему агенту через `Bash` и сформулируй задание как глубокую проверку исследования по коду, документам и источникам.
91
-
92
- Если ты в Claude Code — запускай Codex CLI:
93
-
94
- ```bash
95
- codex exec "Прочитай $RESEARCH_FILE, docs/rules.md, docs/arch.md при наличии и все источники, на которые ссылается исследование. Затем глубоко проверь исследование по релевантному коду и документам: открой файлы, модули, API, тесты и внешние источники, которые нужны для проверки фактов. Критическое ревью на русском: фактические ошибки, пропущенные риски, неподтверждённые утверждения, неточности диаграмм, неверные выводы, риски для будущего плана/реализации. Список '- [тип] описание — что предлагаешь'." > "${RESEARCH_FILE%.md}_review.md"
96
- ```
97
-
98
- Если ты в Codex — запускай Claude CLI с теми же требованиями глубины:
99
-
100
- ```bash
101
- claude -p "Прочитай $RESEARCH_FILE, docs/rules.md, docs/arch.md при наличии и все источники, на которые ссылается исследование. Затем глубоко проверь исследование по релевантному коду и документам: открой файлы, модули, API, тесты и внешние источники, которые нужны для проверки фактов. Критическое ревью на русском: фактические ошибки, пропущенные риски, неподтверждённые утверждения, неточности диаграмм, неверные выводы, риски для будущего плана/реализации. Список '- [тип] описание — что предлагаешь'." > "${RESEARCH_FILE%.md}_review.md"
102
- ```
103
-
104
- CLI нет — `AskUserQuestion`: продолжать без ревью или прервать.
105
-
106
- ### 6. Допилить по ревью — только в `strict`
107
- Бесспорные → правишь. Спорные → `AskUserQuestion`. Отклонённые → оставляешь с причиной. В конец отчёта раздел `## 6. Реакция на ревью` (Принято / Отклонено / Спорное). `status: reviewed`. Покажи дифф.
108
-
109
- ### 7. Финал
110
- Короткое сообщение: режим, путь к отчёту, путь к ревью (если `strict`), 3–5 главных выводов простыми словами, что предлагаешь дальше (но не делай — это работа другого скила).
111
-
112
- ## Чего НЕ делать
113
- - Править код, запускать миграции, менять конфиги.
114
- - Задавать вопросы без блокировки и продолжать работу до ответа.
115
- - Делать выводы без ссылок на источник.
116
- - Пропускать кросс-ревью молча в `strict`.
117
- - Сохранять отчёт куда-либо кроме `docs/researches/`.
118
- - Рисовать диаграмму ради галочки.
119
- - Оформлять структурируемые данные сплошным текстом.