Docsagent
docsagent/docsagent
Search and manage private, local document collections (PDF, PPTX, DOCX) offline.
Read the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure…
$ npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install 54yyyu/zotero-mcp annotate-paper --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/54yyyu/zotero-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/skills/annotate-paper .claude/skills/annotate-paper && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "annotate-paper" agent skill from https://github.com/54yyyu/zotero-mcp/tree/main/docs/skills/annotate-paper into .claude/skills/annotate-paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "annotate-paper", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/54yyyu/zotero-mcp/tree/main/docs/skills/annotate-paperType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install 54yyyu/zotero-mcp annotate-paper --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/54yyyu/zotero-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/docs/skills/annotate-paper .agents/skills/annotate-paper && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "annotate-paper" agent skill from https://github.com/54yyyu/zotero-mcp/tree/main/docs/skills/annotate-paper into .agents/skills/annotate-paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "annotate-paper", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install 54yyyu/zotero-mcp annotate-paper --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/54yyyu/zotero-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/docs/skills/annotate-paper .cursor/skills/annotate-paper && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "annotate-paper" agent skill from https://github.com/54yyyu/zotero-mcp/tree/main/docs/skills/annotate-paper into .cursor/skills/annotate-paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "annotate-paper", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/54yyyu/zotero-mcp.git --path docs/skills/annotate-paper--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install 54yyyu/zotero-mcp annotate-paper --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/54yyyu/zotero-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/docs/skills/annotate-paper .gemini/skills/annotate-paper && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "annotate-paper" agent skill from https://github.com/54yyyu/zotero-mcp/tree/main/docs/skills/annotate-paper into .gemini/skills/annotate-paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "annotate-paper", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install 54yyyu/zotero-mcp annotate-paperInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/54yyyu/zotero-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/docs/skills/annotate-paper .github/skills/annotate-paper && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "annotate-paper" agent skill from https://github.com/54yyyu/zotero-mcp/tree/main/docs/skills/annotate-paper into .github/skills/annotate-paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "annotate-paper", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install 54yyyu/zotero-mcp annotate-paper --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/54yyyu/zotero-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/docs/skills/annotate-paper .opencode/skills/annotate-paper && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "annotate-paper" agent skill from https://github.com/54yyyu/zotero-mcp/tree/main/docs/skills/annotate-paper into .opencode/skills/annotate-paper/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "annotate-paper", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
annotate-paperRead the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure…
Annotate Paper is an agent skill from 54yyyu/zotero-mcp. Read the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure panel with a teaching comment, colour-coded body highlights, and a reading note. Use when asked to "annotate", "read and annotate", or "help me understand" a paper.
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Research & Science, covering Citation management, MCP servers and PDF. It works with Zotero, Model Context Protocol and OpenAI. The repository describes itself as: Zotero MCP: Connects your Zotero research library with Claude and other AI assistants via the Model Context Protocol to discuss papers, get summaries, analyze citations, and more. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0faf1b2. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash and json).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ITEM_KEYATTACH_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Annotate Paper loads about 1.5k tokens when it runs. Until then it costs about 94 tokens; SKILL.md has 761 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from 54yyyu/zotero-mcp at commit 0faf1b2, republished under its MIT licence (© 54yyyu). 761 words, ~1,540 tokens.
.claude/skills/annotate-paper/SKILL.md (or your agent's skills folder).The goal is a PDF someone can study from cold: the background, the argument and every figure explained in place.
Use exactly these colours so every paper reads the same way. Edit the table to make the scheme your own; the rest of the skill refers to the roles, not the colours.
| Annotation | Where | Colour | Content |
|---|---|---|---|
| Context box | around the title and authors, page 1 | orange | What a newcomer needs first: the field, key terms defined plainly, the problem's history, why this approach. Start with CONTEXT. |
| Four-part summary | around the abstract | magenta | THE WHOLE PAPER IN FOUR PARTS. then // PROBLEM:, // METHOD: (with the real numbers), // RESULTS: (numbered), // TAKEAWAY: and the limits. |
| Abstract highlights | sentences in the abstract | by role | Prefix each comment with its role: PROBLEM. / GOAL. / CONCLUSION. (yellow), METHOD. (blue), DISCOVERY. (green). |
| Figure boxes | one per sub-panel | purple | See "Figure boxes" below. |
| Body highlights | key sentences throughout | yellow / blue / green / red | yellow = claim or big idea; blue = method, data or design choice; green = finding or evidence; red = limitation, caveat or critique. |
This skill sits on top of the zotero-cli skill. Run zotero-cli config once first; writing annotations needs local
write access.
Use the paper that is open in the reader, or the one the user names:
zotero-cli --json search "title words" --limit 5
zotero-cli --json get children ITEM_KEY # the PDF attachment's key; supplementary PDFs are attachments tooAnnotate the main PDF, not the supplement, unless asked.
zotero-cli read ITEM_KEY --start-page 1 --end-page 99Read all of it, including Methods and figure captions. Extracted text is unreliable for figures, tables and math, so render every figure page and look at it yourself:
zotero-cli read ITEM_KEY --start-page 4 --end-page 4 --format image --out pages/
zotero-cli read ITEM_KEY --start-page 4 --format image --rect 0.2,0.3,0.35,0.2 --out zoom/ # zoom into one panelZoom into any panel before describing it: read the axis values, thresholds, which curve is which colour, and every arrow and repression bar in a network diagram. Do not describe what you have not seen.
rect is x,y,width,height, normalised 0 to 1 to the page as displayed, from the top-left corner.
FIG 2B | (or TABLE 1 |), then what is plotted (axes, units, colours, what one point
is); what to notice, with the actual numbers; why the panel matters and which panel it pairs with; for diagrams,
every edge; caveats such as weak statistics, small n, or text that disagrees with the figure.THE KEY CONTROL).About 25 to 50 per paper: the central claim, the key design choices, each main finding, every limitation the authors admit, and places where the text overreaches. Comments explain rather than paraphrase: why it matters, what it connects to, what to question.
Add one note to the item: a first line Author Year, Journal vol:pages. Title., then QUESTION, APPROACH,
MAIN FINDINGS (bullets), DISCUSSION POINTS (numbered) and an ANNOTATION KEY paragraph stating the colour scheme.
zotero-cli notes create --item-key ITEM_KEY --text - < note.mdPlain words, defined terms, no filler, no superlatives. Give numbers as the paper states them. Mention follow-up work only when you are sure of the reference.
Write the plan as a JSON Lines file, one annotation per line:
{"page": 1, "rect": "0.10,0.07,0.80,0.145", "comment": "CONTEXT ...", "color": "orange"}
{"page": 1, "text": "exact words from the page", "comment": "PROBLEM. ...", "color": "yellow"}matched_text. Fix misses and overshoots (shorten a phrase until it matches cleanly):zotero-cli --json annotations batch --attachment-key ATTACH_KEY --file plan.jsonl --dry-run--dry-run) and confirm failed: 0. Then count what was written:zotero-cli --json annotations list --item-key ITEM_KEY --limit 500annotations list fields are type, color_category, page, text and comment.read.© 54yyyu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in docs/skills/annotate-paper of 54yyyu/zotero-mcp.
Open the folder on GitHubat commit 0faf1b2
Annotate Paper next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Annotate Paper this skill54yyyu/zotero-mcp | 5.3k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Docsagentdocsagent/docsagent | 625 | — | ~834 | Automated safety check: Pass | None | |
| CLI Anything ZoteroPiaoyangGuohai1/cli-anything-zotero | 137 | — | ~2.6k | Automated safety check: Pass | Apache-2.0 | |
| Scholar RAGjoshzyj/open-scholar-skill | 168 | — | ~7.4k | Automated safety check: Notes | Custom licence | |
| Literature Review Toolsbrycewang-stanford/Auto-Empirical-Research-Skills | 4.5k | — | ~2.5k | Automated safety check: Notes | Custom licence | |
| Setup MedsciAperivue/medsci-skills | 329 | — | ~960 | Automated safety check: Pass | MIT |
docsagent/docsagent
Search and manage private, local document collections (PDF, PPTX, DOCX) offline.
PiaoyangGuohai1/cli-anything-zotero
Full-featured CLI for Zotero reference management. An agent skill from PiaoyangGuohai1/cli-anything-zotero.
joshzyj/open-scholar-skill
Build and query a local vector database + GraphRAG over your entire reference library (Zotero or a PDF folder) for literature review.
brycewang-stanford/Auto-Empirical-Research-Skills
Recommend AND run open-source AI tools, agents, Claude Code / Codex skills, and MCP servers for any stage of a literature review — searching, reading, extracting, synthesizing, screening…
Aperivue/medsci-skills
A skill your agent uses when a skill fails for a missing tool or the environment needs checking.
wentorai/research-plugins
Guide to Zotero MCP for connecting Zotero library with AI assistants
54yyyu/zotero-mcp
Reads and edits a Zotero library from the shell with zotero-cli: search by keyword or meaning, read PDF text, manage tags, notes and collections, and export bibliographies.
Works with
Categories
Read the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure…. Annotate Paper is an agent skill from 54yyyu/zotero-mcp. Read the open paper and write study annotations into its PDF with zotero-cli - a context box on the title, a four-part summary on the abstract, role-coded abstract highlights, one box per figure panel with a teaching comment, colour-coded body highlights, and a reading note.
Annotate Paper fits situations like: asked to annotate; read and annotate; help me understand a paper.
Run `npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a claude-code`. Or copy the skill folder (docs/skills/annotate-paper in 54yyyu/zotero-mcp) into .claude/skills/annotate-paper in your project. Claude Code loads it when a task matches its description.
Run `npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a codex`. Or copy the skill folder (docs/skills/annotate-paper in 54yyyu/zotero-mcp) into .agents/skills/annotate-paper in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/annotate-paper, .gemini/skills/annotate-paper, .github/skills/annotate-paper and .opencode/skills/annotate-paper in your project.
Going by SKILL.md and its folder, Annotate Paper needs credentials named ITEM_KEY and ATTACH_KEY. Our summary lists: A credential in ITEM_KEY; A credential in ATTACH_KEY.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Annotate Paper is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Annotate Paper: Docsagent (docsagent/docsagent, 625 stars), CLI Anything Zotero (PiaoyangGuohai1/cli-anything-zotero, 137 stars), Scholar RAG (joshzyj/open-scholar-skill, 168 stars) and Literature Review Tools (brycewang-stanford/Auto-Empirical-Research-Skills, 4.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
54yyyu (a GitHub user) maintains it in 54yyyu/zotero-mcp, which has 5,278 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on October 8, 2026.
Source: 54yyyu/zotero-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.