study
Use this skill when the user wants to read, study, analyze, or deeply understand a research paper (PDF).
Use this for a quick summary of a research paper's core ideas and key points. Use when you want to quickly understand a paper without deep study materials. Triggers on PDF paths, arXiv URLs, or paper URLs.
$ npx -y skills add alaliqing/claude-paper --skill summary --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/summaryContext preview
The summary Claude sees to decide when to auto-load this skill.
Use this for a quick summary of a research paper's core ideas and key points. Use when you want to quickly understand a paper without deep study materials. Triggers on PDF paths, arXiv URLs, or paper URLs.
name: summary description: Use this for a quick summary of a research paper's core ideas and key points. Use when you want to quickly understand a paper without deep study materials. Triggers on PDF paths, arXiv URLs, or paper URLs. disable-model-invocation: false allowed-tools: Bash, Write, Read
This skill generates a **concise summary** of a research paper's core ideas and key points.
**When to use:**
**When NOT to use:**
---
**Language Detection**: Detect the user's language from their input and generate ALL materials in that language.
---
if [ ! -f "${CLAUDE_PLUGIN_ROOT}/.installed" ]; then
echo "First run - installing dependencies..."
cd "${CLAUDE_PLUGIN_ROOT}"
npm install || exit 1
# Install Python dependencies for image extraction
python3 -m pip install pymupdf --user 2>/dev/null || pip3 install pymupdf --user 2>/dev/null || echo "Warning: Failed to install pymupdf"
touch "${CLAUDE_PLUGIN_ROOT}/.installed"
echo "Dependencies installed!"
fi---
Supports multiple input formats:
USER_INPUT="<user-input>"
# Check if input is a URL (starts with http:// or https://)
if [[ "$USER_INPUT" =~ ^https?:// ]]; then
# Download PDF from URL
INPUT_PATH=$(node ${CLAUDE_PLUGIN_ROOT}/skills/study/scripts/download-pdf.cjs "$USER_INPUT")
else
# Use local path directly
INPUT_PATH="$USER_INPUT"
fiFor URLs, the download script will:
Extract structured information:
PARSE_OUTPUT_DIR=$(mktemp -d)
node ${CLAUDE_PLUGIN_ROOT}/skills/study/scripts/parse-pdf.js \
"$INPUT_PATH" \
--output-dir "$PARSE_OUTPUT_DIR"The command prints a small, strict JSON summary to stdout and writes:
Use `paper.txt` as the source for the quick summary. Do not treat `meta.json.content` as the complete paper when `contentTruncated` is true.
---
Create the paper folder:
mkdir -p ~/claude-papers/papers/{paper-slug}
cp "<metaPath-from-parser-output>" ~/claude-papers/papers/{paper-slug}/meta.json
cp "<fullTextPath-from-parser-output>" ~/claude-papers/papers/{paper-slug}/paper.txt
cp "$INPUT_PATH" ~/claude-papers/papers/{paper-slug}/paper.pdfGenerate **quick-summary.md** with the following structure:
# Quick Summary: [Paper Title] ## One Sentence [One sentence that captures what the paper is about] ## Problem [What problem does this paper solve? Why is it important?] ## Core Idea [The key innovation explained in 2-3 sentences. What makes this paper novel?] ## Key Contributions - [Contribution 1] - [Contribution 2] - [Contribution 3] - [Contribution 4 if applicable] ## Main Results | Metric | Value | Dataset/Benchmark | |--------|-------|-------------------| | [metric1] | [value] | [dataset] | | [metric2] | [value] | [dataset] | ## Why It Matters [Practical implications. How does this advance the field? What can we now do that we couldn't before?] ## Limitations - [Limitation 1] - [Limitation 2]
**Guidelines for each section:**
| Section | Length | Focus | |---------|--------|-------| | One Sentence | 1 sentence | High-level summary | | Problem | 2-3 sentences | Context and motivation | | Core Idea | 2-3 sentences | The main innovation | | Key Contributions | 3-5 bullets | What's new/novel | | Main Results | 1 table | Quantitative metrics from the paper | | Why It Matters | 2-3 sentences | Practical value | | Limitations | 2-3 bullets | What the paper doesn't solve |
**Total length:** ~300-500 words (excluding results table)
---
**CRITICAL**: Read existing index.json first, then append the new paper. Never overwrite the entire file.
If index.json does not exist, create:
{"papers": []}Append new entry to the papers array:
{
"id": "paper-slug",
"title": "Paper Title",
"slug": "paper-slug",
"authors": ["Author 1", "Author 2"],
"abstract": "Paper abstract...",
"year": 2024,
"date": "2024-01-01",
"tags": ["quick-summary"],
"githubLinks": ["https://github.com/..."],
"codeLinks": ["https://..."]
}**IMPORTANT**: The index.json file must be located at:
~/claude-papers/index.json
---
Invoke:
/claude-paper:webui
---
After generating the summary:
1. **Show the user the quick-summary.md content** - Display the full summary
2. **Offer next steps:**
3. **File location reminder:**
---
# Quick Summ
Transform research papers into comprehensive learning environments A research-paper learning plugin for Claude Code, Codex, OpenCode, and DeepSeek Harness.
Repo: alaliqing/claude-paper
Use this skill when the user wants to read, study, analyze, or deeply understand a research paper (PDF).
Use this skill when the user wants to read, study, analyze, or deeply understand a research paper (PDF).
Use this for a quick summary of a research paper's core ideas and key points. Use when you want to quickly understand a paper without deep study materials.…