Agent skill

ingest-yt-history

Ingest YouTube and YouTube Music watch history from Google Takeout exports. Builds music taste profile for Horus persona with /memory integration.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/ingest-yt-history

Metadata

Additional technical details for this skill

short description
YouTube history → Horus music discovery

SKILL.md

YouTube History → Horus Music Discovery

Goal: Let Horus persona easily find music based on human's listening history.

Quick Start (Horus Persona)

bash
cd .pi/skills/ingest-yt-history

# What music does the human like?
./run.sh find-music

# Find music matching a mood
./run.sh find-music --mood melancholic
./run.sh find-music --mood epic

# Get artist recommendations
./run.sh similar-artists "Chelsea Wolfe"

# Search music history
./run.sh search "metal" --service youtube_music

Integration with Horus

The skill stores music preferences in /memory so Horus can:

  1. Reference in conversations: "Ah, you favor the grim cadence of Chelsea Wolfe..."
  2. Inform creative work: Match story/movie mood to human's taste
  3. Connect via taxonomy: Dark music → Horus's melancholic aesthetic

Memory Integration

bash
# Sync music preferences to /memory
./run.sh sync-memory

# Creates entries like:
# - Category: music_preferences
# - Tags: youtube_music, horus_lupercal, dark_folk, doom

Commands

Command Description
find-music List music from history (filterable by mood, genre)
similar-artists Find artists similar to favorites
search Search history by title, channel, service
stats Show listening stats and top artists
sync-memory Export preferences to /memory
profile Generate taste profile JSON

One-Time Setup

1. Export from Google Takeout

  1. Go to Google Takeout
  2. Select only "YouTube and YouTube Music"History
  3. Set format to JSON (not HTML!)
  4. Download and unzip

2. Ingest

bash
./run.sh ingest ~/Downloads/Takeout/YouTube*/history/watch-history.json

3. Sync to Memory

bash
./run.sh sync-memory

Example Horus Queries

bash
# "What atmospheric music does the human listen to?"
./run.sh find-music --mood atmospheric

# "Find something for a battle scene"
./run.sh find-music --mood epic --genre metal

# "The human mentioned Chelsea Wolfe - what else like that?"
./run.sh similar-artists "Chelsea Wolfe"

Data Locations

Data Location
Raw history ~/.pi/ingest-yt-history/history.jsonl
Music index ~/.pi/ingest-yt-history/music_index.json
Taste profile ~/.pi/ingest-yt-history/taste_profile.json
Memory entries ArangoDB via /memory

Current Human's Profile

From Takeout analysis (10,000 entries):

Music (dark/atmospheric):

  • Chelsea Wolfe - dark folk, doom
  • Daughter - melancholic indie
  • Spiritbox - progressive metal
  • Billie Marten - atmospheric folk

Warhammer 40K (Horus lore):

  • Luetin09, In Deep Geek, Stories by Imperium

Mood alignment with Horus: High (dark, melancholic, epic)

Didn't find tool you were looking for?

Be as detailed as possible for better results