# bib-search-citation

Pulls matching entries out of a local BibTeX or BibLaTeX library, Zotero exports included, and turns them into LaTeX or Typst citation snippets.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 1700 installs · ★ 519
- Author: bahayonghang
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/bahayonghang/academic-writing-skills/tree/HEAD/academic-writing-skills/bib-search-citation/SKILL.md
- Updated: 2026-10-15
- HTML: https://affpapa.org/en/nevibecode/skills/bib-search-citation

## What it does

The skill reads one `.bib` file on disk. You hand it a compact filter string through `--query`, a JSON search spec through `--spec-json`, or a saved spec through `--spec-file` for searches you run again and again. Two scripts sit behind it: `search_bib.py` parses, filters, scores and emits citations, while `preview_bib_search.py` only renders a short readable summary from the JSON it already produced.

Filters cover year ranges, author substrings, entry types, presence of specific fields and text found in fields such as `keywords`, `abstract` or `annotation`. Results can be sorted by relevance, year or title, and citation output comes as LaTeX, Typst or both. Raw BibTeX stays out of the way until you ask for it, which matters for exact exports or checking an entry by hand.

The `claim_support` block is the part to read carefully. Matching words between your sentence and an abstract do not prove the paper backs your point, and the skill says so every time it shows that block. Validating citations already sitting in a `.tex` or `.typ` project is a different module's job. Budget for `uv` on the machine, since the scripts run through it.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/bib-search-citation/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/bib-search-citation/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/bib-search-citation/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/bib-search-citation/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install bahayonghang/academic-writing-skills bib-search-citation
```

2. **Manually: put the files in place**
- File: `.github/skills/bib-search-citation/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/bahayonghang/academic-writing-skills --path academic-writing-skills/bib-search-citation
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/bib-search-citation/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add bahayonghang/academic-writing-skills --skill bib-search-citation -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/bahayonghang/academic-writing-skills/tree/HEAD/academic-writing-skills/bib-search-citation/SKILL.md

## When to use it
- locate topical papers in references.bib within a year range
- produce \cite{} snippets for a shortlist of entries
- narrow a Zotero export by annotation or keyword
- confirm which entries carry a DOI or arXiv ID
- pull the original BibTeX for one entry to inspect

## Example prompts
- Search `references.bib` for mamba forecasting work from 2024 onward, give me 5 entries with LaTeX and Typst citations
- Filter the Zotero export for entries whose `annotation` mentions available code and show me the preview
- Show the raw BibTeX of the best match from `references.bib`

## Similar
- [anysearch](https://affpapa.org/en/nevibecode/skills/anysearch.md) — skill · 38500 installs
- [academic-paper](https://affpapa.org/en/nevibecode/skills/academic-paper.md) — skill · 10800 installs
- [nature-figure](https://affpapa.org/en/nevibecode/skills/nature-figure.md) — skill · 18800 installs
- [academic-paper-reviewer](https://affpapa.org/en/nevibecode/skills/academic-paper-reviewer.md) — skill · 9800 installs
- [nature-polishing](https://affpapa.org/en/nevibecode/skills/nature-polishing.md) — skill · 17500 installs
- [nature-citation](https://affpapa.org/en/nevibecode/skills/nature-citation.md) — skill · 15600 installs

From the same set: [bahayonghang/academic-writing-skills](https://affpapa.org/en/nevibecode/by/bahayonghang/academic-writing-skills.md) — 5 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
