What problem does it solve? Reading PDFs, pulling out highlights and sticky notes, or retrieving a paper's DOI and title usually requires manual copy-paste or ad-hoc scripts with no record of how the data was produced. This Skill performs reproducible, offline PDF extraction with no LLM calls, and stamps every output with a provenance sidecar recording the input sha256, library version, and extraction timestamp. ## Core Features & Use Cases - Document metadata extraction: Retrieves title, authors, DOI, year, keywords, and page count from XMP metadata, docinfo fields, and first-page heuristics. - Page-tagged text extraction: Dumps body text per page in JSON or plain text, with optional page-range filtering like "3-8" or "1,3,5-7". - Annotation extraction: Captures highlights, underlines, strikethroughs, sticky notes, and more, resolving the highlighted text from the PDF text stream. - Use Case: A researcher has a folder of annotated journal PDFs and needs every highlight plus each paper's DOI for a literature review. Running extract.py all paper.pdf produces a single JSON bundle with text, metadata, and annotations, plus a verifiable provenance record. ## Quick Start Ask the AI to extract all annotations and metadata from your PDF file, for example: "Extract the highlights and DOI from paper.pdf using the pdf-extract skill."