Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mycelium-hq/ai-brain-starter --skill ingest-youtubegit clone --depth 1 https://github.com/mycelium-hq/ai-brain-starterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mycelium-hq/ai-brain-starter/ingest-youtube)<a href="https://agentmods.dev/skills/mycelium-hq/ai-brain-starter/ingest-youtube"><img src="https://agentmods.dev/badge/skills/mycelium-hq/ai-brain-starter/ingest-youtube/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mycelium-hq/ai-brain-starter/ingest-youtube"><img src="https://agentmods.dev/badge/skills/mycelium-hq/ai-brain-starter/ingest-youtube.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00112 | $0.01969 |
| Opus 5 | $0.00056 | $0.00984 |
| Sonnet 5 | $0.00022 | $0.00394 |
| Haiku 4.5 | $0.00011 | $0.00197 |
Grade A, and why
ingest-youtube scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 117 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ingest-youtube — YouTube-to-vault connector
{SKILL_DIR}= this skill's own folder (locally: the directory this SKILL.md lives in; a served brain substitutes the real absolute path before you read this). If a path does not resolve, name the missing file and stop — never guess another location.
Ingests YouTube transcripts into the vault as markdown the graphify pipeline can read and the rest of the AI Brain Starter substrate (decision log, session-close cascade, hooks) can act on.
Same connector pattern as ingest-github: adding a new source means a new normalizer, not a new architecture.
When to use
- User says
/ingest-youtube <url>for a single video - User says
/ingest-youtube <channel-handle> [--days N]for a channel's recent uploads - User asks to capture, sync, ingest, transcribe, or pull a talk/podcast/keynote into the vault
- User pastes a YouTube URL and asks for a transcript or summary
- User mentions wanting a video's content available to the knowledge graph
Do NOT use for:
- Downloading the actual video file (use
yt-dlpdirectly with-f best) - Live streams (transcripts are not stable)
- Non-YouTube sources (Vimeo, Twitch, Twitter Spaces get their own connectors)
- One-off transcript reads where the user does not want a vault file (run
yt-dlp --write-auto-subdirectly and pipe to stdout)
How it works
- Parse the input: single URL → single-video mode. Channel handle (e.g.
@channelname) → channel mode (last N days, default 14). - Verify
yt-dlpis installed. If not, attemptbrew install yt-dlp(macOS) orpip3 install --user yt-dlpand surface the install path. Abort if neither works. - For each video, call
yt-dlp --list-subs <url>to enumerate available subtitles. - Subtitle priority: manual subs > auto-generated > Whisper fallback. Manual subs preserve creator-provided punctuation and speaker labels; auto-gen is uppercase + no punctuation; Whisper is the floor.
- Download the highest-priority subtitle as VTT via
yt-dlp --write-sub --sub-lang <lang> --skip-download. Default language preference:en,es(so non-English content is captured in its original language without forcing English).
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 11d ago First seen · 117 lines · 112 tokens per session scan A 5d7880e89475
ingest-youtube is a skill published in the GitHub repository mycelium-hq/ai-brain-starter (36 stars, last pushed 2d ago), licensed MIT. It adds 112 tokens to every session and 1,969 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
flow
Personal task and agent-session manager. CLI binary is flow (assumed on PATH) and stores metadata in /.flow/flow.db (SQLite). Use this skill when the user asks about their work, tasks, or projects in any natural phrasing — including but not limited to: "what's left", "what's remaining", "what's pending", "what do I…
daily-brief
Compose a morning briefing for the user by pulling today's calendar, open tasks, and relevant memory, then delivering a short prioritized summary over the primary chat channel. Use when the user asks for a daily brief, "what's on today", a standup, or sets up a scheduled morning digest.
tg-slot
Free a membership slot so a Telegram account can join or create a group. Accounts have a hard ceiling on channels plus supergroups, and at the ceiling both creating and joining fail with an error that misleadingly blames the target chat. Finds the least-valuable current memberships, proposes what to leave, and retries…
claudeai-sync
Pull new and changed claude.ai web conversations into an Obsidian vault, extract artifacts as first-class notes, concept-link them, and refresh the RAG index and dashboard. Idempotent: curated notes are never overwritten. Triggers: "/claudeai-sync", "pull claude.ai", "grab new claude.ai chats".
gmail
Check, search or digest Gmail across several mailboxes over the owner's own OAuth connector, with no browser and near-zero tokens for the raw pull. Read-only by default: drafting and sending go through the outbound approval gate. Triggers: "/gmail", "check mail", "any important emails", "find the email about ".
tg-post
Publish a vetted post to one of your own Telegram channels or supergroups over the MCP connector rather than a browser, with the channel resolved strictly by id from a registry, rate-guarded and draft-first. It never posts to a chat matched by name similarity. Triggers: "/tg-post", "publish to the telegram channel".