Skip to content
Back to skills

Beeper

ASecurity

Beeper local cache: contact hints, room lookup, WhatsApp/iMessage traces, FTS search.

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 10, 2026
ai-agentsbashsqlgit

Security analysis

A100/100

Scanned October 10, 2026

npx -y skills add mouadja02/skills --skill beeper --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Beeper?

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

Security grade badge for Beeper
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mouadja02-beeper/badge)](https://www.skillsdirectory.com/skills/mouadja02-beeper)

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: beeper
description: "Beeper local cache: contact hints, room lookup, WhatsApp/iMessage traces, FTS search."
source: "https://github.com/steipete/agent-scripts"
attribution: "steipete/agent-scripts by Peter Steinberger"
version: "1.0.0"
platform: macos
---

# Beeper

> **Attribution:** Sourced from [steipete/agent-scripts](https://github.com/steipete/agent-scripts) by [Peter Steinberger](https://github.com/steipete).

Use this for local Beeper history questions, especially vague contact hints across iMessage/WhatsApp bridges.

## When to Use

- Searching local Beeper chat history across bridges (iMessage, WhatsApp)
- Looking up contacts by vague hints across bridged messaging services
- Querying the Beeper SQLite FTS index for message content

## Source

- DB: `~/Library/Application Support/BeeperTexts/index.db`
- FTS: `mx_room_messages_fts`

Start by inspecting accounts/rooms before broad searching.

## Common Queries

### Inspect accounts and rooms

```bash
sqlite3 ~/Library/Application\ Support/BeeperTexts/index.db \
  "SELECT id, name, bridge_type FROM mx_rooms LIMIT 20"
```

### Search messages (FTS)

```bash
sqlite3 ~/Library/Application\ Support/BeeperTexts/index.db \
  "SELECT snippet(mx_room_messages_fts) FROM mx_room_messages_fts WHERE mx_room_messages_fts MATCH 'search term' LIMIT 10"
```

### Find contact by name

```bash
sqlite3 ~/Library/Application\ Support/BeeperTexts/index.db \
  "SELECT id, name, bridge_type FROM mx_rooms WHERE name LIKE '%contact name%' LIMIT 20"
```

### Get messages from a specific room

```bash
sqlite3 ~/Library/Application\ Support/BeeperTexts/index.db \
  "SELECT timestamp, sender, body FROM mx_room_messages WHERE room_id = '<room-id>' ORDER BY timestamp DESC LIMIT 20"
```

### Cross-bridge contact search

```bash
sqlite3 ~/Library/Application\ Support/BeeperTexts/index.db \
  "SELECT r.name, r.bridge_type, COUNT(m.id) as msg_count 
   FROM mx_rooms r 
   LEFT JOIN mx_room_messages m ON r.id = m.room_id 
   WHERE r.name LIKE '%search%' 
   GROUP BY r.id 
   LIMIT 20"
```

## Notes

- This is read-only local history — Beeper app must be installed.
- FTS (Full-Text Search) is faster for content search; use direct tables for structural queries.
- `bridge_type` identifies the messaging platform (e.g., `whatsapp`, `imessage`, `signal`).

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…