/media-ingest
Ingest video, audio, PDF, book, screenshot, and GitHub repo content into the brain. Multi-format handling with entity extraction and backlink propagation. Covers video-ingest, youtube-ingest, and book-ingest subtypes.
$ npx -y skills add garrytan/gbrain --skill media-ingest --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/media-ingest
Context preview
The summary Claude sees to decide when to auto-load this skill.
Ingest video, audio, PDF, book, screenshot, and GitHub repo content into the brain. Multi-format handling with entity extraction and backlink propagation. Covers video-ingest, youtube-ingest, and book-ingest subtypes.
SKILL.md
media-ingest.SKILL.mdname: media-ingest
version: 1.0.0
description: |
Ingest video, audio, PDF, book, screenshot, and GitHub repo content into the brain.
Multi-format handling with entity extraction and backlink propagation. Covers
video-ingest, youtube-ingest, and book-ingest subtypes.
triggers:
- "watch this video"
- "process this YouTube link"
- "ingest this PDF"
- "save this podcast"
- "process this book"
- "PDF book"
- "summarize this book"
- "ingest it into my brain"
- "what's in this screenshot"
- "check out this repo"
tools:
- search
- query
- get_page
- put_page
- add_link
- add_timeline_entry
- file_upload
mutating: true
writes_pages: true
writes_to:
- concepts/
- people/
- companies/
- sources/
Media Ingest Skill
Ingest video, audio, PDF, book, screenshot, and GitHub repo content into the brain.
> **Filing rule:** Read `skills/_brain-filing-rules.md` before creating any new page.
Contract
This skill guarantees:
- Every ingested media item has a brain page with analysis (not just a transcript dump)
- Transcripts (video/audio) saved in raw and human-readable formats
- Entity extraction: every person and company mentioned gets back-linked
- Raw source files preserved via `gbrain files upload-raw`
- Filing by primary subject, not by media format
> **Convention:** See `skills/conventions/quality.md` for Iron Law back-linking.
Every mention of a person or company with a brain page MUST create a back-link.
Phases
Phase 1: Identify format and fetch
| Format | Action | |--------|--------| | YouTube/video URL | Fetch transcript (Whisper, transcription service, or captions) | | Audio file | Transcribe with available STT service | | PDF | Extract text (OCR if needed) | | Book PDF | Extract text, identify chapters/sections | | Screenshot/image | OCR via vision model, extract text and entities | | GitHub repo | Clone, read README + key files, summarize architecture |
Phase 2: Upload raw source
Save the original file for provenance: `gbrain files upload-raw <file> --page <slug>`
Phase 3: Create brain page
File by primary subject (not format). Use this template:
# {Title}
**Source:** {URL or file path}
**Format:** {video/audio/PDF/book/screenshot/repo}
**Created:** {date}
## Summary
{Key points, not a transcript dump}
## Key Segments / Highlights
{For video/audio: timestamped highlights. For books: chapter summaries.}
## People Mentioned
{List with links to brain pages}
## Companies Mentioned
{List with links to brain pages}Phase 4: Entity extraction and propagation
For every person and company mentioned: 1. Check brain for existing page 2. Create/enrich if needed (delegate to enrich skill) 3. Add back-link from entity page to this media page 4. Add timeline entry on entity page
A media item is NOT fully ingested until entity propagation is complete.
Phase 5: Sync
`gbrain sync` to update the index.
Output Format
Brain page created with summary, highlights, and entity cross-links. Report to user: "Ingested {title}: {N} entities detected, {N} pages updated."
Anti-Patterns
- Dumping raw transcripts without analysis
- Skipping entity extraction ("I'll do that separately")
- Filing **raw ingest** by format (all videos in `media/videos/`) instead of by subject. Note: format-prefixed paths under `media/<format>/<slug>` ARE sanctioned for **synthesized one-of-one output** like book-mirror's `media/books/<slug>-personalized.md`. The anti-pattern is for raw ingest, not for sui generis synthesis. See `skills/_brain-filing-rules.md` "Sanctioned exception: synthesis output is sui generis."
- Not preserving raw source files
- Creating stub pages without meaningful content
Read more
name: media-ingest version: 1.0.0 description: | Ingest video, audio, PDF, book, screenshot, and GitHub repo content into the brain. Multi-format handling with entity extraction and backlink propagation. Covers video-ingest, youtube-ingest, and book-ingest subtypes. triggers: - "watch this video" - "process this YouTube link" - "ingest this PDF" - "save this podcast" - "process this book" - "PDF book" - "summarize this book" - "ingest it into my brain" - "what's in this screenshot" - "check out this repo" tools: - search - query - get_page - put_page - add_link - add_timeline_entry - file_upload mutating: true writes_pages: true writes_to: - concepts/ - people/ - companies/ - sources/
Media Ingest Skill
Ingest video, audio, PDF, book, screenshot, and GitHub repo content into the brain.
> **Filing rule:** Read `skills/_brain-filing-rules.md` before creating any new page.
Contract
This skill guarantees:
- Every ingested media item has a brain page with analysis (not just a transcript dump)
- Transcripts (video/audio) saved in raw and human-readable formats
- Entity extraction: every person and company mentioned gets back-linked
- Raw source files preserved via `gbrain files upload-raw`
- Filing by primary subject, not by media format
> **Convention:** See `skills/conventions/quality.md` for Iron Law back-linking.
Every mention of a person or company with a brain page MUST create a back-link.
Phases
Phase 1: Identify format and fetch
| Format | Action | |--------|--------| | YouTube/video URL | Fetch transcript (Whisper, transcription service, or captions) | | Audio file | Transcribe with available STT service | | PDF | Extract text (OCR if needed) | | Book PDF | Extract text, identify chapters/sections | | Screenshot/image | OCR via vision model, extract text and entities | | GitHub repo | Clone, read README + key files, summarize architecture |
Phase 2: Upload raw source
Save the original file for provenance: `gbrain files upload-raw <file> --page <slug>`
Phase 3: Create brain page
File by primary subject (not format). Use this template:
# {Title}
**Source:** {URL or file path}
**Format:** {video/audio/PDF/book/screenshot/repo}
**Created:** {date}
## Summary
{Key points, not a transcript dump}
## Key Segments / Highlights
{For video/audio: timestamped highlights. For books: chapter summaries.}
## People Mentioned
{List with links to brain pages}
## Companies Mentioned
{List with links to brain pages}Phase 4: Entity extraction and propagation
For every person and company mentioned: 1. Check brain for existing page 2. Create/enrich if needed (delegate to enrich skill) 3. Add back-link from entity page to this media page 4. Add timeline entry on entity page
A media item is NOT fully ingested until entity propagation is complete.
Phase 5: Sync
`gbrain sync` to update the index.
Output Format
Brain page created with summary, highlights, and entity cross-links. Report to user: "Ingested {title}: {N} entities detected, {N} pages updated."
Anti-Patterns
- Dumping raw transcripts without analysis
- Skipping entity extraction ("I'll do that separately")
- Filing **raw ingest** by format (all videos in `media/videos/`) instead of by subject. Note: format-prefixed paths under `media/<format>/<slug>` ARE sanctioned for **synthesized one-of-one output** like book-mirror's `media/books/<slug>-personalized.md`. The anti-pattern is for raw ingest, not for sui generis synthesis. See `skills/_brain-filing-rules.md` "Sanctioned exception: synthesis output is sui generis."
- Not preserving raw source files
- Creating stub pages without meaningful content
Search gives you raw pages. GBrain gives you the answer. It's the brain layer your AI agent has been missing — the only one that does synthesis, graph traversal, and gap analysis in one box.
Repo: garrytan/gbrain
Other skills on gbrain.
- /voice-persona-mars
Route to Mars (introspective thought partner / demo showman voice persona). Used when the operator wants depth, meaning, or impressive social demos rather than logistics. Mars handles SOLO mode (philosophy, presence, patterns) and DEMO mode (tool-driven showmanship)
Open skill - /voice-persona-venus
Route to Venus (sharp executive-assistant voice persona). Used for logistics — calendar, tasks, recent messages, brain lookups — at sub-second phone-call latency. The default voice persona unless DEFAULT_PERSONA=mars is set.
Open skill - /voice-post-call
Post-call handling for a voice session — turn the transcript into a brain page, post the summary to the operator's messaging surface, archive the audio. Belt-and-suspenders: fires both from a tool the voice persona can call mid-call AND from the automatic call-end handler in
Open skill - /retrieval-reflex
When/what to retrieve — open the brain page for a salient entity before answering from memory.
Open skill - /academic-verify
Verify a research claim or academic citation by tracing it through publication → methodology → raw data → independent replication. Routes through perplexity-research for the actual web lookup, then formats results as a citation-checked brain page. Use when a
Open skill - /archive-crawler
Universal archivist for personal file archives (Dropbox/B2/Gmail-takeout/local-mount/hard-drive-dump). Filters for high-value content (the user's own writing, ideas, relationships) and surfaces it interactively. REFUSES TO RUN without an explicit gbrain.yml
Open skill

