paperreading

作者 AOROM已验证

Evidence-grounded AI research workflow for traceable claims, explicit uncertainty, causal-language checks, and reviewable JSON, Markdown, and Excel exports.

50
Stars
2
Forks
Python
语言
2026/8/24
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/AOROM/paperreading

快速入门

使用 paperreading 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

PaperReading

PaperReading turns source documents into traceable evidence, structured research packages, and explicit verification states.

Evidence-grounded AI research workflow

Turn research material into versioned, reviewable artifacts.
Trace claims to evidence. Separate reporting from analysis. Keep uncertainty visible.

CI status Python 3.10 or newer Version 0.3.1 MIT License GitHub stars

English · 简体中文

Quick start · Capabilities · Architecture · Research principles · Roadmap · Contribute

PaperReading is an alpha-stage Python core and Codex Skill for researchers and research-tool builders who need more than a fluent summary. Its schemas and validators preserve the chain from a source location to a claim, distinguish paper-reported content from later interpretation, guard causal language, and keep legacy research exports reviewable.

[!IMPORTANT] Current scope: v0.3.1 ingests UTF-8 text, Markdown, and text-based PDFs; replays staged extraction through an auditable JSON provider; enforces Draft → Review → Finalize; and verifies quotations with local fuzzy alignment. PDF support does not provide OCR, layout geometry, table reconstruction, or figure extraction. Hosted AI providers, batch jobs, SQLite search, cross-paper synthesis, and automatic gap discovery remain planned.

From fluent summaries to defensible research artifacts

Research requirementPaperReading rule
TraceabilityClaims reference de-duplicated evidence spans with source and locator metadata
Epistemic separationPaper-reported content and researcher or AI-assisted analysis live in different objects
Inference disciplineCausal wording requires an eligible design and an explicit identification strategy
Explicit uncertaintyVerification returns verified, partial, or failed; migration never implies source checking
ReproducibilityVersioned schemas, run metadata, deterministic migrations, and inspectable local files preserve provenance
CompatibilityJSON, Markdown, legacy 13-field projection, and safe Excel append share one validated domain model

These rules make five questions answerable: what the paper reported, where the supporting evidence lives, whether that locator was checked, what the design permits us to infer, and how the artifact changed over time.

Try it in 60 seconds

Clone the repository, install the Core package, and validate the checked-in research package:

git clone https://github.com/AOROM/paperreading.git
cd paperreading
python -m pip install -e .
paperreading validate examples/paper-package.example.json

The fixture returns valid: true, evidence_count: 4, and finding_count: 1. It also returns four explicit EVIDENCE_NOT_VERIFIED warnings because the example was migrated from v0.2 and has not been checked against source content. That visible limitation is part of the contract, not hidden noise.

If you want to…Start here
Evaluate the artifact modelexamples/paper-package.example.json and versioned schemas
Use the Codex workflowskills/papers-reading-skill
Integrate from PythonPython API
Preserve an Excel workflowSafe Excel compatibility
Understand research safeguardsResearch Principles
Help shape the projectRoadmap and contribution guide

What ships in v0.3.1

CapabilityStatusPublic contract
v0.3 research packageImplementedPaperPackage separates document, grounded record, normalized evidence, analysis, audit, and run metadata
Source-aware ingestionImplementedDeterministic UTF-8 text/Markdown plus optional text-based PDF parsing behind one DocumentParser port
Extraction lifecycleImplementedProvider-neutral staged extraction, candidate/conflict preservation, explicit human review, and guarded finalization
Offline JSON providerImplementedReplays inspectable candidate and evidence output without a network call or hidden model dependency
Evidence graphImplementedResearch objects reference de-duplicated EvidenceSpan nodes by stable ID
Evidence verification v2ImplementedSource, page, block, section, text-hash, and local-window fuzzy quotation checks with explicit states
v0.2 migrationImplementedDeterministic PaperRecordPaperPackage migration with visible provenance limitations
Analysis separationImplementedResearcher assessments and extensions live outside the source-grounded record
Causal-language guardImplementedCausal wording requires an eligible design and an explicit identification strategy
Export and compatibilityImplementedLossless JSON, reviewable Markdown, legacy 13-field projection, and safe Excel append
Local project storageImplementedAtomic, inspectable JSON files under .paperreading/; no database required
OCR / hosted LLM / PDF geometry / batch / search / synthesisPlannedSequenced in the roadmap and never presented as shipped

How it works

flowchart LR
    S["Text / Markdown / text-based PDF"] --> I["Parser adapters"]
    I --> D["PaperDocument"]
    D --> E["Staged provider extraction"]
    E --> R["PaperDraft: candidates + conflicts"]
    R --> H["Explicit human review"]
    H --> P["Finalized PaperPackage"]
    V2["v0.2 PaperRecord"] --> M["Deterministic migration"]
    M --> P["v0.3 PaperPackage"]
    D --> V["Evidence verifier"]
    P --> V
    V --> O{"Validated artifact"}
    O --> J["JSON"]
    O --> MD["Markdown"]
    O --> L["Legacy 13-field projection"]
    L --> X["Safe Excel exporter"]

The dependency direction is deliberate:

domain <- migrations / ingestion / verification / validation / projections
       <- application use cases <- CLI / Skill / exporters / repositories

The domain layer imports no Typer, OpenPyXL, model SDK, storage adapter, or Codex runtime. File storage and Excel are replaceable adapters; the schemas remain the center of the system.

Research constitution

The normative Research Principles derive project decisions from academic validity, traceability, falsifiability, reproducibility, and research ethics. They take precedence over compatibility, convenience, performance, and growth metrics. A capability that cannot state its research object, evidence, inference boundary, uncertainty, and failure behavior is not ready to ship.

Explore the command workflow

Install optional PDF and Excel adapters only when they are needed:

python -m pip install -e ".[pdf,excel]"

Initialize an inspectable local project:

paperreading init

This creates .paperreading/config.toml, a manifest, and separate directories for documents, drafts, records, analyses, audits, and cache data.

Exercise the source-ingestion contract with the synthetic Markdown fixture:

paperreading ingest examples/source.example.md

Run the complete, network-free Draft → Review → Finalize fixture:

paperreading ingest examples/source.example.md --output document.json
paperreading extract document.json \
  --provider-manifest examples/extraction-manifest.example.json \
  --output bundle.json
paperreading review bundle.json \
  --decisions examples/review-decisions.example.json \
  --output reviewed.json
paperreading finalize reviewed.json \
  --document document.json \
  --output package.json
paperreading verify package.json --document document.json --strict

paperreading read combines ingestion and extraction when a project repository is desired. The JSON provider is a deterministic replay adapter for evaluation and integration; it is not a hosted LLM. A future model adapter must implement the same provider contract and preserve candidate evidence, uncertainty, and run metadata.

Exercise deterministic v0.2 migration without mutating the project:

paperreading migrate examples/paper-record.example.json \
  --output paper-package.json

Validate, export, and project either version:

paperreading validate examples/paper-record.example.json
paperreading validate examples/paper-package.example.json
paperreading export examples/paper-package.example.json review.md --format markdown
paperreading project examples/paper-package.example.json

Verify a package whose evidence IDs reference an ingested document:

paperreading verify package.json \
  --document .paperreading/documents/<document-id>.json \
  --strict \
  --output verified-package.json

The extraction fixture is linked to the synthetic Markdown source and can be strictly verified end to end. It contains invented, non-citable material. Extracting an arbitrary paper still requires a compatible provider; PaperReading does not silently make a model call or claim OCR capability.

The v0.3 artifact model

PaperPackage
├── document: DocumentManifest
├── record: GroundedPaperRecord
│   ├── metadata / questions / theory / data / variables / design
│   ├── source_claims -> evidence_ids[]
│   ├── findings / mechanisms / heterogeneity / robustness -> evidence_ids[]
│   └── paper-reported limitations
├── evidence_index: {evidence_id -> EvidenceSpan}
├── analysis
│   ├── researcher or AI-assisted assessments
│   └── executable research extensions
├── audit: optional method-audit report
└── run: reproducibility metadata

GroundedPaperRecord contains source-derived information. ResearchAnalysis contains interpretation and proposed extensions. Keeping them separate prevents a generated idea from being mistaken for a paper finding.

An evidence span can include both logical and physical locators:

{
  "evidence_id": "ev-0123456789abcdef",
  "source_id": "src-0123456789abcdef",
  "type": "TEXT",
  "page": 1,
  "section_path": ["Results"],
  "block_id": "p1-b0007",
  "char_start": 420,
  "char_end": 581,
  "quoted_text": "A source quotation used for verification."
}

The traceability score measures locator specificity. It is not a truth probability, study-quality score, causal-validity score, or external-validity judgment. Verification checks whether the locator and quotation resolve against the supplied PaperDocument; it still cannot establish that the paper's methods or claims are correct.

Schemas and compatibility

The root schema names remain convenient stable aliases. Immutable versioned contracts live under schemas/v0.2 and schemas/v0.3.

InputValidateJSON/MarkdownLegacy projectionSafe Excel
v0.2 PaperRecordYesYesYesYes
v0.3 PaperPackageYesYesYes, when research extensions existYes, through the same projection

Migration preserves the v0.2 13-field projection exactly. It does not pretend that legacy evidence has been checked against source content; migrated packages remain visibly marked migrated until verification runs.

Python API

from datetime import datetime, timezone
from pathlib import Path

from paperreading import (
    PaperRecord,
    migrate_v02_to_v03,
    to_legacy_13_fields,
    validate_package,
)

record = PaperRecord.model_validate_json(
    Path("record.json").read_text(encoding="utf-8")
)
package = migrate_v02_to_v03(
    record,
    migrated_at=datetime.now(timezone.utc),
)
report = validate_package(package)

if report.valid:
    legacy_row = to_legacy_13_fields(package)

Safe Excel compatibility

paperreading export package.json literature.xlsx --format excel --sheet 中文

The workbook must already contain 中文 and 英文 worksheets. The exporter:

  • validates the 12- or 13-column header contract;
  • detects duplicates without overwriting them;
  • preserves existing values, formulas, styles, tables, filters, and frozen panes;
  • creates a timestamped backup;
  • writes and reopens a temporary file for validation; and
  • replaces the source workbook atomically only after validation succeeds.

The legacy skills/papers-reading-skill/scripts/append_paper_reading.py entry point remains available for existing 13-field JSON integrations. No personal workbook path is committed; PAPER_READING_WORKBOOK may supply an existing local configuration.

Codex Skill

Copy skills/papers-reading-skill into the Codex skills directory after installing the Core package, start a new session, and invoke $papers-reading-skill. The standalone Skill directory carries the same MIT license notice.

The Skill is an adapter, not a second implementation. It respects the supplied source boundary, constructs a source-grounded package or compatible v0.2 record, runs Core validation, reports uncertainty, and requests authorization before workbook mutation.

Documentation map

DocumentPurpose
Research PrinciplesNormative rules for validity, evidence, inference, uncertainty, reproducibility, and ethics
ArchitectureParser and provider ports, artifact lifecycle, identity rules, and finalization gates
RoadmapShipped boundaries, planned hypotheses, milestones, and release gates
Contribution guideArchitecture, schema evolution, compatibility, testing, and research-integrity checks
Security policyPrivate vulnerability-reporting guidance and supported-version policy
ChangelogVersioned record of public capability and compatibility changes
MIT LicensePermission to use, copy, modify, distribute, sublicense, and sell the project

Project structure

paperreading/
├── LICENSE                 # OSI-approved MIT open-source license
├── RESEARCH_PRINCIPLES*.md # Bilingual academic-research contract
├── docs/assets/            # Repository presentation assets and provenance
├── src/paperreading/
│   ├── domain/          # v0.2 and v0.3 strict models
│   ├── ingestion/       # text, Markdown, and optional text-based PDF parsers
│   ├── providers/       # extraction protocol and offline JSON adapter
│   ├── migrations/      # version-to-version transformations
│   ├── verification/    # source-content evidence checks
│   ├── validation/      # evidence-state and causal-language rules
│   ├── application/     # reusable use cases
│   ├── repositories/    # local atomic JSON adapter
│   ├── projections/     # legacy 13-field projection
│   └── exporters/       # JSON, Markdown, and Excel adapters
├── schemas/             # root aliases and versioned JSON Schemas
├── skills/              # Codex adapter
├── examples/            # synthetic, non-citable fixtures
├── tests/               # domain, CLI, migration, verifier, and Excel safety tests
└── tools/               # deterministic schema, example, and Skill checks

Development

python -m pip install -e ".[excel,pdf,dev]"
python -m ruff check .
python -m ruff format --check .
python -m mypy
python tools/export_schemas.py --check
python tools/generate_examples.py --check
python tools/validate_skill.py skills/papers-reading-skill
python tools/validate_license.py
python -m unittest discover -s tests -v
python -m pip wheel --no-deps --wheel-dir dist .
python tools/validate_license.py --wheel-dir dist

If this direction is useful to your research workflow, consider starring the repository, opening an issue with a reproducible case, or contributing through CONTRIBUTING.md.

License

PaperReading is open-source software released under the MIT License. Unless a file states otherwise, the license covers the repository's source code, schemas, synthetic examples, documentation, and presentation assets.

The MIT License does not grant rights to third-party papers, datasets, user-supplied inputs, or generated extracts. Those materials remain subject to their own copyright, privacy, confidentiality, consent, and redistribution terms.

常见问题

What is paperreading?

paperreading is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by AOROM. Evidence-grounded AI research workflow for traceable claims, explicit uncertainty, causal-language checks, and reviewable JSON, Markdown, and Excel exports. It has 50 GitHub stars.

Is paperreading safe to use?

Yes. paperreading passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install paperreading?

Clone the repository with "git clone https://github.com/AOROM/paperreading" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is paperreading written in?

paperreading is primarily written in Python. It is open-source under AOROM on GitHub, so you can review or fork the full source.

Are there alternatives to paperreading?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh paperreading against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情