**UNIVERSAL TRIGGER**: Use when user mentions GitHub issue URL or asks to read/work with GitHub issues. **CRITICAL RULE**: ALWAYS use `gh` CLI for GitHub issues, NEVER use WebFetch! Common patterns: - Any URL containing `github.com/.../issues/...` - "read issue #N", "show issue", "open task" - "прочитай issue", "покажи задачу", "открой issue #N" - "mark checkbox done", "complete step", "отметь пункт" - "create sub-issue", "add subtask", "создай подзадачу" Specific operations: 📖 **Reading issues**: - "read issue https://github.com/owner/repo/issues/123" - "show task #45", "what's in issue #12" - "прочитай задачу", "покажи issue" ✅ **Marking checkboxes**: - "mark step 1 as done", "complete checkbox" - "отметь пункт выполненным", "закрой этап 2" 🔗 **Sub-issues**: - "create sub-issue for #123", "list sub-issues" - "создай подзадачу", "покажи дочерние issues" 📝 **Issue management**: - "edit issue body", "add checkbox", "update task" - "close issue", "reopen issue" TRIGGERS: github.com/issues, github issue, issue #, issue url, read issue, show issue, view issue, open issue, get issue, fetch issue, display issue, list issues, create issue, edit issue, close issue, reopen issue, прочитай issue, покажи issue, открой issue, посмотри issue, задача, задачу, checkbox, check box, task list, tasklist, mark done, mark complete, complete step, complete task, check off, отметь выполненным, отметь пункт, закрой пункт, выполни пункт, этап, шаг, sub-issue, subissue, subtask, child issue, parent issue, подзадача, дочерний issue, дочерняя задача, создай подзадачу, issue body, issue title, issue labels, issue assignee This skill manages GitHub issues via `gh` CLI with atomic checkbox operations to support parallel work by multiple agents.
Manages GitHub issues via gh CLI with atomic checkbox operations and sub-issue support.
/plugin marketplace add dapi/claude-code-marketplace/plugin install dev-tools@dapiThis skill is limited to using the following tools:
TRIGGER_EXAMPLES.mdУправление GitHub issues через gh CLI с поддержкой sub-issues и атомарных операций над checkboxes.
gh, НИКОГДА WebFetch# ПРАВИЛЬНО
gh issue view 123 -R owner/repo
# НЕПРАВИЛЬНО - НЕ ДЕЛАЙ ТАК!
# WebFetch для github.com/.../issues/...
ВАЖНО: При отметке 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
# Удалить связь
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 отмечен# 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
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.