Generated banner for Paperzilla
Generated logo for Paperzilla

Paperzilla

K-DenseCommunityCreated by Paperzilla IncDistributed by K-Dense

  • Skill
  • Tool integration
  • Science and research
  • MIT
  • No issues found

From the author

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.
— the description by Paperzilla Inc

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

  1. Download the skill as a ZIP:

    https://autogineer.com/agent-skills/k-dense-ai/paperzilla/download
  2. Unzip 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/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.

Windows (Scoop)
scoop bucket add paperzilla-ai https://github.com/paperzilla-ai/scoop-bucket
scoop install pz
Linux

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

Authentication

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.

CLI reference

If the current profile uses pz, these are the core commands.

List projects
pz project list
pz project list --json
Show one project
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.

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

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> --markdown
Leave 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 --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.

  • 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

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 operationRequestResult or side effect
project listGET /api/projectsAPI 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}/feeditems, total, limit, offset; query keys must_read, since, limit, offset.
feed search --project-id {project}GET /api/projects/{project}/feed/searchQuery 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} --markdownGET /api/public/papers/{paper}/markdownMarkdown 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} --markdownGET /api/project-papers/{recommendation}/markdownText or a pending-generation response; this GET can queue generation.
feedback {recommendation} {vote}PUT /api/project-papers/{recommendation}/feedbackJSON body vote and optional downvote_reason; returns vote, downvote_reason, updated_at.
feedback clear {recommendation}DELETE /api/project-papers/{recommendation}/feedbackBackend 204; CLI --json supplies a project_paper_ref/cleared envelope.
feed {project} --atomPOST /api/auth/feed-tokenGets 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; positive limit is sent to the API, with no verified server maximum in the inspected CLI source. Use a modest page size and honor the returned values. since means recommendation readiness time.

  • Search validates explicit limit in 1–100, nonnegative offset, 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_id differ from nested canonical paper.id/paper.short_id. paper --project --json returns a recommendation, unlike canonical paper --json.

  • --markdown is mutually exclusive with --json for paper and rec. markdown_queued/markdown_already_queued are 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