| name | spec-implementer |
| description | Шаг ② workflow: Реализация этапов ТЗ. Triggers: "реализуй ТЗ", "implement spec", "продолжи работу". Загружает spec, собирает информацию через субагентов-трассировщиков, реализует текущий этап (≤250 строк), запускает pytest, коммит. Использует commit-helper для коммитов.
|
| type | workflow |
| step | 2 |
Spec Implementer Skill
Шаг ② workflow — реализация этапов ТЗ с учётом архитектуры проекта.
Workflow Contract
entry:
branch: NOT main | master
artifacts:
- .ai/specs/{branch-name}.md
condition: есть этапы со статусом ⬜ или 🔄
exit:
condition: все этапы ✅
tests: pytest passed
next_skill: test-writer
uses:
- commit-helper
Предварительные требования (ENTRY проверка)
- Текущая ветка — НЕ
main/master
- Существует файл
.ai/specs/{branch-name}.md
- Есть незавершённые этапы (⬜ или 🔄)
Алгоритм работы
Фаза 1: Инициализация
-
Проверить ветку: git branch --show-current
- Если main/master → STOP, предложить переключиться
-
Найти spec: .ai/specs/{branch-name}.md
feature/user-auth → .ai/specs/feature-user-auth.md
-
Загрузить контекст:
.ai/ARCHITECTURE.md — структура, Signal-Slot
.ai/UI_ARCHITECTURE.md — виджеты, компоненты
-
Определить текущий этап: первый с ⬜ или 🔄
- Если все ✅ → STOP, предложить merge
Фаза 2: Сбор информации
Цель: собрать всю необходимую информацию перед реализацией через субагентов-трассировщиков, чтобы не делать предположений о коде.
Детальные промпты и примеры — в tracing-guide.md.
Стадия 1 (обязательная): Параллельная трассировка
Запустить два субагента параллельно (тип Explore):
- Code Mapper — читает все файлы этапа: классы, методы,
pyqtSignal, @pyqtSlot, импорты, места использования в кодовой базе.
- Data Flow Tracer — трассирует request/response сигналы через
base_signals.py, раскрывает структуры dict (все ключи и типы), находит аналогичный компонент-образец.
Проверка достаточности
Трассировка достаточна если выполнены все пять критериев:
| # | Критерий |
|---|
| 1 | Все целевые файлы прочитаны (содержимое, не только пути) |
| 2 | Все pyqtSignal / connect() затронутых компонентов идентифицированы |
| 3 | Структуры данных request/response полностью известны (все dict-ключи и типы) |
| 4 | Найден хотя бы один аналогичный компонент-образец в кодовой базе |
| 5 | Архитектурный слой и паттерн (Core / GUI / Signal Bus) однозначно подтверждены |
Если хотя бы один критерий не выполнен → запустить Стадию 2.
Стадия 2 (условная): Углублённая трассировка
Запустить точечные субагенты только для закрытия незакрытых критериев:
- Pattern Verifier — ищет 2-3 аналога в кодовой базе, выявляет общий паттерн (если нет образца или неясен архитектурный слой)
- Signal Graph Builder — строит полный граф
signal → slot для затронутых компонентов (если сигналы неполные)
Промпты субагентов и формат отчётов — в tracing-guide.md.
Фаза 3: Реализация
- Обновить статус: ⬜ → 🔄
- Выполнить задачи согласно собранной информации и архитектуре (см. architecture-patterns.md)
- Соблюдать лимит: ≤250 строк на этап
Фаза 4: Верификация
- Запустить тесты:
uv run pytest
- Проверить размер:
git diff --stat
Фаза 5: Коммит
- Conventional commit:
feat|fix|refactor|test|docs(scope): description
- Обновить spec: 🔄 → ✅, отметить задачи
[x]
- Добавить запись в историю изменений
Статусы этапов
| Статус | Значение | Действие |
|---|
| ⬜ | Не начат | Выполнять |
| 🔄 | В работе | Продолжить |
| ✅ | Завершён | Пропустить |
Рекомендации следующего шага
| Ситуация | Рекомендация |
|---|
| Есть ещё этапы | /clear → "реализуй ТЗ" |
| Все этапы ✅ | skill "test-writer" → skill "gui-testing" → "merge-helper" |
Ссылки
References:
Связанные skills:
Архитектура: