Agent skill

PDF Explore

by xuzhougeng in xuzhougeng/wisp-science

A skill your agent uses when the user has attached a PDF, paper, report, or other document and the answer needs its content: summarize a section, compare sections, read specific pages, check the…

Apache-2.0Auto-check passedDocuments & Office

Install PDF Explore

skills CLI
$ npx skills add xuzhougeng/wisp-science --skill pdf-explore -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install xuzhougeng/wisp-science pdf-explore --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/xuzhougeng/wisp-science.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pdf-explore .claude/skills/pdf-explore && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pdf-explore
GitHub stars
1k
Token cost
~1.2k tokens
SKILL.md length
437 words
Files
2
Skills in repo
25
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when the user has attached a PDF, paper, report, or other document and the answer needs its content: summarize a section, compare sections, read specific pages, check the…

  • The user has attached a PDF
  • SKILL.md covers Pick the entry point, Map the document first, A handful of pages: print them and Whole sections: go through a…, plus 2 more sections
  • Runs Python scripts from its folder
  • Other document and the answer needs its content: summarize a section

What it does

PDF Explore is an agent skill from xuzhougeng/wisp-science. Use this skill when the user has attached a PDF, paper, report, or other document and the answer needs its content: summarize a section, compare sections, read specific pages, check the table of contents, or read a value off a figure. The read tool cannot parse PDF binary — python is the extraction path. Provides pdfpages (pages as text or rendered PNGs, cached) and pdfoutline (embedded-bookmark TOC) in the persistent python kernel; load them once via the Runtime Sidecar exec line that useskill appends. For PDF…

Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 1 other file (for example `runtime.py`).

It sits in Documents & Office, covering PDF and Document parsing. It works with pypdf and Python. The repository describes itself as: Open-source, local-first desktop AI research workbench for scientific computing with Python/R, MCP bioinformatics tools, SSH/WSL/GPU runtimes, and OpenAI/Anthropic models. The licence is Apache-2.0.

When your agent uses it

  • The user has attached a PDF
  • Other document and the answer needs its content: summarize a section
  • Compare sections
  • Read specific pages

Example prompts

  • “/pdf-explore”

Requirements

  • Python 3

What it can do on your machine

Read from SKILL.md and the folder at commit 5eb95c9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

PDF Explore loads about 1.2k tokens when it runs. Until then it costs about 148 tokens; SKILL.md has 437 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~148
When it runs · the whole SKILL.md, loaded when a task matches
~1.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from xuzhougeng/wisp-science at commit 5eb95c9, republished under its Apache-2.0 licence (© xuzhougeng). 437 words, ~1,159 tokens.

Download SKILL.mdSave it as .claude/skills/pdf-explore/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
pdf-explore
description
Use this skill when the user has attached a PDF, paper, report, or other document and the answer needs its content: summarize a section, compare sections, read specific pages, check the table of contents, or read a value off a figure. The `read` tool cannot parse PDF binary — python is the extraction path. Provides `pdf_pages` (pages as text or rendered PNGs, cached) and `pdf_outline` (embedded-bookmark TOC) in the persistent python kernel; load them once via the Runtime Sidecar exec line that `use_skill` appends. For PDF creation/manipulation, use reportlab/pypdf directly.
fold_cue
instead_of=read use=pdf_pages/pdf_outline for PDFs — read cannot parse PDF binary; print ≤5 pages, else write to a file and read that
license
Apache-2.0

Read PDFs page-by-page, not wholesale

read chokes on PDF binary, and pasting a 50-page document costs 40K+ tokens. The sidecar parses once into the persistent Python kernel (memory + disk cached), after which you pull exactly the pages the question needs.

Setup, once per session: run the exec(...) line from the "Python Runtime Sidecar" section at the end of this skill's use_skill output. Definitions survive across cells until the kernel restarts. pypdfium2 is required (pillow too for image mode); if the first call raises ImportError, follow its hint and re-run.

Pick the entry point

calluse forgives
pdf_outline(path)any structured document — start here[{page, heading, level}] from embedded bookmarks, [] + hint when absent
pdf_pages(path, pages=[...], mode="text")the specific pages you need[{page, text, n_chars}]
pdf_pages(path, mode="image", dpi=200, pages=[N])figures, scansone PNG per page in .cache/pdf-explore/, for view_image
default mode="auto"unknown filetext, auto-switching to images when pages have no text layer

Map the document first

python
toc = pdf_outline("report.pdf")
for entry in toc:
    indent = "  " * (entry["level"] - 1)
    print(f'p{entry["page"]:>3} {indent}{entry["heading"]}')

Costs nothing when bookmarks exist (LaTeX-compiled papers almost always have them). On [], there is no LLM fallback here — print the opening lines of each page from pdf_pages(path, mode="text") and build the map yourself. Watch for the [pdf_outline] offset warning: some PDFs bookmark logical page numbers, which are shifted from file page numbers by the front matter.

A handful of pages: print them

python
hits = pdf_pages("report.pdf", pages=[12, 13], mode="text")
for h in hits:
    print(f'\n[page {h["page"]}]\n{h["text"]}')

Fine up to roughly five pages (~2–4KB each). Kernel output past the ~16KB context budget is head/tail-truncated at ingestion, so anything larger goes through a file instead.

Show full SKILL.md (193 more words)Show less

Whole sections: go through a file

For "summarize the methods", cross-section comparisons, or any multi-range pull, write all wanted pages in one call and read the result — read output enters context untruncated:

python
section_pages = [5, *range(21, 26), 62, 63, 64]     # from the outline
chunks = pdf_pages("report.pdf", pages=section_pages, mode="text")
open("pull.txt", "w").write(
    "".join(f'\n[page {c["page"]}]\n{c["text"]}' for c in chunks))
print("bytes:", __import__("os").path.getsize("pull.txt"))

Then read pull.txt, with offset/limit when it's long. As text a page runs ~800 tokens; as an attached image ~8K — and the parse is paid once.

Figures: render high, crop tight

A whole-page render can't resolve axis labels on a dense figure. Render at high dpi, crop to the figure with PIL, and view the crop:

python
import os
from PIL import Image
page = pdf_pages("report.pdf", mode="image", pages=[7], dpi=200)[0]
crop = os.path.join(os.path.dirname(page["image_path"]), "panel7.png")
Image.open(page["image_path"]).crop((x0, y0, x1, y1)).save(crop)

view_image the crop (or the full image_path once, to locate the figure). Every viewed image stays in context until /compact ages it out — view the few crops that matter, never the whole render set. Crops belong beside the renders under .cache/, never in the project's output directories: they are reading aids, not products.

Boundaries

The reference host's LLM helpers (pdf_scan page ranking, pdf_extract sweeps, pdf_map per-page summaries) require an in-kernel model bridge Wisp doesn't provide, so they don't exist here. For an exhaustive pass, dump pages to files in chunks (recipe above) and work through them, or hand the on-disk text to the explore subagent.

© xuzhougeng, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file in skills/pdf-explore of xuzhougeng/wisp-science.

  • SKILL.md
  • runtime.py

Open the folder on GitHubat commit 5eb95c9

Compare with similar skills

PDF Explore next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

PDF Explore compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
PDF Explore this skillxuzhougeng/wisp-science1k—~1.2kAutomated safety check: PassApache-2.0
PDF ToolkitXiaomiMiMo/MiMo-Code14k—~1.7kAutomated safety check: PassApache-2.0
PDF Generation, Forms and Extractionpipeshub-ai/pipeshub-ai3.8k—~2.9kAutomated safety check: PassApache-2.0
PDF Readerespennilsen/pi122—~1.6kAutomated safety check: PassMIT
PDF Processinganthropics/skills180k48 repos~2kAutomated safety check: PassProprietary
PDF Processing with PythonHKUDS/DeepTutor41k—~2.7kAutomated safety check: PassApache-2.0

Similar skills

  • PDF Toolkit

    XiaomiMiMo/MiMo-Code

    Reads, transforms, composes and fills PDFs with Python scripts for extraction, merging, watermarking, encryption, OCR and form filling.

    14k GitHub stars~1.7k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Picks the right library for generating a new PDF, filling an existing PDF form, or extracting text and tables, defaulting to Node where possible.

    3.8k GitHub stars~2.9k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • PDF Reader

    espennilsen/pi

    Read and extract content from PDF files — text, tables, metadata, and images.

    122 GitHub stars~1.6k tokensUpdated 18 days ago
    Documents & OfficeAuto-check passed
  • PDF Processing

    anthropics/skills

    Official

    Handles everyday PDF jobs in Python and on the command line: extract text and tables, merge, split, rotate, watermark, fill forms, encrypt and OCR.

    180k GitHub starsUsed in 48 repos~2k tokens
    Documents & OfficeAuto-check passed
  • Reads, extracts from, creates, merges, splits, watermarks, encrypts and fills PDF files with pdfplumber, pypdf and reportlab inside a Python sandbox.

    41k GitHub stars~2.7k tokensUpdated 2 days ago
    Documents & OfficeAuto-check passed
  • PDF Toolkit

    TokenRhythm/opensquilla

    Deterministic PDF operations through bundled scripts: extract text and tables, merge files or page ranges, split by range, fill form fields and build PDFs from data.

    7.1k GitHub stars~1.9k tokensUpdated today
    Documents & OfficeAuto-check passed

More from xuzhougeng/wisp-science

All 25 skills in this repo
  • Singlecell Qc

    xuzhougeng/wisp-science

    A skill your agent uses when designing, reviewing, or implementing single-cell RNA-seq QC in Python or R with a human-in-the-loop, data-driven approach.

    1k GitHub stars~1.6k tokensUpdated today
    Auto-check passed
  • Research Integrity Audit

    xuzhougeng/wisp-science

    学术审查 / research-integrity screening of a manuscript's figures and reported numbers.

    1k GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Distill Concept Books

    xuzhougeng/wisp-science

    将概念、理论或分析方法类图书蒸馏为证据可追溯、经人工门禁审核且不暴露书名、作者、出版社等来源身份的任务型 Skill 候选。用于新建或恢复图书蒸馏、以本地 Tesseract 扫描 DOCX 全部内嵌图像或 Poppler 渲染的扫描 PDF 全页、建立 source map 与 evidence/claim/relation/capability…

    1k GitHub stars~2.3k tokensUpdated today
    Auto-check passed
  • Skill Creator

    xuzhougeng/wisp-science

    Create, update, validate, and evaluate Wisp skills. An agent skill from xuzhougeng/wisp-science.

    1k GitHub stars~1.3k tokensUpdated today
    Auto-check passed
  • Word Zotero Citations

    xuzhougeng/wisp-science

    Build, audit, authorize, recover, or finalize dynamic Zotero citations and bibliographies in Microsoft Word DOCX files with a protected-source, digest-bound workflow.

    1k GitHub stars~3.7k tokensUpdated today
    Auto-check passed
  • Compute Env Setup

    xuzhougeng/wisp-science

    Set up and validate a reproducible Python or R environment on a Wisp execution context.

    1k GitHub stars~1.1k tokensUpdated today
    Auto-check passed

Works with

Questions about PDF Explore

What does PDF Explore do?

A skill your agent uses when the user has attached a PDF, paper, report, or other document and the answer needs its content: summarize a section, compare sections, read specific pages, check the…. PDF Explore is an agent skill from xuzhougeng/wisp-science. Use this skill when the user has attached a PDF, paper, report, or other document and the answer needs its content: summarize a section, compare sections, read specific pages, check the table of contents, or read a value off a figure.

When should I use PDF Explore?

PDF Explore fits situations like: the user has attached a PDF; other document and the answer needs its content: summarize a section; compare sections; read specific pages.

How do I install PDF Explore in Claude Code?

Run `npx skills add xuzhougeng/wisp-science --skill pdf-explore -a claude-code`. Or copy the skill folder (skills/pdf-explore in xuzhougeng/wisp-science) into .claude/skills/pdf-explore in your project. Claude Code loads it when a task matches its description.

How do I install PDF Explore in Codex?

Run `npx skills add xuzhougeng/wisp-science --skill pdf-explore -a codex`. Or copy the skill folder (skills/pdf-explore in xuzhougeng/wisp-science) into .agents/skills/pdf-explore in your project. Codex loads it when a task matches its description.

Can I use PDF Explore in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add xuzhougeng/wisp-science --skill pdf-explore -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pdf-explore, .gemini/skills/pdf-explore, .github/skills/pdf-explore and .opencode/skills/pdf-explore in your project.

What does PDF Explore need to run?

Going by SKILL.md and its folder, PDF Explore needs Python for the scripts in its folder. Our summary lists: Python 3.

Does PDF Explore access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is PDF Explore safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does PDF Explore use?

PDF Explore is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does PDF Explore use?

About 1.2k tokens (SKILL.md is roughly 4.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to PDF Explore?

Skills that share tags, products or a category with PDF Explore: PDF Toolkit (XiaomiMiMo/MiMo-Code, 14k stars), PDF Generation, Forms and Extraction (pipeshub-ai/pipeshub-ai, 3.8k stars), PDF Reader (espennilsen/pi, 122 stars) and PDF Processing (anthropics/skills, 180k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains PDF Explore?

xuzhougeng (a GitHub user) maintains it in xuzhougeng/wisp-science, which has 1,022 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 9, 2026.

Source: xuzhougeng/wisp-science on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.