create-github-issues
О программе
Этот навык автоматически создает структурированные GitHub-issues на основе результатов код-ревью или списков задач. Он группирует связанные элементы, применяет метки и форматирует issues с разделами: краткое содержание, результаты проверки и критерии приемки. Навык предназначен для обработки вывода таких инструментов анализа, как `review-codebase`, чтобы упростить отслеживание задач.
Быстрая установка
Claude Code
Рекомендуетсяnpx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-github-issuesСкопируйте и вставьте эту команду в Claude Code для установки этого навыка
Документация
Create GitHub Issues
Structured GitHub issue creation from review findings or task breakdowns. Converts a list of findings (from review-codebase, security-audit-codebase, or manual analysis) into well-formed GitHub issues with labels, acceptance criteria, and cross-references.
When to Use
- After a codebase review produces a findings table that needs tracking
- After a planning session identifies work items that should become issues
- When converting a TODO list or backlog into trackable GitHub issues
- When batch-creating related issues that need consistent formatting and labeling
Inputs
- Required:
findings— a list of items, each with at minimum a title and description. Ideally also includes: severity, affected files, and suggested labels - Optional:
group_by— how to batch findings into issues:severity,file,theme(default:theme)label_prefix— prefix for auto-created labels (default: none)create_labels— whether to create missing labels (default:true)dry_run— preview issues without creating them (default:false)
Procedure
Step 1: Prepare Labels
Ensure all needed labels exist in the repository.
- List existing labels:
gh label list --limit 100 - Identify labels needed by the findings (from severity, phase, or explicit label fields)
- Map severities to labels if not already mapped:
critical,high-priority,medium-priority,low-priority - Map phases/themes to labels:
security,architecture,code-quality,accessibility,testing,performance - If
create_labelsis true, create missing labels:gh label create "name" --color "hex" --description "desc" - Use consistent colors: red for critical/security, orange for high, yellow for medium, blue for architecture, green for testing
Got: All labels referenced by findings exist in the repository. No duplicate labels created.
If fail: If gh CLI is not authenticated, instruct the user to run gh auth login. If label creation is denied (insufficient permissions), proceed without creating labels and note which labels are missing.
Step 2: Group Findings
Batch related findings into logical issues to avoid issue sprawl.
- If
group_byistheme: group findings by their phase or category (all security findings → 1-2 issues, all a11y → 1 issue) - If
group_byisseverity: group findings by severity level (all CRITICAL → 1 issue, all HIGH → 1 issue) - If
group_byisfile: group findings by primary affected file - Within each group, order findings by severity (CRITICAL first)
- If a group has more than 8 findings, split into sub-groups by sub-theme
- Each group becomes one GitHub issue
Got: A set of issue groups, each containing 1-8 related findings. The total number of issues should be manageable (typically 5-15 for a full codebase review).
If fail: If findings have no grouping metadata, fall back to one issue per finding. This is acceptable for small finding sets (< 10) but produces too many issues for larger sets.
Step 3: Compose Issues
Build each issue using a standard template.
- Title:
[Severity] Theme: Brief description— e.g.,[HIGH] Security: Eliminate innerHTML injection in panel.js - Body structure:
## Summary One-paragraph overview of what this issue addresses and why it matters. ## Findings 1. **[SEVERITY]** Finding description (`file.js:line`) — brief explanation 2. **[SEVERITY]** Finding description (`file.js:line`) — brief explanation ## Acceptance Criteria - [ ] Criterion derived from finding 1 - [ ] Criterion derived from finding 2 - [ ] All changes pass existing tests ## Context Generated from codebase review on YYYY-MM-DD. Related: #issue_numbers (if applicable) - Apply labels: severity label + theme label + any custom labels
- If findings reference specific files, mention them in the body (not as assignees)
Got: Each issue has a clear title, numbered findings with severity badges, checkbox acceptance criteria, and appropriate labels.
If fail: If the body exceeds GitHub's issue size limit (65536 chars), split the issue into parts and cross-reference them.
Step 4: Create Issues
Create the issues using gh CLI and report results.
- If
dry_runis true, print each issue title and body without creating, then stop - For each composed issue, create it:
gh issue create --title "title" --body "$(cat <<'EOF' body content EOF )" --label "label1,label2" - Record the URL of each created issue
- After all issues are created, print a summary table:
#number | Title | Labels | Findings count - If issues should be sequenced, add cross-references: edit the first issue to mention "Blocked by #X" or "See also #Y"
Got: All issues created successfully. A summary table with issue numbers and URLs is printed.
If fail: If an individual issue fails to create, log the error and continue with remaining issues. Report failures at the end. Common failures: authentication expired, label not found (if create_labels was false), network timeout.
Validation
- All findings are represented in at least one issue
- Each issue has at least one label
- Each issue has checkbox acceptance criteria
- No duplicate issues were created (check titles against existing open issues)
- Issue count is reasonable for the finding count (not 1:1 for large sets)
- Summary table was printed with all issue URLs
Pitfalls
- Issue sprawl: Creating one issue per finding produces 20+ issues that are hard to manage. Group aggressively — 5-10 issues from a full review is ideal
- Missing acceptance criteria: Issues without checkboxes cannot be verified as complete. Every finding should map to at least one checkbox
- Label chaos: Creating too many labels makes filtering useless. Stick to severity + theme, not per-finding labels
- Stale references: If creating issues from an old review, verify findings still apply before creating issues. Code may have changed
- Forgetting dry run: For large finding sets, always preview with
dry_run: truefirst. It is much easier to edit a plan than to close 15 incorrect issues
Related Skills
review-codebase— produces the findings table this skill consumesreview-pull-request— produces PR-scoped findings that can also be converted to issuesmanage-backlog— organizes issues into sprints and priorities after creationcreate-pull-request— creates PRs that reference and close the issuescommit-changes— commits the fixes that resolve the issues
GitHub репозиторий
Похожие навыки
content-collections
МетаЭтот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.
polymarket
МетаЭтот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.
creating-opencode-plugins
МетаЭтот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.
sglang
МетаSGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.
