# oss-issue-triage

Проектирует систему разбора issues и пул-реквестов под реальные силы команды мейнтейнеров: метки, приём заявок, сроки ответа, дежурства.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 10400 установок · ★ 5
- Автор: Samuel Berthe
- Лицензия: MIT · policy=mirror · лицензия открытая, файл — в исходнике
- Исходник: https://github.com/samber/developer-relations-skills/tree/HEAD/skills/oss-issue-triage/SKILL.md
- Обновлён: 2026-10-24
- HTML: https://affpapa.org/nevibecode/skills/oss-issue-triage

## Что делает

Скилл ведёт интервью из 12 вопросов, а потом собирает процесс под ответы. Сначала считает базу по трекеру: сколько открытых issues, медианный и p90 возраст, доля неразобранных, время до первого ответа человека, поток созданных против закрытых, использование меток. Для этого есть `scripts/triage-baseline.py`, который читает JSON, JSON Lines или CSV. Без скриптуемой среды скилл советует вручную взять выборку из 50 открытых элементов и оценить те же числа.

Дальше идёт арифметика ёмкости: число триажеров × сессии в неделю × минуты на сессию ÷ минуты на элемент, и сравнение с входящим потоком. Константу минут на элемент скилл не берёт из головы — он ставит 3 минуты как временную для планирования и просит замерить свою на пилотной сессии. Отдельно разбирается кластеризация: если завалы растут из общей причины, сведение их в один tracking issue чистит очередь быстрее, чем разбор по одному.

Важное ограничение: если на вопрос о ёмкости отвечают «по сути ноль часов», скилл останавливает проектирование и предлагает урезать приём заявок плюс опубликовать статус maintenance mode. Таксономия, которую никто не будет применять, тут не выдаётся. Скилл не разбирает отдельные заявки, не курирует good first issues, не ревьюит код и не занимается инцидентами поведения — для этого он отправляет к другим скиллам того же репозитория.

## Требования
- Работает с: GitHub

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill oss-issue-triage -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/oss-issue-triage/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/oss-issue-triage/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill oss-issue-triage -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/oss-issue-triage/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill oss-issue-triage -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/oss-issue-triage/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install samber/developer-relations-skills oss-issue-triage
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/oss-issue-triage/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill oss-issue-triage -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/samber/developer-relations-skills --path skills/oss-issue-triage
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/oss-issue-triage/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add samber/developer-relations-skills --skill oss-issue-triage -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/samber/developer-relations-skills/tree/HEAD/skills/oss-issue-triage/SKILL.md

## Когда брать
- посчитать, сколько открытых issues и PR реально висит в трекере
- свести входящий поток к доступным часам мейнтейнеров
- разделить приём заявок через формы и увести вопросы в другое место
- выделить отдельный путь для сообщений об уязвимостях
- решить, нужен ли stale bot и когда закрывать заявку

## Примеры запросов агенту
- наш трекер вышел из-под контроля, спроектируй процесс триажа issues
- у нас 900 открытых issues — посчитай базу и предложи систему
- стоит ли нам запускать stale bot и как настроить закрытие по устареванию

## Похожие
- [github-triage](https://affpapa.org/nevibecode/skills/github-triage.md) — скилл · 2700 установок
- [backlog-swipe-triage](https://affpapa.org/nevibecode/plugins/backlog-swipe-triage.md) — плагин · ★ 40418
- [gh-issue-sync](https://affpapa.org/nevibecode/skills/gh-issue-sync.md) — скилл · 23300 установок
- [write-issue](https://affpapa.org/nevibecode/skills/write-issue.md) — скилл · 405 установок
- [issue-create](https://affpapa.org/nevibecode/skills/issue-create.md) — скилл · ★ 91547
- [draft-issue-to-external-repository](https://affpapa.org/nevibecode/skills/draft-issue-to-external-repository.md) — скилл · ★ 1552

Из того же набора: [samber/developer-relations-skills](https://affpapa.org/nevibecode/by/samber/developer-relations-skills.md) — 54 карточки

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
