SOC 직업 분류 기준
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/tomevault-io/skills-registry --skill github-issues명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
| Use when this capability is needed.
> Use when this capability is needed.
Review architecture and API design for the vfs-s3 project. Use when the user mentions @architect, asks to review an issue's design, discuss module boundaries, API shape, or architectural decisions for vfs-s3. Also trigger when the user wants to create an ADR (Architecture Decision Record) or evaluate a technical approach for the project. Intended for dispatch from Codex automation or Claude routines; GitHub trigger phrase: @vfs-s3-bot please prepare design doc Use when this capability is needed.
| name | github-issues |
| description | | Use when this capability is needed. |
Управление GitHub issues через gh CLI с поддержкой sub-issues и атомарных операций над checkboxes.
gh, НИКОГДА WebFetch# ПРАВИЛЬНО
gh issue view 123 -R owner/repo
# НЕПРАВИЛЬНО - НЕ ДЕЛАЙ ТАК!
# WebFetch для github.com/.../issues/...
Когда пользователь начинает работу с issue (читает issue, изучает задачу, обсуждает реализацию), переименуй вкладку zellij:
zellij-rename-tab-to-issue-number <ISSUE_NUMBER>
Скрипт безопасен: если мы не внутри zellij -- ничего не произойдёт.
Когда вызывать:
Когда НЕ вызывать:
ВАЖНО: При отметке checkbox ВСЕГДА выполняй атомарную операцию fetch→modify→push в ОДНОЙ команде. Это предотвращает конфликты при параллельной работе нескольких агентов.
# Атомарная отметка 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! Всегда скачивай заново перед изменением.
После выполнения любого пункта/этапа/шага:
При первом использовании проверь установленные расширения:
gh extension list
Если расширения отсутствуют — предложи установить:
# Для работы с sub-issues
gh extension install yahsan2/gh-sub-issue
# Для расширенного project management (опционально)
gh extension install rubrical-studios/gh-pmu
# Полный вывод
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
# Изменить заголовок
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"
# Шаблон (ОДНОЙ СТРОКОЙ!):
gh issue view NUMBER -R owner/repo --json body -q .body | sed 's/- \[ \] ТОЧНЫЙ_ТЕКСТ/- [x] ТОЧНЫЙ_ТЕКСТ/' | gh issue edit NUMBER -R owner/repo --body-file -
Пример с реальным пунктом:
# Было: - [ ] Создать структуру базы данных → Стало: - [x] ...
gh issue view 45 -R dapi/myproject --json body -q .body | sed 's/- \[ \] Создать структуру базы данных/- [x] Создать структуру базы данных/' | gh issue edit 45 -R dapi/myproject --body-file -
Для пунктов с номерами:
# Было: - [ ] 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 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
# Создать 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 из issue:
# Все 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\]'
# Из 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|')
/, ., *), их нужно экранироватьgh issue view что checkbox отмеченЕсли в issue прикреплены изображения и нужно их скачать:
# Получить 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.
# 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. Только теперь переходить к следующему пункту
# 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
Converted and distributed by TomeVault — claim your Tome and manage your conversions.