Karakeep Bookmark Manager Skill
Lets an AI agent save, search, and organize links, notes, images, and PDFs in your self-hosted bookmark library via the official CLI.
The skill doc is transparent: credential resolution order is explicit, config written with 0600 and confirmation before overwrite, delete operations require user confirmation. No overreach or concealment. Deducted: the skill itself enforces no permissions, depends on an external CLI, and rollback plus data-flow disclosure (sending bookmark data to a server) are only partial.
Doc is self-consistent with coherent examples and failure-path notes (semantic search prerequisites, cursor pagination). Deducted: static review cannot reproduce CLI key paths; failure-feedback quality on abnormal input and npm availability of @karakeep/cli are unverified.
Clear scenarios (add/retrieve/search/organize bookmarks) with good boundary notes (semantic prerequisites, --if-exists semantics, 50k-char cap). Deducted: no explicit non-fit declaration; skill is English-only with no Chinese-environment note; default server points to overseas cloud.karakeep.app with unassessed mainland-China reachability.
Well-layered docs (concepts→install→auth→operations), machine-readable metadata, homepage/repo links, clear AGPL-3.0 license, SECURITY.md and active CI. Deducted: no skill-level version or changelog; skill/CLI version sync is mentioned only in passing; no FAQ or known-limitations list.
Directly actionable structure covering core workflows (add, search, pagination, import, -- output); clear marginal value over hand-crafted HTTP requests for agents. Deducted: static review cannot verify actual command outputs; benefit rests on the unverified assumption that the CLI matches the doc.
Repo contains real e2e tests (bookmarks, assets, backups APIs) and CI workflows, partially corroborating underlying API capability. Deducted: tests cover the API, not the CLI commands the skill documents; no third-party execution evidence; reproducibility under static review is limited.
- The skill is documentation-only; users must install and authenticate @karakeep/cli themselves. Not execution-verified — defer to actual `karakeep --help` output.
- Delete operations (bookmarks/lists/tags) affect data irreversibly or materially; the doc requires user confirmation first — agents should strictly honor this.
- Semantic/hybrid search requires server-side embedding and vector-store configuration; without it, search silently falls back to full-text.
- Default server is the overseas cloud.karakeep.app; mainland-China users should self-host or pass --server-addr explicitly and consider network reachability.
- Publisher is unverified in the FollowSkills registry; identity treated as unknown — neither a bonus nor a penalty.
What does this skill do, and when should you use it?
Karakeep (formerly Hoarder) is a self-hostable bookmark-everything app for links, notes, images, and PDFs, with LLM-based automatic tagging and full-text search. This skill teaches an agent to operate a Karakeep instance programmatically through the official karakeep CLI, covering adding, searching, reading, updating, and organizing bookmarks as well as downloading assets. The CLI installs via npm and authenticates with KARAKEEP_API_KEY / KARAKEEP_SERVER_ADDR environment variables or a config file. It is an officially maintained skill, referenced in the README as LLM-agent friendly alongside tools like OpenClaw and Hermes.
The skill is an instruction manual rather than a script bundle: it guides the agent in running karakeep CLI commands to add link, text, and asset bookmarks (bookmarks add); search using a qualifier query language (is:fav, #tag, after:date, source:cli, etc.) in fts, semantic, or hybrid modes; fetch bookmark metadata and paged readable content in Markdown or plain text via bookmarks get / bookmarks content (max chunk 50,000 characters); update titles, archive/favorite state, and tags; manage lists (including smart lists with saved queries), merge tags, and list highlights; download attachments by asset ID; and import SingleFile HTML archives. A global -- flag yields machine-readable output. Every command targets a user-deployed Karakeep instance or the hosted cloud.
- A self-hoster browsing the web asks the agent to save found articles into their Karakeep instance with tags for later reading.
- A heavy collector wants bulk cleanup: filtering via smart-list queries, merging duplicate tags, archiving stale bookmarks.
- A researcher has the agent extract readable content from saved PDF/paper bookmarks and download their asset attachments.
- A team curates a shared list, with the agent adding or removing bookmarks while RSS feeds and the rule engine pull in new content automatically.
- A developer pipes -- CLI output into other automations and workflows.
What are this skill's strengths and limitations?
- Official skill maintained alongside the CLI; karakeep skill prints the version bundled with the installed CLI.
- Complete coverage: add, search, read, update, import, and asset download all have dedicated commands.
- Expressive query language (boolean logic, tags, lists, dates, capture sources) plus semantic and hybrid search modes.
- Global -- flag for machine consumption; clear credential resolution order (global options > env vars > config file).
- Requires a deployed Karakeep instance and a valid API key; it cannot function standalone.
- Semantic and hybrid search depend on server-side embedding/vector-store configuration and degrade without it.
- No independent cross-platform test evidence for this skill is provided in the source material.
- Deletion is guarded only by an instruction to confirm with the user; there is no additional safety mechanism.
How do you install this skill?
- Have a reachable Karakeep instance (self-hosted or cloud.karakeep.app). 2. Install the CLI: npm install -g @karakeep/cli (or via Docker: docker run --rm ghcr.io/karakeep-app/karakeep-cli:release --help). 3. Create an API key in the Karakeep settings page. 4. Authenticate: run karakeep auth init and follow the prompts (config written mode 0600 to ~/.config/karakeep/config.), or set KARAKEEP_API_KEY and KARAKEEP_SERVER_ADDR. The skill file itself follows the Agent Skills standard at skills/SKILL.md.
How do you use this skill?
Prompt the agent with things like: "Save https://example.com to Karakeep with the reading tag", "Search Karakeep for links saved in the last week tagged #important that aren't archived", or "Read the content of bookmark <id>, first 20k characters only". The agent runs commands such as: karakeep bookmarks add --link <url> --tag-name reading; karakeep bookmarks search "#important -is:archived after:2026-01-01"; karakeep bookmarks content <id> --format markdown --max-chars 20000. Note: semantic/hybrid search requires the instance to have embedding and vector-store providers configured; delete commands should be confirmed with the user first, as the skill instructs.
How does this skill compare with similar options?
The README compares Karakeep with Pocket (shut down), Linkwarden, Wallabag, Shiori, memos, Raindrop.io, and mymind. Karakeep's differentiators are self-hosting-first design, AI auto-tagging, bookmarking of links/notes/images/PDFs, and a full CLI with official agent skills. If you only need plain link archiving, Wallabag or Linkwarden may be simpler; if you want self-hosting plus AI and agent automation, Karakeep fits better.