Literature Survey
ai4s-research/ai4s-skills
A skill your agent uses when the user wants a comprehensive literature survey on a specific research topic.
Filter a LaTeX project's bibliography to the entries actually cited, with Overleaf-source resolution, temporary staging, validation, approval-gated canonical replacement, and compilation.
$ npx skills add flonat/flonat-research --skill bib-filter -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install flonat/flonat-research bib-filter --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/bib-filter .claude/skills/bib-filter && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "bib-filter" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/bib-filter into .claude/skills/bib-filter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bib-filter", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/flonat/flonat-research/tree/main/skills/bib-filterType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add flonat/flonat-research --skill bib-filter -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install flonat/flonat-research bib-filter --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/bib-filter .agents/skills/bib-filter && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bib-filter" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/bib-filter into .agents/skills/bib-filter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bib-filter", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flonat/flonat-research --skill bib-filter -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install flonat/flonat-research bib-filter --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/bib-filter .cursor/skills/bib-filter && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bib-filter" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/bib-filter into .cursor/skills/bib-filter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bib-filter", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/flonat/flonat-research.git --path skills/bib-filter--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add flonat/flonat-research --skill bib-filter -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install flonat/flonat-research bib-filter --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/bib-filter .gemini/skills/bib-filter && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bib-filter" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/bib-filter into .gemini/skills/bib-filter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bib-filter", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install flonat/flonat-research bib-filterInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add flonat/flonat-research --skill bib-filter -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/bib-filter .github/skills/bib-filter && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bib-filter" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/bib-filter into .github/skills/bib-filter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bib-filter", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add flonat/flonat-research --skill bib-filter -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install flonat/flonat-research bib-filter --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/flonat/flonat-research.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/bib-filter .opencode/skills/bib-filter && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bib-filter" agent skill from https://github.com/flonat/flonat-research/tree/main/skills/bib-filter into .opencode/skills/bib-filter/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bib-filter", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bib-filterFilter a LaTeX project's bibliography to the entries actually cited, with Overleaf-source resolution, temporary staging, validation, approval-gated canonical replacement, and compilation.
Bib Filter is an agent skill from flonat/flonat-research. Filter a LaTeX project's bibliography to the entries actually cited, with Overleaf-source resolution, temporary staging, validation, approval-gated canonical replacement, and compilation. Use before submission or after large revisions.
Its SKILL.md is about 1.7k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Documents & Office, covering LaTeX and Citation management. It works with LaTeX. The repository describes itself as: Shareable Claude Code + Codex infrastructure for PhD researchers — skills, agents, hooks, and rules for academic workflows. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit da27600. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
ReadGlobGrepWriteEditBash(ls*)Bash(wc*)Bash(realpath*)Bash(readlink*)Bash(shasum*)…and 7 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
uvgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use uv and git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bib Filter loads about 1.7k tokens when it runs. Until then it costs about 62 tokens; SKILL.md has 774 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from flonat/flonat-research at commit da27600, republished under its MIT licence (© flonat). 774 words, ~1,709 tokens.
.claude/skills/bib-filter/SKILL.md (or your agent's skills folder).Produce and validate a cited-only bibliography, then replace the manuscript's canonical .bib only after explicit approval. In an Overleaf-linked project, the resolved Overleaf bibliography is canonical; a wrapper-local copy is not a second authority.
.bib (e.g., Paperpile/Paperpile export) contains hundreds of entries but the paper cites a subset.bib file size for Overleaf or arXiv uploadIf given a directory, resolve the actual manuscript source first:
paper-<arm>/paper, run realpath/readlink and inspect the resolved Overleaf target before declaring a bibliography missing.\bibliography{...} or \addbibresource{...} from the canonical driver and resolve the referenced .bib relative to that source tree.Then find the main .tex and .bib files:
.tex: Glob for *.tex in the directory (and paper/ subdirectory if it exists). The main file is the one containing \begin{document}..bib: Look for \bibliography{...} or \addbibresource{...} in the main .tex to find the bib filename. Fall back to globbing *.bib.If given a specific .tex file, derive the .bib from it.
.texScan all .tex files in the project (main + any \input{}/\include{} files) for citation commands:
\cite{key1,key2}
\citep{key1,key2}
\citet{key1}
\citealt{key1}
\citealp{key1}
\citeauthor{key1}
\citeyear{key1}
\citetext{key1}
\parencite{key1,key2}
\textcite{key1}
\autocite{key1}
\footcite{key1}
\fullcite{key1}
\nocite{key1}Handle:
\cite{key1,key2,key3} → extract all three\cite{key1, key2} → trim\cite[p.~5]{key1} or \citep[see][]{key1} → extract key1\nocite{*} → special case: means "include everything", so filtered.bib = full .bib (warn and stop)Collect into a deduplicated set of cited keys.
.bib and filterRead the .bib file. For each entry (@article{key,, @book{key,, @inproceedings{key,, etc.):
@string{}, @preamble{}, and @comment{} blocks (they may be needed by included entries)Write a temporary candidate beside the canonical bibliography, using a collision-safe name such as .references.filtered.<timestamp>.bib. Do not create a durable second bibliography authority.
Report:
Original: N entries
Cited: M keys found in .tex
Filtered: M entries written to <temporary candidate>
Removed: N-M unused entriesIf any cited keys are not found in the .bib, list them as warnings and recommend the configured bibliography validator or manual reconciliation.
Before asking to replace anything:
crossref parents;If any cited key is missing or validation/compilation fails, leave the canonical bibliography unchanged and stop.
Ask: “Replace <canonical-bib-path> with the validated cited-only candidate?” Only an explicit approval authorizes replacement.
After approval:
.bib at the resolved Overleaf path;Do not retain both references.bib and filtered.bib in the Overleaf tree.
Dropped but strategically important comparator records belong in the literature authority, Paperpile, or a registered literature review packet—not in the live manuscript bibliography merely for safekeeping.
.bib files: preserve the driver's declared multi-file structure unless the user separately approves consolidation; stage one filtered candidate per canonical source\nocite{*}: Warn that all entries are cited and stop — filtering would be a no-op.bib entries use crossref = {parent-key}. If a cited entry cross-references another, include the parent even if it's not directly cited.tex, warn and do not write an empty fileThis skill writes files. Before any auto-commit, emit an outputs manifest and run the shared verifier. See skills/_shared/verify-outputs.md for the full protocol.
Required tail steps (before git commit):
Write manifest to <project>/.claude/state/outputs-manifest-<UTC-timestamp>.json listing every file this skill claims to have written in this invocation (paths relative to the project root).
Run:
uv run python "<skills-root>/_shared/verify_outputs.py" \
--manifest "$MANIFEST" \
--project-root "$PROJECT_ROOT"If the verifier exits non-zero, do not commit — surface the missing-files list to the user and stop. The verifier has already logged an error entry to ~/.local/state/ai-workflows/skill-outcomes.jsonl, which feeds the shared skill-health dashboard.
Why: closes the "hallucinated outputs" failure class (commit b2cff75, 2026-04-18).
© flonat, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/bib-filter of flonat/flonat-research.
Open the folder on GitHubat commit da27600
Bib Filter next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bib Filter this skillflonat/flonat-research | 146 | — | ~1.7k | Automated safety check: Pass | MIT | |
| Literature Surveyai4s-research/ai4s-skills | 237 | 2 repos | ~2k | Automated safety check: Pass | MIT | |
| Typst Paperbahayonghang/academic-writing-skills | 498 | — | ~3.6k | Automated safety check: Pass | None | |
| Light TypesettingLight0305/Light-skills | 640 | — | ~3.3k | Automated safety check: Pass | MIT | |
| Latex Setupfcakyon/phd-skills | 415 | — | ~1.1k | Automated safety check: Notes | MIT | |
| Latex Rhythm Refinerappautomaton/latex-arxiv-SKILL | 458 | — | ~890 | Automated safety check: Pass | MIT |
ai4s-research/ai4s-skills
A skill your agent uses when the user wants a comprehensive literature survey on a specific research topic.
bahayonghang/academic-writing-skills
Typst paper assistant for existing .typ manuscripts in English or Chinese.
Light0305/Light-skills
Build and preflight submission-ready LaTeX/PDF artifacts for Light stage 11.
fcakyon/phd-skills
A skill your agent uses when the user wants to set up or troubleshoot a LaTeX environment, choose between biber and bibtex, install packages for a specific venue template, or configure compilation.
appautomaton/latex-arxiv-SKILL
Post-process LaTeX project prose to improve readability through varied sentence and paragraph lengths.
wanshuiyin/Anti-Autoresearch
Build the deterministic evidence ledger (artifactmanifest.json + claims.json) that every other Anti-Autoresearch auditor reads.
flonat/flonat-research
Create a large-format academic poster in LaTeX using beamerposter, tikzposter, or baposter.
flonat/flonat-research
Create, revise, and evaluate reusable AI workflow skills, including trigger-quality tests.
flonat/flonat-research
Create, read, edit, or convert Microsoft Word documents while preserving professional document structure.
flonat/flonat-research
Read, create, combine, split, rotate, OCR, watermark, secure, or extract content from PDF files.
flonat/flonat-research
Create or migrate project-level agents, repeatable project workflows, and planning state from one client-neutral contract, then render repository-scoped adapters for both Claude Code and Codex.
flonat/flonat-research
Deliver a fast pre-commit safety scan: file size, anonymity (author / affiliation strings in tex/bib), hardcoded secrets, and invisible-Unicode carriers.
Works with
Categories
Filter a LaTeX project's bibliography to the entries actually cited, with Overleaf-source resolution, temporary staging, validation, approval-gated canonical replacement, and compilation. Bib Filter is an agent skill from flonat/flonat-research. Filter a LaTeX project's bibliography to the entries actually cited, with Overleaf-source resolution, temporary staging, validation, approval-gated canonical replacement, and compilation.
Bib Filter fits situations like: tasks that involve LaTeX; tasks that involve Citation management.
Run `npx skills add flonat/flonat-research --skill bib-filter -a claude-code`. Or copy the skill folder (skills/bib-filter in flonat/flonat-research) into .claude/skills/bib-filter in your project. Claude Code loads it when a task matches its description.
Run `npx skills add flonat/flonat-research --skill bib-filter -a codex`. Or copy the skill folder (skills/bib-filter in flonat/flonat-research) into .agents/skills/bib-filter in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add flonat/flonat-research --skill bib-filter -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bib-filter, .gemini/skills/bib-filter, .github/skills/bib-filter and .opencode/skills/bib-filter in your project.
Going by SKILL.md and its folder, Bib Filter needs the command-line tools its instructions call (uv and git). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Glob, Grep, Write, Edit, Bash(ls*), Bash(wc*), Bash(realpath*), Bash(readlink*), Bash(shasum*), Bash(uv*), Bash(latexmk*), Bash(mv*), Bash(rm*), Bash(mktemp*), Skill, AskUserQuestion.
SKILL.md contains no URLs. Its commands use uv and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Bib Filter is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.7k tokens (SKILL.md is roughly 6.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Bib Filter: Literature Survey (ai4s-research/ai4s-skills, 237 stars), Typst Paper (bahayonghang/academic-writing-skills, 498 stars), Light Typesetting (Light0305/Light-skills, 640 stars) and Latex Setup (fcakyon/phd-skills, 415 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
flonat (a GitHub user) maintains it in flonat/flonat-research, which has 146 GitHub stars. The repository holds 83 skills in this directory. The repository was last updated on September 29, 2026.
Source: flonat/flonat-research on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.