What it does
YouTube syncs your watch history into daily markdown files. Patina reads your browser's local history database, extracts YouTube URLs, fetches video titles, and writes them to youtube/YYYY-MM-DD.md. This feeds into your identity profile and surfaces patterns in your interests over time.
No YouTube account, API key, or authentication is needed. It reads directly from your browser's SQLite database on your machine.
Used by
Setup
Use a supported browser
Patina reads watch history from your browser's local database. The following browsers are supported:
- Chrome (most common)
- Arc
- Dia
The sync script tries each browser in order and uses the first one it finds. You don't need to configure anything as long as you use one of these browsers to watch YouTube.
Grant disk access (if needed)
The first time the sync runs, macOS may ask for permission to read your browser's history file. Grant access when prompted. If running headlessly via the menu bar app, make sure your terminal app has Full Disk Access in System Settings > Privacy & Security.
Create the sync skill
Paste this into Claude Code:
Run your first sync
You can sync multiple days at once by setting YOUTUBE_SYNC_DAYS=7 before running the script.
How it works
- Locates your browser's history SQLite database on disk
- Queries for URLs matching
youtube.com/watch - Fetches video titles using YouTube's public oEmbed API (no key needed)
- Groups videos by date
- Writes one file per day to
youtube/YYYY-MM-DD.md - Incremental: existing entries aren't duplicated on re-sync
The /sync-all skill includes YouTube sync automatically, so your watch history stays up to date if you run syncs regularly or have them scheduled.
