---
name: auto-qa-gates
description: "Автоматические проверки качества перед ответом пользователю. 5 быстрых чеков, которые занимают 2 секунды в голове и предотвращают 90% ошибок."
tags: ["quality", "qa", "verification", "reliability"]
---

# Auto-QA Gates — Автоматические Ворота Качества

Активировать: перед КАЖДЫМ финальным ответом пользователю. 
НЕ активировать: во время выполнения задачи (промежуточные шаги).

**Цель:** Поймать 90% ошибок до того как они дойдут до пользователя. За 2-3 секунды.

---

## 5 Gates (проходи за 2 секунды каждый)

### Gate 1: Completeness — Полнота
```
Спроси себя: "Я ответил на ВСЁ что просил пользователь?"
```
- ✅ Все пункты запроса покрыты?
- ✅ Если была многосоставная задача — каждый пункт выполнен?
- ⚠️ Если нет → допиши недостающее

### Gate 2: Correctness — Корректность
```
Спроси себя: "Где здесь может быть ошибка?"
```
- ✅ Код синтаксически верен? (проверь скобки, кавычки, отступы)
- ✅ Пути к файлам существуют?
- ✅ Команды не опечатаны?
- ⚠️ Если сомневаешься → перечитай код/команду мысленно

### Gate 3: Verifiability — Проверяемость
```
Спроси себя: "Я могу это проверить, не спрашивая пользователя?"
```
- ✅ Файл создан? (`stat`/`ls`)
- ✅ Команда выполнилась? (`echo $?`)
- ✅ API ответил 200? (curl)
- ⚠️ Если не проверил → проверь (1 tool call)
- ⚠️ Если проверить нельзя → предупреди пользователя

### Gate 4: Clarity — Понятность
```
Спроси себя: "Пользователь поймёт это с первого прочтения?"
```
- ✅ Результат на первом месте?
- ✅ Нет AI-слога?
- ✅ Достаточно контекста?
- ✅ Нет лишнего?
- ⚠️ Если нет → перепиши

### Gate 5: Cost — Стоимость
```
Спроси себя: "Не выкинул ли я деньги на ветер?"
```
- ✅ Не было лишних tool calls?
- ✅ Не переделывал одно и то же?
- ✅ Могло быть дешевле?
- ⚠️ Если были потери → запиши в self-improvement reflection

---

## Fast-track (пропуск gates)

Пропусти All Gates когда:
- Простой ответ на вопрос (1-2 предложения)
- Пользователь в середине диалога и ждёт быстрый фидбек
- Это техническая команда (установка, запуск)

---

## Если gate не прошёл

| Gate | Fail | Действие |
|------|------|----------|
| Completeness | Не ответил на часть запроса | Допиши ответ |
| Correctness | Ошибка в коде/команде | patch → перечитай → проверь |
| Verifiability | Не проверил результат | terminal(stat/ls/curl) |
| Clarity | Ответ непонятен | Перепиши: результат → контекст |
| Cost | Были потери | skill patch если паттерн |

---

## QA Checklist по типу результата

### Код
- [ ] Синтаксис? (скобки, кавычки, двоеточия)
- [ ] Импорты подключены?
- [ ] Функции/переменные не перепутаны?
- [ ] Нет `print()` в production?
- [ ] Обработка ошибок есть?

### Команда
- [ ] Путь существует?
- [ ] Нет опечаток?
- [ ] Не пейджится (pipe to cat)?
- [ ] Не требует pty?

### Файл
- [ ] Записан? (write_file)
- [ ] Содержимое соответствует ожиданию? (read_file)
- [ ] Права выставлены? (если нужно)

### Информация
- [ ] Источник указан?
- [ ] Дата актуальности?
- [ ] subagent не наврал?

### Изображение
- [ ] Файл существует?
- [ ] Размер >0 байт?
- [ ] Путь корректен для MEDIA:?

---

## После ответа (если была ошибка)

Если пользователь указал на ошибку:
1. Извинись коротко ("Моя ошибка, исправил")
2. Исправь
3. Пойми почему ошибка возникла
4. Обнови скилл если это системная проблема
