bear

majiayu000's avatarfrom majiayu000

Interacts with Bear note-taking app on macOS via X-Callback-URL. Use when user asks to create Bear notes, search notes, add text to notes, manage tags, capture web pages to Bear, or perform any other Bear note management tasks. Supports note creation, text appending, tag management, note search, and web page capture.

⭐0stars🔀0forks📁View on GitHub🕐Updated Jan 5, 2026⬇️1downloads

When & Why to Use This Skill

This Claude skill provides a powerful integration with the Bear note-taking app on macOS, enabling automated knowledge management through X-Callback-URL. It allows users to seamlessly create, search, and edit notes, manage complex tagging systems, and capture web content, making it an essential tool for maintaining an organized and accessible digital second brain.

Use Cases

  • Automated Meeting Minutes: Generate and save structured meeting notes with automatic timestamps and project-specific tags directly into Bear.
  • Dynamic Research Updates: Search for existing project notes and append new insights, data points, or AI-generated summaries to keep your knowledge base current.
  • Web Content Curation: Capture full web pages or articles as notes in Bear with predefined tags for easy reference and offline reading.
  • Tag System Optimization: Efficiently organize your library by renaming, listing, or deleting tags across your entire note collection to maintain structural integrity.
  • Content Drafting and Archiving: Use Claude to draft long-form content and automatically save it to Bear, or move completed tasks and old notes to the trash/archive for a clutter-free workspace.
namebear
descriptionInteracts with Bear note-taking app on macOS via X-Callback-URL. Use when user asks to create Bear notes, search notes, add text to notes, manage tags, capture web pages to Bear, or perform any other Bear note management tasks. Supports note creation, text appending, tag management, note search, and web page capture.

Bear Note Integration

Integrates Claude with the Bear note-taking app on macOS, enabling automated note creation, searching, editing, and tag management through X-Callback-URL.

Quick Start

Prerequisites

  1. Bear app installed on macOS
  2. API Token (optional, for search/tags features):
    • Help > Advanced > API Token > Copy Token
    • Set environment variable: export BEAR_API_TOKEN="your-token"
  3. xcall tool (optional, for response handling):

Basic Usage

Create a note:

from scripts.bear import create_note

# Create note without response
create_note(title="My Note", text="Content here", tags="work,important")

# Get response with note ID (requires xcall)
result = create_note(title="My Note", text="Content", return_id=True)
print(result['identifier'])

Search notes:

from scripts.bear import search_notes

# Requires xcall and token
results = search_notes(term="project-x", tag="work")
for note in results:
    print(f"{note['title']} - {note['identifier']}")

Core Tasks

1. Create Notes

Create new notes in Bear with optional tags and timestamps.

from scripts.bear import create_note

# Basic note creation
create_note(
    title="Daily Standup",
    text="## Progress\n- Task 1 complete\n- Task 2 in progress",
    tags="work,standup"
)

# With timestamp
create_note(
    title="Meeting Notes",
    text="Key discussion points...",
    tags="meetings",
    add_timestamp=True
)

# With response (returns note ID)
result = create_note(
    title="Important Note",
    text="Critical information",
    return_id=True
)
note_id = result['identifier']

2. Search Notes

Find notes by keywords with optional tag filtering.

from scripts.bear import search_notes

# Keyword search
results = search_notes(term="Python")

# Tag filtering
results = search_notes(term="bug", tag="development")

# Process results
for note in results:
    print(f"Title: {note['title']}")
    print(f"ID: {note['identifier']}")
    print(f"Modified: {note['modificationDate']}")

3. Add Text to Notes

Append or replace text in existing notes.

from scripts.bear import add_text

# Append text
add_text(
    note_id="7E4B681B",
    text="\n\n## Update\nNew content added",
    mode="append"
)

# Append to specific header
add_text(
    note_id="7E4B681B",
    text="- New item",
    mode="append",
    header="TODO"
)

# Replace all content
add_text(
    note_id="7E4B681B",
    text="New complete content",
    mode="replace_all"
)

4. Manage Tags

List, rename, and delete tags.

from scripts.bear import get_tags, rename_tag, delete_tag

# List all tags
tags = get_tags()
for tag in tags:
    print(tag['name'])

# Rename tag
rename_tag(old_name="todo", new_name="inbox")

# Delete tag
delete_tag(name="archive")

5. Capture Web Pages

Save web page content as new Bear notes.

from scripts.bear import grab_url

# Capture URL as note
result = grab_url(
    url="https://example.com/article",
    tags="reference,articles"
)

# With response
result = grab_url(
    url="https://docs.python.org",
    tags="docs",
    return_id=True
)
note_id = result['identifier']

Bundled Resources

scripts/

Python module bear.py provides functions for all Bear X-Callback-URL actions:

  • create_note() - Create notes
  • search_notes() - Search notes
  • add_text() - Append/replace text
  • open_note() - Open notes
  • get_tags() - List all tags
  • rename_tag() - Rename tags
  • delete_tag() - Delete tags
  • grab_url() - Capture web pages
  • trash_note(), archive_note() - Organize notes

references/

  • actions.md: Complete X-Callback-URL API reference with all parameters
  • workflows.md: Common workflows and integration patterns
  • troubleshooting.md: Setup help and common issues

See these files for detailed API documentation and advanced usage patterns.