Paperzilla
K-DenseCommunityCreated by Paperzilla IncDistributed by K-Dense
- Skill
- Tool integration
- Science and research
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
Paperzilla is a research-focused tool that enables users to manage project-specific paper recommendations and access canonical research papers. This skill provides an interface for the pz CLI, allowing agents to list projects, browse feeds, search for specific research topics, and retrieve paper summaries in markdown or JSON formats. It supports direct interaction with recommendation feedback, enabling users to upvote, downvote, or star papers within their research projects.
What it does
- Lists and inspects research projects and their associated feeds.
- Searches project feeds using custom queries and feedback filters.
- Retrieves canonical paper details and markdown-formatted summaries.
- Manages recommendation feedback including upvotes, downvotes, and stars.
- Exports project data, feeds, and paper information as JSON.
- Generates personal Atom feed URLs for external feed readers.
When to use it
- When you need to retrieve the latest research recommendations for a specific project.
- When you want to summarize or analyze a canonical paper found in your feed.
- When you need to filter or search through a large collection of research papers.
- When you want to update your research project state by providing feedback on recommendations.
- When you need to export research data for external processing or reporting.
Advantages
- Provides direct, programmatic access to research feeds and paper metadata.
- Supports structured data output via JSON for integration with other tools.
- Enables granular control over research feeds using filters and search queries.
- Maintains clear separation between canonical paper data and project-specific recommendations.
- Facilitates efficient research workflows by automating feedback and retrieval tasks.
Usage examples
- “Show me the latest recommendations for my machine learning project.”
- The agent executes the pz feed command for the specified project ID and returns a list of recent papers, including their titles and recommendation status.
- “Fetch the canonical paper with ID 12345 and summarize it in markdown.”
- The agent retrieves the paper details and markdown content using the pz paper command, providing a concise summary of the research.
- “Search for papers about latent retrieval in my current project feed.”
- The agent performs a search across the project feed using the specified query and returns a list of relevant papers matching the criteria.
- “Upvote the recommendation with ID 98765.”
- The agent sends an upvote feedback request to the Paperzilla backend for the specified recommendation, updating the project data.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/k-dense-ai/paperzilla/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip paperzilla.zip -d .agents/skills
Documentation by Paperzilla Inc
Paperzilla
Use this skill when you want to chat with your agent about projects, recommendations, and canonical papers in Paperzilla.
What you can ask
"Give me the latest recommendations from project X."
"Open recommendation Y and explain why it matters."
"Fetch canonical paper Z as markdown and summarize it."
"Tell me how this paper is relevant to my research."
"Show me the feed for project X."
"Leave feedback on a recommendation."
"Export this paper, recommendation, or feed as JSON."
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.
Access method
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.
Install
macOS
brew install paperzilla-ai/tap/pzIf 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.
Windows (Scoop)
scoop bucket add paperzilla-ai https://github.com/paperzilla-ai/scoop-bucket
scoop install pzLinux
Use the official Linux install guide:
Build from source (Go 1.23+)
See the CLI repository for source builds:
Update
Check whether your CLI is up to date and get install-specific upgrade steps:
pz updateIf 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 sourceSupported values are auto, homebrew, scoop, release, and source.
Authentication
pz loginLogin 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.
CLI reference
If the current profile uses pz, these are the core commands.
List projects
pz project list
pz project list --jsonShow one project
pz project <project-id>
pz project <project-id> --jsonThe list JSON is an array containing id, name, mode, and visibility.
The single-project JSON also includes keywords, watched sources, and categories.
Browse project feed
pz feed <project-id>Useful flags:
--must-read--since YYYY-MM-DD--limit N--offset N(zero-based results to skip)--json--atom
Examples:
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[★]star
Search the full project feed
pz 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 --jsonSearch 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.
Read a canonical paper
pz paper <paper-id>
pz paper <paper-id> --json
pz paper <paper-id> --markdown
pz paper <paper-id> --project <project-id>Open a recommendation from one of your projects
pz rec <project-paper-id>
pz rec <project-paper-id> --json
pz rec <project-paper-id> --markdownLeave recommendation feedback
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.
Keep paper and recommendation identities separate
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.
Output and automation
Prefer
--jsonfor machine parsing after completing login.paperandrecreject combining--jsonwith--markdown.pz paper --markdownonly returns markdown when it is already prepared.pz rec --markdownand project-scopedpz paper --project ... --markdowncan 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.--atomreturns 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.A relevance score expresses project matching, not scientific validity or an effect estimate. Label whether a summary used metadata, an abstract, or actual markdown. Missing PDF URLs do not imply that a source landing page is absent.
Configuration
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.
References
Files
- ATTRIBUTION.mdAdded by AutoGineer918 B
- LICENSELicence file added by AutoGineer1.0 KiB
- SKILL.md9.1 KiB
- references/cli-contracts.md7.2 KiB
references/cli-contracts.md
Paperzilla CLI contracts
Reviewed 2026-10-01 against pz v0.7.1, commit
798a8c12c8aa8e18a8fbede4a2bfaaea2950ea5c. These are the routes used by that
release, not a promise of a stable public REST SDK. Prefer the CLI for this skill;
the public API reference documents feed and MCP integration surfaces.
Authentication and transport
pz login sends POST /api/auth/otp with JSON email, then
POST /api/auth/verify with email and code. Verification returns
access_token, refresh_token, and expires_in. Refresh uses
POST /api/auth/refresh with both existing tokens in the JSON body. Those three
requests do not use a bearer header. The session is stored in
~/.paperzilla/tokens.json unless PZ_TOKENS_PATH is set.
All data commands in v0.7.1 first load a session and call
GET /api/auth/cli-access with Authorization: Bearer ...; success requires
allowed: true. Commands also send X-Paperzilla-Client: cli and a versioned
User-Agent. Project, recommendation, feedback, and feed-token requests use
bearer authentication. Canonical public-paper requests omit the bearer header
after this authenticated preflight. The current guide's claim that
pz paper works without login conflicts with both this release's source and
local binary behavior. Treat login as required for the reviewed CLI.
The default base URL is https://paperzilla.ai. PZ_API_URL replaces it; do not
send account tokens to an arbitrary replacement host. Missing/expired sessions
can cause interactive login and contaminate stdout, including --json exports.
CLI_UPGRADE_REQUIRED and CLI_ENTITLEMENT_UNAVAILABLE describe access failures,
not zero search results. The CLI can retry a request after a 401 and token
refresh; other service failures are returned to the caller.
Command-to-request mapping
Paths are relative to the configured base URL. Braced identifiers come from returned records, never inferred from DOI or title.
| CLI operation | Request | Result or side effect |
|---|---|---|
project list | GET /api/projects | API project array; CLI --json emits only id, name, mode, visibility. No pagination flags in this release. |
project {project} | GET /api/projects/{project} | Project record, including keyword/source/category arrays. |
feed {project} | GET /api/projects/{project}/feed | items, total, limit, offset; query keys must_read, since, limit, offset. |
feed search --project-id {project} | GET /api/projects/{project}/feed/search | Query q, feedback_filter, optional must_read, limit, offset; response items, limit, offset, has_more, query. |
paper {paper} | GET /api/public/papers/{paper} | Canonical paper object. |
paper {paper} --markdown | GET /api/public/papers/{paper}/markdown | Markdown text when available; markdown_not_ready means nothing was queued through this public route. |
paper {paper} --project {project} | GET /api/projects/{project}/papers/{paper} | Project recommendation object containing its canonical paper. With --markdown, subsequently uses the recommendation markdown route. |
rec {recommendation} | GET /api/project-papers/{recommendation} | Recommendation object containing canonical paper. |
rec {recommendation} --markdown | GET /api/project-papers/{recommendation}/markdown | Text or a pending-generation response; this GET can queue generation. |
feedback {recommendation} {vote} | PUT /api/project-papers/{recommendation}/feedback | JSON body vote and optional downvote_reason; returns vote, downvote_reason, updated_at. |
feedback clear {recommendation} | DELETE /api/project-papers/{recommendation}/feedback | Backend 204; CLI --json supplies a project_paper_ref/cleared envelope. |
feed {project} --atom | POST /api/auth/feed-token | Gets or creates a personal token; CLI constructs /api/feed/atom/{project}?token=..., without fetching its XML. |
For compatibility, canonical-paper 404s may cause v0.7.1 to try authenticated
GET /api/papers/{ref} or /api/papers/{ref}/markdown. A successful fallback
prints a deprecation warning for a recommendation ID. Do not build a new workflow
around these legacy routes; use rec with the returned recommendation ID.
Pagination, identifiers, and output
Browse accepts zero-based
offset; positivelimitis sent to the API, with no verified server maximum in the inspected CLI source. Use a modest page size and honor the returned values.sincemeans recommendation readiness time.Search validates explicit
limitin 1–100, nonnegativeoffset, and trimmed query length in 3–200. The Go implementation counts UTF-8 bytes, so multibyte queries may reach its limit before 200 visible characters.has_more, not a total or the text display's count, determines whether more results exist.Neither command automatically consumes all pages. Keep a finite page/request budget and stop on an empty/nonadvancing page; record a partial export if the budget is reached. A changing feed can shift offset-based pages.
Recommendation
id/short_iddiffer from nested canonicalpaper.id/paper.short_id.paper --project --jsonreturns a recommendation, unlike canonicalpaper --json.--markdownis mutually exclusive with--jsonforpaperandrec.markdown_queued/markdown_already_queuedare rendered as friendly messages with successful exit status. Exit code zero alone does not prove full-text retrieval. Do not derive scientific claims from those status messages.The API documents nullable
pdf_url; the CLI decodes string fields into Go strings, so a missing/null URL can appear as an empty string in CLI JSON.Atom output contains a credential, not an ordinary public paper link. Browse flags do not constrain this URL. Obtain it only for the requested feed-reader workflow, and do not publish it with citations.
Verification and sources
The official darwin-arm64 v0.7.1 binary was downloaded and checked against its release SHA-256 list. Version/help and 25 local mock-server cases exercised project, browse/search, canonical/project-paper, markdown-ready/pending, feedback/clear, Atom construction, input validation, OTP, refresh, and the canonical auth preflight. The mock server held only synthetic data and tokens. No live account login, email, generation job, feedback, or feed-token creation was performed. Live service authorization, entitlements, and returned scientific records remain untested. Install/build/update instructions were checked against official documentation; only the release binary was executed.
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Needs: Needs a command-line tool
The author says: Requires the pz CLI, network access, and a Paperzilla account with CLI access. Source builds require Go 1.23 or later.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Created by
- Paperzilla Inc
- Publisher
- K-Dense (Community)
- Distributed by
- K-Dense
- Source
- K-Dense-AI/scientific-agent-skills · skills/paperzilla · commit a25cf9e
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE.md)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
AutoGineer is not affiliated with or endorsed by Paperzilla Inc or K-Dense.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download paperzilla.zip