research / skill

YouTube Subscriptions → Second-Brain Ingest

A Python script and agent skill for fetching YouTube subscription metadata and ingesting it into an Obsidian-style vault.

At a glance

Purpose
A Python script and agent skill for fetching YouTube subscription metadata and ingesting it into an Obsidian-style vault.
Runs in
Local agent with shell
Operating systems
Not stated
Needs
Runtime: Python 3.9+; Needs internet: Yes; Needs accounts or API keys beyond your agent: Yes
Files and data
Reads files: Yes; Writes files: Yes; Sends data to other services: Not stated
Tool type
Skill
Delivery
From GitHub
Version
Latest on the main branch
Access
Code on GitHub
Compatibility
The README requires Python 3.9 or later and a Google Cloud project with the YouTube Data API v3 enabled. The README describes an Obsidian vault as optional but recommended and says the tool can scaffold a minimal one. It says SKILL.md can be copied into an AI assistant's skills folder, and gives the Claude Code path .claude/skills/subscription-videos-metadata/SKILL.md.
External costs
The repository is MIT-licensed and states no pricing. The README says the Google Cloud OAuth credentials are free and take about 5 minutes to set up. If you use SKILL.md with an AI coding assistant, your assistant or model provider may charge for usage.
Permissions
The README shows cloning the repository, installing dependencies with pip install -r requirements.txt, placing your Google OAuth Client ID and Client Secret in .env, and signing in to your Google account. The README says fetch retrieves metadata from subscribed YouTube channels and writes it to the chosen raw folder. The README says ingest creates or updates video, concept and entity notes in the chosen vault. The README describes configure as creating index.md and log.md when absent. The README also instructs users to copy SKILL.md into an assistant's skills folder, with .claude/skills/subscription-videos-metadata/SKILL.md as its Claude Code example. The assistant runs the workflow with the access you give it.
Usage terms
MIT License, as stated in the repository. See its LICENSE file for the exact terms.

Code on GitHub

EfficientStreet/youtube-subscriptions-ingest

MIT

Python181 stars38 forksLast pushed 14 Aug 2026 UTC

Pull YouTube subscription metadata into a real cross-linked knowledge graph in your second-brain vault

Public GitHub data fetched · 0 days old

View on GitHub ↗

What it does

This repository holds a Python script and SKILL.md for fetching YouTube subscription metadata and ingesting it into an Obsidian-style vault. The README describes the result as a cross-linked knowledge graph.

The README describes two phases. The README says fetch pulls verbatim video metadata, including title, description, views and publish date, from subscribed channels into a local raw folder. The README says ingest creates video notes and concept and entity pages. The README says each video note includes the full description, clickable links to timestamps mentioned in it and wikilinks to relevant topics and entities.

The README says both phases deduplicate by YouTube Video ID and describes fetching videos within the chosen window without an artificial per-channel cap. The README says topic and entity detection uses keyword matching tuned to a mix of AI, automation and business channels and advises extending the dictionaries for other subjects.

Who it is for

People who keep an Obsidian-style second brain and want their YouTube subscriptions turned into linked notes.

Example tasks

Set where raw files and wiki output go with the configure command.
Sign in with your Google account using the auth command, then check it with the test command.
Pull new videos with python scripts/youtube_subscriptions.py fetch, adding --days N to backfill.
Turn the pulled metadata into wiki notes with python scripts/youtube_subscriptions.py ingest.
Edit CONCEPT_TAXONOMY and ENTITY_TAXONOMY so topic detection fits your own subscriptions.

Getting started

The README's steps: clone the repository, change into its folder, and run pip install -r requirements.txt. Create your own Google Cloud OAuth credentials by enabling YouTube Data API v3 and creating an OAuth client ID of type Desktop app, then run cp .env.example .env and paste in the Client ID and Client Secret. Then run python scripts/youtube_subscriptions.py configure --raw-dir "./raw" --wiki-root "./my-vault", python scripts/youtube_subscriptions.py auth and python scripts/youtube_subscriptions.py test. To use it through an AI coding assistant, copy SKILL.md into the assistant's skills folder. The README's clone command names a different GitHub owner than this repository. The README has the exact commands.

Limitations

The README lists Python 3.9 or later, a YouTube or Google account whose subscriptions you want to pull, and your own Google Cloud OAuth credentials: a Client ID and Client Secret for the YouTube Data API v3, created as a Desktop app and pasted into a .env file. It says the project ships with no credentials. An Obsidian vault is optional but recommended, and the README says the tool can scaffold a minimal one. Topic and entity detection is a plain keyword match tuned to one mix of channels. The README's clone command names a different GitHub owner than this repository. The repository can change at any time; check its README before you install.

Data practices

The README says the project ships with no credentials and that you supply your own Google OAuth Client ID and Client Secret in a .env file. The README says fetch writes verbatim video metadata to a local raw folder and ingest writes notes to the wiki folder you choose. The README does not describe telemetry or where sign-in tokens are kept. What your AI assistant and model provider receive depends on how you use SKILL.md.

Community experience

Not rated yet

Sign in to share your experience.

Comments 0

No comments yet.

Sign in to comment

Report a listing concern