Speech & TranscriptionDocumentedScanned

pocket-transcripts

Read transcripts and summaries from Pocket AI (heypocket.com) recording devices.

Share:

Installation

npx clawhub@latest install heypocket-reader

View the full skill documentation and source below.

Documentation

Pocket Transcripts

Read transcripts and summaries from Pocket AI devices via reverse-engineered API.

Quick Reference

FunctionDescription
get_recordings(days, limit)List recent recordings
get_recording_full(id)Get transcript + summary + action items
get_transcript(id)Get raw transcript text
get_summarization(id)Get markdown summary
search_recordings(query)Search by text

Setup (One-Time)

1. Start Chrome with User Profile

~/.factory/skills/browser/start.js --profile
# or
~/.claude/skills/browser/start.js --profile

2. Log into Pocket

Navigate to and log in:

~/.factory/skills/browser/nav.js

3. Extract Token

python3 scripts/reader.py extract

Token is saved to ~/.pocket_token.json and expires in 1 hour.

Usage

List Recordings

from pathlib import Path
import sys
sys.path.insert(0, str(Path.home() / '.claude/skills/pocket-transcripts/scripts'))
from reader import get_recordings, get_recording_full

recordings = get_recordings(days=30, limit=20)
for r in recordings:
    print(f"{r.recorded_at:%Y-%m-%d} | {r.duration_str} | {r.title}")

Get Full Transcript and Summary

full = get_recording_full(recording_id)

print(f"Transcript ({len(full['transcript'])} chars):")
print(full['transcript'][:500])

print(f"\nSummary (markdown):")
print(full['summary'])

print(f"\nAction Items: {len(full['action_items'])}")
for item in full['action_items']:
    print(f"  - {item}")

Search Recordings

results = search_recordings("meeting", days=90)
for r in results:
    print(f"{r.title} - {r.description[:100]}")

API Details

Base URL: **Auth**: Firebase Bearer token from browser IndexedDB **Key Endpoints**: - GET /recordings - List with pagination, filters - GET /recordings/{id}?include=all - Full data with transcript/summary **Data Structure**: - Transcript: data.transcription.transcription.text - Summary: data.summarizations[id].v2.summary.markdown - Action Items: data.summarizations[id].v2.actionItems.items ## Token Refresh Firebase tokens expire in 1 hour. When expired: 1. Ensure Chrome is running with --profile 2. Confirm logged into app.heypocket.com 3. Re-run: python3 scripts/reader.py extract ## Data Model ### PocketRecording - id, title, description - duration (seconds), duration_str (human readable) - recorded_at, created_at - has_transcription, has_summarization - num_speakers - latitude, longitude (if location enabled) - tags (list of strings) ### PocketSummarization - summary (markdown formatted) - action_items (list) - transcript` (raw text)