GitHub Issues хранит задачи рядом с файлами проекта. В карточке можно описать ошибку или нужное изменение, обсудить детали и сохранить подтверждение результата. Это помогает, когда работа растягивается на несколько дней или её выполняет другой человек либо ИИ-агент.

Разберём, какую информацию положить в задачу, как связать её с изменением файлов и когда закрывать. Понадобятся аккаунт GitHub и доступ к репозиторию, где включён раздел Issues. Программировать для этого не обязательно.

Порядок действий сверён с документацией GitHub 3 октября 2026 года. Создание и закрытие задач в аккаунте при подготовке не выполнялись.

Что находится в карточке задачи

Отдельная карточка называется issue. У неё есть заголовок, описание, номер, адрес и обсуждение. Номер имеет смысл внутри конкретного репозитория: задача #12 в двух проектах — две разные задачи.

Репозиторий хранит файлы и их историю. Issue описывает работу с ними, но сама файлы не меняет. Для предложения конкретной правки используют Pull Request, то есть запрос на включение изменений из другой ветки. А Projects помогает увидеть несколько задач на общей доске.

ЭлементЧто в нём фиксировать
ЗаголовокОдно конкретное изменение или наблюдаемую проблему
ОписаниеКонтекст, нужный результат и способ проверки
КомментарииУточнения, решения и результат выполнения
Labels — меткиТип или направление работы по правилам проекта
Assignees — исполнителиКто отвечает за работу

Назначение исполнителя и установка меток зависят от прав. Для первого обращения достаточно понятного заголовка и описания; остальные поля не заменят постановку задачи. Создание issue и права участников.

Сначала найдите, не обсуждалась ли задача раньше

Откройте нужный репозиторий и вкладку Issues. Сверьте владельца и название проекта. Посмотрите открытые и закрытые карточки по ключевым словам: возможно, решение уже есть или работа ведётся.

Для сообщения об ошибке прочитайте README и CONTRIBUTING.md, если он существует: автор может просить использовать форму, другую площадку или определённый набор сведений. Если раздел Issues отсутствует, найдите указанный в README канал помощи. В своём проекте администратор может включить Issues в Settings → General → Features.

Если похожая карточка найдена, добавьте к ней новые сведения, когда это допускают правила. Повтор имеет смысл только при другой проблеме, которую нельзя точно описать в существующей задаче.

Опишите изменение так, чтобы его можно было принять

Нажмите New issue. Выберите подходящую форму, а если разрешена пустая карточка — заполните её самостоятельно. Формы разных проектов отличаются: обязательные поля нужны их сопровождающим.

Представим, что команда хранит в репозитории шаблон встречи meeting-notes.md. В нём есть решения, но после разговора непонятно, кто сделает следующий шаг. Заголовок «Улучшить встречи» слишком широк. «Добавить действие, ответственного и срок в шаблон встречи» задаёт границу работы.

Описание может выглядеть так:

## Контекст
В meeting-notes.md есть раздел «Решения», но нет места для следующего действия.

## Что изменить
После решений добавить раздел «Следующий шаг».
В нём должны быть поля: действие, ответственный, срок.
Остальные разделы оставить.

## Как проверить
Открыть сохранённый файл и заполнить один пример.
Проверить порядок разделов и наличие всех трёх полей.

Это пример постановки задачи, а не готовая карточка вашего проекта. Подставьте фактический файл и ожидаемое поведение. Для ссылки на проблемный фрагмент удобно использовать адрес файла или конкретного коммита: будущие изменения тогда не сотрут исходный контекст.

Для ошибки вместо пожелания укажите последовательность действий, ожидаемый и фактический результат, версию программы и сообщение об ошибке. Например: «В README нажимаю “Шаблон заметок”; ожидаю meeting-notes.md, открывается отсутствующий notes.md». Такой текст даёт исполнителю воспроизводимый случай.

Откройте Preview, проверьте ссылки и содержание, затем нажмите Submit new issue. Сохраните адрес созданной карточки. Результат этого шага — зафиксированная задача; выполненной она ещё не стала.

Как вести работу, не теряя контекст

Уточнения пишите в карточке: какие файлы затронуты, что решили и какая часть остаётся неизвестной. Ссылки на обсуждения полезнее пересказа по памяти.

Если работу делает коллега или агент, описание должно объяснять исходное состояние, границы изменений и приёмку. «Починить всё» не даёт ни понятного объёма, ни способа проверить результат. Обнаруженную по ходу другую проблему обычно стоит выделить в отдельную задачу со ссылкой на исходную.

Исполнитель меняет файлы по процедуре проекта. В общем репозитории это часто отдельная ветка и Pull Request. Приложите к issue ссылку на PR: по ней можно увидеть, какие строки предлагают изменить и что осталось на проверке.

В описании PR можно написать Closes #12, заменив номер реальной задачей этого репозитория. GitHub связывает такой запрос с issue и закрывает её при слиянии в основную ветку по правилам этого механизма. Для PR в другую ветку ключевые слова работают иначе: автоматического закрытия ожидать не следует. Связь PR и issue.

Обычное упоминание #12 сохраняет ссылку в обсуждении, но само по себе не означает, что работа завершена.

Когда закрывать задачу

Сравните результат с критериями из описания. Для шаблона встречи это чтение итогового файла в нужной ветке и проверка трёх полей. Для ошибки программы — повтор исходных шагов на исправленной версии.

В комментарии укажите, что фактически проверили, и дайте ссылку на файл, коммит или запуск проверки. «Готово» без этого оставляет следующему читателю весь разбор заново.

Затем закройте issue, если есть права и результат соответствует задаче. Различайте завершённую работу и отказ от неё: доступная причина закрытия должна отражать решение. Если критерии не выполнены, оставьте задачу открытой и опишите расхождение. Автоматическое закрытие после merge тоже стоит сверить с реальным результатом, особенно если публикация или выпуск программы происходят отдельно.

Полезные сценарии

Передать небольшую работу другому человеку. У вас есть конкретный документ и понятный пробел. Укажите файл, желаемую правку и критерии; после выполнения проверьте итог и приложите подтверждение. Получится задача с прослеживаемым результатом. Назначение исполнителя не гарантирует срок: его нужно согласовать отдельно.

Сообщить автору программы об ошибке. Проблема воспроизводится на известной версии. Найдите прошлые обращения, заполните принятую форму и добавьте минимальные шаги воспроизведения. Автор получает случай, который может проверить. Не помещайте в логи токены, данные клиентов и другую закрытую информацию; для сообщения об уязвимости используйте указанный проектом частный канал.

Вернуться к незавершённой идее. Зафиксируйте полезное изменение, но явно напишите, что ещё нужно решить до начала работы. По карточке восстановите контекст и уточните критерии перед выполнением. Если нужен широкий выбор подхода, сначала удобнее обсуждение, а не задача с выдуманным решением.

Если карточка не приводит к результату

СитуацияЧто уточнить
Исполнитель не понимает, что делатьФайл, исходное поведение и ожидаемый результат
Работа завершена, но проверить её невозможноВерсию, ссылку и шаги проверки
Задача закрылась, а сайт не изменилсяЧто именно включено в основную ветку и как выпускается сайт
Нет кнопки редактирования или закрытияАккаунт, права и правила проекта
Проблема появилась сноваНовые шаги воспроизведения; возможность открыть карточку заново

Начните с одного изменения, которое сможете проверить. Хорошая issue хранит не только просьбу, но и ответ на вопрос, чем закончилась работа.

Следующий шаг

Когда задач станет несколько, соберите их на общей доске: GitHub Projects — управление задачами AI-агентов.

Если вы передаёте работу коллегам или ИИ-агентам, начните с одной задачи и проверьте, хватает ли её описания для самостоятельного выполнения.

Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov.