---
name: init-agent
description: Генерирует qa_agent.md — должностную инструкцию для AI с культурой QA-команды, принципами и anti-patterns. Используй при настройке AI под проект, онбординге новых AI-агентов или стандартизации подходов к тестированию. Не используй для редактирования существующего qa_agent.md — правь вручную.
allowed-tools: "Read Write Edit Glob Grep"
agent: agents/auditor.md
context: fork
---

# /init-agent — Генератор qa_agent.md

<purpose>
Создание "должностной инструкции" для AI: mindset, anti-patterns, quality gates.
Фокус: QA-инженеры широкого профиля (API, UI, Mobile, Performance).
</purpose>

## Перед началом

Прочитай `.claude/qa_agent.md`.

## Когда использовать

- Настройка AI под культуру конкретной QA-команды
- Стандартизация подходов к тестированию
- Онбординг новых AI-агентов в проект

## Алгоритм выполнения

## Verbosity Protocol

**Structured Output Priority:** Весь analysis идёт в артефакт (MD/HTML), не в чат.

**Chat output (ограничения):**
- Brief Summary: max 5 строк (что нашли, сколько, итог)
- Findings table: max 15 строк (топ по severity)
- Полный отчёт: `📊 Полный отчёт: {path}` + открыть файл

**Iterative steps:** Не выводить прогресс по каждому файлу. Checkpoint только при:
- Phase transition (Фаза N → Фаза N+1)
- Blocker обнаружен
- Завершение (SKILL COMPLETE)

**Tools first:**
- Grep → table → report, без "Now I will grep..."
- Read → analyze → report, без "The file shows..."

**Post-Check:** Inline перед SKILL COMPLETE (5-7 строк checklist), не отдельный файл.

### Шаг 1: Определи профиль QA

Спроси пользователя или определи по проекту:

```
Какой тип тестирования преобладает?

1. API Testing — REST/GraphQL, контрактное тестирование
2. UI/E2E Testing — Web (Playwright/Selenium), Mobile (Appium)
3. Performance Testing — нагрузочное, стресс-тестирование
4. Security Testing — OWASP, пентест
5. Mixed — комбинация нескольких типов
```

### Обработка ошибок Шага 1

**`references/qa-profiles.md` не найден** → Используй встроенные принципы из секции "Шаг 4: Quality Gates" и перейди к Шагу 4 напрямую.

**Профиль неоднозначен** (пользователь ответил размыто) → Уточни одним вопросом:

```
Назови 1-2 типа задач, которые занимают > 70% времени команды:
REST API тесты / UI автоматизация / Нагрузочное / Пентест
```

**`qa_agent.md` уже существует** → Предупреди: "Файл существует. Перезаписать? (да / нет)". Не перезаписывай без подтверждения.

### Шаг 2: Выбери Core Principles

Прочитай `references/qa-profiles.md` и выбери принципы по профилю из Шага 1:

- Всегда включай **Универсальные принципы** (5 принципов)
- Добавь принципы для конкретного профиля (API/UI/Performance/Security)
- Для Mixed профиля — объедини принципы всех релевантных категорий

### Шаг 3: Собери Anti-Patterns

Из `references/qa-profiles.md` выбери релевантные анти-паттерны:

- Всегда включай **Универсальные Anti-Patterns** (8 записей)
- Добавь специфичные для профиля (если применимо)
- Сформируй единую таблицу для секции "Anti-Patterns (BANNED)"

### Шаг 4: Определи Quality Gates

```markdown
## Quality Gates

### Перед коммитом
- [ ] Код компилируется без ошибок
- [ ] Тесты проходят локально
- [ ] Нет хардкода (ID, email, телефоны)
- [ ] Cleanup работает

### Перед PR
- [ ] Тесты изолированы (можно запустить в любом порядке)
- [ ] Naming convention соблюдён
- [ ] Нет закомментированного кода
- [ ] Покрытие критичных сценариев

### Перед релизом
- [ ] Все тесты зелёные в CI
- [ ] Нет flaky тестов
- [ ] Performance baseline не деградировал
```

### Шаг 5: Генерация qa_agent.md

```markdown
# QA Agent: [Профиль]

## Core Mindset

[3-5 принципов из Шага 2]

## Anti-Patterns (BANNED)

[Таблица из Шага 3]

## Quality Gates

[Чек-листы из Шага 4]

## Test Design

### Структура теста (AAA)
```[язык]
// Arrange — подготовка
// Act — действие
// Assert — проверка
```

### Naming Convention
```
`[actor] can [action] when [condition]`
`[actor] cannot [action] when [condition]`
```

## Data Management

### Генерация уникальных данных
[Пример для выбранного языка]

### Cleanup Pattern
[Пример try-finally для выбранного языка]

## Cross-Skill Protocol

1. `/spec-audit` → проверь требования
2. `/testcases` → напиши тест-кейсы
3. `/api-tests` → автоматизируй

**Не прыгай сразу к коду!**
```

## Вывод

Сохрани в `.claude/qa_agent.md`

## Пример диалога

```
User: /init-agent

AI: Какой профиль QA-инженера?
1. API Testing
2. UI/E2E Testing
3. Performance Testing
4. Security Testing
5. Mixed (универсальный)

User: 5

AI: Генерирую qa_agent.md для универсального QA...

[Показывает файл с принципами из всех категорий]

Сохранить в .claude/qa_agent.md? (y/n)
```

## Self-Check (перед сохранением)

- [ ] **Core Principles:** 3-5 принципов выбраны и заполнены?
- [ ] **Anti-Patterns:** Таблица содержит минимум 5 записей?
- [ ] **Quality Gates:** Все 3 секции (коммит/PR/релиз) присутствуют?
- [ ] **No placeholders:** Нет оставшихся `[xxx]` в тексте?
- [ ] **Cross-Skill Protocol:** Секция присутствует с `/spec-audit` → `/testcases` → `/api-tests`?

## Связанные файлы

- Шаблон: `.claude/skills/init-agent/references/qa-agent-template.md`
- Профили QA: `.claude/skills/init-agent/references/qa-profiles.md`
- Полный гайд: `docs/ai-files-handbook.md`
