@gian-tiaga/eda 0.4.3 → 0.4.5
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.
- package/README.md +1 -1
- package/package.json +1 -1
- package/skills/eda-explore.md +16 -21
- package/skills/eda-plan.md +5 -9
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ eda init
|
|
|
27
27
|
|
|
28
28
|
| Скил | Что делает | Куда складывает |
|
|
29
29
|
|---|---|---|
|
|
30
|
-
| `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые
|
|
30
|
+
| `eda-explore` | Исследует тему до конкретного результата: описание проблемы, релевантная архитектура, закрытые развилки, риски внутри решений и короткий выбранный вариант решения без плана. Если нужны пакеты или ПО — проверяет актуальные стабильные версии через context7 или web search | `docs/researches/` |
|
|
31
31
|
| `eda-plan` | Пишет план реализации через стандартный Plan Mode хост-агента. Подтягивает контекст из `docs/rules.md`, `docs/arch.md`, при желании — релевантное исследование. Затем три параллельных модели (слабая, средняя, мощная) проверяют план на реалистичность, пропущенные шаги и нарушения правил — главный планировщик сам решает, что применить | `docs/plans/` |
|
|
32
32
|
| `eda-execute` | Выполняет план. Спрашивает, где работать (текущая ветка, новая ветка, отдельный worktree). Тесты пишет внутри каждого шага. В конце — полный прогон тестов и линтеров | `docs/executions/` |
|
|
33
33
|
| `eda-fix` | Делает обычные фиксы по короткому контексту, баг-репорту или файлу плана. Перед правками читает правила и архитектуру, добавляет нужные тесты, прогоняет проверки и сохраняет историю правок | `docs/fixes/` |
|
package/package.json
CHANGED
package/skills/eda-explore.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: eda-explore
|
|
3
|
-
description: 'Исследует тему или задачу до конкретного результата: проясняет проблему, архитектуру, развилки, риски и короткий выбранный вариант решения без плана реализации. Работает read-only, задаёт блокирующие вопросы, когда без ответа нельзя выбрать решение, а существенные решения подтверждает по `defaults.decision_mode` из `docs/settings.yaml`. Если исследование касается пакетов, библиотек, CLI, сервисов или другого ПО, проверяет актуальные стабильные версии через context7, если он доступен, или через web search по официальным источникам. Итог сохраняет в docs/researches/. Кросс-ревью соседним агентом (Claude ↔ Codex) включается флагом `strict` или настройкой `defaults.strict: true` в `docs/settings.yaml`.'
|
|
3
|
+
description: 'Исследует тему или задачу до конкретного результата: проясняет проблему, архитектуру, развилки, связанные риски и короткий выбранный вариант решения без плана реализации. Работает read-only, задаёт блокирующие вопросы, когда без ответа нельзя выбрать решение, а существенные решения подтверждает по `defaults.decision_mode` из `docs/settings.yaml`. Если исследование касается пакетов, библиотек, CLI, сервисов или другого ПО, проверяет актуальные стабильные версии через context7, если он доступен, или через web search по официальным источникам. Итог сохраняет в docs/researches/. Кросс-ревью соседним агентом (Claude ↔ Codex) включается флагом `strict` или настройкой `defaults.strict: true` в `docs/settings.yaml`.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Скил: Исследователь решений (eda-explore)
|
|
7
7
|
|
|
8
|
-
Проводишь исследование так, чтобы на выходе была не подборка рассуждений, а конкретная рамка для следующего шага: что за проблема, как устроена релевантная архитектура, какие решения приняты, какие риски
|
|
8
|
+
Проводишь исследование так, чтобы на выходе была не подборка рассуждений, а конкретная рамка для следующего шага: что за проблема, как устроена релевантная архитектура, какие решения приняты, какие риски учтены в этих решениях и какой вариант решения выбран.
|
|
9
9
|
|
|
10
10
|
## Режимы вызова
|
|
11
11
|
|
|
@@ -55,12 +55,12 @@ description: 'Исследует тему или задачу до конкре
|
|
|
55
55
|
1. **Никаких правок кода.** Запись только в `docs/researches/`.
|
|
56
56
|
2. **Итог — конкретика.** Нельзя заканчивать абстрактными описаниями, списком возможностей или «можно выбрать один из вариантов».
|
|
57
57
|
3. **Развилки закрывай по `decision_mode`.** Обычные локальные развилки можно выбрать по коду, правилам, архитектуре, источникам и рискам. Существенные решения в `recommend_and_ask` и `ask_each_time` подтверждай у пользователя до финализации. Если выбор зависит только от пользователя — задай блокирующий вопрос в любом режиме.
|
|
58
|
-
4. **Риски
|
|
58
|
+
4. **Риски вплетай в исследование.** Не создавай отдельный обязательный раздел или этап рисков. Если риск влияет на выбор, источник, ограничение или будущую проверку, фиксируй его рядом с соответствующим решением: что может пойти не так и как это учитывается — снимаем, принимаем или выносим за рамки.
|
|
59
59
|
5. **Версии проверяй.** Если речь о пакетах, библиотеках, CLI, сервисах или другом ПО, а версия не задана контекстом, проверь последнюю стабильную версию через context7, если он доступен, или через web search по официальным источникам.
|
|
60
60
|
6. **Прочитай `docs/rules.md` и `docs/arch.md`**, если есть, и используй их как рамку.
|
|
61
61
|
7. **Каждое фактическое утверждение — со ссылкой** (`file.ext:42`, URL, коммит). Без ссылки — помечай как «гипотеза» и не делай её основанием выбранного решения.
|
|
62
62
|
8. **Простой язык.** Термины — только когда без них нельзя, сразу с пояснением.
|
|
63
|
-
9. **Таблицы > сплошной текст** для фактов, развилок,
|
|
63
|
+
9. **Таблицы > сплошной текст** для фактов, развилок, сравнений, версий и источников.
|
|
64
64
|
|
|
65
65
|
## Интерактивные вопросы
|
|
66
66
|
|
|
@@ -100,6 +100,7 @@ description: 'Исследует тему или задачу до конкре
|
|
|
100
100
|
- перечисли варианты;
|
|
101
101
|
- выбери один вариант или подготовь рекомендацию;
|
|
102
102
|
- запиши источник и причину выбора;
|
|
103
|
+
- если у варианта есть важный риск, опиши его здесь же и сразу зафиксируй, как он влияет на выбранное решение;
|
|
103
104
|
- если развилка существенная и `decision_mode: recommend_and_ask` — задай `AskUserQuestion`: 2–3 варианта, первым рекомендованный, короткая причина рекомендации, вариант «свой вариант», фраза «Я продолжу только после ответа.»;
|
|
104
105
|
- если развилка значимая и `decision_mode: ask_each_time` — задай `AskUserQuestion` даже при сильной рекомендации;
|
|
105
106
|
- если `decision_mode: autonomous` и выбор можно обосновать кодом, правилами, архитектурой, источниками и рисками — выбери сам и запиши почему;
|
|
@@ -107,21 +108,13 @@ description: 'Исследует тему или задачу до конкре
|
|
|
107
108
|
|
|
108
109
|
Не прячь существенный выбор внутри текста. Например, если нужен пакет для базы данных, сначала сравни 2–3 подходящих варианта, затем в `recommend_and_ask` спроси подтверждение выбора пакета/БД до записи финального решения.
|
|
109
110
|
|
|
110
|
-
|
|
111
|
+
Если по ходу исследования находится высокий риск без понятного решения, это блокер: задай `AskUserQuestion` или заверши со статусом `blocked`. Не выноси риски в отдельную секцию ради формы; они должны естественно лежать в `Решении`, причинах выбора, ограничениях, проверках версий или итоговом выводе.
|
|
111
112
|
|
|
112
|
-
|
|
113
|
-
- что может пойти не так;
|
|
114
|
-
- почему это важно;
|
|
115
|
-
- выбранное решение: как снимаем, принимаем или выносим за рамки;
|
|
116
|
-
- что это значит для будущего плана.
|
|
117
|
-
|
|
118
|
-
Высокий риск без решения — блокер. Задай вопрос или заверши со статусом `blocked`.
|
|
119
|
-
|
|
120
|
-
### 5. Собрать отчёт
|
|
113
|
+
### 4. Собрать отчёт
|
|
121
114
|
|
|
122
115
|
Сохрани отчёт в `docs/researches/{YYYY-MM-DD}_{HH-MM}_{slug}.md`.
|
|
123
116
|
|
|
124
|
-
Формат отчёта должен быть компактным и универсальным:
|
|
117
|
+
Формат отчёта должен быть компактным и универсальным: четыре основных раздела, без обязательного раздувания под каждый тип исследования. Таблицы, ASCII-диаграммы и дополнительные подпункты добавляй внутри этих разделов только когда они действительно помогают ясности.
|
|
125
118
|
|
|
126
119
|
```markdown
|
|
127
120
|
---
|
|
@@ -145,7 +138,8 @@ sources:
|
|
|
145
138
|
Описание выбранного решения. Внутри этого раздела, если нужно, добавь:
|
|
146
139
|
- описание релевантной архитектуры;
|
|
147
140
|
- ASCII-диаграммы;
|
|
148
|
-
- таблицы фактов, развилок,
|
|
141
|
+
- таблицы фактов, развилок, версий пакетов/ПО и источников;
|
|
142
|
+
- риски рядом с теми решениями, ограничениями или проверками, на которые они влияют;
|
|
149
143
|
- объяснение, почему выбран этот вариант, а не альтернативы.
|
|
150
144
|
|
|
151
145
|
## Ответы на вопросы
|
|
@@ -163,13 +157,14 @@ Quality gate перед сохранением:
|
|
|
163
157
|
- в `Ответы на вопросы` записаны все вопросы, заданные пользователю в процессе исследования, и ответы на них, чтобы `eda-plan` не задавал их повторно;
|
|
164
158
|
- в `Итог` есть короткая конкретика, что делать дальше на уровне подхода, без пошагового плана;
|
|
165
159
|
- нет незакрытых развилок;
|
|
166
|
-
- нет
|
|
160
|
+
- нет рисков, которые перечислены отдельно от решения и никак не влияют на выбор, ограничения или будущие проверки;
|
|
161
|
+
- нет высокого риска без понятного решения;
|
|
167
162
|
- версии пакетов/ПО проверены или объяснено, почему это не требуется;
|
|
168
163
|
- ключевые утверждения имеют источники.
|
|
169
164
|
|
|
170
|
-
###
|
|
165
|
+
### 5. Кросс-ревью — только в `strict`
|
|
171
166
|
|
|
172
|
-
Обычный режим — пропусти этапы 6
|
|
167
|
+
Обычный режим — пропусти этапы 5–6, иди на финал. `reviewer: none`, `status: draft`.
|
|
173
168
|
|
|
174
169
|
В `strict`: отдай файл соседнему агенту через `Bash` и сформулируй задание как глубокую проверку конкретности, фактов, развилок и рисков.
|
|
175
170
|
|
|
@@ -187,11 +182,11 @@ claude -p "Прочитай $RESEARCH_FILE, docs/rules.md, docs/arch.md при
|
|
|
187
182
|
|
|
188
183
|
CLI нет — `AskUserQuestion`: продолжать без ревью или прервать.
|
|
189
184
|
|
|
190
|
-
###
|
|
185
|
+
### 6. Допилить по ревью — только в `strict`
|
|
191
186
|
|
|
192
187
|
Бесспорные замечания → правь. Спорные → `AskUserQuestion`. Отклонённые → оставь с причиной. В конец отчёта добавь раздел `## Реакция на ревью` (Принято / Отклонено / Спорное). `status: reviewed`. Покажи дифф.
|
|
193
188
|
|
|
194
|
-
###
|
|
189
|
+
### 7. Финал
|
|
195
190
|
|
|
196
191
|
Короткое сообщение: режим, путь к отчёту, путь к ревью (если `strict`), 3–5 конкретных выводов, выбранный вариант решения одной строкой. Не предлагай «исследовать дальше», если нет блокера.
|
|
197
192
|
|
package/skills/eda-plan.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: eda-plan
|
|
3
|
-
description: 'Пишет план реализации по тексту рядом с вызовом или указанному research-файлу через стандартный Plan Mode (Claude Code / Codex). Перед планированием читает docs/rules.md, docs/arch.md и строго следует им; research подтягивает без вопроса, если он указан или явно нужен. Поддерживает
|
|
3
|
+
description: 'Пишет план реализации по тексту рядом с вызовом или указанному research-файлу через стандартный Plan Mode (Claude Code / Codex). Перед планированием читает docs/rules.md, docs/arch.md и строго следует им; research подтягивает без вопроса, если он указан или явно нужен. Поддерживает `short` для небольших фич: 1–2 фазы и компактный ревьюируемый объём. В начале фиксирует режим принятия решений, стратегию тестов и логирования из docs/settings.yaml или уточняет их у пользователя. Существенные решения подтверждает по `defaults.decision_mode`. Нормализует результат в исполнимый план с алгоритмом, фазами, проверками и без неразрешённых альтернатив; сохраняет его в docs/plans/. Всегда проверяет план тремя параллельными моделями на реалистичность, пропущенные шаги, нарушения правил и риски. Кросс-CLI включается флагом `strict` или настройкой `defaults.strict: true`. Вопросы задаёт только когда без ответа нельзя безопасно продолжать, настройки требуют спрашивать или существенное решение требует подтверждения.'
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Скил: Планировщик (eda-plan)
|
|
@@ -302,21 +302,17 @@ sources:
|
|
|
302
302
|
|
|
303
303
|
## Документация и эксплуатация
|
|
304
304
|
Что обновить в env/docs/runbook и что важно для релиза.
|
|
305
|
-
|
|
306
|
-
## Риски
|
|
307
|
-
Риски и конкретное снижение каждого риска.
|
|
308
|
-
|
|
309
|
-
## Порядок выполнения
|
|
310
|
-
Краткий линейный список действий для исполнителя.
|
|
311
305
|
```
|
|
312
306
|
|
|
313
307
|
Правила структуры:
|
|
314
308
|
- В `Контекст` попадают исследовательские наблюдения и ограничения.
|
|
315
309
|
- В `Принятые решения` попадают только выбранные решения, без альтернатив.
|
|
310
|
+
- Риски не выносятся в отдельный обязательный раздел. Закрытые риски из research, контекста и мета-ревью должны быть встроены туда, где они исполняются: в `Принятые решения`, фазы, сценарии тестирования, проверки, логирование или эксплуатационные шаги.
|
|
316
311
|
- Существенные решения в `Принятых решениях` имеют источник подтверждения или явное обоснование автономного выбора.
|
|
317
312
|
- В `Целевой алгоритм` попадает сквозная картина процесса.
|
|
318
313
|
- В `Фазы выполнения` попадают только исполнимые шаги.
|
|
319
314
|
- Каждая фаза обязана иметь `Цель`, `Что сделать`, `Результат`, `Сценарии тестирования`, `Проверка`.
|
|
315
|
+
- Отдельный раздел порядка выполнения не нужен: линейный порядок задаётся номерами фаз и шагами внутри фаз.
|
|
320
316
|
- `test_strategy` обязан менять структуру фаз: TDD — тесты в начале фаз, after_each_phase — тесты после каждой фазы, end_of_plan — отдельная финальная фаза тестов.
|
|
321
317
|
- `logging_strategy` обязан быть отражён в целевом алгоритме, фазах и отдельном разделе `Логирование`.
|
|
322
318
|
- Для `plan_size: short` фаз должно быть не больше 2, а ожидаемый объём должен быть явно указан в `Принятых решениях`.
|
|
@@ -332,7 +328,7 @@ sources:
|
|
|
332
328
|
- мета-уровень не смешан с шагами исполнения;
|
|
333
329
|
- стратегия тестов зафиксирована в разделе `Тесты` и последовательно применена в фазах, сценариях тестирования и проверках;
|
|
334
330
|
- стратегия логирования зафиксирована и последовательно применена в алгоритме, фазах и разделе `Логирование`;
|
|
335
|
-
- тесты связаны с ключевыми сценариями и
|
|
331
|
+
- тесты связаны с ключевыми сценариями и закрытыми рисками из research/контекста, если такие риски есть;
|
|
336
332
|
- если `plan_size: short`, фаз не больше 2, ожидаемый объём укладывается в ориентиры short или исключение явно объяснено;
|
|
337
333
|
- все пакеты/ПО, которые нужно установить, имеют конкретные версии или явное объяснение, почему версия берётся из существующего lock/config-файла;
|
|
338
334
|
- нет неподтверждённых существенных решений при `decision_mode: recommend_and_ask` или `decision_mode: ask_each_time`;
|
|
@@ -362,7 +358,7 @@ sources:
|
|
|
362
358
|
|
|
363
359
|
Базовый формат ответа для всех: `+ N | − N | ~ N: причина`, без воды. Для мощной модели добавь явную инструкцию: «Если план ссылается на модуль, API, тесты или сценарий, открой соответствующие файлы и проверь фактическую структуру проекта.»
|
|
364
360
|
|
|
365
|
-
Когда все три ответили — прочитай ответы, **сам реши**, что применять (не вставляй чужие пункты механически). Принятые замечания сначала интегрируй в основные разделы плана: решения, алгоритм, фазы, тесты,
|
|
361
|
+
Когда все три ответили — прочитай ответы, **сам реши**, что применять (не вставляй чужие пункты механически). Принятые замечания сначала интегрируй в основные разделы плана: решения, алгоритм, фазы, тесты, логирование, документацию и эксплуатацию. Не оставляй важные требования только в changelog.
|
|
366
362
|
|
|
367
363
|
После интеграции снова прогони quality gate из этапа 5. Затем допиши в конец короткий раздел:
|
|
368
364
|
|