yha9806

overleaf-upload

by @yha9806 in Tools
0
0
# Install this skill:
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.