Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add yha9806/claude-skills-vulca --skill "overleaf-upload"
Install specific skill from multi-skill repository
# Description
使用Playwright MCP自动上传文件到Overleaf并验证编译。当需要上传图表、LaTeX文件、或检查Overleaf项目状态时使用。支持单文件、多文件、批量上传模式。
# SKILL.md
name: overleaf-upload
description: 使用Playwright MCP自动上传文件到Overleaf并验证编译。当需要上传图表、LaTeX文件、或检查Overleaf项目状态时使用。支持单文件、多文件、批量上传模式。
Overleaf Upload Skill
使用Playwright MCP自动化Overleaf文件上传和编译验证。
核心职责
- 自动导航到Overleaf项目
- 上传PDF图表、LaTeX文件
- 处理文件覆盖确认
- 编译并检查日志
- 报告编译结果
配置
PROJECT_URL: https://www.overleaf.com/project/692b54c117b64e16d316c502
PROJECT_NAME: VULCA framework (paper1_framework)
FILE_SOURCES:
figures: /mnt/i/VULCA 2.0/VULCA2.0_Project/experiments/results/figures
latex: /mnt/i/VULCA 2.0/VULCA2.0_Project/paper_writing/overleaf_upload/paper1_framework
shared: /mnt/i/VULCA 2.0/VULCA2.0_Project/paper_writing/papers/shared_figures
使用方式
参数格式
- 单文件:
f2_calibration.pdf - 多文件:
f2_calibration.pdf main.tex - 预设批量:
figures(所有PDF) |latex(所有TEX) - 仅状态:
status
执行流程
Step 1: 解析参数,定位文件
def resolve_files(args):
"""解析参数确定要上传的文件"""
sources = [
'/mnt/i/VULCA 2.0/VULCA2.0_Project/experiments/results/figures',
'/mnt/i/VULCA 2.0/VULCA2.0_Project/paper_writing/overleaf_upload/paper1_framework',
'/mnt/i/VULCA 2.0/VULCA2.0_Project/paper_writing/papers/shared_figures'
]
if args == 'figures':
return glob(sources[0] + '/*.pdf')
elif args == 'latex':
return glob(sources[1] + '/*.tex')
else:
# 搜索具体文件名
for name in args.split():
for src in sources:
path = Path(src) / name
if path.exists():
yield str(path)
Step 2: 导航到Overleaf
使用Playwright MCP:
mcp__playwright__browser_navigate
→ url: https://www.overleaf.com/project/692b54c117b64e16d316c502
mcp__playwright__browser_snapshot
→ 确认项目加载完成
Step 3: 上传文件循环
对每个文件执行:
# 1. 点击Upload按钮
mcp__playwright__browser_click
→ element: "Upload button"
→ ref: 通常是带 upload 图标的按钮
# 2. 上传文件
mcp__playwright__browser_file_upload
→ paths: ["/absolute/path/to/file.pdf"]
# 3. 处理覆盖对话框(如果出现)
mcp__playwright__browser_snapshot
→ 检查是否有 "Overwrite" 按钮
mcp__playwright__browser_click
→ element: "Overwrite"
→ ref: 对话框中的覆盖按钮
Step 4: 编译验证
# 点击Recompile
mcp__playwright__browser_click
→ element: "Recompile button"
# 等待编译
mcp__playwright__browser_wait_for
→ time: 5
# 检查日志
mcp__playwright__browser_click
→ element: "View logs button"
# 分析结果
mcp__playwright__browser_snapshot
→ 检查 Errors / Warnings 数量
Step 5: 生成报告
## Overleaf Upload Report
### 文件
| 文件 | 状态 |
|------|------|
| f2_calibration.pdf | ✅ Overwritten |
### 编译
- Errors: 0
- Warnings: 1 (harmless)
- Status: SUCCESS
快速参考
常用文件位置
# 图表
ls "/mnt/i/VULCA 2.0/VULCA2.0_Project/experiments/results/figures/"*.pdf
# LaTeX
ls "/mnt/i/VULCA 2.0/VULCA2.0_Project/paper_writing/overleaf_upload/paper1_framework/"*.tex
Playwright MCP 工具速查
| 操作 | 工具 |
|---|---|
| 导航 | mcp__playwright__browser_navigate |
| 快照 | mcp__playwright__browser_snapshot |
| 点击 | mcp__playwright__browser_click |
| 上传 | mcp__playwright__browser_file_upload |
| 等待 | mcp__playwright__browser_wait_for |
常见问题
未登录
→ 提示用户手动登录后重试
Overfull警告
→ 使用 \resizebox{\columnwidth}{!}{...} 包裹表格
→ 减小图表宽度
→ 缩短文本
编译超时
→ 增加等待时间到10-15秒
→ 检查网络连接
版本
- v1.0 (2025-12-25): 初始版本
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.