chat-with-arxiv
Build interactive chat agents for exploring and discussing academic research papers from ArXiv. Covers paper retrieval, content processing, question-answering, and research synthesis. Use when building research assistants, paper summarization tools, academic knowledge bases, or scientific literature chatbots.
What this skill does
# Chat with ArXiv
Build intelligent agents that understand, discuss, and synthesize academic research papers from ArXiv, enabling conversational exploration of scientific literature.
## Overview
ArXiv chat agents combine:
- **Paper Discovery**: Search and retrieve relevant research
- **Content Processing**: Extract and understand paper content
- **Question Answering**: Answer questions about papers
- **Research Synthesis**: Identify connections between papers
- **Conversational Interface**: Natural discussion about research
### Applications
- Research assistant for literature review
- Paper summarization and explanation
- Topic exploration across multiple papers
- Citation analysis and connection finding
- Trend identification in research areas
- Thesis and dissertation support
## Architecture
```
User Query
↓
Query Classifier (Paper Search vs Q&A)
├→ Paper Search
│ ├ Query ArXiv API
│ ├ Retrieve papers
│ └ Process metadata
│
├→ Question Answering
│ ├ Retrieve relevant papers
│ ├ Extract relevant sections
│ ├ Generate answer with LLM
│ └ Cite sources
│
└→ Conversational Analysis
├ Analyze paper relationships
├ Identify themes
└ Synthesize findings
↓
Response with Citations
```
## Paper Discovery and Retrieval
### 1. ArXiv API Integration
See [examples/arxiv_paper_retriever.py](examples/arxiv_paper_retriever.py) for `ArXivPaperRetriever`:
- Search papers by query with relevance ranking
- Search by category, author, or title keywords
- Retrieve trending papers by category and date range
- Find similar papers to a given paper
- Extract key terms from paper abstracts
### 2. Paper Content Processing
See [examples/paper_content_processor.py](examples/paper_content_processor.py) for `PaperContentProcessor`:
- Download and extract PDF content
- Parse paper structure (abstract, introduction, methodology, results, conclusion, references)
- Extract citations from papers
- Cache processed papers for performance
- Chunk papers for RAG integration
## Question Answering System
### 1. RAG-Based QA
See [examples/paper_question_answerer.py](examples/paper_question_answerer.py) for `PaperQuestionAnswerer`:
- Search for relevant papers from ArXiv
- Download and process papers
- Chunk papers for RAG retrieval
- Retrieve most relevant chunks using embeddings
- Generate answers with proper citations
### 2. Multi-Paper Synthesis
Build synthesis capabilities to:
- Analyze multiple papers on a topic
- Extract key findings and conclusions
- Identify common research themes
- Generate comprehensive synthesis of research area
## Conversational Interface
### 1. Multi-Turn Conversation
See [examples/arxiv_chatbot.py](examples/arxiv_chatbot.py) for `ArXivChatbot`:
- Maintain conversation history
- Classify query types (single paper Q&A, multi-paper synthesis, trends, general)
- Handle single paper questions with citations
- Handle synthesis queries across multiple papers
- Detect and retrieve research trends
- Generate contextual responses
### 2. Context Management
Build context management to:
- Track current discussion topic
- Remember discussed papers
- Find related papers in conversation
- Summarize discussion progress
## Best Practices
### Paper Retrieval
- ✓ Use specific queries for better results
- ✓ Limit results to relevant papers (max 50-100)
- ✓ Cache downloaded papers locally
- ✓ Handle API rate limits
- ✓ Validate PDF extraction
### Question Answering
- ✓ Always cite sources with ArXiv IDs
- ✓ Use multiple paper perspectives
- ✓ Acknowledge uncertainties
- ✓ Highlight conflicting findings
- ✓ Suggest related papers
### Conversation Management
- ✓ Maintain conversation history
- ✓ Track discussed papers
- ✓ Clarify ambiguous queries
- ✓ Suggest follow-up questions
- ✓ Provide paper recommendations
## Implementation Checklist
- [ ] Set up ArXiv API client
- [ ] Implement paper retrieval
- [ ] Create PDF processing pipeline
- [ ] Build RAG system for QA
- [ ] Implement multi-paper synthesis
- [ ] Create conversational interface
- [ ] Add search filtering
- [ ] Set up caching system
- [ ] Implement citation formatting
- [ ] Add error handling and logging
- [ ] Test across research areas
## Resources
### ArXiv API
- **ArXiv Official API**: https://arxiv.org/help/api
- **arxiv Python Client**: https://github.com/lukasschwab/arxiv.py
### Paper Processing
- **PyPDF2**: https://github.com/py-pdf/PyPDF2
- **pdfplumber**: https://github.com/jsvine/pdfplumber
### RAG and QA
- **LangChain**: https://python.langchain.com/
- **Hugging Face Transformers**: https://huggingface.co/transformers/
### Citation Management
- **CrossRef API**: https://www.crossref.org/services/metadata-retrieval/
- **Semantic Scholar API**: https://www.semanticscholar.org/product/api
Related in Writing & Docs
jax-development
IncludedUse this skill when the user is writing, debugging, profiling, refactoring, reviewing, benchmarking, parallelising, exporting, or explaining JAX code, or when they mention JAX, jax.numpy, jit, grad, value_and_grad, vmap, scan, lax, random keys, pytrees, jax.Array, sharding, Mesh, PartitionSpec, NamedSharding, pmap, shard_map, Pallas, XLA, StableHLO, checkify, profiler, or the JAX repo. It helps turn NumPy or PyTorch-style code into pure functional JAX, fix tracer/control-flow/shape/PRNG bugs, remove recompiles and host-device syncs, choose transforms and sharding strategies, inspect jaxpr/lowering/IR, and benchmark compiled code correctly.
nature-article-writer
IncludedDrafts, rewrites, diagnostically critiques, and style-calibrates primary research manuscripts for Nature and Nature Portfolio journals. Use when the user wants a Nature-style title, summary paragraph or abstract, introduction, results, discussion, methods, figure legends, presubmission enquiry, cover letter, reviewer response, or when a scientific draft sounds generic, jargon-heavy, structurally weak, or AI-ish and needs precise, broad-reader-friendly prose without inventing data, analyses, or references. Best for primary research articles and letters rather than reviews or press releases unless explicitly adapting one.
deckrd
IncludedDocument-driven framework that derives requirements, specifications, implementation plans, and executable tasks from goals through structured AI dialogue. Use when user says "write requirements", "create spec", "plan implementation", "derive tasks", "structure this feature", "break down into tasks", or "document this module". Also use for reverse engineering existing code into docs (/deckrd rev). Do NOT use for direct code writing — use /deckrd-coder after tasks are generated. Do NOT use when the user only wants to run or fix existing code without planning.
clinical-decision-support
IncludedGenerate professional clinical decision support (CDS) documents for pharmaceutical and clinical research settings, including patient cohort analyses (biomarker-stratified with outcomes) and treatment recommendation reports (evidence-based guidelines with decision algorithms). Supports GRADE evidence grading, statistical analysis (hazard ratios, survival curves, waterfall plots), biomarker integration, and regulatory compliance. Outputs publication-ready LaTeX/PDF format optimized for drug development, clinical research, and evidence synthesis.
handling-sf-data
IncludedSalesforce data operations with 130-point scoring. Use this skill to create, update, delete, bulk import/export, generate test data, and clean up org records using sf CLI and anonymous Apex. TRIGGER when: user creates test data, performs bulk import/export, uses sf data CLI commands, needs data factory patterns for Apex tests, or needs to seed/clean records in a Salesforce org. DO NOT TRIGGER when: SOQL query writing only (use querying-soql), Apex test execution (use running-apex-tests), or metadata deployment (use deploying-metadata).
accelint-ac-to-playwright
IncludedConvert and validate acceptance criteria for Playwright test automation. Use when user asks to (1) review/evaluate/check if AC are ready for automation, (2) assess if AC can be converted as-is, (3) validate AC quality for Playwright, (4) turn AC into tests, (5) generate tests from acceptance criteria, (6) convert .md bullets or .feature Gherkin files to Playwright specs, (7) create test automation from requirements. Handles both bullet-style markdown and Gherkin syntax with JSON test plan generation and validation.