feat(plugin): команда /222a-audit (полный цикл аудита)

This commit is contained in:
Alex 2026-05-22 19:13:57 +02:00
parent bfe79f565a
commit abca4c788b

View File

@ -0,0 +1,40 @@
---
description: Запустить SEO-аудит сайта и показать executive summary
argument-hint: <url или project_id>
---
Пользователь хочет провести полный SEO-аудит. Аргумент: `$ARGUMENTS`
## Шаги
1. **Определить project_id:**
- Если аргумент похож на URL — вызови `list_projects` и найди проект, у которого `url` или `domain` совпадает с аргументом.
- Если нашёл — используй его `project_id`.
- Если не нашёл — спроси пользователя подтверждение и вызови `create_project` с этим URL.
- Если аргумент — число/uuid — используй как `project_id` напрямую.
- Если аргумент пустой — вызови `list_projects` и попроси пользователя выбрать проект.
2. **Запустить аудит:**
- Вызови `start_audit` с найденным `project_id`.
- Сохрани `audit_run_id` из ответа — он понадобится для следующих шагов и должен оставаться видимым пользователю.
3. **Polling статуса:**
- Вызывай `get_audit_status` с возрастающим интервалом: 10s → 30s → 60s → 60s...
- Не делай tight loop. На каждой итерации показывай пользователю короткий статус (прогресс/этап).
- Останавливайся когда `status` = `completed` (успех) или `failed`/`cancelled` (показать причину).
4. **Executive summary:**
- При успехе вызови `get_executive_summary` для этого `audit_run_id`.
- Покажи пользователю результат: краткое резюме, топ-проблемы, ключевые метрики.
5. **Сохранить артефакт:**
- Если есть `mcp.write` (если scope позволяет) — вызови `save_audit_artifact` с типом `executive_summary`, `source="claude-code"`, телом полученного summary.
- Если `mcp.write` нет — пропусти этот шаг молча.
6. **Финальный вывод:**
- Покажи `audit_run_id` и подскажи следующие команды: `/222a-issue <code>` для разбора проблемы, `/222a-report` для client report, `/222a-progress` для сравнения с предыдущим аудитом.
## Замечания
- При ошибках `mcp.write` (scope error) — сообщи пользователю «токен без `mcp.write` — артефакт не сохранён», но не прерывай вывод executive summary.
- Если `start_audit` падает с «project not in current team» — попроси пользователя проверить, что токен от того же аккаунта, в котором создан проект.