Skip to content
Back to skills

Bookmarks

ASecurity

Karakeep bookmark search, browsing, and management

  • 13 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 3, 2026
ai-agentsrustbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 3, 2026

npx -y skills add istota-project/istota --skill bookmarks --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Bookmarks?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Bookmarks
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/istota-project-bookmarks/badge)](https://www.skillsdirectory.com/skills/istota-project-bookmarks)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: bookmarks
triggers: [bookmark, bookmarks, karakeep, saved, reading list, favourited, favorite]
description: Karakeep bookmark search, browsing, and management
cli: true
companion_skills: [untrusted_input]
env: [{"var":"KARAKEEP_BASE_URL","from":"secret","service":"karakeep","key":"base_url"},{"var":"KARAKEEP_API_KEY","from":"secret","service":"karakeep","key":"api_key","sensitive":true}]
---
# Karakeep Bookmarks

Search, browse, and manage bookmarks from the user's Karakeep vault.

## Commands

Run `istota-skill bookmarks --help` (or `istota-skill bookmarks <subcommand> --help`) to see the live argument list.

```bash
# Search bookmarks (full-text, ranked by relevance)
istota-skill bookmarks search "machine learning papers"
istota-skill bookmarks search "recipe" --limit 5 --sort desc

# List/browse bookmarks
istota-skill bookmarks list --limit 10
istota-skill bookmarks list --favourited
istota-skill bookmarks list --archived
istota-skill bookmarks list --tag "programming"
istota-skill bookmarks list --in-list "Read Later" --limit 10

# Get a single bookmark's details
istota-skill bookmarks get BOOKMARK_ID
istota-skill bookmarks get BOOKMARK_ID --include-content

# Add a bookmark (link or text)
istota-skill bookmarks add "https://example.com/article"
istota-skill bookmarks add "https://example.com" --title "Great article" --tags "tech,reading" --note "Must read"
istota-skill bookmarks add "Note to self: check this pattern" --text --tags "idea"

# Tag operations
istota-skill bookmarks tags                    # list all tags
istota-skill bookmarks tags --search "prog"    # filter tags by name
istota-skill bookmarks tag BOOKMARK_ID "newtag1,newtag2"
istota-skill bookmarks untag BOOKMARK_ID "oldtag"

# Lists
istota-skill bookmarks lists                   # show all lists
istota-skill bookmarks list-bookmarks LIST_ID  # bookmarks in a list

# AI summarization
istota-skill bookmarks summarize BOOKMARK_ID

# User stats
istota-skill bookmarks stats

# Highlights (read-only) — passages the user highlighted in an article
istota-skill bookmarks highlights                       # all highlights (default: all, not capped)
istota-skill bookmarks highlights --limit 50            # cap the sweep
istota-skill bookmarks highlights --bookmark BOOKMARK_ID  # only this bookmark's highlights
```

## Output

All commands return JSON with `status: ok|error`:

```json
{
  "status": "ok",
  "count": 3,
  "bookmarks": [
    {
      "id": "bk_abc123",
      "title": "Example Article",
      "url": "https://example.com/article",
      "tags": ["tech", "reading"],
      "favourited": true,
      "summary": "An article about examples.",
      "created": "2026-02-10T12:00:00Z"
    }
  ]
}
```

## Notes

- Search uses Karakeep's full-text search with relevance ranking
- Tags are created automatically if they don't exist when tagging
- The `--include-content` flag on `get` returns full HTML content (can be large)
- Bookmark IDs are opaque strings (e.g. `ieidlxygmwj87oxz5hxttoc8`)
- Summarize triggers Karakeep's AI — the summary appears asynchronously
- The `--in-list` flag on `list` accepts a list name (case-insensitive) and resolves it to its ID automatically
- `highlights` is read-only and returns `{status, count, highlights}`. Each highlight carries `id`, `bookmark_id`, `text` (the highlighted passage, may be null), `note` (the user's annotation, may be null), `color`, `created`, and `start_offset`/`end_offset`. Resolve the parent article with `get <bookmark_id>` for its title and URL. Unlike `list`/`search`, `--limit` defaults to `0` (all) since highlights are meant to be swept in full.

Files in this skill

  • __init__.py15.9 KB
  • __main__.py88 B
  • skill.md3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.