by Demfier
AI-powered citation search & paper review for Overleaf — Chrome extension. Think Google Scholar but inside Overleaf. Also works with OpenAI Prism, & Opera.
# Add to your Claude Code skills
git clone https://github.com/Demfier/openleafLast scanned: 5/30/2026
{
"issues": [
{
"type": "npm-audit",
"message": "picomatch: Picomatch: Method Injection in POSIX Character Classes causes incorrect Glob Matching",
"severity": "high"
},
{
"type": "npm-audit",
"message": "postcss: PostCSS has XSS via Unescaped </style> in its CSS Stringify Output",
"severity": "medium"
},
{
"type": "npm-audit",
"message": "vite: Vite Vulnerable to Path Traversal in Optimized Deps `.map` Handling",
"severity": "high"
}
],
"status": "WARNING",
"scannedAt": "2026-05-30T16:24:13.354Z",
"npmAuditRan": true,
"pipAuditRan": true
}openleaf is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by Demfier. AI-powered citation search & paper review for Overleaf — Chrome extension. Think Google Scholar but inside Overleaf. Also works with OpenAI Prism, & Opera. It has 126 GitHub stars.
openleaf returned warnings in SkillsLLM's automated security scan. It has no critical vulnerabilities, but review the flagged issues in the Security Report section before adding it to your workflow.
Clone the repository with "git clone https://github.com/Demfier/openleaf" and add it to your Claude Code skills directory (see the Installation section above).
openleaf is primarily written in TypeScript. It is open-source under Demfier on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh openleaf against similar tools.
No comments yet. Be the first to share your thoughts!
Requires a passing catalog security scan. Resolve the flagged issues and resubmit to enable featuring.
.bib file automatically





OpenLeaf is a Manifest V3 web extension. A single Chromium build serves Chrome, Opera, and Edge; Safari is built from the same source through Apple's converter.
| Browser | Supported | How |
|---|---|---|
| Chrome | ✅ | Web Store, or load unpacked |
| Opera | ✅ | Load unpacked, or the Chromium zip |
| Edge | ✅ | Load unpacked, or the Chromium zip |
| Safari 16.4+ | ✅ | Build the Xcode project (macOS, needs Xcode) |
openleaf-chromium-vX.Y.Z.zip from Releases and unzip it (or build it yourself — see From source).chrome://extensionsopera://extensionsSafari runs the same extension wrapped in a small native app, which you build once with Xcode:
git clone https://github.com/demfier/openleaf.git
cd openleaf
npm install
npm run package:safari # generates an Xcode project under safari/
Requires the full Xcode app, not just the Command Line Tools. If the converter is missing, install Xcode from the App Store, run
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer, then re-run the command.
Then:
safari/ with Xcode.git clone https://github.com/demfier/openleaf.git
cd openleaf
npm install
npm run build # outputs to dist/
Then load unpacked (see above), selecting the repo root folder. To produce a distributable zip instead, run npm run package:chromium → web-ext-artifacts/openleaf-chromium-vX.Y.Z.zip.
Click the extension icon → Options (or right-click → Options) to configure:
Works with any OpenAI-compatible API:
| Backend | Base URL | API Key? |
|---|---|---|
| Ollama (default) | http://localhost:11434/v1 |
No |
| vLLM | http://your-server:8000/v1 |
Optional |
| OpenAI | https://api.openai.com/v1 |
Yes |
| OpenRouter | https://openrouter.ai/api/v1 |
Yes |
| Together | https://api.together.xyz/v1 |
Yes |
| Groq | https://api.groq.com/openai/v1 |
Yes |
Ollama on Mac/Linux: By default, Ollama blocks requests from browser extensions. You need to allow Chrome extension origins before starting Ollama:
OLLAMA_ORIGINS=chrome-extension://* ollama serveTo set this permanently:
launchctl setenv OLLAMA_ORIGINS "chrome-extension://*"Then restart Ollama. Without this, the reviewer will return a 403 error.
npm run dev # build + watch mode
npm run build # one-off build → dist/
npm run package:chromium # zip for Chrome/Opera/Edge → web-ext-artifacts/
npm run package:safari # Xcode project for Safari → safari/ (needs Xcode)
After changing code, reload the extension from your browser's extensions page (chrome://extensions or opera://extensions). For Safari, re-run the app from Xcode.
See PRIVACY.md. TL;DR: No data collection, no analytics, no accounts. Everything stays in your browser.
MIT