reference-hunt — скилл для Claude Code: что делает и как установить
Разбирает сторонний код или репозиторий как спецификацию и переносит логику в целевой стек, когда требования трудно сформулировать словами.
npx skills add Neeeophytee/finding-unknowns-skills --skill reference-hunt -a claude-codeЧто делает reference-hunt
Скилл инструктирует модель изучать готовый репозиторий, модуль или сайт вместо абстрактного ТЗ. Сначала агент выясняет, что именно нужно извлечь: архитектуру, поведение, визуальную систему или контракт API. Затем он составляет выжимку семантики с гарантиями порядка вызовов, краевыми случаями и различиями между стеками.
Писать код агент начинает только после подтверждения этой выжимки пользователем. Перенос идёт с учётом идиом целевого языка без построчного копирования. Если в референсе обнаружен баг, скилл требует указать на него человеку, а не воспроизводить ошибку в новом коде.
В конце работы формируется отчёт: агент сопоставляет каждое заявленное поведение с новым кодом и объясняет осознанные расхождения. Такой регламент защищает от слепого копирования несовместимых лицензий и сохраняет чистоту проектных решений.
Какие задачи решает
- воспроизвести логику модуля из другого языка программирования
- выделить скрытые краевые случаи и гарантии работы из чужого репозитория
- перенести поведение библиотеки без слепого копирования чужих ошибок
- согласовать архитектурные решения до генерации рабочего кода
Примеры запросов агенту
- Сделай модуль авторизации как в backend/auth, но на Go с учётом его стандартной библиотеки
- Изучи репозиторий библиотеки валидации и составь выжимку семантики для переноса на TypeScript
- Повтори структуру этого CLI-инструмента в проекте, проверив лицензию исходника
Как установить reference-hunt
1Через Skills CLI (Vercel)
npx skills add Neeeophytee/finding-unknowns-skills --skill reference-hunt -a claude-code2Вручную: положить файлы
~/.claude/skills/reference-hunt/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/reference-hunt/
1Через Skills CLI (Vercel)
npx skills add Neeeophytee/finding-unknowns-skills --skill reference-hunt -a codex2Вручную: положить файлы
.agents/skills/reference-hunt/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Neeeophytee/finding-unknowns-skills --skill reference-hunt -a cursor2Вручную: положить файлы
.cursor/skills/reference-hunt/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Neeeophytee/finding-unknowns-skills reference-hunt2Вручную: положить файлы
.github/skills/reference-hunt/SKILL.md1Через Skills CLI (Vercel)
npx skills add Neeeophytee/finding-unknowns-skills --skill reference-hunt -a gemini-cli2Командой платформы
gemini skills install https://github.com/Neeeophytee/finding-unknowns-skills --path skills/reference-huntВручную: положить файлы
.devin/skills/reference-hunt/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Neeeophytee/finding-unknowns-skills --skill reference-hunt -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о reference-hunt
Как установить reference-hunt в Claude Code?
Выполните команду npx skills add Neeeophytee/finding-unknowns-skills --skill reference-hunt -a claude-code. Файл навыка сохранится по пути ~/.claude/skills/reference-hunt/SKILL.md.
Для чего нужен скилл reference-hunt?
Он помогает ассистенту использовать готовый исходный код как спецификацию. Модель сначала описывает семантику и поведение чужого модуля, согласовывает этот список с вами и только затем переписывает логику под правила вашего проекта.
Что делает скилл, если в исходном коде референса есть ошибки?
Инструкции запрещают переносить дефекты в новый стек. Агент обязан явно сообщить об обнаруженном баге пользователю вместо его воспроизведения.
Исходный текст
SKILL.md · MIT
--- name: reference-hunt description: Use existing source code as the specification when the user can't describe what they want in words. Use when the user points at a library, module, folder, or site and says "like this," even if it's in a different language or stack. --- # Reference hunt Some requirements are too intricate or too tacit to write down, but working code somewhere already embodies them. The best reference is not a screenshot or a description — it's source. Read it like a spec, then reimplement the semantics, not the syntax. ## Steps 1. Get the reference: a repo path, a vendored folder, a library name, or a site whose underlying code can be read. Ask what specifically to extract from it — behavior, structure, visual system, API shape — so you don't imitate the wrong dimension. 2. Read the reference and produce a **semantics summary** before writing any code: - the behaviors and guarantees it implements (timing, ordering, error handling, edge cases), - the decisions that look deliberate versus incidental, - anything that won't translate to the target language or stack, with a proposed equivalent. 3. Have the user confirm the semantics summary. This is the moment misreadings get caught cheaply. 4. Reimplement in the target stack: same semantics, native idioms. Do not transliterate line by line, and do not copy code verbatim from references whose license doesn't allow it — note the license if it's unclear. 5. Close the loop: list each behavior from the summary and where the new implementation honors it, plus any place you consciously diverged and why. ## Guardrails - The reference defines *what*; the target codebase's conventions define *how*. - If the reference itself turns out to be buggy or inconsistent, surface that instead of faithfully reproducing the bug. - Respect licenses: extracting semantics is fine; copying incompatible code is not.
© Neeeophytee · MIT · Neeeophytee/finding-unknowns-skills