triage-issues — скилл для Claude Code: разбор GitHub issues по меткам
Скилл проходит по открытым issue без меток, читает описание и обсуждение, затем вешает подходящие метки через gh. Пригодится, когда очередь задач разрослась и непонятно, за что хвататься.
npx skills add dyoshikawa/rulesync --skill triage-issues -a claude-codeЧто делает triage-issues
Скилл триажит открытые issue в GitHub: сначала забирает полный список меток репозитория, потом ищет задачи без единой метки. Дальше по каждой такой задаче читает описание и комментарии — параллельно, где это удобно, — и решает, какие метки подходят. Выбор идёт из заранее собранного словаря: своих меток скилл не придумывает.
Метки делятся на тип (bug, enhancement, documentation, refactoring, improvement, question) и модификаторы (good first issue, considering, security, codex). Скилл советует ставить одну–три метки, комбинируя тип с уточнителем, когда они явно уместны. help wanted и high priority — только при прямых сигналах в тексте задачи, maintainer-scrap вообще не трогает без явного указания автора.
Применяет метки через gh issue edit и добавляет только их, ничего не снимая. В конце выдаёт короткий отчёт: что помечено, что помечено с оговоркой про неоднозначность, что пропущено. Работает там, где есть gh с доступом к репозиторию — без авторизации в CLI ничего не выйдет. Смешанные типы в одной задаче скилл не разводит: берёт наиболее подходящий и пишет в отчёт, что выбор был близким.
Какие задачи решает
- разметить открытые issue метками по содержанию
- найти задачи без меток в большом репозитории
- отделить баги от запросов на новую функциональность
- выделить задачи, понятные новичку
- получить сводку по неразобранным issue
Примеры запросов агенту
- Триажи открытые issue без меток в этом репозитории
- Пройди по issue без меток и проставь подходящие из списка
gh label list - Покажи отчёт: какие issue размечены, какие остались неоднозначными
Как установить triage-issues
1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill triage-issues -a claude-code2Вручную: положить файлы
~/.claude/skills/triage-issues/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/triage-issues/
1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill triage-issues -a codex2Вручную: положить файлы
.agents/skills/triage-issues/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill triage-issues -a cursor2Вручную: положить файлы
.cursor/skills/triage-issues/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dyoshikawa/rulesync triage-issues2Вручную: положить файлы
.github/skills/triage-issues/SKILL.md1Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill triage-issues -a gemini-cli2Командой платформы
gemini skills install https://github.com/dyoshikawa/rulesync --path .rulesync/skills/triage-issuesВручную: положить файлы
.devin/skills/triage-issues/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dyoshikawa/rulesync --skill triage-issues -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о triage-issues
Как установить triage-issues в Claude Code?
Выполните npx skills add dyoshikawa/rulesync --skill triage-issues -a claude-code, после чего файл скилла окажется по пути ~/.claude/skills/triage-issues/SKILL.md.
Что делает triage-issues?
Находит открытые issue без меток, читает их описание и комментарии и вешает подходящие метки из числа уже заведённых в репозитории. В конце даёт отчёт по каждой задаче.
Что нужно для работы скилла?
Установленный и авторизованный gh. Через него скилл получает список меток, открывает issue и добавляет метки командой gh issue edit.
Исходный текст
SKILL.md · MIT
--- name: triage-issues description: >- Triage open GitHub issues by reviewing unlabeled ones and applying the most appropriate labels based on their content targets: - "*" --- # Triage Open Issues Review all open GitHub issues that currently have no labels and apply the most appropriate labels based on their content. ## Step 1: List Available Labels Fetch the full list of labels defined in this repository so the triage stays within the known label set: ```bash gh label list --limit 100 ``` Treat this list as the authoritative vocabulary. Do not invent new labels. ## Step 2: Find Unlabeled Open Issues Fetch all open issues that have no labels attached: ```bash gh issue list --state open --search "no:label" --limit 100 --json number,title,author,url ``` If the result is empty, report that nothing needs triage and stop. ## Step 3: Gather Context per Issue For each unlabeled issue, read the description and the discussion so the label choice is grounded in the actual content: ```bash gh issue view <issue_number> gh issue view <issue_number> --comments ``` Run these in parallel across issues where practical. ## Step 4: Decide the Labels For each issue, pick the labels that best describe it. Typical signals: - `bug` — something is broken or behaves incorrectly. - `enhancement` — a new feature, new tool/feature support, or a capability request. - `documentation` — docs, README, or `docs/**/*.md` changes. - `refactoring` — internal restructuring without behavior change. - `improvement` — quality, DX, or polish work that isn't a bug or a new feature. - `question` — the author is asking for clarification or usage help. - `duplicate` — already tracked by another issue (link it in a comment if you apply this). - `invalid` / `wontfix` — only if the issue itself states this or the content clearly indicates it; otherwise skip. - `good first issue` — small, well-scoped, approachable for newcomers. - `help wanted` — maintainer explicitly wants external contribution; do not apply speculatively. - `considering` — proposals that are worth discussing but not yet accepted. - `high priority` — explicit urgency signals (regression, blocking users, security). Be conservative. - `security` — security-relevant reports or hardening work. - `codex` — specific to the Codex CLI integration. - `maintainer-scrap` — do NOT add this unless the issue body explicitly says so; it's reserved for maintainer-only scratch notes. Guidelines: - Prefer a small, precise set of labels (usually 1–3). Do not over-label. - Combine a type label (`bug` / `enhancement` / `documentation` / `refactoring` / `improvement` / `question`) with optional modifiers (`good first issue`, `considering`, `security`, `codex`) when they clearly apply. - If the issue is ambiguous, still apply the best-fitting type label rather than skipping it, and note the ambiguity in the final report. Skip only when the issue is empty or unreadable. ## Step 5: Apply the Labels Apply the chosen labels using `gh issue edit`. Example: ```bash gh issue edit <issue_number> --add-label "bug" --add-label "good first issue" ``` Only add labels; do not remove existing ones (these issues have none by definition, but be defensive). ## Step 6: Report Output a concise summary grouped by action: - `Labeled`: `#<number> <title>` → `label1, label2` (one line per issue) - `Labeled (ambiguous)`: `#<number> <title>` → `label` — why it was a close call - `Skipped`: `#<number> <title>` → short reason (empty or unreadable only) Keep the report compact; do not repeat the full issue bodies.
© dyoshikawa · MIT · dyoshikawa/rulesync