Claude Code Plugins

Community-maintained marketplace

Feedback

Search, read, and manage Bear notes. Use when user asks about their notes, wants to find information in Bear, create notes, or manage tags.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name bear-notes
description Search, read, and manage Bear notes. Use when user asks about their notes, wants to find information in Bear, create notes, or manage tags.

Bear Notes Skill

This skill provides access to Bear notes through a bash CLI that reads directly from Bear's SQLite database and uses x-callback-url for write operations.

Script Location

~/.claude/skills/bear-notes/scripts/bear

Available Commands

Search and Read

search - Search notes by term, optionally filter by tag

bear search "meeting notes"
bear search "project" "work"

open - Get note content by ID

bear open "ABC123-456DEF-789"

open-title - Get note by exact title

bear open-title "My Note Title"

Create and Modify

create - Create new note

bear create "Note content" "Note Title" "tag1,tag2"
bear create "Quick note"  # Without title or tags

add-text - Add text to existing note

bear add-text "ABC123-456DEF-789" "Additional content" append
bear add-text "ABC123-456DEF-789" "Header text" prepend
bear add-text "ABC123-456DEF-789" "Replace everything" replace_all

Tags

tags - List all tags with note counts

bear tags

tag - List notes with specific tag

bear tag "work"

rename-tag - Rename tag

bear rename-tag "old-name" "new-name"

delete-tag - Delete tag

bear delete-tag "unused-tag"

Special Queries

untagged - List untagged notes

bear untagged
bear untagged "search term"

todos - List notes containing unchecked todos (- [ ])

bear todos
bear todos "project"

today - List notes created today

bear today
bear today "meeting"

Other Operations

grab-url - Create note from URL

bear grab-url "https://example.com" "research,reading"

trash - Move note to trash

bear trash "ABC123-456DEF-789"

Output Format

All commands output JSON:

  • Single objects: One JSON object
  • Lists: One JSON object per line (JSON Lines format)

Example list output:

{"id":"ABC-123","title":"Note 1","content_preview":"First note...","created":"2025-11-25T10:00:00","modified":"2025-11-25T10:00:00"}
{"id":"DEF-456","title":"Note 2","content_preview":"Second note...","created":"2025-11-25T11:00:00","modified":"2025-11-25T11:00:00"}

Example single note:

{
  "id": "ABC-123",
  "title": "My Note",
  "content": "Full note content here...",
  "created": "2025-11-25T10:00:00",
  "modified": "2025-11-25T10:00:00",
  "tags": ["work", "project"]
}

Implementation Details

Read Operations:

  • Queries Bear's SQLite database directly at: ~/Library/Group Containers/9K33E3U3T4.net.shinyfrog.bear/Application Data/database.sqlite
  • Uses sqlite3 -json for JSON output
  • Filters out trashed notes (ZTRASHED = 0)

Write Operations:

  • Uses Bear's x-callback-url API
  • Opens URLs via open bear://x-callback-url/...
  • URL parameters are properly encoded

Timestamps:

  • Bear uses Core Data format (seconds since 2001-01-01)
  • Converted to ISO 8601 format in output

Use Cases

  • Search notes: "Find my notes about project planning"
  • Read content: "Show me the content of my meeting notes"
  • Create notes: "Create a note with my todo list"
  • Manage tags: "List all my work-related notes"
  • Find todos: "Show me all my incomplete tasks"
  • Quick capture: "Save this URL to Bear"

Limitations

  • Read operations are synchronous and fast
  • Write operations trigger Bear app (x-callback-url)
  • Database path is macOS-specific
  • Requires Bear app to be installed