github-issues
/github-issues
**UNIVERSAL TRIGGER**: Use when user mentions GitHub issue URL or asks to read/work with GitHub issues. **Default handler**: Bare GitHub issue URL without action verb -> github-issues (read mode). If user sends just a URL like "https://github.com/org/repo/issues/42" with no action word, this skill handles it. **CRITICAL RULE**: ALWAYS use `gh` CLI for GitHub issues, NEVER use WebFetch! **Reading**: "read issue #N", "show issue", "прочитай задачу" ✅ **Checkboxes**: "mark done", "complete step", "отметь пункт" **Sub-issues**: "create sub-issue", "link as child", "подзадача" **Management**: "edit
- Author
- dapi ↗
- Repository
- claude-code-marketplace ↗
- Licence
- MIT
- Last repository change
- 31.08.2026
Assessment and security
- Files in this package
- 2
- Scripts
- 0
- HTML comments
- 0
- URLs in SKILL.md
- 10
No signals detected. Repository changed on 31.08.2026, without references to retired models or APIs.
MIT, open: use and modify while retaining author attribution.
What it does and when to use it
**UNIVERSAL TRIGGER**: Use when user mentions GitHub issue URL or asks to read/work with GitHub issues. **Default handler**: Bare GitHub issue URL without action verb -> github-issues (read mode). If user sends just a URL like "https://github.com/org/repo/issues/42" with no action word, this skill handles it. **CRITICAL RULE**: ALWAYS use `gh` CLI for GitHub issues, NEVER use WebFetch! **Reading**: "read issue #N", "show issue", "прочитай задачу" ✅ **Checkboxes**: "mark done", "complete step", "отметь пункт" **Sub-issues**: "create sub-issue", "link as child", "подзадача" **Management**: "edit
Triggers from the description
Original author description
**UNIVERSAL TRIGGER**: Use when user mentions GitHub issue URL or asks to read/work with GitHub issues. **Default handler**: Bare GitHub issue URL without action verb -> github-issues (read mode). If user sends just a URL like "https://github.com/org/repo/issues/42" with no action word, this skill handles it. **CRITICAL RULE**: ALWAYS use `gh` CLI for GitHub issues, NEVER use WebFetch! **Reading**: "read issue #N", "show issue", "прочитай задачу" ✅ **Checkboxes**: "mark done", "complete step", "отметь пункт" **Sub-issues**: "create sub-issue", "link as child", "подзадача" **Management**: "edit
How it works
- КРИТИЧЕСКИЕ ПРАВИЛА
- Проверка зависимостей
- Команды
- Парсинг checkboxes
- Извлечение owner/repo из URL
- Важные замечания
- Скачивание изображений из issue
- Примеры сценариев
SKILL.md preview
---
name: github-issues
description: |
**UNIVERSAL TRIGGER**: Use when user mentions GitHub issue URL or asks to read/work with GitHub issues.
**Default handler**: Bare GitHub issue URL without action verb -> github-issues (read mode).
If user sends just a URL like "https://github.com/org/repo/issues/42" with no action word, this skill handles it.
**CRITICAL RULE**: ALWAYS use `gh` CLI for GitHub issues, NEVER use WebFetch!
**Reading**: "read issue #N", "show issue", "прочитай задачу"
✅ **Checkboxes**: "mark done", "complete step", "отметь пункт"
**Sub-issues**: "create sub-issue", "link as child", "подзадача"
**Management**: "edit issue", "close issue", "add label"
️ **Images**: "download images from issue", "скачать картинки"
TRIGGERS:
github.com/issues, issue #, read issue, show issue, view issue,
прочитай issue, покажи issue, задача
✅ checkbox, mark done, complete step, check off,
отметь пункт, закрой этап
sub-issue, subtask, child issue, parent issue,
подзадача, создай подзадачу
edit issue, close issue, reopen issue, issue labels,
create issue, update task
️ download images, issue attachments, скачать картинки
allowed-tools: Bash, Read
---
# GitHub Issues Management Skill
Управление GitHub issues через `gh` CLI с поддержкой sub-issues и атомарных операций над checkboxes.
## КРИТИЧЕСКИЕ ПРАВИЛА
### 1. ВСЕГДА использовать `gh`, НИКОГДА WebFetch
```bash
# ПРАВИЛЬНО
gh issue view 123 -R owner/repo
# НЕПРАВИЛЬНО - НЕ ДЕЛАЙ ТАК!
# WebFetch для github.com/.../issues/...
```
### 2. Переименование вкладки zellij при начале работы с issue
Когда пользователь **начинает работу** с issue (читает issue, изучает задачу, обсуждает реализацию), переименуй вкладку zellij:
```bash
zellij-rename-tab-to-issue-number <ISSUE_NUMBER>
```
Скрипт безопасен: если мы не внутри zellij -- ничего не произойдёт.
**Когда вызывать:**
- Пользователь просит прочитать/показать issue
- Пользователь начинает обсуждать задачу из issue
- Первое обращение к issue в сессии
**Когда НЕ вызывать:**
- Отметка checkbox (мелкая операция)
- Закрытие/открытие issue
- Работа с labels
### 3. Атомарные операции с checkboxes (без кеша!)
**ВАЖНО**: При отметке checkbox ВСЕГДА выполняй атомарную операцию fetch→modify→push в ОДНОЙ команде. Это предотвращает конфликты при параллельной работе нескольких агентов.
```bash
# Атомарная отметка checkbox (fetch → modify → push) — ОДНОЙ СТРОКОЙ!
gh issue view 123 -R owner/repo --json body -q .body | sed 's/- \[ \] Точный текст пункта/- [x] Точный текст пункта/' | gh issue edit 123 -R owner/repo --body-file -
```
**ВАЖНО**: Команда должна быть в ОДНУ строку без `\` переносов — иначе ошибка в zsh.
**НИКОГДА** не кешируй body issue! Всегда скачивай заново перед изменением.
### 4. Сначала отметить — потом продолжать
После выполнения любого пункта/этапа/шага:
1. **СНАЧАЛА** отметить как выполненный в issue
2. **ПОТОМ** переходить к следующему
## Проверка зависимостей
При первом использовании проверь установленные расширения:
```bash
gh extension list
```
Если расширения отсутствуют — предложи установить:
```bash
# Для работы с sub-issues
gh extension install yahsan2/gh-sub-issue
# Для расширенного project management (опционально)
gh extension install rubrical-studios/gh-pmu
```
## Команды
### Чтение issue
```bash
# Полный вывод
gh issue view 123 -R owner/repo
# Только body (для парсинга checkboxes)
gh issue view 123 -R owner/repo --json body -q .body
# С комментариями
gh issue view 123 -R owner/repo --comments
# JSON со всеми полями
gh issue view 123 -R owner/repo --json title,body,state,labels
```
### Редактирование issue
```bash
# Изменить заголовок
gh issue edit 123 -R owner/repo --title "Новый заголовок"
# Изменить body
gh issue edit 123 -R owner/repo --body "Новый текст"
# Body из файла или stdin
gh issue edit 123 -R owner/repo --body-file -
# Добавить labels
gh issue edit 123 -R owner/repo --add-label "in-progress"
```
### Атомарная отметка checkbox
```bash
# Шаблон (ОДНОЙ СТРОКОЙ!):
gh issue view NUMBER -R owner/repo --json body -q .body | sed 's/- \[ \] ТОЧНЫЙ_ТЕКСТ/- [x] ТОЧНЫЙ_ТЕКСТ/' | gh issue edit NUMBER -R owner/repo --body-file -
```
**Пример с реальным пунктом:**
```bash
# Было: - [ ] Создать структуру базы данных → Стало: - [x] ...
gh issue view 45 -R dapi/myproject --json body -q .body | sed 's/- \[ \] Создать структуру базы данных/- [x] Создать структуру базы данных/' | gh issue edit 45 -R dapi/myproject --body-file -
```
**Для пунктов с номерами:**
```bash
# Было: - [ ] 1. Первый этап
gh issue view 45 -R owner/repo --json body -q .body | sed 's/- \[ \] 1\. Первый этап/- [x] 1. Первый этап/' | gh issue edit 45 -R owner/repo --body-file -
```
### Sub-issues (требует gh-sub-issue)
```bash
# Список sub-issues родителя
gh sub-issue list 123 -R owner/repo
# Создать новый sub-issue
gh sub-issue create --parent 123 --title "Подзадача" -R owner/repo
# Связать существующий issue как sub-issue (ОДИН репозиторий)
gh sub-issue add 123 456 -R owner/repo
# Связать issue из РАЗНЫХ репозиториев — используй ПОЛНЫЕ URL!
# ВАЖНО: формат owner/repo#123 НЕ работает, только полные URL
gh sub-issue add https://github.com/owner/repo/issues/123 https://github.com/other-owner/other-repo/issues/456
# Удалить связь
gh sub-issue remove 123 456 -R owner/repo
```
### Создание и закрытие
```bash
# Создать issue
gh issue create -R owner/repo --title "Заголовок" --body "Описание"
# Закрыть issue
gh issue close 123 -R owner/repo
# Открыть заново
gh issue reopen 123 -R owner/repo
```
## Парсинг checkboxes
Для получения списка checkboxes из issue:
```bash
# Все checkboxes
gh issue view 123 -R owner/repo --json body -q .body | grep -E '^\s*- \[([ x])\]'
# Только невыполненные
gh issue view 123 -R owner/repo --json body -q .body | grep -E '^\s*- \[ \]'
# Только выполненные
gh issue view 123 -R owner/repo --json body -q .body | grep -E '^\s*- \[x\]'
```
## Извлечение owner/repo из URL
```bash
# Из URL вида https://github.com/owner/repo/issues/123
# owner/repo = dapi/claude-code-marketplace
# number = 123
# Пример парсинга в bash:
URL="https://github.com/dapi/myrepo/issues/45"
REPO=$(echo "$URL" | sed -E 's|https://github.com/([^/]+/[^/]+)/issues/([0-9]+)|\1|')
NUMBER=$(echo "$URL" | sed -E 's|https://github.com/([^/]+/[^/]+)/issues/([0-9]+)|\2|')
```
## Важные замечания
1. **Экранирование в sed**: Если текст пункта содержит спецсимволы (`/`, `.`, `*`), их нужно экранировать
2. **Точное совпадение**: Используй точный текст checkbox, включая пробелы
3. **Проверка результата**: После изменения можно проверить `gh issue view` что checkbox отмечен
4. **Параллельная работа**: Атомарная операция минимизирует риск конфликтов, но не исключает их полностью при одновременном редактировании одного пункта
## Скачивание изображений из issue
Если в issue прикреплены изображения и нужно их скачать:
```bash
# Получить body и извлечь URL изображений, затем скачать каждое
gh api repos/OWNER/REPO/issues/123 --jq '.body' | grep -oP 'https://user-images\.githubusercontent\.com/[^)]+' | while read url; do
curl -O "$url"
done
```
**Примечание**: Изображения хранятся на `user-images.githubusercontent.com`. Этот паттерн работает для стандартных вложений GitHub. Для изображений из других источников (внешние URL) может потребоваться модификация regex.
## Примеры сценариев
### Выполнить пункт из issue
```bash
# 1. Прочитать issue
gh issue view 123 -R owner/repo
# 2. Выполнить работу по пункту "Написать тесты"
# ... (выполняем работу)
# 3. СРАЗУ отметить как выполненный (атомарно, ОДНОЙ СТРОКОЙ!)
gh issue view 123 -R owner/repo --json body -q .body | sed 's/- \[ \] Написать тесты/- [x] Написать тесты/' | gh issue edit 123 -R owner/repo --body-file -
# 4. Только теперь переходить к следующему пункту
```
### Работа с sub-issues
```bash
# 1. Проверить расширение
gh extension list | grep sub-issue || gh extension install yahsan2/gh-sub-issue
# 2. Посмотреть структуру
gh sub-issue list 123 -R owner/repo
# 3. Создать подзадачу для сложного пункта
gh sub-issue create --parent 123 --title "Реализовать API авторизации" -R owner/repo
# 4. Связать issue из ДРУГОГО репозитория как sub-issue
# ВАЖНО: только полные URL работают для cross-repo!
gh sub-issue add https://github.com/owner/parent-repo/issues/123 https://github.com/owner/child-repo/issues/456
```
Files in this package (2)
- SKILL.md 11 KB
- TRIGGER_EXAMPLES.md 4 KB
Versions
| Repository | Score | Licence |
|---|---|---|
| This page · dapi/claude-code-marketplace | 87 | MIT |
| github/awesome-copilot | 100 | MIT |
| atc-net/atc-agentic-toolkit | 100 | MIT |
| getsentry/junior | 100 | Apache-2.0 |
| EpicenterHQ/epicenter | 100 | MIT |
| dezkareid/ai-team | 100 | MIT |
| HelixDevelopment/agent | 100 | MIT |
| kid-sid/codex-spellbook | 100 | MIT |
| gitaroktato/harness-engineering-technology-landscape | 90 | MIT |
Database snapshot: 13.11.2026 · package version a030ea1fa815 (SHA-256 digest of the entire package)
Downloads in the last 30 days: 0 · ranking
Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.
Similar skills
- 100github-navigator
GitHub operations via gh CLI. CRITICAL: Use instead of WebFetch for any `github.com` URL or GitHub repo path like `owner/repo`. Use when the user asks to inspect repositories, files, issues, pull requests, releases, Actions runs, or repository structure. Use when the user says… - 100create-issue
Turn a feature request or a finished implementation plan into GitHub issues grounded in the real code, then create them with the gh CLI. A plan with several tasks becomes one parent issue with one sub-issue per task. Use when the user says "create an issue", "file this as… - 100issue-handler
处理 GitHub Issue:阅读留言、调研问题、生成报告文档、回复 issue 互动。当用户说"处理 issue"、"回答 issue"、"做这个 issue"、"handle issue"、"看看 issue"时触发。 - 100create-github-issue
Create GitHub issues using the gh CLI. Use when the user wants to create a new issue, report a bug, request a feature, or create a task in GitHub. Trigger keywords - create issue, new issue, file bug, report bug, feature request, github issue. - 90issues
把项目待办与记忆放进 GitHub issues。来自审读、审计或用户的每条审查发现都可归档为独立 issue 并避免重复;列出与当前工作相关的未关闭 issue;关闭时用评论记录原问题、尝试过的方法、有效方案和最终修复。当审查发现或问题需要跟踪时(论文误导性断言、代码 bug、日后改进),在开工/续接并决定下一步时,或修复落地后需要带记录关闭 issue 时使用。需要 GitHub CLI;发布到公开仓库前会警告。用户说 "file issues"、"list issues"、"close issue"、"归档审查发现" 或 "列出待办 issue" 时也使用。 - 100github-issue-hierarchy
Create GitHub issues with optional parent/sub-issue relationships and organization issue types. Use when the user asks to create, link, or retag GitHub issues, especially when they mention a parent issue, sub-issues, tasks, bugs, epics, or cross-repo issue hierarchy.