Skip to content
cccskills
FreePublished on GitHub

media-ingest

Turn videos, audio, PDFs, books, screenshots, and GitHub repositories into knowledge pages with summaries and highlights. Preserve original files, extract people and companies, and connect the material to their pages and timelines for later reference.

OriginalShow the original 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.

Works withYouTubeGitHub
See how to install

Good for

  • Saving key points from YouTube videos or podcasts
  • Organizing PDF and book summaries by subject
  • Extracting text and entities from screenshots
  • Recording a GitHub repository's structure and key files

Files included (1)

  • SKILL.md6.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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.

Input

ParameterRequiredDescription
sourceyesURL, file path, or uploaded file reference
titlenoOverride title (auto-detected if omitted)
target_slugnoOverride page slug (auto-generated if omitted)

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

FormatAction
YouTube/video URLFetch transcript (Whisper, transcription service, or captions)
Audio fileTranscribe with available STT service
PDFExtract text (OCR if needed)
Book PDFExtract text, identify chapters/sections
Screenshot/imageOCR via vision model, extract text and entities
GitHub repoClone, 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."

Error Handling

  • Transcription failure: If STT or captions are unavailable, note [transcript unavailable] in the page and proceed with whatever metadata is available. Do NOT fabricate content.
  • Duplicate detection: Before creating a page, search the brain for the source URL or file hash. If found, ask the user whether to update the existing page or skip.
  • Partial OCR / audio: Mark unclear segments with [inaudible] or [illegible]. Never guess at proper nouns.
  • Large content (books > 500 pages): Summarize by chapter; do not attempt to inline the full text. Link to the raw upload.
  • Retry policy: On transient API failures (network, timeout), retry once. On auth failures, abort immediately.

Known Pitfalls

  1. YouTube auto-captions misidentify proper nouns. Always cross-reference entity names against existing brain pages before creating new ones. A caption that garbles a name (e.g. "Alise" when the speakers are discussing alice-example) should match the existing alice-example page, not create a new one.
  2. Re-running ingest on same source creates duplicates. Always check brain for existing source URL match before Phase 3.
  3. Book OCR quality varies wildly. Scanned PDFs often have garbled text. If OCR quality is <80% readable, flag to user rather than ingesting garbage.
  4. Video transcript without speaker diarization is low-value. If multiple speakers are present but no diarization is available, note this limitation prominently rather than attributing all speech to one person.
  5. Large audio files (>2hr) can timeout transcription services. Split into chunks before transcription if needed.

When it fails

Follow the agent operator protocol for any gbrain error code, exit code, [AGENT] block or notice block. Specific to this skill:

  • Transcription fails: write [transcript unavailable] and continue with metadata; never fabricate content.
  • A transient API failure (network, timeout, rate_limited): retry once. On an auth failure, abort and tell the user which provider key is missing.
  • file_upload refused (size, path outside the allowed root): tell the user the raw file was not stored and keep a pointer in the page.

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

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

academic-verify

FreeSummary

Check research claims cited in books, articles, or conversations by tracing the original paper, methods, underlying data, and independent replication. Save a sourced assessment explaining whether the claim holds up and what remains uncertain.

  • Check a study cited in a book
  • Trace a numerical claim in an article to its source data
  • Verify research evidence before using it in writing
garrytan/gbrain31.1KUpdated Oct 21, 2026

archive-crawler

FreeSummary

Explore old files and email archives to rediscover personal writing, ideas, and meaningful conversations. Review selected items one at a time, save worthwhile material as organized notes, and track progress within explicitly permitted folders.

  • Rediscover old journals and creative writing
  • Find meaningful letters and email conversations
  • Recover past product and business ideas
garrytan/gbrain31.1KUpdated Oct 21, 2026

Restructure raw article text stored in gbrain into summaries, exact quotes, key insights, and links to related pages. Preserve the original text and connect the article's significance to projects and interests already recorded in gbrain.

  • Organizing saved articles into readable notes
  • Collecting exact quotes for essays
  • Connecting articles to current projects
garrytan/gbrain31.1KUpdated Oct 21, 2026

ask-user

FreeSummary

Present clear choices when a task needs a human decision, then pause execution until the user replies. This reusable interaction pattern supports filing decisions, priority selection, and confirmation before destructive actions, with an option to decline.

  • Clarifying requests with several possible meanings
  • Confirming before bulk deletion or overwriting
  • Choosing where to file meeting notes
garrytan/gbrain31.1KUpdated Oct 21, 2026

blog-ingest

FreeSummary

Collect public posts across a blog, newsletter, or feed archive and save clean Markdown pages for each article. The workflow avoids duplicates, supports resumed runs, repairs empty results, and hands articles to a separate enrichment skill.

  • Importing a blog's public article archive
  • Organizing public newsletter posts as knowledge pages
  • Rerunning a feed import without duplicates
garrytan/gbrain31.1KUpdated Oct 21, 2026

book-mirror

FreeSummary

Create a detailed chapter-by-chapter reading companion from an EPUB or PDF, connecting the book’s ideas to experiences and words saved in your personal knowledge store. The result highlights parallels without prescribing actions.

  • Connect a book’s ideas to personal experiences
  • Review detailed chapter summaries alongside personal reflections
  • Create a parent’s guide for reading a children’s book aloud
garrytan/gbrain31.1KUpdated Oct 21, 2026

See all skills by garrytan

Report a problem with this skill