Refactor high-complexity React components in Dify frontend. Use when `pnpm analyze-component...
npx skills add qodex-ai/ai-agent-skills --skill "chat-with-arxiv"
Install specific skill from multi-skill repository
# Description
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.
# SKILL.md
name: chat-with-arxiv
description: 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.
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 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 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 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 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
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.