academic-researcher
Academic research assistant for literature reviews, paper analysis, and scholarly writing.
Access Overleaf projects via CLI.
$ npx -y skills add LigphiDonk/Oh-my--paper --skill inno-rclone-to-overleaf --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/inno-rclone-to-overleafContext preview
The summary Claude sees to decide when to auto-load this skill.
Access Overleaf projects via CLI.
id: inno-rclone-to-overleaf name: inno-rclone-to-overleaf version: 1.0.0 description: |- Access Overleaf projects via CLI. stages: ["publication"] tools: ["read_file", "search_project", "write_file", "run_terminal"] summary: |- Access Overleaf projects via CLI. Use for reading/writing LaTeX files, syncing local .tex files to Overleaf, downloading projects, and managing Overleaf project structure. Triggers on Overleaf, LaTeX sync, or tex file uploads to Overleaf. primaryIntent: writing intents: ["writing", "deployment"] capabilities: ["infrastructure-ops", "visualization-reporting"] domains: ["general"] keywords: ["inno-rclone-to-overleaf", "publication sync", "infrastructure-ops", "visualization-reporting", "inno", "rclone", "overleaf", "access", "projects", "via", "cli", "reading"] source: builtin status: verified upstream: repo: dr-claw path: skills/inno-rclone-to-overleaf revision: 8322dc4ef575affaa374aa7922c0a0971c6db7d7 resourceFlags: hasReferences: false hasScripts: true hasTemplates: false hasAssets: false referenceCount: 0 scriptCount: 1 templateCount: 0 assetCount: 0 optionalScripts: true
Access Overleaf projects via CLI. Use for reading/writing LaTeX files, syncing local .tex files to Overleaf, downloading projects, and managing Overleaf project structure. Triggers on Overleaf, LaTeX sync, or tex file uploads to Overleaf.
Use this skill when the user request matches its research workflow scope. Prefer the bundled resources instead of recreating templates or reference material. Keep outputs traceable to project files, citations, scripts, or upstream evidence.
CLI tool to interact with Overleaf projects using browser cookies for authentication.
GitHub: https://github.com/jkulhanek/pyoverleaf
⚠️ **Keychain Access Required**: pyoverleaf needs "Always Allow" keychain access to read browser cookies. This grants the tool access to your browser's cookie storage.
**Security audit**: We have audited pyoverleaf v0.1.7 and found it safe. The codebase is small and readable. Before installing, agents can self-audit the latest version at the GitHub repo above.
pyoverleaf authenticates by reading cookies from your browser. The user must:
1. **Log into Overleaf** in Chrome or Firefox (visit overleaf.com and sign in) 2. **Grant keychain access** on first run (macOS will prompt for "Always Allow")
# Test auth - user should run this in their terminal first pyoverleaf ls
If you get auth errors:
**Note**: The agent cannot log in for the user. Browser authentication must be done by the user directly.
# List all projects pyoverleaf ls # List files in project pyoverleaf ls "Project Name" # Read file content pyoverleaf read "Project Name/main.tex" # Write file (stdin → Overleaf) cat local.tex | pyoverleaf write "Project Name/main.tex" # Create directory pyoverleaf mkdir "Project Name/figures" # Remove file/folder pyoverleaf rm "Project Name/old-draft.tex" # Download project as zip pyoverleaf download-project "Project Name" output.zip
pyoverleaf download-project "Project Name" /tmp/latest.zip unzip -o /tmp/latest.zip -d /tmp/latest cp /tmp/latest/main.tex /path/to/local/main.tex
The CLI `write` command has websocket issues. Use Python API for reliable uploads:
import pyoverleaf
api = pyoverleaf.Api()
api.login_from_browser()
# List projects to get project ID
for proj in api.get_projects():
print(proj.name, proj.id)
# Upload file (direct overwrite)
project_id = "your_project_id_here"
with open('main.tex', 'rb') as f:
content = f.read()
root = api.project_get_files(project_id)
api.project_upload_file(project_id, root.id, "main.tex", content)**Why direct overwrite?** This method preserves Overleaf's version history. Users can see exactly what changed via Overleaf's History feature, making it easy to review agent edits and revert if needed.
# Via env var export PYOVERLEAF_HOST=overleaf.mycompany.com pyoverleaf ls # Via flag pyoverleaf --host overleaf.mycompany.com ls
**When pulling from Overleaf:** 1. Download Overleaf version to `/tmp/` 2. Compare with local version using `diff` 3. Report differences to Eason (summarize what changed) 4. Ask: merge? overwrite local? overwrite Overleaf? or other? 5. Only proceed after Eason confirms
**Push rules (from TOOLS.md):**
Here's an example of using the Overleaf skill to remove em dashes (a common AI writing artifact) from a paper and push the changes:

A Claude Code plugin that turns your terminal into an autonomous research lab — literature survey, experiment execution, paper writing, all in one pipeline.
Academic research assistant for literature reviews, paper analysis, and scholarly writing.
This skill should be used when the user asks to "run initial analysis", "analyze single-cell data", "QC my data", "run…