report-issue · git:20260929.abef422 · 2026-09-29 · sha256 ddc8938c807b1df8

report-issue git:20260929.abef422A

Immutable. This exact content never changes and is served at /api/v1/blob/ddc8938c807b1df8.

---
name: report-issue
description: Дефект или пожелание - в репозиторий набора скилов или плагина AI-EDT. Используй когда скрипт скила падает или дает неверный результат, правило расходится с поведением платформы или плагина, инструмент AI-EDT работает не так, как описан, либо пользователь просит сообщить разработчикам, завести issue, отправить баг или пожелание
argument-hint: "[дефект|пожелание]"
allowed-tools:
  - Bash
  - Read
  - Write
  - AskUserQuestion
---

# /report-issue - дефект или пожелание разработчикам набора

Готовит issue в репозиторий набора или плагина AI-EDT: проверяет, что дефект наш, ищет дубликат,
собирает обезличенный черновик, проверяет его скриптом на приватные данные и отправляет только после
согласия пользователя.

## Когда НЕ применять

- Ошибка в конфигурации, данных или настройках пользователя, а не в скиле, правиле или плагине -
  объяснить пользователю, issue не заводить.
- Сбой среды: нет платформы, не запущена EDT, нет прав, нет сети.
- Чужой продукт: платформа 1С, другой плагин EDT, Claude Code, Cursor - назвать, куда сообщить,
  самому не отправлять.
- Вопрос или обсуждение без дефекта - Telegram: [Скилы и правила](https://t.me/AI_EDT_1c/25),
  [Плагин](https://t.me/AI_EDT_1c/23).

## Куда

| Что | Репозиторий |
|---|---|
| Скрипт скила или правило, агент в Claude Code | `Desko77/claude-code-skills-1c` |
| Скрипт скила или правило, агент в Cursor | `Desko77/cursor-1c-skills` |
| Инструмент MCP-сервера AI-EDT (ключ `ai-edt`) | `Desko77/ai-edt` |

Метки: дефект - `bug`, пожелание - `enhancement`; всегда `from-agent`.

## Шаги

1. **Убедиться, что дефект наш.** Назвать скил, правило или инструмент и воспроизведение: команда,
   вход, фактический результат, ожидаемый результат. Готово, когда воспроизведение есть, а не
   догадка о причине.
2. **Найти дубликат.** При установленном `gh`: `gh issue list --repo <репозиторий> --state all
   --search "<ключевые слова>"`. Без `gh` - дать пользователю ссылку
   `https://github.com/<репозиторий>/issues?q=<ключевые слова>`. Нашлась такая же issue - предложить
   дописать в нее комментарий вместо новой. Готово, когда поиск выполнен и результат назван.
3. **Черновик.** Текст записать во временный файл вне репозитория пользователя (каталог временных
   файлов). Заголовок: `<скил или инструмент>: <что не так>`, до 80 символов.
   - Дефект - разделы "Что произошло", "Как воспроизвести", "Ожидалось", "Среда" (версия набора или
     плагина, Claude Code или Cursor, PowerShell или Python, версия платформы 1С, ОС).
   - Пожелание - разделы "Задача", "Чего не хватает", "Как могло бы работать".
   - Обезличивание: объекты - `Catalog.Товары`, `Document.Продажа`; путь - `C:/Projects/my-project`;
     база - `my-base`. Текст ошибки платформы и код выхода сохраняются дословно. Фрагмент кода -
     минимальный, на обобщенных именах. Выгрузки, логи целиком и скриншоты с данными не прикладываются.

   Готово, когда черновик заполнен по разделам своего вида.
4. **Проверить скриптом.**

   ```powershell
   pwsh -NoProfile -File "<каталог скила>/scripts/issue-draft.ps1" -Repo "<репозиторий>" -Title "<заголовок>" -BodyFile "<черновик>" -Labels "bug,from-agent"
   ```

   ```bash
   python "<каталог скила>/scripts/issue-draft.py" -Repo "<репозиторий>" -Title "<заголовок>" -BodyFile "<черновик>" -Labels "bug,from-agent"
   ```

   Код 1 - в stderr перечень находок с номерами строк (пути, домашние каталоги, IP, почта, пароли и
   токены, строки соединения `Srvr`/`Ref`, UUID кроме нулевого, ссылки вне github.com, t.me и сайтов
   1С); исправить каждую и повторить. Код 0 - в stdout ссылка на создание issue. Имена заказчика
   скрипт не знает: после кода 0 перечитать черновик на имена конфигураций, расширений, префиксы
   объектов, названия организаций и людей. Готово, когда код 0 и черновик перечитан.
5. **Согласие пользователя.** Показать заголовок и текст целиком, назвать репозиторий и метки,
   спросить разрешение. Без явного согласия не отправлять. Готово, когда ответ получен.
6. **Отправить.**
   - `gh auth status` с кодом 0: `gh issue create --repo <репозиторий> --title "<заголовок>"
     --body-file <черновик> --label bug --label from-agent`. Отказ из-за отсутствующей метки -
     повторить без нее.
   - Иначе - передать пользователю ссылку из вывода скрипта: он открывает ее и нажимает Submit. Текст
     длиннее предела ссылки - ссылка несет заголовок и метки, текст передать для вставки.

   Готово, когда пользователь получил ссылку на созданную issue либо ссылку для ее создания.
7. **Удалить временный файл черновика.**