Skip to content
Agentmart
Submit a tool

bearcli

Use Bear CLI to read, search, create, and safely edit Bear notes from the terminal.

Skill by skuridin

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/skuridin-bearcli

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Use Bear CLI to read, search, create, and safely edit Bear notes from the terminal. Use when users ask to automate note workflows, manage tags/pins/attachments, or script Bear operations.

Use cases: writing, productivity

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/bearcli

What's inside

Skill name
bearcli
Description
Use Bear CLI to read, search, create, and safely edit Bear notes from the terminal. Use when users ask to automate note workflows, manage tags/pins/attachments, or script Bear operations.
License
Apache-2.0
Compatibility
Requires Bear app and `bearcli` installed on macOS.
Instructions
125 lines in SKILL.md · view on GitHub

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Bear CLI Skill

Use this skill when the user wants to work with Bear notes via `bearcli`.

## Defaults

- Prefer `--format json` for machine-readable output.
- Prefer note IDs over titles once an ID is known.
- Treat mutating commands as **silent on success** (check exit code).
- For large result sets, limit scope with `-n`, `--offset`, and `--fields`.

## Read/Search workflow

1. Discover notes:
   - `bearcli list --format json`
   - `bearcli search "<query>" --format json`
2. Inspect metadata:
   - `bearcli show <id> --format json --fields all`
3. Read raw content:
   - `bearcli cat <id> --format json`
   - Use `--offset/--limit` for slicing large notes.
4. Search exact text inside one note:
   - `bearcli search-in <id> --string "..." --format json`

## Safe write workflow

Prefer smallest safe mutation first:

1. **Targeted edits**: `bearcli edit`
2. **Append/prepend**: `bearcli append`
3. **Full replacement**: `bearcli overwrite` (with hash guard)

For overwrite, avoid clobbering concurrent edits:

```bash
HASH=$(bearcli show <id> --format json --fields hash | jq -r '.hash')
bearcli overwrite <id> --base "$HASH" --content "# Title\nUpdated body"
```

If overwrite/edit reports attachment-removal rejection, only re-run with `--force` after confirming intent.

## Common command patterns

### Create

```bash
bearcli create "My Note" --content "Body" --tags "work,draft" --format json
```

Notes:
- `create` returns structured output (capture `id`).
- `--if-not-exists` requires title and returns existing note when present.

### Edit exact text

```bash
bearcli edit <id> --find "TODO" --replace "DONE"
bearcli edit <id> --find "## Notes" --insert-after "\nNew line"
```

### Append/prepend

```bash
bearcli append <id> --content "New paragraph"
bearcli append <id> --content "Intro" --position beginning
```

### Tags

```bash
bearcli tags list --format json
bearcli tags add <id> work "work/project"
bearcli tags remove <id> draft
bearcli tags rename old-tag new-tag
```

### Pins

```bash
bearcli pin list --format json
bearcli pin add <id> global
bearcli pin add <id> work
bearcli pin remove <id> global
```

### Archive/Trash/Restore

```bash
bearcli archive <id>
bearcli trash <id>
bearcli restore <id>
```

### Attachments

```bash
bearcli attachments list <id> --format json
bearcli attachments add <id> --filename photo.jpg < photo.jpg
bearcli attachments save <id> --filename photo.jpg > photo.jpg
bearcli attachments delete <id> --filename photo.jpg
```

## Query and format gotchas

- `search` supports Bear inline operators (`@today`, `#tag`, `@todo`, etc.).
- If query starts with `-`, use `--query` form.
- `--count` returns `{"count":N}` in JSON mode.
- Empty JSON results are usually `[]` with exit code 0.
- `show --fields all` excludes content; use `--fields all,content`.

## Mutation gotchas

- Mutating commands do not accept `--format` and print nothing on success.
- `tags add/remove/rename/delete` do not update note modified date.
- `overwrite` replaces entire note; preserve title/tags/attachment refs intentionally.
- `append --position` respects Bear's top/bottom tag placement rules.

## Validation loop before finishing

From skuridin/agent-stuff, Apache-2.0.

More from skuridin/agent-stuff

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
May 6, 2026 (5 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from skuridin

Cite this page

bearcli skill. Agent Mart. https://agentmart.dev/skills/skuridin-bearcli (last updated 2026-10-24)