Reads projects, searches project feeds, and retrieves recommendations and canonical papers in Paperzilla through the pz CLI. Supports recent recommendations, paper details, markdown-based summaries, recommendation feedback, JSON export, and Atom feed URLs.
Permissions
Files
Reads projects, searches project feeds, and retrieves recommendations and canonical papers in Paperzilla through the pz CLI. Supports recent recommendations, paper details, markdown-based summaries, recommendation feedback, JSON export, and Atom feed URLs.
Version history
Use this skill when you want to chat with your agent about projects, recommendations, and canonical papers in Paperzilla.
This is the core Paperzilla skill. It gives your agent direct access to Paperzilla data, but it does not impose a workflow or external delivery integration.
Use the official pz CLI. This skill targets 0.7.1, checked against the
official release source and binary. Command examples use placeholder IDs; replace
them with records returned by your account. CLI behavior was tested against a
local mock server, not an authenticated Paperzilla account.
Start with pz --version, then list projects, select a project, browse or search
its feed, and inspect selected recommendations. Keep project recommendations
separate from the underlying canonical paper when summarizing or exporting.
brew install paperzilla-ai/tap/pz
If Homebrew 6 or later rejects this formula as untrusted, the official guide uses
brew trust --formula paperzilla-ai/tap/pz, then retries installation. Trust only
that formula. Installation and upgrade commands were documentation-checked, not
executed during this review.
scoop bucket add paperzilla-ai https://github.com/paperzilla-ai/scoop-bucket
scoop install pz
Use the official Linux install guide:
See the CLI repository for source builds:
Check whether your CLI is up to date and get install-specific upgrade steps:
pz update
If detection is ambiguous, override it explicitly:
pz update --install-method homebrew
pz update --install-method scoop
pz update --install-method release
pz update --install-method source
Supported values are auto, homebrew, scoop, release, and source.
pz login
Login sends a one-time code to the account email and saves the session locally. Complete it interactively before running JSON exports: missing or expired credentials can trigger login prompts on stdout. The CLI checks account access and refreshes tokens automatically; report access/upgrade errors rather than treating them as an empty feed.
Version-specific discrepancy: the online guides describe anonymous canonical
paper access, but the 0.7.1 binary requires login and a CLI-access check even for
pz paper. Its subsequent canonical-paper HTTP request uses a public route. Do
not promise an anonymous CLI workflow for this release.
If the current profile uses pz, these are the core commands.
pz project list
pz project list --json
pz project <project-id>
pz project <project-id> --json
The list JSON is an array containing id, name, mode, and visibility.
The single-project JSON also includes keywords, watched sources, and categories.
pz feed <project-id>
Useful flags:
--must-read--since YYYY-MM-DD--limit N--offset N (zero-based results to skip)--json--atomExamples:
pz feed <project-id> --must-read --since 2026-03-01 --limit 5
pz feed <project-id> --limit 20 --offset 20 --json
pz feed <project-id> --json
pz feed <project-id> --atom
--since filters when recommendations were ready, not paper publication date.
Browse JSON contains items, total, limit, and offset. A command fetches
one page; it does not export the entire feed automatically. Retain the same
filters, advance from the returned offset by the number of items received, and
stop on an empty page or when the returned total is reached. Deduplicate by
recommendation ID if the live feed changes while paging.
Feed output can include existing recommendation feedback markers:
[↑] upvote[↓] downvote[★] starpz feed search --project-id <project-id> --query "latent retrieval" --json
pz feed search --project-id <project-id> --query "retrieval" --feedback-filter starred --must-read --limit 20 --offset 20 --json
Search ranks results across the whole project feed. Use a trimmed query of
3–200 characters and a positive --limit up to 100. --offset must be
nonnegative. Feedback filters are all, unrated, liked, disliked, starred,
not-relevant, and low-quality; these hyphenated filters differ from the
underscored downvote reasons below. Search does not accept --since.
Search JSON contains items, limit, offset, has_more, and query, with no
exact total. Request the next offset only while has_more is true, keeping the
query and filters unchanged. Stop and report an inconsistent empty page rather
than looping indefinitely. The second example illustrates a subsequent page.
pz paper <paper-id>
pz paper <paper-id> --json
pz paper <paper-id> --markdown
pz paper <paper-id> --project <project-id>
pz rec <project-paper-id>
pz rec <project-paper-id> --json
pz rec <project-paper-id> --markdown
pz feedback <project-paper-id> upvote
pz feedback <project-paper-id> star
pz feedback <project-paper-id> downvote --reason not_relevant
pz feedback clear <project-paper-id>
Feedback changes account data; use it when the user requests that change.
Downvote reasons are not_relevant or low_quality, and --reason applies only
to a downvote. Add --json to get the feedback object; clearing returns
{"project_paper_ref": "...", "cleared": true}. clear is a subcommand before
the recommendation ID.
A canonical paper-id identifies the paper; a project-paper-id identifies its
recommendation within a project. Take both from returned records and retain the
project association when exporting results. Use the recommendation ID for rec
and feedback operations, even if the same paper appears in several projects.
In feed JSON, items[].id/items[].short_id are recommendation identifiers;
items[].paper.id/items[].paper.short_id are canonical paper identifiers.
Do not infer recommendation IDs from a DOI or canonical paper ID. See the
official CLI documentation.
When markdown is still being prepared, report that state and summarize only the metadata or abstract actually returned. A retry message is not full-text evidence.
--json for machine parsing after completing login. paper and rec
reject combining --json with --markdown.pz paper --markdown only returns markdown when it is already prepared.pz rec --markdown and project-scoped pz paper --project ... --markdown
can queue markdown generation. A pending message can exit successfully; check
the content before treating stdout as full text. Avoid repeated immediate
retries and report the pending state.--atom returns a personal feed URL for feed readers and can create a feed
token. Anyone holding that URL can read the feed; keep its token out of logs,
public reports, and repositories. It does not return Atom XML or page JSON,
and browse filters are not applied to the generated URL.export PZ_API_URL="https://paperzilla.ai"
The default already points to Paperzilla; change it only for a trusted service
or a local test server. Authenticated requests send session credentials there.
PZ_TOKENS_PATH optionally selects a session file; by default the CLI uses
~/.paperzilla/tokens.json. Never export that file as research data.
See the verified CLI contracts for request routes, response shapes, pagination, and the documentation/source discrepancy.
In these kits
More from @k-dense-ai
Works with
Claude, Codex, Cursor & more