Research paper collection management plugins
npx claudepluginhub ctoth/research-papers-pluginAnnotated research paper collection management — retrieve, read, extract, cross-reference scientific papers
No description available.
RuFlo Marketplace: Claude Code native agents, swarms, workers, and MCP tools for continuous software engineering
Code intelligence powered by a knowledge graph — execution flows, blast radius, and semantic search
Share bugs, ideas, or general feedback.
A plugin for managing annotated research paper collections. Works with Claude Code, Codex CLI, and Gemini CLI.
This repo supports two distribution models:
.claude-plugin/marketplace.jsonscripts/install_skills.pyThis plugin provides skills for retrieving, reading, and annotating scientific papers into a structured, cross-referenced collection. Each paper gets:
| Skill | Description |
|---|---|
paper-retriever | Download a paper PDF from arxiv, DOI, ACL Anthology, or sci-hub |
paper-reader | Read a paper and extract structured notes (handles small/medium/large papers) |
paper-process | Combined retrieve + read in one step |
lint-paper | Audit paper directories for completeness and format compliance |
reconcile | Cross-reference a paper against the collection bidirectionally |
tag-papers | Add tags to untagged papers using their existing notes |
research | Web research on a topic, structured findings report |
extract-claims | Extract/enrich propositional claims from a paper into claims.yaml |
make-skill | Create new skills from prompt files |
Repository-level installer utilities live in scripts/. Paper-collection helper scripts live in plugins/research-papers/scripts/.
| Script | Description |
|---|---|
lint_skill_frontmatter.py | Parse every SKILL.md frontmatter block and fail on invalid YAML |
generate-paper-index.py | Rebuild papers/index.md and papers/tagged/ symlinks |
cross-reference-papers.py | Find cross-references between papers in the collection |
migrate-format.py | Convert legacy Tags: lines → YAML frontmatter, bold refs → wikilinks |
generate_claims.py | Parse notes.md and generate claims.yaml for a single paper |
batch_generate_claims.py | Generate claims.yaml for all papers in a directory |
bootstrap_concepts.py | Deduplicate and group concept names from claims files |
The claims pipeline extracts machine-readable propositional claims from paper notes. The typical workflow:
generate_claims.py — Parses notes.md (parameter tables, equations, key findings) and produces a draft claims.yaml marked with stage: draft. Fast, deterministic, no LLM needed.extract-claims skill — LLM-powered enrichment of the draft claims (adds context, fixes types, fills gaps). Can also create claims from scratch if no draft exists.batch_generate_claims.py — Runs step 1 across an entire papers directory. Use --skip-existing to avoid re-processing.bootstrap_concepts.py — Collects concept names from all claims files, deduplicates similar names, and outputs a unified concepts list.# Single paper: generate draft, then enrich with LLM
uv run plugins/research-papers/scripts/generate_claims.py papers/Author_2024_Title
$extract-claims papers/Author_2024_Title
# Batch: generate drafts for all papers missing claims.yaml
uv run plugins/research-papers/scripts/batch_generate_claims.py papers/ --skip-existing
# After batch: deduplicate concepts across all claims
uv run plugins/research-papers/scripts/bootstrap_concepts.py papers/ --output concepts.yaml
Use the repo itself as a Claude Code marketplace source. The marketplace manifest lives at .claude-plugin/marketplace.json and currently exposes the plugin ID research-papers@research-papers-marketplace.
git clone https://github.com/ctoth/research-papers-plugin
cd research-papers-plugin
claude plugin marketplace add . --scope user
claude plugin install research-papers@research-papers-marketplace --scope user
If your clone already exists somewhere else, replace . with that repo path.
Use the bundled installer when you want the skills installed into Codex and/or Gemini user skill directories:
uv run scripts/install_skills.py doctor
uv run scripts/install_skills.py install --platform codex --platform gemini
What the installer does:
plugins/*/skills/*~/.agents/skills~/.gemini/skillsUseful variants: