skills/golem-powers/_archive/youtube-pipeline/SKILL.md
Extract knowledge from YouTube videos into BrainLayer. Use when user shares a YouTube link or asks to process/watch/extract from a video. Chains exa (transcript) -> brain_digest (entities/relations) -> brain_store (conclusions). Works with any YouTube URL.
npx skillsauth add etanhey/golems youtube-pipelineInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Extract knowledge from YouTube videos and store permanently in BrainLayer.
YouTube URL
↓
1. exa web_search (full URL as query)
→ title, transcript, metadata
↓
2. brain_digest (raw transcript + metadata)
→ entities, relations, action items, decisions
↓
3. brain_store (structured conclusions)
→ searchable knowledge forever
When user shares a YouTube link:
web_search_exa(query: "https://youtube.com/watch?v=VIDEO_ID", num_results: 1)
Exa returns: title, URL, full transcript text, publish date, author.
IMPORTANT: WebFetch does NOT work for YouTube. Always use exa.
brain_digest(content: "<title>\n<author>\n<date>\n\n<full transcript text>")
This extracts: entities (people, tools, companies), relations, sentiment, action items, decisions, questions. Creates a searchable chunk with source='digest'.
brain_store(
content: "Video: '<title>' by <author> (<date>)\nURL: <url>\n\nKey findings:\n1. ...\n2. ...\n3. ...\n\nAction items:\n- ...\n\nRelevant to: <projects>",
tags: ["youtube", "<author-slug>", "<topic-tags>"],
importance: 6-8
)
Summarize:
For multiple videos (e.g., a playlist or "process these 5 videos"):
| Tag | When |
|-----|------|
| youtube | Always |
| <author-slug> | e.g., theo-browne, matt-pocock, primeagen |
| <topic> | e.g., ai-agents, typescript, rust, career |
| <project> | If directly relevant: golem-terminal, voicelayer, etc. |
web_search_exa("<video title> transcript") as fallback.brain_search("<key topic>") before storing to avoid duplicates.tools
The human-eval UX contract for Phoenix views: turn-by-turn scrollable replay (not a scorecard), hide-but-copyable IDs, collapsed thinking, identity chips, tool filters, tiny frozen starter datasets, mark-wrong-in-thread, mobile-first. Use when: building or reviewing ANY Phoenix/eval view, annotation UI, session replay, or human-grading surface. Triggers: phoenix view, eval UI, annotation view, session replay, human eval UX, grading interface. NOT for: Phoenix data pipelines/ingest (capture scripts have their own specs).
tools
macOS systems specialist — AppKit NSPanel architecture, launchd services, socket activation, MCP bridge resilience, syspolicyd, and high-frequency SwiftUI dashboards. Use when building menu-bar apps, LaunchAgents, debugging syspolicyd/Gatekeeper/TCC, resilient UDS/MCP bridges, or SwiftUI dashboards at 10Hz+.
development
Bulk LLM-judging protocol for fleet-dispatched verdict runs (KG cluster, eval harness). Use when: dispatching or running judge workers (J1/J2/RT), planning bulk-apply from verdict JSONL, or triaging evidence_degraded outputs. Triggers: judge fleet, bulk judge, R3 verdicts, kg-judge, RT gate, evidence_degraded. NOT for: single-item code review, Phoenix view UX (use phoenix-human-view), or non-judge eval pipelines.
development
Quiet-down protocol for sprint close: when the fleet wraps, delete ALL polling crons and monitors, send ONE final dashboard + ONE message, then go SILENT. Use when: fleet wraps, all workers done, overnight queue exhausted, sprint close, Etan asleep/away with nothing approved left. Triggers: fleet wrap, wrap the fleet, stand down, going quiet, sprint close. NOT for: mid-sprint monitoring (keep your loops), spawning a successor (use /session-handoff first).