Pre-check
The first step of starting this Skill is to check whether wpsnote-cli is available:
wpsnote-cli status --json
- Available → All subsequent WPS note operations use the
wpsnote-clicommand - Unavailable → Fall back to using MCP tools (the
user-wpsnoteservice) to operate WPS notes
CLI Tool Conventions (when wpsnote-cli is available)
wpsnote-cli <子命令> [参数]
# 复杂参数一律通过 --json-args 传入
wpsnote-cli <子命令> --json-args '{"key": "value"}'
| Operation | CLI Command |
|---|---|
| Search notes | wpsnote-cli search-notes --query "关键词" --json |
| List notes | wpsnote-cli list --json |
| Read full note text | wpsnote-cli read --note_id <id> --json |
| Create note | wpsnote-cli create --json-args '{"title":"标题","content":"<h1>...</h1>"}' |
| Insert block | wpsnote-cli edit --json-args '{"note_id":"...","op":"insert","anchor_id":"...","content":"<p>...</p>"}' |
| Get tag list | wpsnote-cli tags --json |
Core Script
Search and download operations are completed through scripts/paper.py , path:<skill目录>/scripts/paper.py。
# 首次使用安装依赖
pip install arxiv markitdown pymupdf
# 搜索(默认 arXiv,推荐英文关键词)
python3 /path/to/scripts/paper.py search "transformer attention" --top 5
python3 /path/to/scripts/paper.py search "LoRA fine-tuning" --source openalex --top 5
python3 /path/to/scripts/paper.py search "diffusion model" --category cs.CV
# 下载 PDF 并转 Markdown
python3 /path/to/scripts/paper.py get 1706.03762 --markdown
python3 /path/to/scripts/paper.py get 1706.03762 --output ~/papers --markdown
Actual script path: read the scripts/paper.pyunder the directory of this SKILL.md, and before executing, first use ls to confirm the path exists.
PDF → Markdown Conversion Instructions
After adding the --markdown parameter, the script tries conversion in the following order and stops on success:
- markitdown(preferred): calls
MarkItDown().convert(pdf_path), highest conversion quality, preserves structure - pymupdf(alternative): extracts text page by page and concatenates it into Markdown in
## Page Nformat - Both methods fail → print a warning and return an empty string (usually a scanned PDF)
The conversion result is saved as a file with the same name and .md extension, at the same path as the PDF, such as ~/papers/1706.03762.md。
After conversion is complete, use the Shell cat command to read the contents of the .md file, then perform the analysis.
Workflow
Scenario A: Search + Close Reading (most common)
1. 运行 paper.py search → 展示结果,请用户选择
2. 用户确认后,运行 paper.py get <ID> --markdown
3. Shell 读取生成的 .md 文件:cat ~/papers/<ID>.md
4. 按分析框架输出结构化摘要
5. 存入 WPS 笔记(CLI 优先,见存档流程)
Scenario B: User directly provides a PDF path
1. 用 Read 工具读取 PDF(Cursor 内置支持)
2. 若内容为空 → 运行 paper.py get <id> --markdown 转换后再读
3. 分析并存档
Scenario C: Batch Literature Review
1. 多次搜索,收集论文 ID 列表
2. 批量执行 get --markdown 下载
3. 逐篇分析,最后输出横向对比表
4. 汇总写入 WPS 笔记的"文献综述"笔记
Analysis Framework
When close-reading a paper, output according to the following dimensions:
| Dimension | Content |
|---|---|
| Metadata | Title, authors, institutions, year, journal/conference |
| Research problem | What problem it solves, why it matters |
| Method | Core technical approach, key innovations |
| Experiments | Datasets, evaluation metrics, key numerical results |
| Conclusion | Main findings, contributions to the field |
| Limitations | Shortcomings acknowledged by the authors or future work |
| Personal evaluation | Innovativeness, practicality, reproducibility |
WPS Note Archiving Process
Use wpsnote-cli (preferred)
# 1. 先查是否已有同名笔记
wpsnote-cli search-notes --query "论文标题" --json
# 2a. 无同名笔记 → 新建
wpsnote-cli create --json-args '{
"title": "论文标题",
"content": "<h1>论文标题</h1><p><tag>#论文/NLP</tag></p>"
}'
# 2b. 有同名笔记 → 追加内容到末尾
wpsnote-cli edit --json-args '{
"note_id": "<id>",
"op": "insert",
"anchor_id": "<last_block_id>",
"content": "<p>追加内容</p>"
}'
Use MCP (when wpsnote-cli is unavailable)
Call the user-wpsnote MCP service's search_notes、create_note、edit_block and other tools to complete the same operations.
Note Content Template
For the note XML structure template, see references/note-template.md。
- Single paper: tags
#论文/[领域], such as#论文/NLP、#论文/CV - Overview: Tag
#论文/综述+#论文/[领域]
Data Source Selection
| Scenario | Recommended Data Source |
|---|---|
| AI/ML Papers | arxiv(default) |
| Medicine, Biology, Social Sciences | openalex(high open access rate) |
| Uncertain | Start with arxiv; if few results, switch to openalex |
arXiv Category Filter Reference:cs.AI cs.LG cs.CV cs.CL cs.NE stat.ML
Troubleshooting
| Issue | Solution |
|---|---|
arxiv Package Missing |
pip3 install arxiv |
| PDF Download Failed | The script automatically retries 3 times; if it still fails, directly visit https://arxiv.org/pdf/<ID> to download manually |
| Markdown Conversion Empty | The PDF may be a scanned document; confirm that pip install pymupdf is installed and retry |
| No OpenAlex Results | Switch to arxiv; or use more general English keywords |
| wpsnote-cli Unavailable | Fall back to using MCP user-wpsnote service |