bear

eanair's avatarfrom eanair

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 Dec 19, 2025⬇️1downloads

When & Why to Use This Skill

This Claude skill provides a powerful integration with the Bear note-taking app on macOS, allowing users to automate their personal knowledge management. By leveraging X-Callback-URL, it enables Claude to create, search, and edit notes, manage tags, and capture web content, streamlining the transition from AI-generated insights to organized long-term storage.

Use Cases

  • Automated Meeting Summaries: Transform AI-generated meeting transcripts into structured Bear notes with automatic timestamping and relevant tags for better project tracking.
  • Web Research Capture: Instantly save and organize web articles, documentation, or research snippets into Bear to build a centralized and searchable knowledge repository.
  • Dynamic Note Updating: Seamlessly append new information, task lists, or progress updates to existing Bear notes without manual copy-pasting.
  • Efficient Tag & Content Management: Programmatically organize your digital library by renaming tags, searching for specific keywords, or archiving outdated notes to maintain a clean 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.