pocket-transcripts
Read transcripts and summaries from Pocket AI (heypocket.com) recording devices. Use when users want to retrieve, search, or analyze their Pocket recordings, transcripts, summaries, or action items. Triggers on requests involving Pocket device data, conversation transcripts, meeting recordings, or audio note retrieval.
When & Why to Use This Skill
This Claude skill enables seamless integration with Pocket AI (heypocket.com) recording devices, allowing users to retrieve, search, and analyze transcripts, summaries, and action items directly within their AI workflow. By bridging the gap between physical audio capture and digital analysis, it transforms voice recordings into actionable insights and searchable knowledge, significantly enhancing meeting efficiency and information retention.
Use Cases
- Automated Meeting Recaps: Quickly retrieve summaries and action items from recent client meetings or internal syncs to update project trackers and notify stakeholders.
- Searchable Audio Archive: Use text-based queries to locate specific discussions, decisions, or mentions of keywords across months of recorded audio notes and transcripts.
- Content Drafting from Voice: Extract raw transcripts from recorded interviews, lectures, or brainstorming sessions to serve as a foundation for drafting articles, reports, or documentation.
- Task Management Integration: Sync identified action items from Pocket AI's summarization engine into personal or team-wide to-do lists to ensure no follow-up is missed.
| name | pocket-transcripts |
|---|---|
| description | Read transcripts and summaries from Pocket AI (heypocket.com) recording devices. Use when users want to retrieve, search, or analyze their Pocket recordings, transcripts, summaries, or action items. Triggers on requests involving Pocket device data, conversation transcripts, meeting recordings, or audio note retrieval. |
Pocket Transcripts
Read transcripts and summaries from Pocket AI devices via reverse-engineered API.
Quick Reference
| Function | Description |
|---|---|
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 https://app.heypocket.com
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: https://production.heypocketai.com/api/v1
Auth: Firebase Bearer token from browser IndexedDB
Key Endpoints:
GET /recordings- List with pagination, filtersGET /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:
- Ensure Chrome is running with
--profile - Confirm logged into app.heypocket.com
- Re-run:
python3 scripts/reader.py extract
Data Model
PocketRecording
id,title,descriptionduration(seconds),duration_str(human readable)recorded_at,created_athas_transcription,has_summarizationnum_speakerslatitude,longitude(if location enabled)tags(list of strings)
PocketSummarization
summary(markdown formatted)action_items(list)transcript(raw text)