Agent skill

Annotate Paper

by 54yyyu in 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…

MITAuto-check passedResearch & Science

Install Annotate Paper

skills CLI
$ npx skills add 54yyyu/zotero-mcp --skill annotate-paper -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install 54yyyu/zotero-mcp annotate-paper --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
annotate-paper
GitHub stars
5.3k
Token cost
~1.5k tokens
SKILL.md length
761 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

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…

  • Works in 4 steps: Find the paper and its PDF → Read the whole paper, then look at every… → What to write → …
  • Asked to annotate
  • SKILL.md covers Colour scheme (change it here), 1. Find the paper and its PDF, 2. Read the whole paper, then… and 3. What to write, plus 2 more sections
  • Needs ITEM_KEY and ATTACH_KEY

What it does

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.

When your agent uses it

  • Asked to annotate
  • Read and annotate
  • Help me understand a paper

Example prompts

  • “annotate”
  • “read and annotate”
  • “help me understand”
  • “/annotate-paper”

Requirements

  • A credential in ITEM_KEY
  • A credential in ATTACH_KEY

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Find the paper and its PDF
  2. Read the whole paper, then look at every figure
  3. What to write
  4. Plan, check, then write in one batch

What it can do on your machine

Read from SKILL.md and the folder at commit 0faf1b2. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ITEM_KEY
    • ATTACH_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~94
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from 54yyyu/zotero-mcp at commit 0faf1b2, republished under its MIT licence (© 54yyyu). 761 words, ~1,540 tokens.

Download SKILL.mdSave it as .claude/skills/annotate-paper/SKILL.md (or your agent's skills folder).
name
annotate-paper
description
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.

Annotate a paper for understanding

The goal is a PDF someone can study from cold: the background, the argument and every figure explained in place.

Colour scheme (change it here)

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.

AnnotationWhereColourContent
Context boxaround the title and authors, page 1orangeWhat a newcomer needs first: the field, key terms defined plainly, the problem's history, why this approach. Start with CONTEXT.
Four-part summaryaround the abstractmagentaTHE WHOLE PAPER IN FOUR PARTS. then // PROBLEM:, // METHOD: (with the real numbers), // RESULTS: (numbered), // TAKEAWAY: and the limits.
Abstract highlightssentences in the abstractby rolePrefix each comment with its role: PROBLEM. / GOAL. / CONCLUSION. (yellow), METHOD. (blue), DISCOVERY. (green).
Figure boxesone per sub-panelpurpleSee "Figure boxes" below.
Body highlightskey sentences throughoutyellow / blue / green / redyellow = 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.

1. Find the paper and its PDF

Use the paper that is open in the reader, or the one the user names:

bash
zotero-cli --json search "title words" --limit 5
zotero-cli --json get children ITEM_KEY          # the PDF attachment's key; supplementary PDFs are attachments too

Annotate the main PDF, not the supplement, unless asked.

2. Read the whole paper, then look at every figure

bash
zotero-cli read ITEM_KEY --start-page 1 --end-page 99

Read 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:

bash
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 panel

Zoom 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.

3. What to write

Figure boxes: one per sub-panel, never one per figure
  • Every lettered panel (1A, 1B, ...) gets its own box.
  • Unlettered figures are split into their natural parts: a network diagram into its regions and legend, a grid of small plots into one box per plot, a text box into one box per paragraph.
  • Do not bury the figure. For large regions of a dense diagram, box just the region's label and put the explanation in the comment.
  • Tables: usually one box over the table, with the column guide and row notes in its comment.
  • Comment format: start with 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.
  • Use capitals sparingly, for the one phrase that is the point (THE KEY CONTROL).
Show full SKILL.md (292 more words)Show less
Body highlights

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.

Reading note

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.

bash
zotero-cli notes create --item-key ITEM_KEY --text - < note.md
Writing style

Plain 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.

4. Plan, check, then write in one batch

Write the plan as a JSON Lines file, one annotation per line:

json
{"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"}
  1. Dry run, and read every matched_text. Fix misses and overshoots (shorten a phrase until it matches cleanly):
    bash
    zotero-cli --json annotations batch --attachment-key ATTACH_KEY --file plan.jsonl --dry-run
  2. Check every box against the page images: each one covers exactly its panel, label included, and does not swallow its neighbour. On a rotated (landscape) page, open it in Zotero after writing and look.
  3. Write for real (the same command without --dry-run) and confirm failed: 0. Then count what was written:
    bash
    zotero-cli --json annotations list --item-key ITEM_KEY --limit 500

Gotchas

  • Do not re-run a batch that succeeded: it creates duplicates. To redo, delete the old annotations permanently first (trashed annotations still show in Zotero's reader).
  • annotations list fields are type, color_category, page, text and comment.
  • Highlight text is searched on the given page and two either side, and tolerates hyphenation and curly quotes; copy it from read.
  • Page numbers in a plan are PDF page indices starting at 1, not the printed journal page numbers.

© 54yyyu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in docs/skills/annotate-paper of 54yyyu/zotero-mcp.

Open the folder on GitHubat commit 0faf1b2

Compare with similar skills

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.

Annotate Paper compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Annotate Paper this skill54yyyu/zotero-mcp5.3k—~1.5kAutomated safety check: PassMIT
Docsagentdocsagent/docsagent625—~834Automated safety check: PassNone
CLI Anything ZoteroPiaoyangGuohai1/cli-anything-zotero137—~2.6kAutomated safety check: PassApache-2.0
Scholar RAGjoshzyj/open-scholar-skill168—~7.4kAutomated safety check: NotesCustom licence
Literature Review Toolsbrycewang-stanford/Auto-Empirical-Research-Skills4.5k—~2.5kAutomated safety check: NotesCustom licence
Setup MedsciAperivue/medsci-skills329—~960Automated safety check: PassMIT

Similar skills

  • Docsagent

    docsagent/docsagent

    Search and manage private, local document collections (PDF, PPTX, DOCX) offline.

    625 GitHub stars~834 tokensUpdated 10 days ago
    Documents & OfficeAuto-check passed
  • CLI Anything Zotero

    PiaoyangGuohai1/cli-anything-zotero

    Full-featured CLI for Zotero reference management. An agent skill from PiaoyangGuohai1/cli-anything-zotero.

    137 GitHub stars~2.6k tokensUpdated 2 mo ago
    Research & ScienceAuto-check passed
  • Scholar RAG

    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.

    168 GitHub stars~7.4k tokensUpdated 20 days ago
    Research & ScienceAuto-check: notes
  • Literature Review Tools

    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…

    4.5k GitHub stars~2.5k tokensUpdated 3 days ago
    Research & ScienceAuto-check: notes
  • Setup Medsci

    Aperivue/medsci-skills

    A skill your agent uses when a skill fails for a missing tool or the environment needs checking.

    329 GitHub stars~960 tokensUpdated 3 days ago
    Research & ScienceAuto-check passed
  • Zotero MCP Guide

    wentorai/research-plugins

    Guide to Zotero MCP for connecting Zotero library with AI assistants

    298 GitHub starsUsed in 1 repo~2.1k tokens
    Research & ScienceAuto-check passed

More from 54yyyu/zotero-mcp

  • Zotero CLI

    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.

    5.3k GitHub stars~2.3k tokensUpdated today
    Auto-check passed

Questions about Annotate Paper

What does Annotate Paper do?

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.

When should I use Annotate Paper?

Annotate Paper fits situations like: asked to annotate; read and annotate; help me understand a paper.

How do I install Annotate Paper in Claude Code?

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.

How do I install Annotate Paper in Codex?

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.

Can I use Annotate Paper in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Annotate Paper need to run?

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.

Does Annotate Paper access the network?

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.

Is Annotate Paper safe to install?

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.

What licence does Annotate Paper use?

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.

How many tokens does Annotate Paper use?

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.

What are the alternatives to Annotate Paper?

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.

Who maintains Annotate Paper?

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.