bib-search-citation — скилл для Claude Code: поиск и цитаты по .bib
Ищет записи в локальной библиотеке BibTeX или BibLaTeX, включая выгрузки Zotero, и собирает из них сниппеты цитирования для LaTeX или Typst.
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a claude-codeЧто делает bib-search-citation
Скилл работает с одним локальным файлом .bib. Запрос можно задать компактной строкой с фильтрами прямо в --query, отдать готовую спецификацию через --spec-json или сохранить её в файл и переиспользовать через --spec-file. Внутри два скрипта: search_bib.py разбирает библиотеку, фильтрует, ранжирует и формирует цитаты, preview_bib_search.py рисует компактный человекочитаемый отчёт по уже готовому JSON.
Фильтровать можно по годам, авторам, типу записи, наличию полей и по тому, что встречается в полях вроде keywords, abstract или annotation. Сортировка — по релевантности, году или названию, вывод — в LaTeX, Typst или в обоих форматах. Сырой BibTeX скилл отдаёт только по запросу, когда нужен точный экспорт или ручная проверка.
Ранжирование по совпадению слов с формулировкой утверждения ничего не доказывает: скилл сам предупреждает, что лексическое пересечение не подтверждает поддержку тезиса. Валидацию цитат уже внутри .tex или .typ проекта он тоже не делает, это задача другого модуля. Ещё нужен uv, иначе скрипты не запустятся.
Какие задачи решает
- найти в references.bib статьи по теме за последние годы
- собрать сниппеты \cite{} для выбранных записей
- отфильтровать выгрузку Zotero по аннотации или ключевым словам
- проверить наличие DOI и arXiv ID у записи
- достать точный BibTeX одной записи для ручной сверки
Примеры запросов агенту
- Найди в
references.bibстатьи про mamba forecasting за 2024 год и дальше, выдай 5 штук с цитатами в LaTeX и Typst - Отфильтруй записи Zotero, у которых в
annotationупомянут код, и покажи превью - Покажи сырой BibTeX лучшего совпадения из
references.bib
Как установить bib-search-citation
1Через Skills CLI (Vercel)
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a claude-code2Вручную: положить файлы
~/.claude/skills/bib-search-citation/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/bib-search-citation/
1Через Skills CLI (Vercel)
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a codex2Вручную: положить файлы
.agents/skills/bib-search-citation/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a cursor2Вручную: положить файлы
.cursor/skills/bib-search-citation/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install bahayonghang/academic-writing-skills bib-search-citation2Вручную: положить файлы
.github/skills/bib-search-citation/SKILL.md1Через Skills CLI (Vercel)
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a gemini-cli2Командой платформы
gemini skills install https://github.com/bahayonghang/academic-writing-skills --path academic-writing-skills/bib-search-citationВручную: положить файлы
.devin/skills/bib-search-citation/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о bib-search-citation
Как установить bib-search-citation в Claude Code?
Выполните npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a claude-code, после чего файл скилла окажется по пути ~/.claude/skills/bib-search-citation/SKILL.md.
Что делает bib-search-citation?
Ищет и фильтрует записи в локальном .bib файле, отдаёт стабильный JSON, компактное превью и сниппеты цитирования для LaTeX или Typst.
Можно ли проверить с его помощью, подтверждает ли статья мой тезис?
Нет. Блок claim_support показывает лишь пересечение слов, и скилл прямо предупреждает, что это не доказательство поддержки. Оценивать аргумент придётся самому.