Installs into .claude/skills of the current project.
Are you the author of Ingest Yt History?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/grahama1970-ingest-yt-history)
---
name: ingest-yt-history
description: >
Ingest YouTube and YouTube Music watch history from Google Takeout exports.
Builds music taste profile for Horus persona with /memory integration.
allowed-tools: Bash, Read
triggers:
- ingest youtube history
- youtube watch history
- youtube music history
- google takeout youtube
- find music for horus
- what music do I like
- music preferences
metadata:
short-description: YouTube history → Horus music discovery
provides:
- ingest-yt-history
composes:
- task-monitor
- agentic-evals
disciplines:
- data-engineering
- persona-simulation
---
# 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](https://takeout.google.com)
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)