research-paper-digest
SkillDev toolsRead and condense academic research papers into layered, audience-adaptive summaries. Handles local PDFs, preprint repository URLs, and DOIs. Produces structured output calibrated to reader expertise (expert, adjacent, executive) at configurable depth (tldr, executive, full). Use when asked to 'read this paper', 'summarize this paper', 'condense this paper', 'digest this paper', 'what does this paper say', 'break down this paper', 'explain this paper', 'paper summary', 'TLDR this paper', 'analyze this paper', 'review this paper', or 'parse this paper'.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the research-paper-digest skill
What this skill tells your AI
The instructions your AI receives, as published by amazon-quick/amazon-quick-official-catalog in skills/general-productivity/research-paper-digest/SKILL.md and read by ahel’s review.
Overview
Reads a research paper from any source (local PDF, preprint repository URL, or DOI) and produces a layered, audience-adaptive condensed summary. Outputs include a "so what" statement, structured claims table, jargon glossary, methodology assessment, and interactive Q&A availability.
Workflow
<Definition - Paper Types> Classify each paper into exactly one type. This determines which sections get extra attention:
| Type | Signal | Focus Areas |
|---|---|---|
| method | Proposes new algorithm, architecture, or technique | Novelty, computational cost, comparison to baselines |
| empirical | Reports experimental results, measurements, or observations | Sample size, controls, statistical significance, replication |
| survey | Reviews and synthesizes existing literature | Coverage, taxonomy quality, identified gaps |
| systems | Describes engineering of a system or platform | Design decisions, scalability, deployment lessons |
| position | Argues for a viewpoint or framework | Logical structure, evidence quality, counterarguments addressed |
| </Definition - Paper Types> |
<Definition - Audience Levels>
| Level | Assumes | Jargon Treatment | Detail Level |
|---|---|---|---|
| expert | Full domain knowledge, familiar with cited work | Use as-is | Maximum technical detail |
| adjacent | General research literacy, different subfield | Define domain-specific terms | Moderate, contextualize methods |
| executive | Smart generalist, no domain expertise | Replace all jargon with plain language | Implications-focused, minimal method detail |
| </Definition - Audience Levels> |
<Definition - Output Layers>
| Depth | Sections Produced |
|---|---|
| tldr | So-what + 3 key takeaways |
| executive | So-what + summary paragraph + claims table |
| full | All sections: so-what, summary, claims table, methodology assessment, jargon glossary, section-by-section breakdown, limitations, future work |
| </Definition - Output Layers> |
<Definition - Methodology Rigor Scale> Score each dimension 1-5:
| Dimension | 1 (Weak) | 3 (Adequate) | 5 (Strong) |
|---|---|---|---|
| Sample size | N<10 or unreported | Reasonable for field | Large, powered analysis |
| Controls | No controls | Basic controls | Comprehensive with ablations |
| Statistical methods | No stats or inappropriate | Standard tests applied | Pre-registered, multiple corrections |
| Replication | Single run, no seeds | Multiple seeds reported | Independent replication |
| Limitations disclosure | None mentioned | Brief acknowledgment | Detailed, honest assessment |
| </Definition - Methodology Rigor Scale> |
<Definition - Scope Assessment> For survey or position papers, replace Methodology Assessment with Scope Assessment:
| Dimension | 1 (Weak) | 3 (Adequate) | 5 (Strong) |
|---|---|---|---|
| Coverage breadth | Narrow slice of field | Representative sample | Comprehensive with systematic search |
| Recency | Mostly >5yr old citations | Mix of recent and foundational | Up-to-date with current work |
| Balance | One-sided or advocacy | Acknowledges alternatives | Fair treatment of competing views |
| Taxonomy quality | No organizing framework | Basic categorization | Novel, useful taxonomy |
| Gap identification | None stated | Some gaps noted | Actionable research agenda |
| </Definition - Scope Assessment> |
<Workflow - Ingest description="Acquire the paper text from whatever source the user provides." tools=[file_read_pdf, url_fetch, download_file, run_python, web_search] triggers=["User provides a paper source (path, URL, or DOI)"]
-
[Decide] What type of source is {{source}}?
- Local file path (ends in .pdf or points to a file) → Step 2
- Preprint repository URL (open-access paper host) → Step 3
- DOI (starts with "10." or contains "doi.org") → Step 4
- Other URL → Step 5
- Unclear → ask user to clarify Validate: Exactly one source type identified.
-
[Agent] Local PDF: Read the paper using file_read_pdf with text_only=True, max_chars=50000. If next_offset is returned, continue reading until complete. Validate: Extracted text is >500 characters. If not, the PDF may be scanned/image-based. If fails: Inform user that the PDF appears to be image-based and OCR is not available. Suggest they provide a text-accessible version.
-
[Agent] Preprint URL: Convert to the direct PDF URL format if needed. Download via download_file. Also fetch the abstract/landing page via url_fetch to get title, authors, and abstract metadata. Then read the downloaded PDF via file_read_pdf. Validate: PDF downloaded successfully AND text extracted is >500 characters. If fails: Try url_fetch on the abstract page alone and work with abstract + metadata only. Inform user of limitation.
-
[Agent] DOI: Fetch metadata from https://api.crossref.org/works/DOI via url_fetch. Extract title, authors, journal, abstract. Attempt to find an open-access PDF URL from the metadata. If found, download and read. If not, work with available metadata. Validate: At least title and abstract obtained. If fails: Search web for "DOI full text PDF" as fallback. If still no PDF, summarize from abstract only and inform user.
-
[Agent] Other URL: Attempt url_fetch. If it returns a PDF, save to tmp/ and read via file_read_pdf. If HTML, extract paper content from the page. Validate: Meaningful paper text obtained (>500 chars). If fails: Inform user the URL did not yield readable paper content.
-
[Agent] If total extracted text exceeds ~20,000 words (estimated 26,000 tokens), flag for hierarchical chunking in the Condense workflow. Validate: Word count estimated and long-paper flag set if needed.
-
[CHECKPOINT] Verify: (a) Paper text acquired with >500 chars, (b) source metadata captured (title, authors if available), (c) long-paper flag determined. Proceed to Classify.
</Workflow - Ingest>
<Workflow - Classify description="Determine the paper type and extract structural metadata." tools=[run_python] triggers=["Called after Ingest CHECKPOINT passes"]
-
[Agent] Extract metadata from the paper text:
- Title (usually first prominent text or from preprint/DOI metadata)
- Authors
- Abstract (look for "Abstract" heading or first paragraph after title)
- Section headings (scan for numbered headings or ALL-CAPS lines) Validate: At minimum, title and abstract identified. If fails: Use the first 500 characters as a proxy abstract. Note metadata extraction was partial.
-
[Agent] Classify paper type per <Definition - Paper Types>. Read the abstract and introduction to determine which type fits. Look for signals:
- "We propose..." / "We introduce..." → method
- "We conducted..." / "We measured..." / "N=..." → empirical
- "In this survey..." / "We review..." → survey
- "We built..." / "We deployed..." / "architecture of..." → systems
- "We argue..." / "We propose a framework for thinking about..." → position Validate: Exactly one paper type assigned with brief justification. If fails: Default to "method" (most common) and note uncertainty.
-
[Agent] Detect section structure. Identify which standard sections are present:
- Abstract, Introduction, Related Work, Methods/Approach, Experiments/Results, Discussion, Conclusion, Limitations, References Map the paper's actual headings to these canonical sections. Validate: At least 3 sections identified. If fails: Treat as unstructured and process holistically.
-
[CHECKPOINT] Verify: (a) Paper type classified, (b) metadata extracted, (c) section structure mapped. Proceed to Condense.
</Workflow - Classify>
<Workflow - Condense description="Produce the layered condensed output based on audience and depth settings." tools=[run_python, file_write] triggers=["Called after Classify CHECKPOINT passes"]
- [Decide] Is this a long paper (flagged in Ingest step 6)?
- Yes → Process section-by-section, then synthesize (step 2a)
- No → Process holistically (step 2b)
2a. [Agent] Long paper path: For each detected section, produce a section summary (3-5 sentences capturing key points). Then synthesize all section summaries into the final output. Validate: Every detected section has a summary. Synthesis covers the full paper arc. If fails: If a section produced no useful summary, note it as "section contained insufficient extractable content."
2b. [Agent] Standard path: Process the full paper text to produce the condensed output. Validate: Output addresses the paper's core contribution, methods, and findings.
-
[Agent] Generate the "So What" statement: One sentence answering "Why should anyone care about this paper?" This goes at the very top of the output. Calibrate language to {{audience}} level. Validate: Single sentence, no jargon for executive audience, states concrete significance. If fails: Rewrite. Common failure mode is being too vague ("This paper advances the field..."). Be specific about what changes.
-
[Agent] Generate the claims table. Extract 3-8 core claims the paper makes. For each:
- Claim (one sentence)
- Evidence (what data/analysis supports it, reference specific tables/figures)
- Strength (strong/moderate/weak based on evidence quality) Validate: Each claim is actually stated in the paper. Each evidence reference points to real content. If fails: Remove any claim you cannot ground in the text.
-
[Decide] Is {{depth}} == "tldr"?
- Yes → Produce so-what + 3 bullet takeaways. Skip to step 10.
- No → Continue.
-
[Decide] Is {{depth}} == "executive"?
- Yes → Produce so-what + one-paragraph summary + claims table. Skip to step 10.
- No → Continue to full depth.
-
[Agent] Generate methodology assessment per <Definition - Methodology Rigor Scale> (for method/empirical papers) or <Definition - Scope Assessment> (for survey/position papers). Score each of the 5 dimensions with brief justification. Validate: All 5 dimensions scored with one-sentence justifications. If fails: Mark dimensions as "not assessable" if paper does not provide enough information.
-
[Agent] Generate jargon glossary. Identify 5-15 technical terms that would be unclear to the {{audience}} level. Define each in one plain sentence.
- For "expert" audience: only include highly specialized or novel terms
- For "adjacent" audience: include domain-specific terminology
- For "executive" audience: include all technical terms, acronyms, and methods Validate: Each definition is accurate and calibrated to audience. If fails: Cross-check definitions against how the paper itself uses the term.
-
[Agent] Generate section-by-section breakdown. For each major section:
- 2-4 sentence summary of key content
- Notable data points, figures, or tables referenced
- How this section connects to the paper's overall argument Validate: Every major section covered. No section summary contradicts the paper.
-
[Agent] Assemble the full output using the Summary Output template. Write to a markdown file at artifacts/{paper_title_slug}_summary.md. IMPORTANT: Before writing, verify the assembled markdown contains ONLY sections from the template. Remove any section not defined in the template. Validate: File written successfully. All sections present per the chosen depth level. No extra sections added. If fails: Check file write permissions. Retry once.
-
[CHECKPOINT] Verify: (a) Summary file written to artifacts/, (b) all sections match template for chosen depth, (c) no editorial/relevance sections added. Proceed to Deliver.
</Workflow - Condense>
<Workflow - Deliver description="Present the summary to the user and offer Q&A. ALL steps in this workflow are mandatory." tools=[open_in_session_tab] triggers=["Called after Condense CHECKPOINT passes"]
-
[Agent] Open the summary file in a session tab for the user to read. Validate: File opened successfully. If fails: Display the summary content directly in chat instead.
-
[Agent] Present a brief in-chat summary: the so-what statement + the claims table (or top 3 claims for brevity) + a note about the full document being available in the tab. Validate: Chat message contains the so-what and at least a preview of claims.
-
[Ask user] MANDATORY. Present the Q&A offer as the final element of your response. Do not add commentary, evaluations, or follow-up thoughts after or instead of this. Use a decision card:
<decision question="What would you like to do next?"> <option description="Ask about specific sections, methods, or findings">Drill into the paper</option> <option description="Regenerate for a different expertise level">Change audience/depth</option> <option description="Search for related work or context">Find related papers</option> </decision>Validate: Decision card is present in the response. Nothing else follows it. If fails: Write the Q&A offer as plain text: "Would you like to drill into any specific part of the paper, change the audience/depth level, or find related work?"
-
[CHECKPOINT] Verify: (a) Summary opened in tab, (b) in-chat preview delivered, (c) Q&A offer presented to user. Workflow complete.
</Workflow - Deliver>
<Template - Summary Output> The summary markdown file must contain ONLY these sections (subset based on depth level). No additional sections are permitted.
{Paper Title}
Paper Condensed Summary | Generated by Research Paper Digest
Paper Metadata
| Field | Value |
|---|---|
| Title | {title} |
| Authors | {authors} |
| Affiliations | {affiliations} |
| Date | {date} |
| Type | {paper type} |
| Source | {link or path} |
So What?
{One sentence: why this paper matters, calibrated to audience}
Key Takeaways
- {First key point}
- {Second key point}
- {Third key point}
Claims and Evidence
| # | Claim | Evidence | Strength |
|---|---|---|---|
| 1 | {claim} | {evidence with figure/table refs} | {Strong / Moderate / Weak} |
| 2 | ... | ... | ... |
Methodology Assessment
| Dimension | Score (1-5) | Justification |
|---|---|---|
| Sample size | {N} | {one sentence} |
| Controls | {N} | {one sentence} |
| Statistical methods | {N} | {one sentence} |
| Replication | {N} | {one sentence} |
| Limitations disclosure | {N} | {one sentence} |
Overall rigor: {average}/5
Jargon Glossary
| Term | Definition |
|---|---|
| {term} | {plain language definition} |
Section Breakdown
{Section Name}
{2-4 sentences}
(Repeat for each major section)
Limitations
{As stated by the authors, do not editorialize}
Future Work
{As stated by the authors}
Paper Stats
- Pages: {N}
- Figures/Tables: {count if detectable}
- Code available: {yes/no + link if available}
Condensed by Research Paper Digest on {date} | Audience: {audience} | Depth: {depth}
IMPORTANT: The above template defines the COMPLETE set of allowed sections. Do NOT add sections like "Relevance to...", "Implications for...", "My Take", "Commentary", or any other editorial content. If the user wants personal relevance mapping, provide it in follow-up chat after delivering this template-compliant summary. </Template - Summary Output>
<Resource - Preprint URL Patterns>
| Format | Example | Action |
|---|---|---|
| Abstract/landing page | https://preprints.example.org/abs/2401.12345 | Fetch for metadata |
| PDF direct link | https://preprints.example.org/pdf/2401.12345.pdf | Download for reading |
| Legacy/vanity URL | https://preprints.example.org/abs/cs/0601001 | Old format, same pattern |
| HTML view | https://preprints.example.org/html/2401.12345 | Alternative, try PDF first |
| </Resource - Preprint URL Patterns> |
<Resource - Crossref API> Endpoint: https://api.crossref.org/works/{DOI} Returns JSON with: title, author[], container-title (journal), published-print.date-parts, abstract, link[] (may contain PDF URL). No auth required. Rate limit: 50 req/sec with polite pool. </Resource - Crossref API>
Signals
- GitHub stars
- 49
- Forks
- 2
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
research-paper-digest- Source
- github.com/amazon-quick/amazon-quick-official-catalog