Installs into .claude/skills of the current project.
Are you the author of Github Scout?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/sergeeey-github-scout)
---
name: github-scout
description: "OSINT-разведка GitHub: топ-5 репо для закрытия узких мест, топ-5 для усиления сильных мест, топ-5 неочевидных кросс-доменных. Автоматически анализирует текущий проект."
triggers: [github-scout, найди репо, osint github, scout repos, что посмотреть на гитхаб, найди библиотеки, github разведка]
tokens: ~400
type: directory
---
# GitHub Scout — OSINT разведка репозиториев
## Когда использовать
- Начало нового проекта — найти reference implementations
- Застрял на архитектурном решении — что используют другие
- Хочешь усилить текущую систему — найти battle-tested решения
- Ищешь вдохновение — кросс-доменные паттерны из других языков/индустрий
## Как запустить
Скажи: **"запусти github-scout"** или **"github-scout на [тема/проблема]"**
---
## Алгоритм (выполни все шаги последовательно)
### Шаг 1 — Извлечь контекст проекта
Прочитай `.claude/memory/activeContext.md`.
Извлеки:
- **Домен**: что делает проект
- **Стек**: язык, ключевые библиотеки
- **Узкие места**: PENDING, известные проблемы, TODO
- **Сильные места**: ключевые фичи уже реализованные
- **Ключевые слова**: 5-8 технических терминов
Если тема задана явно ("github-scout на кэширование") — используй её как приоритет.
---
### Шаг 2 — Поиск через gh CLI (plain-text, без --json)
> ⚠️ ВАЖНО: НЕ используй `--json` с pipe в Python — ломается на Windows из-за encoding.
> Используй plain-text вывод `gh search repos` и читай результат напрямую.
**Угол A — Закрытие узких мест:**
```
gh search repos "[keyword1] [keyword2]" --sort stars --limit 10
gh search repos "[keyword3] [keyword4]" --sort stars --limit 10
```
**Угол B — Усиление сильных мест:**
```
gh search repos "[текущая фича]" --sort stars --limit 10
gh search repos "[домен] [технология]" --sort stars --limit 10
```
**Формат вывода plain-text** (читай как есть):
```
owner/repo Описание репо public 2026-04-15T...
```
Из этой строки извлеки: `owner/repo`, описание.
> ⚠️ **Дата в этой строке — НЕ push date.** [VERIFIED 2026-09-09, gh 2.63.2]:
> проверено на 6 репо — расхождение с реальным `pushedAt` от 1 до 11 лет
> (пример: `ihuston/pyflation` показал `2025-10-22` в `search repos`, реальный
> последний коммит `2015-07-11`). Похоже на дату индексации GitHub Search, не
> git-активность. **Не использовать это поле для скоринга свежести.** Для
> топ-кандидатов (после Шага 4, до финального вывода) верифицируй реальную
> дату отдельным вызовом:
> ```
> gh repo view owner/repo --json pushedAt,licenseInfo,stargazerCount
> ```
> Один вызов на кандидата, только для тех, кто уже прошёл в шорт-лист — не
> на все 30-40 результатов поиска сразу.
---
### Шаг 3 — WebSearch для кросс-доменного угла и дообогащения
WebSearch работает лучше чем `gh search` для сложных запросов:
```
WebSearch: github "[домен]" "[технология]" stars 2025 OR 2026
WebSearch: github awesome list "[тема проекта]"
WebSearch: "[проблема] implemented in rust OR go" site:github.com
WebSearch: "[домен] production patterns 2026 github"
```
Дополнительно для топ-кандидатов:
```
WebSearch: [owner/repo] github key features architecture
```
---
### Шаг 4 — Скоринг каждого репо (0-10)
Сначала сократи до шорт-листа по релевантности названия/описания (без даты —
дата из поиска не годится, см. предупреждение в Шаге 2), затем верифицируй
`pushedAt` для шорт-листа (`gh repo view ... --json pushedAt,licenseInfo`)
и уже по РЕАЛЬНОЙ дате скорь:
| Критерий | Баллы |
|----------|-------|
| реальный `pushedAt` после 2025-10 | +3 |
| Описание содержит ≥2 ключевых слова проекта | +3 |
| реальный `pushedAt` после 2024-01 (хотя бы живой) | +2 |
| Название/описание прямо по теме | +2 |
Исключи: archived, реальный `pushedAt` до 2023, явные fork-обёртки без кода.
Стух ≠ бесполезен: старый репо без активности может остаться лучшим reference
для чтения алгоритма/метода — но такому кандидату честно ставь низкий
recency-балл и явно помечай риск (лицензия, отсутствие поддержки), не
занижай ценность самой находки только из-за возраста.
---
### Шаг 5 — Вывод результатов
```markdown
## 🔴 Топ-5 для закрытия узких мест
> Что позаимствовать чтобы закрыть [конкретная проблема]
1. **owner/repo**
- **Что**: [конкретный паттерн/файл/подход]
- **Как применить**: [1 действие — файл, строка, метод]
- **Лицензия**: MIT/Apache | **Риск**: low/medium/high
## 🟢 Топ-5 для усиления сильных мест
> Что улучшает то что уже хорошо работает
1. **owner/repo**
- **Инсайт**: [конкретная техника]
- **Почему лучше**: [в чём превосходит текущее]
- **Интеграция**: [заменить / расширить / вдохновиться]
## 🟡 Топ-5 неочевидных (кросс-домен)
> Репо из других языков/индустрий с применимыми паттернами
1. **owner/repo** | Язык: Go/Rust/etc
- **Домен**: [откуда паттерн]
- **Применимый инсайт**: [что перенести]
- **Почему неочевидно**: [почему обычный поиск не находит]
## 💡 Следующий шаг (выбери 1)
- [ ] [Конкретное действие из 🔴 #1]
- [ ] [Конкретное действие из 🟢 #1]
- [ ] [Неочевидный эксперимент из 🟡]
```
---
## Рабочие примеры запросов gh (проверено на Windows)
```bash
# Работает — простые 1-2 слова:
gh search repos "claude-code" --sort stars --limit 10
gh search repos "llm hooks" --sort stars --limit 10
gh search repos "karpathy llm wiki" --sort stars --limit 8
gh search repos "obsidian automation" --sort stars --limit 8
gh search repos "python hook system" --sort stars --limit 8
# НЕ работает — сложные фразы в кавычках внутри строки:
# gh search repos "claude code hooks python" — возвращает 0 результатов
# Решение: разбей на 2 слова максимум без кавычек внутри
```
---
## Связка с другими скилами
- После scout → `запусти codex-solver` — выбрать лучший из топ-3 кандидатов
- После scout → `запусти skeptic` — проверить что заимствование оправдано
- Найденные паттерны → `error-to-lesson` — сохранить в wiki