Literature Review
neflibata-feng/MyArxiv-Agent
Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.).
Finds, annotates, cites and tracks academic papers through subcommands for searching, turning a PDF into an annotated webpage, and daily paper discovery.
$ npx skills add sjqsgg/Paperwise --skill paper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install sjqsgg/Paperwise paper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "paper" agent skill from https://github.com/sjqsgg/Paperwise/tree/main into .claude/skills/paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sjqsgg/Paperwise --skill paper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install sjqsgg/Paperwise paper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "paper" agent skill from https://github.com/sjqsgg/Paperwise/tree/main into .agents/skills/paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sjqsgg/Paperwise --skill paper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install sjqsgg/Paperwise paper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "paper" agent skill from https://github.com/sjqsgg/Paperwise/tree/main into .cursor/skills/paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sjqsgg/Paperwise --skill paper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install sjqsgg/Paperwise paper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "paper" agent skill from https://github.com/sjqsgg/Paperwise/tree/main into .gemini/skills/paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install sjqsgg/Paperwise paperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add sjqsgg/Paperwise --skill paper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "paper" agent skill from https://github.com/sjqsgg/Paperwise/tree/main into .github/skills/paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add sjqsgg/Paperwise --skill paper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install sjqsgg/Paperwise paper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "paper" agent skill from https://github.com/sjqsgg/Paperwise/tree/main into .opencode/skills/paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "paper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
paperFinds, annotates, cites and tracks academic papers through subcommands for searching, turning a PDF into an annotated webpage, and daily paper discovery.
The /paper command covers four subcommands: find searches for papers and builds an HTML digest with the top results, read annotates a single PDF into a full dual-column HTML page, digest pulls new arXiv papers daily for a cron job, and cite generates APA and BibTeX citations from an existing annotation. Flags let you override the project context, switch to a question mode where discussion questions guide the annotation, change the output directory or language, restrict the search to arXiv or a configured venues list, or read local PDFs with no API calls at all.
Context comes from a --context flag, the current directory's CLAUDE.md, or a zero-config logic-analysis mode when neither is set. Its primary data source is OpenAlex, queried without an API key at up to ten requests per second, and after each search the skill keeps only the title, first author, year, citation count, venue name and DOI from the response, discarding everything else.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d865630. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
doi.orgapi.openalex.orgapi.semanticscholar.orgexport.arxiv.orgFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Academic Paper Workflow loads about 4.1k tokens when it runs, and up to ~4.9k if it reads all its reference files. Until then it costs about 50 tokens; SKILL.md has 1,385 words of instructions outside code blocks.
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.
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.
The full file from sjqsgg/Paperwise at commit d865630, republished under its MIT licence (© sjqsgg). 1,385 words, ~4,121 tokens.
.claude/skills/paper/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.Edit this section to customize for your project.
output_dir: "./papers"
# Obsidian vault users: set paper_output_dir in your project's CLAUDE.md
# Drive/OneDrive: use the appropriate MCP, then set path (e.g. "gdrive://My Drive/Papers")
venues: [CHI, ACL, EMNLP, NAACL, NeurIPS, ICML, ICLR, EDM, LAK, AIED, ITS, CSCW, SIGIR, CIKM]
keywords:
- cognitive load
- adaptive learning
- intelligent tutoring
- conversational learning
- LLM tutoring
- learning analytics
- behavioral signals
- educational dialogue
min_citations: 5 # /paper find: filter out papers with fewer citations
daily_max: 10 # /paper digest: max papers per run
annotation_lang: zh # zh = Chinese annotations | en = English; override with --lang
openalex_email: "" # Optional. Add email to join OpenAlex Polite Pool (higher rate limits).
semantic_scholar_api_key: "" # Optional. Free key: semanticscholar.org/product/apiOverride any config value in your project's CLAUDE.md using keys: paper_output_dir, paper_venues, paper_keywords, paper_annotation_lang.
| Command | Usage | Description |
|---|---|---|
find | /paper find "cognitive load LLM" | Search papers → Digest HTML with top N cards |
read | /paper read /path/to/file.pdf | Annotate a single PDF → full dual-column HTML |
digest | /paper digest | Daily new papers from arxiv (used by cron) |
cite | /paper cite [[note-name]] | Generate APA + BibTeX citation from existing annotation |
Flags:
--context "ML课第3周" — override project context--questions "Q1:... Q2:..." — switch to Question mode (Mode A)--questions — interactive question mode (Claude asks you)--output /path/ — override output directory for this run--top N — return N results (default: 5 for find, daily_max for digest); also accepts bare number after query--lang en — override annotation language for this run--source arxiv — search only arxiv (latest preprints, no citation filter)--source venues — search only papers from config venues list (citation-weighted ranking)--local /path/ — read local PDFs from folder (no API calls); or --local a.pdf b.pdf for specific filesFlags can be written with or without
--. Claude accepts natural language equivalents (e.g.top 5,source venues,local /path/,questions "...").
--context flag in commandCLAUDE.md (auto-loaded by Claude Code)Free, no API key required, 10 req/s rate limit.
https://api.openalex.org/works?search={query}
&select=title,authorships,publication_year,cited_by_count,primary_location,doi
&per-page=20
[&mailto={openalex_email} ← add if configured]After fetching: immediately extract and keep only — title, first author, year, cited_by_count, venue name (primary_location.source.display_name), DOI. Discard all other fields from the response before further processing.
semantic_scholar_api_key is set)https://api.semanticscholar.org/graph/v1/paper/search?query={topic}
&fields=title,authors,year,citationCount,venue,externalIds&limit=20Header: x-api-key: {semantic_scholar_api_key}
https://export.arxiv.org/api/query?search_query=(cat:cs.CL+OR+cat:cs.HC+OR+cat:cs.AI+OR+cat:cs.LG)
+AND+({keywords})&sortBy=submittedDate&sortOrder=descending&max_results=30Note: arxiv papers have no citation count. Label as preprint.
If a source returns 429: check Retry-After header → wait that many seconds. If no header: wait 2s → 5s → 10s (3 retries). After 3 failures → skip source, move to next in priority. Note which source was skipped in output.
Parse flags: topic query, --top N (default: 5), --lang, --source (default: mixed), --local (path or file list)
--top N also accepts a bare number immediately after the query string (e.g. /paper find "query" 10 → top 10)Resolve source strategy:
--source / flag | API calls | Ranking formula |
|---|---|---|
| (default, mixed) | Single OpenAlex call sort=cited_by_count:desc; arxiv fallback if <3 results | 0.5 × relevance_rank + 0.3 × log(cited_by_count+1) + 0.2 × recency_score |
arxiv | arxiv API only (sortBy=submittedDate); no min_citations filter | 0.5 × relevance_rank + 0.5 × recency_score |
venues | Single OpenAlex call; keep only papers where venue name matches any entry in config venues list (case-insensitive partial match on primary_location.source.display_name) | 0.5 × relevance_rank + 0.5 × log(cited_by_count+1) |
--local /path/ or --local a.pdf b.pdf | No API calls — read local PDFs only | Take first --top N files (alphabetical order) |
--local and --source are mutually exclusive. If both are given, return an error.
If --local flag present — execute local PDF steps instead of steps 3–6:
.pdf files, or use the explicitly listed files directly--top N, take first N (alphabetical order)📄 Local PDF (no OpenAlex lookup)/paper read /absolute/path/to/file.pdf 精读 (use absolute path){output_dir}/FindResults/find-local-YYYY-MM-DD-HHmm-{folder-slug}.html3b. Fetch papers (online mode):
&filter=cited_by_count:>{min_citations} for default/venues mode (skip for arxiv)Deduplicate against existing files:
{output_dir}/FindResults/ and {output_dir}/ root for [FirstAuthor-YYYY-slug].html[已有], include in summary with their path, skip card generationRank top N using the formula for the active source strategy
Generate Digest HTML — a single self-contained HTML file containing N paper cards.
Digest Card format (one card per paper):
[Title] — [First Author] et al., [Year] — [Venue or arXiv]
[Citation badge] [Source tag]
研究问题: [1 sentence — what problem does this paper solve?]
核心方法: [1 sentence — what approach do they use?]
关键发现: [1 sentence — what is the main result?]
相关性: [1 sentence — why this matters for your research, based on CLAUDE.md context]
[DOI link if available] · → /paper read <doi_or_path> 精读annotation_lang config (or --lang flag)references/template.css in <style>Save Digest HTML to: {output_dir}/FindResults/find-YYYY-MM-DD-HHmm-{query-slug}.html
Print summary:
Found N papers via {source}. Digest saved:
→ 30_Research/FindResults/find-2026-03-14-1430-cognitive-load-llm.html
Papers included:
- Jin-2025-llm-teachable-agent [⭐ 47 citations · CHI]
- Cai-2025-intrinsic-load [📄 preprint · arXiv]
- Klepsch-2017-two-types-icl [已有 → 30_Research/FindResults/...]--questions → Mode B (logic analysis)--questions "..." → Mode A (inline). Parse questions using these rules:Q1: / Q2: etc. prefixes (they are decorative, not required), / semicolon ; / newline / Q\d+ pattern boundaries"Q1: 方法? Q2: 与 baseline 比较?" ← Q-label + colon
"方法?, 与 baseline 比较?" ← comma-separated
"方法?; 与 baseline 比较?" ← semicolon-separated--questions (no argument) → Mode A (interactive):
Output exactly: 请输入你的阅读问题(每行一个,或逗号分隔,最多6个):
Wait for user input, then parse using the same rules above, then proceed with Mode A--lang flag > annotation_lang config{output_dir}/[FirstAuthorLastName-YYYY-keyword].html{output_dir}/PaperDigests/YYYY-MM-DD-digest.html exists today → skip fetch, output cached pathdaily_max most relevant to config keywords (semantic match on title+abstract){output_dir}/PaperDigests/YYYY-MM-DD-digest.html10_Daily/YYYY-MM-DD.md:## Paper Digest
→ [[30_Research/PaperDigests/YYYY-MM-DD-digest|Today's Paper Digest]] (N papers)[[Klepsch-2017-annotation]] or file path){output_dir}/ or vault rootAuthor, A., & Author, B. (Year). Title. *Venue*, *vol*(issue), pages. https://doi.org/...@article{key,
author = {...}, title = {...}, journal = {...}, year = {...}, doi = {...}
}Shows: {source_icon} {source} | {venue} | {year} | {citation_badge} | {venue_type_tag}
Citation tiers:
| Condition | Badge | CSS class |
|---|---|---|
| cited_by_count ≥ 100 | 🔥 高引 N citations | badge-high |
| 20–99 | ⭐ N citations | badge-important |
| 5–19 | ✓ N citations | badge-valid |
| < 5 or no data | 📄 Preprint | badge-preprint |
Venue type tag: A* 会议 (top venues: CHI/NeurIPS/ACL/EMNLP/ICML/ICLR/SIGIR/CSCW) | 会议/期刊 (other config venues) | Workshop | Preprint
Source icon: 🔍 OpenAlex | 📚 Semantic Scholar | 📄 arXiv
CSS: see references/template.css (.quality-bar, .badge-*, .qb-* classes).
Generate a complete, self-contained HTML file. CSS: embed references/template.css as <style> in <head>. Google Fonts: import Lora + IBM Plex Sans.
5-Color Highlight System:
| Color | Class | Represents |
|---|---|---|
🟡 Yellow #fef08a | thesis | Core thesis / main claim |
🔴 Red #fecaca | concept | Key concepts / terminology |
🔵 Blue #bfdbfe | evidence | Empirical evidence / data |
🟢 Green #bbf7d0 | concession | Concessions / counterargument handling |
🟣 Purple #e9d5ff | methodology | Methodology description |
Document structure:
1. TOP NAVBAR
- Paper title
- Context label (or "General Reading" if none)
- Color legend: 5 colored chips with dimension labels
2. PAPER QUALITY BAR (find/digest only — omit for /paper read)
3. STICKY SECTION NAV
- Links: Abstract | Introduction | Related Work | Methods | Results | Discussion | Conclusion
- Highlight active section on scroll
4. DUAL-COLUMN BODY — one <div class="paragraph-group"> per paragraph
Left column — original text (ALWAYS IN ORIGINAL LANGUAGE — never translate):
- Copy verbatim from PDF; annotation_lang ONLY controls the right column
- Highlight key phrases: <mark class="thesis">...</mark> etc.
Right column — annotation cards (language follows annotation_lang):
[Colored left border matching paragraph's dominant highlight]
① 段落功能 / Paragraph Function:...
② 逻辑角色 / Logical Role:...
③ 论证技巧或潜在漏洞 / Rhetorical Technique or Logical Gap:...
5. BACK-TO-TOP BUTTON
<button id="back-to-top" title="返回顶部">↑</button>
<script>
const btn = document.getElementById('back-to-top');
window.addEventListener('scroll', () => { btn.style.display = window.scrollY > 300 ? 'flex' : 'none'; });
btn.addEventListener('click', () => window.scrollTo({ top: 0, behavior: 'smooth' }));
</script>
6. BOTTOM — Argument Structure Overview (language follows annotation_lang)
zh labels: 问题 / 论点 / 证据 / 反驳处理 / 结论
en labels: Problem / Argument / Evidence / Concession / Conclusion
- Author's core claim (1 sentence)
- 最强论证 / Strongest argument
- 最弱论证 / Weakest argument
- APA Citation (auto-formatted) + copy button:
<button class="copy-btn" data-label="复制 APA" onclick="copyText(this, '{apa_string}')">复制 APA</button>
- BibTeX block + copy button:
<button class="copy-btn" data-label="复制 BibTeX" onclick="copyText(this, '{bibtex_string}')">复制 BibTeX</button>
Add this script alongside the back-to-top script:
<script>
function copyText(btn, text) {
navigator.clipboard.writeText(text);
btn.textContent = '✓ 已复制'; btn.classList.add('copied');
setTimeout(() => { btn.textContent = btn.dataset.label; btn.classList.remove('copied'); }, 1500);
}
</script>Same structure as Mode B, with these differences:
<mark class="q1">, <mark class="q2">, etc.【Q2 核心论点】 / [Q2 Core Argument]:
① Paragraph Function ② Argument Logic ③ Which question/layer this paragraph answersAll CSS is in references/template.css (adjacent to this SKILL.md). When generating any HTML output, embed the file contents as a <style> block in <head>. Only load when generating HTML — /paper cite does not need it.
Set output_dir in your project's CLAUDE.md:
paper_output_dir: 30_ResearchOverride keywords/venues/language:
paper_venues: [CHI, AIED, EDM, LAK]
paper_keywords: [your, topic, keywords]
paper_annotation_lang: enOptional — OpenAlex Polite Pool (higher rate limits, no account needed):
openalex_email: yourname@example.comOptional — Semantic Scholar secondary source (free key):
semantic_scholar_api_key: your_key_here© sjqsgg, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files (references) in the repository root of sjqsgg/Paperwise.
Open the folder on GitHubat commit d865630
Academic Paper Workflow 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Academic Paper Workflow this skillsjqsgg/Paperwise | 147 | — | ~4.1k | Automated safety check: Pass | MIT | |
| Literature Reviewneflibata-feng/MyArxiv-Agent | 126 | 20 repos | ~5.9k | Automated safety check: Notes | MIT | |
| Systematic Literature Review Builderbytedance/deer-flow | 84k | 2 repos | ~4.3k | Automated safety check: Pass | MIT | |
| Paper Research on arXivXiaomiMiMo/MiMo-Code | 14k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Literature Review AgentAr9av/PaperOrchestra | 677 | 1 repos | ~5.2k | Automated safety check: Pass | Custom licence | |
| Arxiv MCP Serverblazickjp/arxiv-mcp-server | 3.2k | — | ~353 | Automated safety check: Pass | Apache-2.0 |
neflibata-feng/MyArxiv-Agent
Conduct comprehensive, systematic literature reviews using multiple academic databases (PubMed, arXiv, bioRxiv, Semantic Scholar, etc.).
bytedance/deer-flow
Searches arXiv across many papers on one topic, extracts each paper's methodology and findings in parallel, and synthesizes a cited literature review.
XiaomiMiMo/MiMo-Code
Searches arXiv, fetches metadata, generates BibTeX, downloads PDFs and finds citations and related papers using a bundled Python script.
Ar9av/PaperOrchestra
Step 3 of the PaperOrchestra pipeline (arXiv:2604.05018). An agent skill from Ar9av/PaperOrchestra.
blazickjp/arxiv-mcp-server
A skill your agent uses when finding, comparing, reading, or monitoring arXiv papers, including requests for abstracts, citation graphs, original LaTeX, section-level technical details, or…
appautomaton/latex-arxiv-SKILL
Write LaTeX ML/AI review articles for arXiv using the IEEEtran template and verified BibTeX citations.
Works with
Categories
Finds, annotates, cites and tracks academic papers through subcommands for searching, turning a PDF into an annotated webpage, and daily paper discovery. The /paper command covers four subcommands: find searches for papers and builds an HTML digest with the top results, read annotates a single PDF into a full dual-column HTML page, digest pulls new arXiv papers daily for a cron job, and cite generates APA and BibTeX citations from an existing annotation. Flags let you override the project context, switch to a question mode where discussion questions guide the annotation, change the output directory or language, restrict the search to arXiv or a configured venues list, or read local PDFs with no API calls at all.
Academic Paper Workflow fits situations like: searching for papers on a research topic and getting a ranked digest; turning a downloaded PDF into an annotated, readable webpage; generating an APA or BibTeX citation from an already-annotated paper.
Run `npx skills add sjqsgg/Paperwise --skill paper -a claude-code`. Or copy the skill folder (the sjqsgg/Paperwise repository) into .claude/skills/paper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add sjqsgg/Paperwise --skill paper -a codex`. Or copy the skill folder (the sjqsgg/Paperwise repository) into .agents/skills/paper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sjqsgg/Paperwise --skill paper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/paper, .gemini/skills/paper, .github/skills/paper and .opencode/skills/paper in your project.
SKILL.md names no scripts, command-line tools or credentials: Academic Paper Workflow is instructions for the agent only.
SKILL.md names 4 domains. In commands or code: doi.org, api.openalex.org, api.semanticscholar.org and export.arxiv.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.
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.
Academic Paper Workflow is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.1k tokens (SKILL.md is roughly 16k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 778 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Academic Paper Workflow: Literature Review (neflibata-feng/MyArxiv-Agent, 126 stars), Systematic Literature Review Builder (bytedance/deer-flow, 84k stars), Paper Research on arXiv (XiaomiMiMo/MiMo-Code, 14k stars) and Literature Review Agent (Ar9av/PaperOrchestra, 677 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
sjqsgg (a GitHub user) maintains it in sjqsgg/Paperwise, which has 147 GitHub stars. The repository was last updated on March 15, 2026.
Source: sjqsgg/Paperwise on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.