atrislabs/atris/youtube
Claude Code and agent skill by atrislabs/atris
- community
Checking that the SKILL.md file is still in the repository.
YouTube discovery and learning. Get watch permalinks with atris youtube search QUERY (free, local ytsearch/yt-dlp). On 429 use printed rows if any; else the CLI retries once, then cached rows if printed, else STOP. Never run --paid after a 429. --paid only when the user explicitly asked to buy permalinks (5 credits). After a URL is picked, atris youtube notes URL (free, ephemeral unless --save). atris youtube process only to store knowledge (5 credits). Never paste tokens. Never /auth/cli. Mint with atris login --agent from a stored login. Never summarize a video from model memory. Triggers on: youtube search, find videos, paid youtube search, any youtube.com or youtu.be link, youtube, video, watch this, notes on this.
Install
npx vskill@latest install atrislabs/atris/youtubeSKILL.md
YouTube Skill
Route first: learning vs product
Two rails. Pick one before running anything.
- Learning rail (free):
atris youtube notes URLoratris youtube teach URL. Local yt-dlp captions plus a local AI writer, zero credits, no login. Use it when the ask is "learn from", "notes on", "alpha", "rabbit hole", "what does this say". This replaces the old alpha-learn skill. - Product rail (5 credits):
atris youtube process URL(bareatris youtube URLis the same call). Stores the analysis in the Atris backend, needs a stored login, and is gated on a filled Apply. Use it only when the ask is "process", "store", "add to knowledge", or--agent ID --store.
Process is gated. It exits 2 with write one apply (change + receipt) before process. until atris/wiki/briefs/youtube-<id>.apply.md (relative to the current directory) has real change: and receipt: lines. fill this does not count, and a notes/search keep-sidecar (change: apply atris/experiments/...) does not count. The CLI prints the exact file on the next line. It writes a fill-this stub there only when atris/wiki/ already exists; otherwise create the file yourself. The gate runs before any login or billing, so a refusal never spends credits. Write the Apply from what the person will actually change, not a placeholder.
Notes writer: Gemini Flash through the Antigravity CLI (agy -p) when installed, else Haiku (claude), then Codex, then Cursor. The Antigravity editor's own agy launcher has no -p mode and is skipped. notes by <writer> names who wrote them. check: fill this after notes, teach, or search means the video had no number or named mechanism to build a check from; it is not an error.
Feature map
Hard path. Follow in order. Soft memory does not override this.
- Get watch permalinks:
atris youtube search QUERY(free). A rich hit mintsatris/experiments/search-<query>/, writes one pack-named Apply, and printsscore: 0only when that Apply starts failing. A thin hit printscheck: fill this, then one next teach command.--jsonstays quiet and writes no pack. - If 429: use any rows already printed. A leaked warning line or a
youtu.be/NA/youtu.be/Nonerow is not printed. If none, wait/retry is already in the CLI. If it prints cached rows, use those. Cached rows mint or print the same rich or thin gate as a live hit. If it printsyoutube rate-limited local search. do not use --paid as a fallback; retry later., STOP. Do not run--paid. --paidonly when the user explicitly asked to buy permalinks. The CLI hard-refuses--paidwhen the free cache still has a fresh same-query hit.atris youtube notes URLafter a URL is picked (free). Notes is ephemeral unless--save. Rich ephemeral prints one apply next-step and one failing check (score: 0), then onenext: atris youtube teach <same-url>, and writes no files. Thin ephemeral printscheck: fill thisinstead of inventing a check. A playlist or multi-url batch does the same for the first successful item only. A playlist expand that prints video rows keeps them even when yt-dlp exits 429. A notes run that already wroteyt_<id>.mdkeeps that lesson even when the runner exits 429 or a later error, so the learner gate and rich--savemint still run. Watch, youtu.be, shorts, embed, live, /e/, and youtube-nocookie embed urls all resolve the same video id, so empty-JSON teach/process and notes keep still find that file. A copied watch?v=&list= URL still finds yt_<video>.en.vtt when -J dumps playlist JSON. A copied #t= timestamp still finds the same yt_<id> file. The bundled ytnotes script does the same for a written manual or auto en, en-orig, en-US, or en-GB VTT plus printed metadata, and skips a leaked WARNING/ERROR print line or a NA/None print when choosing the video id.--jsonstays quiet on the check and the teach next-step. Rich--savefiles the brief, mintsatris/experiments/notes-<id>/, writes one Apply, and printsscore: 0only when that Apply starts failing. A rich multi-url--savebatch proves that failing baseline for the first saved pack only; thin--save(no number-with-units and no named mechanism) refuses with no brief and exit 2. Do not auto--paid.- Write one Apply (change + receipt) before
atris youtube process. Process still requires a filled Apply (so you--savea rich brief, fill Apply, then process). A rich analysis then mintsatris/experiments/process-<id>/, writes one pack-named Apply, and printsscore: 0only when that Apply starts failing. Thin analysis printscheck: fill this.--jsonstays quiet. 401, 402, or 502 print Credits when present and say credits refunded only when the server marks a refund. A local-transcript 502 that then retries cloud prints those same credit lines from the first payload before the retry. A 401 that remints and retries prints those same credit lines from the first payload before the retry. - Never paste tokens. Never
/auth/cli. Mint withatris login --agentfrom a stored login.
If the user says "find videos", "search youtube", or "get youtube links" → search. If they say "learn from", "notes on", "alpha", or "rabbit hole" → notes. If they say "process", "store", "add to knowledge" → process. "Buy permalinks" or "paid search" is the only ask that unlocks --paid.
Never summarize a video from model memory; that is fabrication.
Bootstrap
Search and notes need no login. Paid search and process need a stored login, then atris login --agent. Never print credentials. Never /auth/cli.
Search videos (free)
Uses ytsearch on PATH when present, else bundled scripts/det/ytsearch, else yt-dlp --flat-playlist --print with ytsearchN:. No credits. No /agent/process_youtube call. A rich hit prints one inferred check plus score: 0. A thin hit prints check: fill this. Then one next: atris youtube teach <first-url>. --json stays quiet.
On 429, printed rows are a hit (no retry). A leaked WARNING/ERROR/INFO print line or a youtu.be/NA / youtu.be/None row is not a hit. If stdout is empty the CLI retries once, then serves ~/.atris/youtube-search-cache.json if the same query is younger than one hour. A cache reprint prints the same rich or thin check as a live hit. If it prints the rate-limit sentence, stop. Do not run --paid.
Paid search (5 credits, opt-in buy only)
Only when the user explicitly asked to buy permalinks. A 429 or a missing cache is not that ask.
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingatris/skills/youtube/SKILL.md
Popularity
- Repository stars
- 58
- Repository forks
- 2
- Repository npm downloads, 7 days
- 256
- 7-day trend score
- 36
Stars and forks are for the whole GitHub repository, not this skill alone. Downloads are for the repository's npm package. Refreshed 20 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/atrislabs/atris/youtube)