Paper Summary Skill
Use this skill when PDFs have already been downloaded and the next step is to create deterministic <run-folder>/pdf/<safe_id>.md summaries from those PDFs.
For precise follow-up QA after the summaries exist, switch to the shared pageindex-grounded skill instead of stretching this skill into ad hoc question answering.
This skill is the canonical summary step for:
SKILLS/fast-research/SKILL.mdSKILLS/pro-research/SKILL.mdSKILLS/deep-research/SKILL.md
Update This Skill
Only do this if the user explicitly asks to update this skill from the GitHub repo.
To refresh this skill directly from the GitHub repo:
curl -fsSL https://raw.githubusercontent.com/jimezsa/papercli/main/SKILLS/paper-summary/SKILL.md \
-o SKILLS/paper-summary/SKILL.md
curl -fsSL https://raw.githubusercontent.com/jimezsa/papercli/main/SKILLS/paper-summary/references/summary_schema.md \
-o SKILLS/paper-summary/references/summary_schema.md
curl -fsSL https://raw.githubusercontent.com/jimezsa/papercli/main/SKILLS/paper-summary/scripts/gemini_parallel_summary.py \
-o SKILLS/paper-summary/scripts/gemini_parallel_summary.py
Mission
Given one paper PDF or a directory of paper PDFs:
- Read the PDFs directly with Gemini.
- Produce one markdown summary per paper that follows the canonical schema in
references/summary_schema.md. - Write each summary as
<safe_id>.md, next to<safe_id>.pdf, unless an explicit output directory is provided. - Optionally append original paper IDs to
<run-folder>/meta/summarized_ids.txt.
Prerequisites
python3is installed and available inPATH.google-genaiis installed:python3 -m pip install google-genaiGEMINI_API_KEYis set in the environment.- Network access is available when running the Gemini script.
- The PDFs already exist locally.
- Optional metadata JSON files exist in
<run-folder>/meta/<safe_id>.json.
Required Inputs
- A single PDF via
--pdf, or a directory of PDFs via--pdf-dir. - Optional
--metadata-dirso the script can recover original paper IDs and metadata fallbacks. - Optional
--summarized-idsfile to append successful original paper IDs. - Optional
--failures-tsvfile to record summary failures in the same ledger used by the research skills. - The active research run folder, normally
research/<YYYY-MM-DD>-<topic-slug>/, when this is called fromfast-research,pro-research, ordeep-research.
Hard Requirements
- Use the canonical schema from
references/summary_schema.mdunchanged. - Output markdown only. Do not wrap the summary in code fences.
- Keep figures, tables, equations, captions, and page anchors as first-class evidence.
- Use metadata only as fallback and label it clearly.
- If evidence is missing, preserve the required missing-evidence labels instead of guessing.
- Do not silently skip failures. Either rerun the paper or record the failure upstream.
Workflow
1. Confirm local inputs
- Verify the target PDF exists.
- When possible, keep PDF names aligned with the
safe_idconvention already used by the research skills. - If metadata exists, keep the matching JSON at
<run-folder>/meta/<safe_id>.json.
2. Run the Gemini batch summarizer
When this skill is called from a research run, set RUN_ROOT to the active run folder first:
RUN_ROOT="research/<YYYY-MM-DD>-<topic-slug>"
Single paper:
python3 SKILLS/paper-summary/scripts/gemini_parallel_summary.py \
--pdf "$RUN_ROOT/pdf/<safe_id>.pdf" \
--metadata-dir "$RUN_ROOT/meta" \
--summarized-ids "$RUN_ROOT/meta/summarized_ids.txt" \
--failures-tsv "$RUN_ROOT/meta/failures.tsv"
Batch mode:
python3 SKILLS/paper-summary/scripts/gemini_parallel_summary.py \
--pdf-dir "$RUN_ROOT/pdf" \
--metadata-dir "$RUN_ROOT/meta" \
--summarized-ids "$RUN_ROOT/meta/summarized_ids.txt" \
--failures-tsv "$RUN_ROOT/meta/failures.tsv" \
--concurrency 4
Useful flags:
--model <name>: override the default Gemini model.--output-dir <dir>: write summaries somewhere other than next to the PDFs.--overwrite: regenerate existing.mdsummaries.--concurrency <n>: lower this if the API starts rate limiting.
3. Review outputs
- Each successful run should create
<run-folder>/pdf/<safe_id>.md. - Check that the output preserves the canonical headings and evidence anchors.
- If a paper failed, inspect stderr, then rerun just that paper or keep the failure recorded in
<run-folder>/meta/failures.tsv.
Output Contract
- One markdown summary per processed PDF.
- Each summary follows the canonical schema in
references/summary_schema.md. - Successful runs may append the original paper ID to
<run-folder>/meta/summarized_ids.txtwhen metadata is available.
Canonical Assets
- Summary schema:
SKILLS/paper-summary/references/summary_schema.md - Batch summarizer:
SKILLS/paper-summary/scripts/gemini_parallel_summary.py