# Skill: Communication Reporting ## Когда использовать Используй этот skill в каждом ответе пользователю после анализа, правки кода, ревью, аудита, планирования рефакторинга или подготовки PR. Особенно если задача затрагивает несколько файлов, backend/frontend boundary, security, Windows services или UI. ## Цель Писать так, чтобы человек с опытом разработки быстро понял суть без чтения технической простыни. Не упрощать до детского сада, но объяснять по-человечески: что поменялось, где, зачем, как проверить, где риск. Пользователь не обязан продираться через внутренний монолог агента и каталог аббревиатур. У него есть жизнь, возможно даже вне репозитория, страшно представить. ## Базовый формат ответа Для нетривиальных изменений используй такую структуру: ```text Коротко - 2-4 пункта: главный результат, важный риск, что проверить. Что изменилось по файлам | Файл | Что изменилось | Зачем | |---|---|---| | src/... | Кратко | Человеческая причина | Важные места - 3-6 конкретных мест: файл + функция/секция + смысл. Как проверить - Команды или ручные шаги. Что не проверено - Честно и коротко. Риски - Только реальные риски, не философия. ``` Если изменение маленькое, можно сократить до: ```text Коротко: ... Файлы: - `path`: что и зачем. Проверка: ... ``` ## Правила ясности - Сначала вывод, потом детали. - Не писать длиннее, чем нужно для решения задачи. - Не перечислять каждую строку diff. Указывать только смысловые изменения. - Всегда называть конкретные файлы. - Для сложных мест указывать функцию, модуль или секцию, если это помогает найти код. - Если используешь термин, рядом дать короткое человеческое объяснение. - Не использовать аббревиатуры без расшифровки при первом упоминании, кроме очевидных: UI, JSON, URL, API. - Не писать «улучшена архитектура» без объяснения, что именно стало проще или безопаснее. - Не писать «всё готово», если часть проверок не запускалась. - Не скрывать ошибки окружения. Если `cargo` или Windows недоступны, так и сказать. ## Как объяснять технические изменения Плохо: ```text Refactored orchestration layer and extracted imperative use-case side effects into composable boundaries. ``` Хорошо: ```text Вынес запуск service-команд из большого `commands.rs` в отдельный модуль. Теперь Tauri command только принимает запрос и возвращает ошибку, а вся Windows-логика лежит отдельно. Так проще тестировать и меньше шанс сломать соседние команды. ``` Плохо: ```text Added CSP hardening. ``` Хорошо: ```text Включил CSP в `src-tauri/tauri.conf.json`. Это ограничивает, какие скрипты/ресурсы может загрузить webview, и снижает ущерб, если в UI когда-нибудь появится XSS. ``` ## Уровни детализации По умолчанию — средний уровень: - достаточно конкретно, чтобы разработчик понял diff; - без пересказа каждой строки; - без внутренних рассуждений агента; - без длинной теории. Если пользователь просит глубже, добавь раздел: ```text Детальнее - ... ``` Если пользователь просит совсем кратко, оставь только: ```text Коротко Файлы Проверка ``` ## Таблица файлов Для 2+ файлов почти всегда используй таблицу: | Файл | Тип изменения | Смысл | |---|---|---| | `src/api/tauriCommands.ts` | API boundary | Добавлен typed wrapper для новой Tauri command | | `src-tauri/src/commands.rs` | Backend | Добавлена команда, которая вызывает уже существующую service-логику | Правила: - Не вставлять огромные таблицы на 30 строк. Группировать мелкие файлы. - В колонке `Смысл` писать человеческую причину, не только «обновлено». - Если файл опасный, отметить это: `security-sensitive`, `Windows/elevation`, `storage`, `routing`. ## Как писать про риски Риск должен быть конкретным: Плохо: ```text Есть некоторые риски. ``` Хорошо: ```text Риск: я не запускал real Windows service flow, поэтому install/start/stop надо проверить на Windows 10/11 с UAC. ``` Плохо: ```text Может быть несовместимость. ``` Хорошо: ```text Риск: если у пользователя уже стоит чужая служба с похожим именем ProxiFyre, fuzzy detection может показать ее кандидатом. Управлять ей нельзя без проверки `PathName`. ``` ## Как писать про проверки Разделяй выполненное и невыполненное: ```text Проверено - `npm run build` — прошел. - Markdown-файлы открываются, битых путей не нашел. Не проверено - `cargo test` — не запускал, в среде нет Rust toolchain. - Windows service flow — не проверял, нужна Windows-машина с UAC. ``` Не объединять это в мутное «тесты частично пройдены». Машины и люди заслуживают хотя бы грамм конкретики. ## Запрещенный стиль Не писать: - огромные абзацы без заголовков; - «магия», «оптимизировано», «улучшено» без конкретики; - внутренний дневник действий агента; - цепочки мыслей; - список всех строк diff; - рекламный тон; - уверенные заявления о непроверенных Windows/elevation сценариях; - «как вы и просили, я с радостью...» — репозиторий от этого лучше не станет. ## Мини-шаблоны ### Для bugfix ```text Коротко - Исправил ... - Основной риск был ... - Проверка: ... Что изменилось по файлам | Файл | Что изменилось | Зачем | |---|---|---| Важные места - `file`: ... Проверено - ... Не проверено - ... ``` ### Для ревью без правок ```text Коротко - Самая важная проблема: ... - Второй приоритет: ... - Быстрый выигрыш: ... Что я смотрел - ... Проблемы по важности 1. Critical/High: ... 2. Medium: ... 3. Low: ... Что бы я сделал первым - ... ``` ### Для плана изменений ```text Коротко - Цель: ... - Затронет: ... - Не трогаем: ... План по файлам | Файл/зона | Что сделать | Почему | |---|---|---| Порядок работ 1. ... 2. ... 3. ... Проверка - ... ```