reading-agent

Create structured reading notes for academic papers. This skill can operate standalone or integrate with lit-synthesis.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "reading-agent" with this command: npx skills add nealcaren/sociology-skillset/nealcaren-sociology-skillset-reading-agent

Reading Agent

Create structured reading notes for academic papers. This skill can operate standalone or integrate with lit-synthesis.

Project Integration

This skill reads from project.yaml when available:

From project.yaml

paths: lit_synthesis: literature/synthesis/

Project type: This skill works for all project types. Reading and analyzing literature is essential for qualitative, quantitative, and mixed methods research.

Saves reading notes to literature/synthesis/reading-notes/ by default, or to the path specified in project.yaml .

File Management

This skill uses git to track progress. After creating or updating reading notes:

  • Stage and commit: git add [files] && git commit -m "reading-agent: Notes for [author-year]"

Do NOT create version-suffixed copies (e.g., -v2 , -final , -working ). The git history serves as the version trail.

When to Use This Skill

Use this skill when you need to:

  • Create reading notes for a single paper

  • Batch-process multiple PDFs into structured notes

  • Extract consistent metadata and analysis across papers

  • Prepare papers for literature synthesis

Quick Start

/reading-agent

I need to read: /path/to/paper.pdf

Or with a citation key:

/reading-agent

Citation key: smithCulturalFrames2020

Workflow

Step 0: Identify the Paper

Ask the user for:

  • Paper source: PDF path, citation key (for local library lookup), or pasted text

  • Identifiers (at least one, prefer citation key):

  • Citation key (e.g., smithCulturalFrames2020 ) — from lit-search database or references.bib

  • OpenAlex ID (e.g., W2123456789 )

  • DOI (e.g., 10.1086/123456 )

Step 1: Access Paper Content

If PDF or EPUB provided (new paper): Ingest into the local library (converts to markdown + adds metadata to references.bib ):

uv run plugins/sociology-skillset/scripts/ingest.py --file "/path/to/paper.pdf"

Copies to library/pdfs/, converts to library/markdown/ (docling for PDFs, pandoc for EPUBs), appends to references.bib

If PDF provided for a paper already in references.bib (e.g., from lit-search but PDF was missing):

uv run plugins/sociology-skillset/scripts/ingest.py --file "/path/to/paper.pdf" --citekey Thompson2022_Inequality --update

Converts the PDF, copies files to library/, updates the existing bib entry with pdf_path and md_path

If citation key provided: Look up the key in references.bib to find the md_path field, then read the markdown file at that path directly.

If markdown/text: Use directly.

Step 2: Read and Extract

For single-paper mode (default): Read the paper directly and create structured notes.

For batch mode: Spawn haiku agents using the Task tool:

Task tool parameters:

  • subagent_type: "general-purpose"
  • model: "haiku"
  • prompt: [reading prompt with content and identifiers]
  • description: "Read paper: AuthorYear"

Step 3: Save Notes

Save reading notes to: reading-notes/author-year-slug.md

The filename uses author-year-slug for readability, but frontmatter identifiers are the authoritative match back to source papers.

Reading Note Template

All reading notes must follow this structure with required frontmatter:


citation_key: smithCulturalFrames2020 # From references.bib or lit-search database (preferred) openalex_id: W2123456789 # From lit-search database doi: 10.1086/123456 # Digital Object Identifier first_author: Smith year: 2020 short_title: cultural-frames

Smith 2020 - Cultural Frames

Bibliographic Info

  • Authors: [all authors]
  • Year: [publication year]
  • Title: [full title]
  • Journal: [venue/publisher]
  • DOI: [as link if available]
  • OpenAlex: https://openalex.org/W2123456789

Core Argument

[1-2 sentences: What is the paper arguing?]

Theoretical Framework

  • Tradition: [e.g., Bourdieusian, institutionalist, interactionist, framing theory]
  • Key concepts: [list main theoretical concepts used]
  • Theory deployment: [description | extension | critique | synthesis]

Empirical Strategy

  • Data: [what kind of data - interviews, content analysis, survey, etc.]
  • Methods: [how data was analyzed]
  • Sample: [who/what was studied, N if applicable]

Key Findings

  1. [Finding 1]
  2. [Finding 2]
  3. [Finding 3]

Contribution Claim

[What does the paper claim to contribute to the literature?]

Limitations

[As noted by the authors]

Key Quotes

"[Quote 1 - captures core argument or key concept]" (p. X)

"[Quote 2 - methodological or theoretical insight]" (p. Y)

"[Quote 3 - finding or implication]" (p. Z)

Connections

[What other papers, concepts, or debates does this connect to?]

Analytical Notes

[Your observations: How is the argument constructed? What assumptions underlie it? How does this relate to the broader project?]

Batch Processing Mode

For multiple papers:

  • Gather papers: List of PDFs, EPUBs, or citation keys

  • Ingest all files: Run uv run plugins/sociology-skillset/scripts/ingest.py --file <pdf> on each

  • Prepare identifiers: From lit-search database or references.bib

  • Spawn parallel agents: Multiple haiku agents via Task tool

  • Collect outputs: Save to reading-notes/ directory

Example batch invocation:

/reading-agent

Batch process these papers:

  • /papers/smith2020.pdf (DOI: 10.1086/123456)
  • /papers/jones2019.pdf (OpenAlex: W2123456789)
  • Citation key: brownMovementSpillover2021

The skill will spawn haiku agents in parallel for cost-effective processing.

Haiku Agent Prompt

When spawning agents for batch processing, use this prompt template:

You are a research assistant creating structured reading notes for a sociology literature synthesis project.

Paper Identifiers

  • Citation Key: {citation_key}
  • OpenAlex ID: {openalex_id}
  • DOI: {doi}
  • PDF source: {pdf_path}

Paper Content

{markdown_content}

Instructions

Create reading notes following the exact template structure provided. Include:

  1. YAML frontmatter with all available identifiers
  2. All sections from Bibliographic Info through Analytical Notes
  3. At least 3 key quotes with page numbers
  4. Specific, observable details rather than vague summaries

Focus on:

  • What the paper ARGUES, not just what it studies
  • How theory is DEPLOYED, not just what theory is mentioned
  • TENSIONS or gaps the paper leaves unresolved

Scripts

PDF/EPUB Conversion

Always use ingest.py to add papers — this ensures the PDF, markdown, and references.bib metadata stay linked via the citation key:

uv run plugins/sociology-skillset/scripts/ingest.py --file "/path/to/paper.pdf"

Uses docling for PDFs (with --image-export-mode placeholder ) and pandoc for EPUBs. Files are organized as library/pdfs/{citekey}.pdf and library/markdown/{citekey}.md .

Setup

Install dependencies:

pip install docling # for PDF conversion brew install pandoc # for EPUB conversion (or apt-get install pandoc)

Integration with Other Skills

From lit-search: Use the database.json to get OpenAlex IDs and DOIs for papers you've identified.

Finding related papers: Use semantic search to discover related papers in your library:

uv run plugins/sociology-skillset/scripts/rag.py search "topic from the paper you just read"

To lit-synthesis: Reading notes feed directly into:

  • Phase 2: Theoretical mapping (uses Tradition and Key concepts)

  • Phase 3: Thematic clustering (uses Findings and Methods)

  • Phase 4: Debate mapping (uses Connections and Analytical Notes)

With argument-builder: Key quotes and contribution claims inform prose drafting.

Model Recommendations

Mode Model Rationale

Single paper (deep) Opus Nuanced analysis, theoretical depth

Batch processing Haiku Cost-effective structured extraction

Use Opus when you need to understand how an argument is constructed. Use Haiku when you need consistent extraction across many papers.

Output Directory Structure

reading-notes/ ├── smith2020-cultural-frames.md ├── jones2019-institutional-logics.md ├── brown2021-movement-spillover.md └── ...

Each file contains full structured notes with frontmatter identifiers for reliable cross-referencing.

Starting the Reading

When the user invokes this skill:

Identify source:

"What paper do you want to read? Provide a PDF path, citation key (for local library lookup), or paste the text."

Gather identifiers:

"What identifiers do you have? I need at least one of: citation key, OpenAlex ID, or DOI."

Choose mode (if multiple papers):

"Single paper or batch? For batch, I'll spawn haiku agents to process in parallel."

Confirm output location:

"I'll save reading notes to reading-notes/ . Does that work, or do you want a different location?"

Begin reading: Convert PDF if needed, then extract structured notes.

Key Reminders

  • Identifiers are essential: Every note needs at least one unique identifier in frontmatter (prefer citation_key )

  • Quotes need page numbers: Include (p. X) for every quote

  • Arguments over summaries: Capture what the paper argues, not just what it describes

  • Tensions are valuable: Note unresolved questions and potential gaps

  • Consistency enables synthesis: Following the template exactly allows cross-paper analysis

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Research

interview-analyst

No summary provided by upstream source.

Repository SourceNeeds Review
Research

text-analyst

No summary provided by upstream source.

Repository SourceNeeds Review
Research

revision-coordinator

No summary provided by upstream source.

Repository SourceNeeds Review
Research

peer-reviewer

No summary provided by upstream source.

Repository SourceNeeds Review