Install
openclaw skills install scholargraphAcademic literature intelligence toolkit for multi-source paper search, analysis, and knowledge graph building with AI assistance.
openclaw skills install scholargraphScholarGraph is a comprehensive academic literature intelligence toolkit that helps researchers efficiently search, analyze, and manage academic papers using AI-powered tools. Features 11 academic search sources with intelligent domain-based source selection and PDF download capabilities.
This skill operates with the following permissions:
data/knowledge-graphs.db)Data Storage: All data is stored locally. No telemetry or analytics are collected.
API Keys: Optional API keys are only used for their respective services and are never transmitted elsewhere.
Source Code: Open source under MIT license at https://github.com/Josephyb97/ScholarGraph
Literature Search - Multi-source academic paper discovery (11 sources)
Concept Learner - Rapid knowledge framework construction
Knowledge Gap Detector - Proactive blind spot identification
Progress Tracker - Real-time field monitoring
Paper Analyzer - Deep paper analysis
Knowledge Graph Builder - Concept relationship visualization
Review Detector - Automatic review paper identification
Concept Extractor - Extract concepts from review papers
Review-to-Graph Workflow - End-to-end pipeline
Knowledge Graph Query - Bidirectional literature indexing
Compare Concepts - Compare two concepts
Compare Papers - Compare multiple papers
Critique - Critical paper analysis
Learning Path - Find optimal learning paths
Graph Management - Manage persistent knowledge graphs
Paper Visualization - Interactive paper presentation
Interactive Knowledge Graph - D3.js force-directed visualization
# Clone repository
git clone https://github.com/Josephyb97/ScholarGraph.git
cd ScholarGraph
# Install dependencies
bun install
# Initialize configuration
bun run cli.ts config init
Set up your AI provider:
# Using OpenAI
export AI_PROVIDER=openai
export OPENAI_API_KEY="your-api-key"
# Using DeepSeek
export AI_PROVIDER=deepseek
export DEEPSEEK_API_KEY="your-api-key"
# Using Qwen (通义千问)
export AI_PROVIDER=qwen
export QWEN_API_KEY="your-api-key"
export NCBI_API_KEY="your-key" # PubMed high-speed access (10 req/s)
export IEEE_API_KEY="your-key" # IEEE Xplore engineering papers
export CORE_API_KEY="your-key" # CORE open access full text
export UNPAYWALL_EMAIL="your@email.com" # Unpaywall OA PDF resolver
export CROSSREF_MAILTO="your@email.com" # CrossRef polite pool (higher rate)
export SERPAPI_KEY="your-key" # Google Scholar (via SerpAPI)
export SERPER_API_KEY="your-key" # Web search via Serper
# Auto-select best sources based on query domain
lit search "transformer attention" --limit 20
# Specify domain for optimized source selection
lit search "CRISPR gene editing" --domain biomedical
# Use specific sources (comma-separated)
lit search "deep learning" --source semantic_scholar,arxiv,openalex --sort citations
# Search and download PDFs
lit search "attention is all you need" --download --limit 3
# Search and download PDFs
lit download "transformer" --limit 5 --output ./papers
lit learn "BERT" --depth advanced --papers --code --output bert-card.md
lit detect --domain "Deep Learning" --known "CNN,RNN" --output gaps.md
lit analyze "https://arxiv.org/abs/1706.03762" --mode deep --output analysis.md
lit graph transformer attention BERT GPT --format mermaid --output graph.md
lit compare concepts CNN RNN --output comparison.md
lit compare papers "url1" "url2" "url3" --output comparison.md
lit critique "paper-url" --focus "novelty,scalability" --output critique.md
lit path "Machine Learning" "Deep Learning" --concepts "Neural Networks" --output path.md
lit review-search "attention mechanism" --limit 10
# From search query (interactive mode)
lit review-graph "deep learning" --output dl-graph --enrich
# From specific URL
lit review-graph "https://arxiv.org/abs/xxxx" --output my-graph --enrich
# Auto-confirm mode (non-interactive)
lit review-graph "transformer" --output tf-graph --enrich --auto-confirm
# Find papers by concept
lit query concept "transformer" --graph dl-graph --limit 20
# Find concepts by paper
lit query paper "https://arxiv.org/abs/1706.03762" --graph dl-graph
# List all graphs
lit graph-list
# View graph statistics
lit graph-stats dl-graph
# Visualize graph
lit graph-viz dl-graph --format mermaid --output graph.md
# Export graph
lit graph-export dl-graph --output dl-graph.json
# Generate interactive HTML presentation
lit paper-viz "https://arxiv.org/abs/1706.03762" --output attention.html
# With theme and PPT export
lit paper-viz "https://arxiv.org/abs/1706.03762" --mode deep --theme academic-light --ppt
# Manually provide figures
lit paper-viz "https://example.com/paper" --figures ./my-figures
# Generate interactive D3.js graph from existing knowledge graph
lit graph-interactive dl-graph --output dl-interactive.html
# Without paper data (lighter weight)
lit graph-interactive my-graph --no-paper-viz
ScholarGraph/
├── cli.ts # Unified CLI entry
├── config.ts # Configuration management
├── README.md # Project documentation
├── CHANGELOG.md # Version history
├── SKILL.md # This file
│
├── shared/ # Shared modules
│ ├── ai-provider.ts # AI provider abstraction
│ ├── types.ts # Type definitions
│ ├── validators.ts # Parameter validation
│ ├── errors.ts # Error handling
│ └── utils.ts # Utility functions
│
├── literature-search/ # Literature search module
│ └── scripts/
│ ├── search.ts # Search engine core
│ ├── types.ts # Type definitions
│ ├── query-expander.ts # Query expansion
│ ├── search-strategy.ts # Complementary search strategy
│ ├── pdf-downloader.ts # PDF download module
│ └── adapters/ # Search source adapters
│ ├── base.ts # Adapter interface & base class
│ ├── registry.ts # Adapter registry
│ ├── index.ts # Barrel export
│ ├── arxiv-adapter.ts
│ ├── semantic-scholar-adapter.ts
│ ├── web-adapter.ts
│ ├── openalex-adapter.ts
│ ├── pubmed-adapter.ts
│ ├── crossref-adapter.ts
│ ├── dblp-adapter.ts
│ ├── ieee-adapter.ts
│ ├── core-adapter.ts
│ ├── unpaywall-adapter.ts
│ └── google-scholar-adapter.ts
│
├── concept-learner/ # Concept learning module
├── knowledge-gap-detector/ # Gap detection module
├── progress-tracker/ # Progress tracking module
├── paper-analyzer/ # Paper analysis module
│
├── review-detector/ # Review paper identification
│ └── scripts/
│ ├── detect.ts # Multi-dimensional scoring
│ └── types.ts
│
├── concept-extractor/ # Concept extraction from reviews
│ └── scripts/
│ ├── extract.ts # AI-powered extraction
│ └── types.ts
│
├── knowledge-graph/ # Knowledge graph module
│ └── scripts/
│ ├── graph.ts # Graph building core
│ ├── indexer.ts # Bidirectional indexing
│ ├── storage.ts # SQLite persistence
│ └── enricher.ts # Key paper association
│
├── paper-viz/ # Paper visualization
│ └── scripts/
│ ├── types.ts # Presentation data interfaces
│ ├── slide-builder.ts # PaperAnalysis → slides
│ ├── html-generator.ts # Self-contained HTML generation
│ ├── pdf-figure-extractor.ts # PDF figure extraction (pymupdf)
│ └── ppt-exporter.ts # PPT export (python-pptx)
│
├── graph-viz/ # Interactive knowledge graph
│ └── scripts/
│ ├── types.ts # D3 graph data interfaces
│ ├── graph-data-adapter.ts # KnowledgeGraph → D3 data
│ ├── html-generator.ts # Interactive HTML (D3.js v7)
│ └── paper-viz-bridge.ts # Graph → paper presentation bridge
│
├── workflows/ # End-to-end workflows
│ └── review-to-graph.ts # Review to graph pipeline
│
├── data/ # Data directory (auto-created)
│ └── knowledge-graphs.db # SQLite database
│
├── downloads/ # PDF downloads (auto-created)
│ └── pdfs/
│ └── metadata.json # Download index
│
└── test/ # Tests and documentation
├── ADVANCED_FEATURES.md
├── TEST_RESULTS.md
└── scripts/
Structured data for programmatic processing
Interactive knowledge graphs and learning paths
MIT License
Current version: 1.0.0
ScholarGraph Team
Design Inspirations:
For detailed documentation, see README.md For advanced features, see test/ADVANCED_FEATURES.md For test results, see test/TEST_RESULTS.md