skills/paper_reader/SKILL.md
Parse and analyze academic papers from PDF files, generate structured JSON summaries and save to docs/papers directory.
npx skillsauth add Plan1014/LabPilot paper_readerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Read academic papers from PDF files, extract structured information, and save as JSON to the papers directory.
| Parameter | Type | Description |
|-----------|------|-------------|
| pdf_path | string | Local file path to the PDF |
{
"metadata": {
"title": "Paper title",
"authors": ["Author 1", "Author 2"],
"year": "2024",
"venue": "Journal/Conference name",
"pdf_path": "path/to/file.pdf"
},
"abstract": "2-3 sentence summary",
"key_contributions": [
"Contribution 1",
"Contribution 2"
],
"methodology": "Brief description of approach",
"key_findings": [
"Finding 1",
"Finding 2"
],
"limitations": [
"Limitation 1"
],
"saved_at": "2026-01-01"
}
.\LabPilot\tmp.\LabPilot\docs\papers.\LabPilot\docs\papers.\LabPilot\tmp for analysispaper_title.json)remember_fact() to save key insights to long-term fact library.\LabPilot\docs\papers.\LabPilot\tmp.\LabPilot\
├── tmp\ # Python scripts and temp files
│ ├── extract_pdf.py
│ └── page_*.txt
└── docs\
└── papers\ # Original PDFs and JSON summaries
├── paper1.pdf
├── paper1.json
└── paper2.json
| # | Constraint | Description |
|---|------------|-------------|
| 1 | Python Interpreter | Use D:\PDHlocking\LabPilot\venv\Scripts\python.exe |
| 2 | Working Directory | All operations within D:\PDHlocking\LabPilot |
| 3 | Script Location | Scripts run from .\LabPilot\tmp |
| 4 | Paper Location | Save to .\LabPilot\docs\papers |
| 5 | Output Format | JSON only |
| 6 | Fact Library | Use remember_fact() for long-term storage |
| 7 | No Core Blocks | Do NOT use core_block functions (save_core_block, append_core_block, etc.) |
# extract_pdf.py - save to .\LabPilot\tmp
from pypdf import PdfReader
import sys
import os
pdf_path = sys.argv[1] if len(sys.argv) > 1 else r"PATH_TO_PDF"
output_dir = r"D:\PDHlocking\LabPilot\tmp"
reader = PdfReader(pdf_path)
print(f"Total pages: {len(reader.pages)}")
for i, page in enumerate(reader.pages):
text = page.extract_text()
output_file = os.path.join(output_dir, f"page_{i+1}.txt")
with open(output_file, "w", encoding="utf-8") as f:
f.write(text)
print(f"Extracted page {i+1}")
| Scenario | Behavior | |----------|----------| | PDF not found | Return error with suggestion to check path | | Encrypted PDF | Notify user | | Very long paper (>50 pages) | Focus on abstract, intro, conclusion, key results |
development
Use this skill whenever the user wants to create a new SKILL.md file, design a reusable workflow, or package instructions for Claude to follow. Triggers include: "帮我创建一个技能", "create a new skill", "我想添加一个新的 XX 技能", "make this a skill", "create a skill for X", "turn this into a reusable skill". This skill helps users design, brainstorm, and generate new skills through interactive guidance, following the official SKILL.md anatomy guidelines. Do NOT use for general conversations unrelated to skill creation.
development
Controls the Rohde & Schwarz Phase Noise Analyzer via REST API. Use this skill when the user wants to measure phase noise, start PNA sweeps, check instrument health, or read frequency-domain data. Triggers include: "PNA", "phase noise", "sweep", "measure noise", "start measurement", "/measure/", "/health/". Also use when user mentions "Rohde & Schwarz", "spectrum", "PNR", or asks about "carrier suppression", "SSB phase noise". Do NOT use for general network requests unrelated to PNA instruments.
development
Use this skill whenever interacting with the PDH (Pound-Drever-Hall) optical cavity locking FastAPI service running at http://127.0.0.1:8001. Triggers include: any request to calculate PI, query task results, check or control lock state, set PID/modulation parameters, export waveforms, or monitor power. Also use when user mentions "PDH", "Pound-Drever-Hall", "lock", "锁定", "PI calculation", "task ID", "/pi/", "/lock/", "/pid/", "/modulation/", "/plot/", "/power/" endpoints. Do NOT use for general FastAPI services unrelated to PDH locking.
documentation
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]