>- Read, search and triage the user's Papr RSS subscriptions from the shell via the `papr` CLI. Use when the user wants to catch up on their feeds, find or summarize articles they've subscribed to, check what's unread, star/save my feeds", "any unread RSS", "summarize this feed", "search my subscriptions for X", "mark these read", "subscribe to <url>", "refresh my feeds".
npx skills add https://github.com/l0ng-ai/papr --skill papr-rss
papr is a token-efficient, agent-facing CLI over the user's local Papr RSS
database. It emits TOON on stdout (≈40% cheaper than
JSON, via the official toon-format encoder), keeps diagnostics on stderr, and
returns structured errors with exit codes (0 success/no-op, 1 runtime, 2 usage). Reads are token-minimal by default;
long article bodies are truncated with a --full escape hatch.
Run papr with no arguments first — it prints the unread dashboard plus the
most useful next commands, so you can orient without reading a manual.
papr # home: unread/starred counts + recent unread + next steps
papr feeds # subscriptions grouped by folder, with unread counts
papr list --feed <id> # articles in a feed (defaults to unread; --all for read too)
papr list --starred # smart views: --starred / --later / --tag <id> / --folder <id>
papr list --fields author,url # add columns: author,url,snippet,type,feed_id,published
papr read <id> [<id>...] # plain-text body, truncated; pass several ids to batch
papr read --feed <id> --unread --limit 5 # read a feed's latest unread in one call
papr read <id> --full # the complete body when truncation hid something
papr search "<query>" # FTS5 full-text search across every article
papr mark read <id> [<id>...] # state: read|unread|star|unstar|later|unlater (idempotent)
papr mark-all --feed <id> # mark a whole view read
papr subscribe <url> # auto-discovers the feed, inserts it, fetches it
papr refresh [--feed <id>] # fetch new articles over the network (RSS + newsletters)
papr extract <id> # fetch & store the cleaned full text of an article
papr tags | papr tag add <tag_id> <article_id> | papr tag create "<name>"
papr folders | papr folder create "<name>" | papr feed move <id> --folder <id>
papr rules | papr rule create "<name>" "<keywords>" --action star
papr highlights [--article <id>] | papr highlight create <article_id> "<quote>"
papr newsletters | papr newsletter add --title .. --host .. --user .. --password ..
papr opml import <file> | papr opml export
papr settings get <key> | papr settings set <key> <value>
papr stats
papr sync status | papr sync run # reconcile read/starred + subscriptions with FreshRSS/Miniflux
There are no summarize/ask/digest/translate commands: you are the language
model, so read the text with papr read <id> (or gather candidates with
papr search) and summarize, answer or translate it yourself — no second AI
provider is involved.
Destructive verbs require --yes; without it they fail with exit 2 and tell you
the exact command to re-run:
papr unsubscribe <id> --yes # delete a feed and its articles
papr admin cleanup <days> --yes # also: admin vacuum / admin reset
papr folder delete <id> --yes # likewise tag/rule/highlight delete, newsletter remove
--db <path> (or the PAPR_DB env var) if the databaseis not in the desktop app's default location.
(count: N of M unread) so you never need to paginate just to learn the size.
answer, not a reason to retry with different flags.
papr setup) so the unread dashboard isalready in context at the start of a conversation; this skill is the
lower-overhead alternative that loads only when a feed task comes up.
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
Automatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, customer-friendly release notes. Turns hours of manual changelog writing into minutes of automated generation.
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
Next.js best practices - file conventions, RSC boundaries, data patterns, async APIs, metadata, error handling, route handlers, image/font optimization, bundling
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - creates isolated git worktrees with smart directory selection and safety verification
Take l0ng-ai/papr-rss from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.