CLI tool for interacting with the Karakeep bookmark manager.
Install
mkdir -p .claude/skills/karakeep && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/18026" && unzip -o skill.zip -d .claude/skills/karakeep && rm skill.zipInstalls to .claude/skills/karakeep
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Official skill for how to use karakeep (the bookmark manager) and interact with it programmatically.Key capabilities
- →Add link bookmarks with auto-fetched metadata (title, description, image, screenshot, archive)
- →Save text snippets or quick notes as bookmarks
- →Upload images and PDFs directly as media bookmarks
- →Organize bookmarks into manual or smart lists
- →Apply lightweight tags to bookmarks for categorization
- →Search bookmarks using a capable query language with full-text search, boolean logic, and qualifiers
How it works
Karakeep is an open-source self-hosted bookmark manager that allows users to collect, organize, and search content. It supports various bookmark types (links, text, media), lists, tags, and a search query language, all accessible via a CLI.
Inputs & outputs
When to use karakeep
- →Add bookmark to karakeep
- →Search saved bookmarks
- →Attach notes to content
About this skill
Karakeep
Karakeep is an open source self-hosted bookmark manager for collecting, organizing, and searching content. This skill covers the core concepts and how to interact with Karakeep via the CLI.
When to use
Use this skill when the user wants to interact with their Karakeep instance (adding bookmarks, managing lists/tags, searching, etc.).
Core Concepts
Bookmarks
- Bookmarks: Core entity in Karakeep. Can be one of links, text or media.
- Links: Save URLs — Karakeep auto-fetches title, description, image, screenshot, and full-page archive.
- Text: Quick notes or text snippets stored as bookmarks.
- Media: Images and PDFs uploaded directly.
- Favorites: Star bookmarks for quick access.
- Archiving: Hide bookmarks from the homepage while keeping them searchable.
- Notes: Attach personal context notes to any bookmark.
- Highlights: Save quotes, summaries, or TODOs while reading — searchable across all bookmarks.
Lists
- Manual lists: Curated collections organized by project or topic. Can be private or public.
- Smart lists: Auto-updating lists powered by search queries (e.g.,
#ai -archived). - Collaboration: Invite editors (can add bookmarks) or viewers (read-only) to a list.
Tags
Lightweight labels for any bookmark (topics, sources, workflow states). Multiple tags per bookmark, tags travel with bookmarks across lists. AI can auto-generate tags when configured.
Search Query Language
Karakeep has a powerful search query language for finding the right bookmarks. It supports full-text search, boolean logic, qualifiers, and more.
Basic Syntax
- Spaces between conditions act as implicit AND.
- Use
and/orkeywords for explicit boolean logic. - Prefix any qualifier with
-or!to negate it (e.g.,-is:archived,!is:fav). - Use parentheses
()for grouping (note: groups themselves can't be negated). - Any text not part of a qualifier is treated as full-text search (e.g.,
machine learning is:fav).
Qualifiers
| Qualifier | Description | Example |
|---|---|---|
is:fav | Favorited bookmarks | is:fav |
is:archived | Archived bookmarks | -is:archived |
is:tagged | Bookmarks with one or more tags | is:tagged |
is:inlist | Bookmarks in one or more lists | is:inlist |
is:link | Link bookmarks | is:link |
is:text | Text/note bookmarks | is:text |
is:media | Media bookmarks (images/PDFs) | is:media |
is:broken | Bookmarks with failed crawls or non-2xx status codes | is:broken |
url:<value> | Match URL substring | url:github.com |
title:<value> | Match title substring (supports quoted strings) | title:rust, title:"my title" |
#<tag> or tag:<tag> | Match bookmarks with specific tag (supports quoted strings) | #important, tag:"work in progress" |
list:<name> | Match bookmarks in a specific list (supports quoted strings) | list:reading, list:"to review" |
after:<date> | Created on or after date (YYYY-MM-DD) | after:2024-01-01 |
before:<date> | Created on or before date (YYYY-MM-DD) | before:2024-12-31 |
age:<time-range> | Filter by creation age. Use < / > for max/min age. Units: d (days), w (weeks), m (months), y (years) | age:<1d, age:>2w, age:<6m |
feed:<name> | Bookmarks imported from a specific RSS feed | feed:Hackernews |
source:<value> | Match by capture source. Values: api, web, cli, mobile, extension, singlefile, rss, import | source:rss, -source:web |
Examples
# Favorited bookmarks from 2024 tagged "important"
is:fav after:2024-01-01 before:2024-12-31 #important
# Archived bookmarks in "reading" list or tagged "work"
is:archived and (list:reading or #work)
# Untagged or unorganized bookmarks
-is:tagged or -is:inlist
# Recent bookmarks from the last week
age:<1w
# Full-text search combined with qualifiers
machine learning is:fav -is:archived
RSS Feeds
Karakeep can also be used to consume RSS feeds, but also can itself act as an RSS feed publisher.
- Publishing: Export any list as an RSS feed with a unique token.
- Consuming: Auto-monitor external RSS feeds and create bookmarks from new items (hourly, with duplicate detection).
Automation
- Rule Engine: If-this-then-that rules to auto-tag, favorite, or route bookmarks to lists.
- Webhooks: Subscribe to bookmark events (add/update/archive).
Interacting with Karakeep via the CLI
Installation
npm install -g @karakeep/cli
Or via Docker:
docker run --rm ghcr.io/karakeep-app/karakeep-cli:release --help
Authentication
The CLI requires an API key and server address. Get the API key from your Karakeep instance's settings page.
Option 1 — Environment variables (recommended):
export KARAKEEP_API_KEY="your-api-key"
# If self-hosted, pass the server address as well. It defaults to the cloud instance if not set:
export KARAKEEP_SERVER_ADDR="https://cloud.karakeep.com"
Option 2 — CLI flags:
karakeep --api-key <key> --server-addr <addr> <command>
Verify authentication:
karakeep whoami
Bookmark Commands
Run karakeep --help to see all available commands, but the most important ones are:
# Add a link bookmark
karakeep bookmarks add --link "https://example.com"
# Add a link with tags and to a specific list
karakeep bookmarks add --link "https://example.com" --tag-name "reading" --list-id <list-id>
# Add a text bookmark
karakeep bookmarks add --note "Remember to review the PR"
# Get bookmark details
karakeep bookmarks get <bookmark-id>
karakeep bookmarks get <bookmark-id> --include-content
# Update a bookmark
karakeep bookmarks update <bookmark-id> --title "New Title"
karakeep bookmarks update <bookmark-id> --archive
karakeep bookmarks update <bookmark-id> --favourite
karakeep bookmarks update-tags <bookmark-id> --add-tag "important"
karakeep bookmarks update-tags <bookmark-id> --remove-tag "old-tag"
# List management
karakeep lists list
karakeep lists get --list <list-id>
karakeep lists add-bookmark --list <list-id> --bookmark <bookmark-id>
karakeep lists remove-bookmark --list <list-id> --bookmark <bookmark-id>
karakeep lists delete <list-id>
# List all bookmarks
karakeep bookmarks list
# Search bookmarks
karakeep bookmarks search "is:fav #work"
karakeep bookmarks search "rust" --limit 10 --sort-order relevance
karakeep bookmarks search "is:tagged" --all # paginate through all results
# Delete a bookmark
karakeep bookmarks delete <bookmark-id>
You can always pass --json to get raw JSON output instead of pretty-printed output.
When not to use it
- →When `KARAKEEP_API_KEY` environment variable is not set
- →When `KARAKEEP_SERVER_ADDR` is not set for self-hosted instances
- →When using CLI flags for authentication instead of environment variables
Prerequisites
Limitations
- →The CLI requires an API key for authentication
- →The server address must be provided for self-hosted instances
- →Groups in search queries cannot be negated
How it compares
Karakeep provides a self-hosted, open-source solution for complete bookmark management with advanced features like auto-fetching link metadata, smart lists, and a capable search query language, offering more control and customization
Compared to similar skills
karakeep side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| karakeep (this skill) | 0 | 3mo | Review | Intermediate |
| agent-memory-mcp | 8 | 6mo | Review | Intermediate |
| diary | 0 | 3mo | Review | Advanced |
| session-review | 0 | 1mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
agent-memory-mcp
davila7
A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
diary
Anhvu1107
ALWAYS use this when the request matches Diary: Unified Diary System: A context-preserving automated logger for multi-project development.
session-review
philoserf
Wraps up a session with two outputs — a sweep into the auto-memory system to preserve reusable insights for future Claude sessions, and a human-readable recap saved to the Obsidian notes vault. Use for retrospectives, debriefs, post-mortems, or end-of-session reflection.
my-daily-log
mike2ox
오늘 Claude Code 대화 로그를 분석하여 Obsidian 일지 초안을 생성합니다. 업무 종료 후 일지 작성 시 사용하세요.
harnesscp-memory
LSDIPPOLLC
>
ck
affaan-m
Persistent per-project memory for Claude Code. Auto-loads project context on session start, tracks sessions with git activity, and writes to native memory. Commands run deterministic Node.js scripts — behavior is consistent across model versions.