agnt-gg/agnt/pdf-research-corpus-analyzer
Claude Code and agent skill by agnt-gg/agnt
- community
Checking that the SKILL.md file is still in the repository.
Download, extract, cross-reference, and generate sequenced reading plans from folders of PDF research papers or books. Use this skill whenever the user asks to analyze a collection of PDFs, build a reading plan from multiple documents, find connections between papers or books, create a concept index across documents, extract key ideas from a research corpus, stitch together a curriculum from PDFs, cross-reference themes across papers, map how ideas connect between documents, or says things like…
Install
npx vskill@latest install agnt-gg/agnt/pdf-research-corpus-analyzerSKILL.md
PDF Research Corpus Analyzer
Turn a folder of PDFs (or a topic to research) into a structured concept index and sequenced reading plan with exact page references. No vector databases, no embeddings — just structured extraction and concept-level cross-referencing.
Why This Approach Works Better Than Vectors
Vector/embedding search finds similarity — passages that use similar words. This skill finds structure — how ideas build on each other, where arguments agree or conflict, and what sequence a reader should follow. Vectors can't generate a reading plan because they don't understand order, argumentation, or pedagogical flow. Structured summarization + concept indexing does.
The Pipeline
The skill has three phases, always executed in order:
Phase 1: Acquire PDFs
Two modes depending on what the user provides:
Mode A — User has a folder of PDFs already:
- Confirm the folder path
- List and inventory every PDF (filename, size)
- Proceed to Phase 2
Mode B — User gives a topic, you find the papers:
- Search for research papers using
web_search(run 2-3 queries with different angles: survey papers, specific subtopics, recent work) - Identify 5-10 high-quality papers from arxiv, ACL Anthology, AAAI, IEEE, ACM, etc.
- Download each PDF using
execute_javascript_codewithfetch()+fs.writeFileSync() - Save all PDFs to a workspace subdirectory named after the topic (kebab-case)
- Verify all downloads succeeded before proceeding
Important download patterns:
- arxiv PDFs: use
https://arxiv.org/pdf/XXXX.XXXXX(no.pdfextension needed, it redirects) - ACL Anthology: direct
.pdflinks work - Always set
redirect: 'follow'in fetch options - Name files with a numbered prefix for ordering:
01_Title.pdf,02_Title.pdf
Phase 2: Extract and Map
Install PyMuPDF if needed (pip install pymupdf --quiet), then run a Python extraction script.
What to extract per PDF:
- Total page count
- Full text from every page (cap at ~3000 chars per page to stay manageable)
- Section headings — detect via patterns:
- Numbered sections:
1 Introduction,2.1 Memory Types - ALL CAPS headings
- Bold/large text patterns
- Page ranges for each section
Save the extraction as extracted_text.json in the working directory.
The extraction script pattern:
Phase 3: Build Concept Index and Reading Plan
This is the core intellectual work. Run a Python script that:
3a. Section Mapping
For each PDF, identify sections with their page ranges. Use regex heading detection:
r'^(\d+\.?\s+[A-Z][A-Za-z\s:,\-]+)'for numbered sectionsr'^(\d+\.\d+\.?\s+[A-Z][A-Za-z\s:,\-]+)'for subsectionsr'^([A-Z][A-Z\s]{5,})'for ALL CAPS headings
3b. Concept Detection
Search every page for a curated list of domain-relevant concepts. The concept keyword list should be tailored to the corpus topic. Start with 40-60 keywords covering:
- Core terminology of the field
- Key methodologies
- Important frameworks/models
- Cross-cutting themes
- Evaluation approaches
For each concept found, record which PDF and which pages mention it.
3c. Cross-Document Concept Index
Invert the per-paper concept lists into a cross-document index:
Sort by number of sources (most cross-referenced first). This reveals the load-bearing concepts of the corpus.
3d. Tiered Classification
Classify concepts into tiers:
- Tier 1 (Universal): Found in ALL or nearly all papers — these are the field's foundations
- Tier 2 (Major): Found in 60-80% of papers — important cross-cutting themes
- Tier 3 (Specialized): Found in 30-50% of papers — niche but significant topics
3e. Reading Plan Generation
Generate a sequenced reading plan with this structure:
Sequencing logic (in order of priority):
- Surveys/overviews before specialized papers
- Foundational concepts before advanced ones
- Shorter/simpler papers before longer/complex ones
- Within a phase, order by how many Tier 1 concepts a paper covers
Reading plan format:
Always include:
- Estimated reading time per phase and total
- A "30-minute quick path" for time-constrained readers (3 segments max)
- Topic-specific deep-dive alternatives (table format)
Output Files
Save all outputs to the working directory:
| File | Purpose | |
|---|---|---|
extracted_text.json | Raw text extraction (machine use) | |
concept_index.json | Structured concept index with stats (machine use) | |
READING_PLAN_AND_CONCEPT_INDEX.md | Human-readable deliverable |
The markdown file is the primary deliverable. Structure it as:
- Corpus Overview — Table of all papers with page counts, year, and focus
- Cross-Document Concept Index — Tiered concept tables with page references
- Reading Plan — The sequenced plan with phases, steps, and rationale
- Quick Reference — 30-minute path and topic deep-dive tables
Adapting the Concept Keywords
The concept keyword list must be tailored to the corpus topic. When the user provides a topic or you can infer it from the PDF titles:
- Start with 15-20 obvious domain terms
- After initial text extraction, scan the first few pages of each paper for frequently recurring technical terms
- Expand the keyword list to 40-60 terms
- Include both the full term and common abbreviations (e.g., "retrieval augmented generation" AND "RAG")
Edge Cases
- Scanned PDFs (no extractable text): PyMuPDF will return empty pages. Report which PDFs failed extraction and suggest OCR alternatives.
- Very large PDFs (500+ pages): Cap per-page text at 2000 chars. Process in batches if needed.
- Mixed languages: The concept detection is English-focused. Note if non-English content is detected.
- Non-research PDFs (books, manuals): The section detection still works. Adjust concept keywords to match the domain.
What NOT to Do
- Do not use vector embeddings or RAG for this task. The whole point is structured extraction.
- Do not try to summarize entire papers in a single LLM call — work at the section/page level.
- Do not skip the concept index and jump straight to a reading plan — the index is what makes the plan principled rather than arbitrary.
- Do not generate reading plans without exact page references — vague "read paper X" recommendations are useless.
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingbackend/skills/pdf-research-corpus-analyzer/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/agnt-gg/agnt/pdf-research-corpus-analyzer)