download-fulltext-pdf
当用户明确要求"下载文献全文"或"获取论文PDF"时使用。通过 DOI 号下载学术论文全文 PDF,支持 arXiv、Sci-Hub、Unpaywall、期刊官网等多源策略。⚠️ 不适用:用户只是想解析或处理已有的 PDF 文件(应使用 pdf skill)、只是想搜索论文信息而无需下载全文、没有提供…
Skill by Bensz Conan
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/huangwb8-download-fulltext-pdf
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: documents, research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 5
api.unpaywall.org· found in codearxiv.org· found in codecodeload.github.com· found in install commanddoi.org· found in codesci-hub.se· found in code
Files it touches
~/.claude/skills/download-fulltext-pdf
What's inside
- Skill name
download-fulltext-pdf- Description
- 当用户明确要求"下载文献全文"或"获取论文PDF"时使用。通过 DOI 号下载学术论文全文 PDF,支持 arXiv、Sci-Hub、Unpaywall、期刊官网等多源策略。⚠️ 不适用:用户只是想解析或处理已有的 PDF 文件(应使用 pdf skill)、只是想搜索论文信息而无需下载全文、没有提供 DOI/标题/BibTeX 任何标识符。
- License
- MIT
- Metadata
- author: Bensz Conan
- Instructions
- 475 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
- Instructions call the network
Files (7)
- CHANGELOG.md
- README.md
- SKILL.md
- config.yaml
- download_pdf.py · scripts/
- validate_input.py · scripts/
- verify_pdf.py · scripts/
SKILL.md (first lines)
# 下载文献全文 PDF
## 目标
当用户明确要求"下载文献全文"或"获取论文PDF"时使用。通过 DOI 号下载学术论文全文 PDF,支持 arXiv、Sci-Hub、Unpaywall、期刊官网等多源策略。⚠️ 不适用:用户只是想解析或处理已有的 PDF 文件(应使用 pdf skill)、只是想搜索论文信息而无需下载全文、没有提供 DOI/标题/BibTeX 任何标识符。
## 流程
### 输入
输入至少包含 DOI、标题或 BibTeX 之一,并指定输出目录/文件路径;可选输入包括来源开关、Unpaywall 邮箱、验证阈值和覆盖策略。输出路径必须存在或可创建且可写,触发边界以本 Skill 的 `## 目标` 为准。
### 执行步骤
#### 核心工作流
##### 1. 输入验证与规范化
**必需参数**:
- `doi`: DOI 号(如 `10.1038/nature09492`)
- `output_path`: 输出目录或完整 PDF 文件路径
**可选参数**:
- `title`: 论文标题(作为 DOI 的备选)
- `bibtex`: BibTeX 条目(包含 DOI 或标题信息)
**验证逻辑**:
```python
# 由 scripts/validate_input.py 处理
- DOI 格式规范化(移除多余空格、补全前缀)
- 输出路径检查(目录存在性、写入权限)
- 至少提供一种标识符(DOI/title/bibtex)
```
##### 2. 多源下载策略
**优先级顺序**(按成功率和速度排序):
| 优先级 | 数据源 | 优势 | 局限 | 触发条件 |
|--------|--------|------|------|----------|
| **1** | arXiv | 稳定可靠 | 仅限预印本论文 | 检测到 arXiv ID(如 `10.48550/arXiv.*`) |
| **2** | Sci-Hub | 覆盖较广、速度快 | 可能有 CAPTCHA | 非 arXiv 或 arXiv 失败 |
| **3** | Unpaywall | 合法开放获取(OA) | 取决于论文是否 OA | Sci-Hub 失败时兜底 |
| **4** | 期刊官网 | 合法渠道 | 常需订阅/登录 | 最后兜底 |
**策略执行**:
```python
# 由 scripts/download_pdf.py 实现
1. 如 DOI 可解析出 arXiv ID → 优先 arXiv
2. 尝试 Sci-Hub(通过 scihub 库)
3. 尝试 Unpaywall(合法 OA 获取)
4. 尝试 DOI 落地页并猜测常见 PDF 路径(期刊官网兜底)
```
##### 3. 下载后验证
**必需检查**(由 `scripts/verify_pdf.py` 处理):
- [ ] 文件大小 > 0 且非 HTML 页面
- [ ] PDF 文件头正确(`%PDF-`)
- [ ] 文件可被 PyPDF2 解析
**失败处理**:
- 验证失败 → 记录错误 → 尝试下一个数据源
- 所有源失败 → 返回详细错误报告
##### 4. 输出格式
**成功时**:
```markdown
✅ 成功下载论文全文
**来源**: Sci-Hub
**DOI**: 10.1038/nature09492
**文件**: /path/to/paper.pdf
**大小**: 2.3 MB
```
**失败时**:
```markdown
❌ 无法下载论文全文
**尝试过的源**:
- Sci-Hub: CAPTCHA 验证失败
- arXiv: 非 arXiv 论文
- Unpaywall: 无开放获取版本
- 期刊官网: 未找到直接 PDF 链接
**建议**:
1. 手动访问 Sci-Hub 并完成 CAPTCHA 验证
2. 检查 DOI 是否正确
3. 尝试通过期刊官网获取
```
#### AI 动态判断
AI 需要动态处理的场景:
| 场景 | 处理方式 |
|------|----------|
| **CAPTCHA 检测** | 识别错误消息中的 "captcha" 关键词 → 切换数据源 |
| **网络超时** | 增加重试次数(最多 3 次)或切换源 |
| **404/未找到** | 直接切换下一个源,不重试 |
| **文件损坏** | 删除已下载文件,尝试下一个源 |
| **arXiv 检测** | DOI 中包含 arXiv ID → 优先使用 arXiv 源 |
#### 硬编码操作(scripts/)
##### scripts/validate_input.py
输入验证与规范化脚本:
```python
import sys
import re
from pathlib import Path
def normalize_doi(doi: str) -> str:
"""规范化 DOI 格式"""
doi = doi.strip()From huangwb8/skills, MIT.
More from huangwb8/skills
- 0.665score
knit-rmd-html
Bensz Conan
Knit/render R Markdown (.Rmd) to HTML reliably in this repo (auto-bootstrap pandoc, set correct knit_root_dir, and run rmarkdown::render via a Python wrapper).
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
which-model
Bensz Conan
当用户需要调研某个 skill 的模型选择最佳实践时使用:分析目标技能的源代码与工作流 → 通过联网搜索(Tavily/SearXNG/DuckDuckGo)收集官方文档与社区经验 → 总结出哪些场景该用什么模型/参数 → 生成 WHICHMODEL 小节插入目标技能的 README.md。
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
bensz-r-developer
Bensz Conan
当主要交付物是可复用的 R 函数、稳定 API、S3/S4/R6 类或 R Package,需要设计、开发、重构或审查其接口、测试、文档、并行与性能边界时使用。分析项目中只有需要跨分析复用或形成公共 API 的组件才进入本 Skill。⚠️ 不适用:主要交付物是数据分析流程、科学结果、R Markdown…
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
bensz-rmd-rules
Bensz Conan
当主要交付物是基于 R 的数据分析流程、科学结果、可复现数据产品、R Markdown/HTML 报告或论文级图表与解读时使用;即使流程中包含 `.R` 脚本和仅服务当前分析的辅助函数,也由本 Skill 主导。⚠️ 不适用:主要交付物是可独立复用的 R 函数、稳定公共 API、类或 R…
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
parallel-vibe
Bensz Conan
当用户明确要求并行或串行启用多个 Agent,或上游 Skill 声明需要统一的多 Agent 执行底座时使用。负责 Agent 的创建、隔离、调度、回收和汇总。⚠️ 不适用:普通 shell 并发、单元测试并发、下载任务,或要求强隔离的敏感数据处理。
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
md-to-word
Bensz Conan
将一个或多个 Markdown 文档转换为格式优美的 Word(.docx),基于 Pandoc + 内置 reference.docx 模板(可选自定义模板),并确保不修改任何原始 Markdown 文件。内置模板已修复命名空间兼容性问题,支持 RGBA 图片自动转换。
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
awesome-code
Bensz Conan
当用户明确要求使用 awesome-code、进行多代理协作或需要复杂任务规划时使用。它负责拆解任务、选择专业角色、设置门禁并审查结果;所有 Agent 的创建、隔离、串行或并行执行都必须交给 `parallel-vibe`。⚠️ 不适用:用户只需单一角色完成简单修改或咨询,或未表达多代理协作意图。
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
verifier-state-architect
Bensz Conan
为任意 Agent Skill 设计、实现、接入或精简 Verifier 与 State;当用户希望给目标 skill 配置验证器/状态机、落实已有设计,或仅规划和审查架构时使用,尤其适合需要避免过度设计、硬编码并符合 Kernel 契约的任务。
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
humanization
Bensz Conan
去除 NSFC 标书中的 AI 机器味,覆盖词语、句法、段落和章节层,尤其处理伪对立、工程协议腔、规格书式字段串、术语漂移、定义后连续否定排除项、边界声明过重和研究动作不清(不适用:非标书内容/需修改格式/需补充新内容);兼容旧名 nsfc-humanization 的润色请求
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
better-prompt
Bensz Conan
当用户明确要求"优化 prompt"、"改进提示词"、"润色指令"、"将简陋 prompt 转换为最佳实践版本",或要求"把 prompt 改写成伪代码"、"翻译成程序结构/可编程自然语言"时使用。支持两种输出模式:standard(基于 OpenAI/Anthropic 官方最佳实践做增强优化)与…
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
auto-draw-plot
Bensz Conan
根据用户描述生成高质量绘图 prompt,并按通用、roadmap、schematic 模式通过 BenszAPI 直接完成 gpt-image-2.5-flare、gpt-image-2.5-sunburst、gpt-image-2 或 Nano Banana/Gemini…
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
auto-test-project
Bensz Conan
当用户明确要求“测试项目”、 “运行 auto-test-project”或“进行项目级测试”时使用。对完整项目执行多轮 A 轮批判性测试与 B 轮质量检查,发现、记录、修复并验证问题。⚠️ 不适用:用户只是想优化功能、询问项目问题,或没有明确测试意图。
SkillAFreshness: A★ 50Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 50
- Forks
- 8
- Open issues
- 0
- Last commit (this folder)
- Sep 5, 2026 (1 month ago)
- Last release
- Oct 17, 2026 (10 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/huangwb8/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Bensz Conan
- 0.665score
humanization
Bensz Conan
去除 NSFC 标书中的 AI 机器味,覆盖词语、句法、段落和章节层,尤其处理伪对立、工程协议腔、规格书式字段串、术语漂移、定义后连续否定排除项、边界声明过重和研究动作不清(不适用:非标书内容/需修改格式/需补充新内容);兼容旧名 nsfc-humanization 的润色请求
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
parallel-vibe
Bensz Conan
当用户明确要求并行或串行启用多个 Agent,或上游 Skill 声明需要统一的多 Agent 执行底座时使用。负责 Agent 的创建、隔离、调度、回收和汇总。⚠️ 不适用:普通 shell 并发、单元测试并发、下载任务,或要求强隔离的敏感数据处理。
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
awesome-code
Bensz Conan
当用户明确要求使用 awesome-code、进行多代理协作或需要复杂任务规划时使用。它负责拆解任务、选择专业角色、设置门禁并审查结果;所有 Agent 的创建、隔离、串行或并行执行都必须交给 `parallel-vibe`。⚠️ 不适用:用户只需单一角色完成简单修改或咨询,或未表达多代理协作意图。
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
better-prompt
Bensz Conan
当用户明确要求"优化 prompt"、"改进提示词"、"润色指令"、"将简陋 prompt 转换为最佳实践版本",或要求"把 prompt 改写成伪代码"、"翻译成程序结构/可编程自然语言"时使用。支持两种输出模式:standard(基于 OpenAI/Anthropic 官方最佳实践做增强优化)与…
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
auto-draw-plot
Bensz Conan
根据用户描述生成高质量绘图 prompt,并按通用、roadmap、schematic 模式通过 BenszAPI 直接完成 gpt-image-2.5-flare、gpt-image-2.5-sunburst、gpt-image-2 或 Nano Banana/Gemini…
SkillAFreshness: A★ 50Claude Code +9 - 0.665score
verifier-state-architect
Bensz Conan
为任意 Agent Skill 设计、实现、接入或精简 Verifier 与 State;当用户希望给目标 skill 配置验证器/状态机、落实已有设计,或仅规划和审查架构时使用,尤其适合需要避免过度设计、硬编码并符合 Kernel 契约的任务。
SkillAFreshness: A★ 50Claude Code +9
Cite this page
download-fulltext-pdf skill. Agent Mart. https://agentmart.dev/skills/huangwb8-download-fulltext-pdf (last updated 2026-10-24)