This skill turns YouTube video transcripts into structured, actionable intelligence
across four domains that matter to Chibitek Labs: productivity, AI prompting,
platform/systems engineering, and creative building. Instead of passive
consumption, every video becomes a reusable asset — extracted todos, prompts you can
run immediately, frameworks you can apply, and insights mapped to your current work.
After presenting the report, always save it as a markdown file and present it to the
user. This is standing behavior — do not wait to be asked.
| Situation | Approach |
|---|---|
| ----------- | ---------- |
| User gives a YouTube URL | Try Method A (Wave Tube fetch) → fallback to Method B (python) → fallback to Method C (manual paste) |
| User pastes raw transcript | Skip fetch, go straight to extraction pipeline |
| Python fetch is IP-blocked | Use Wave Tube web fetch — it works from server environments |
| Video has no captions | Attempt auto-generated captions; if unavailable, notify user |
| User wants one specific domain | Run full pipeline, present only the requested domain |
| User wants everything | Run full pipeline, present all four intelligence reports |
| Very long video (1hr+) | Chunk transcript, process in sections, merge outputs |
| Report is complete | Always save as markdown file and present_files — do not ask |
Wave Tube mirrors YouTube transcripts and is not IP-blocked. Always try this first.
URL pattern: https://tube.wave.co/[video-slug]-[VIDEO_ID]
To find the slug: search "[VIDEO_ID] youtube" — the Wave Tube result will appear.
Or web_search for the video title + video ID; Wave Tube typically appears in results.
Use the web_fetch tool on the Wave Tube URL. The full transcript appears in the page
body under "## Transcript". Also captures: title, channel, views, duration,
description, and timestamps in the same fetch.
Why Wave Tube first: youtube-transcript-api fails with IpBlocked when Claude runs
on cloud infrastructure (AWS/GCP/Azure). Wave Tube is a reliable public mirror that
bypasses this entirely and also provides video metadata in the same fetch.
pip install youtube-transcript-api --break-system-packages -q
from youtube_transcript_api import YouTubeTranscriptApi
import re
def extract_video_id(url):
patterns = [
r'(?:v=|youtu\.be/)([a-zA-Z0-9_-]{11})',
r'(?:embed/)([a-zA-Z0-9_-]{11})',
]
for p in patterns:
m = re.search(p, url)
if m:
return m.group(1)
return url # assume it's already a video ID
# IMPORTANT: Use instance method .fetch(), NOT .get_transcript()
# The API changed in v1.0+ — always instantiate first
video_id = extract_video_id("VIDEO_URL_HERE")
transcript = YouTubeTranscriptApi().fetch(video_id)
full_text = " ".join([entry.text for entry in transcript])
print(full_text)
Common mistake: YouTubeTranscriptApi.get_transcript() no longer exists in v1.0+.
Always use YouTubeTranscriptApi().fetch(video_id) — instantiated, not class method.
If both automated methods fail, ask the user to:
Then proceed with the extraction pipeline on the pasted text.
Once you have the transcript text, extract across all four domains. Each domain is
independent — process them cleanly and present them in sequence.
Extract concrete, doable actions mentioned or implied in the video.
Output format:
## ✅ Todos & Action Items
- [ ] [Specific action] — [context, tool, or condition if mentioned]
Rules:
Extract principles, mental models, frameworks, and strategic advice that apply
repeatedly — not just one-time instructions.
Output format:
## 💡 Advice & Frameworks
### [Framework Name]
**The idea:** ...
**Why it matters:** ...
**How to apply it:** ...
Extract any AI prompts, prompt strategies, or prompt patterns mentioned, shown,
or implied. Reconstruct them as runnable prompts — not descriptions of prompts.
Output format:
## 🤖 AI Prompts & Techniques
### [Technique Name]
**Purpose:** [What this achieves]
**Prompt:**
[Full, ready-to-run prompt text in a fenced code block]
**Notes:** [Model, context, or usage tips]
Rules:
Extract anything relevant to systems design, platform architecture, tooling,
development workflows, APIs, infrastructure patterns, or creative production.
Output format:
## ⚙️ Platform, Engineering & Creative Insights
### [Insight Name]
**Domain:** [Engineering / Platform / Creative / Tooling]
**Insight:** ...
**Application for Chibitek/UAMH:** [How this maps to UAMH, STIKI, Nexus, or OpenClaw]
Rules:
# 🎬 Intelligence Report: [VIDEO TITLE]
**Channel:** [Channel Name]
**Published:** [Date] · [Duration] · [View count]
**Topic:** [2-3 word tag]
**Source:** [Full YouTube URL]
**Summary:** [One sentence: what this video teaches and who it's for]
---
## 🏆 Top 3 Immediate Actions
1. [Highest-leverage action from the report]
2. [Second most valuable]
3. [Third]
---
*Extracted by Chibitek Labs YouTube Intelligence Extractor · [Date]*
After presenting the report in chat, immediately save it as a markdown file and
present it using present_files. This is standing behavior.
File naming convention:
intel-[short-slug-from-title].md
Example: intel-openclaw-5-things.md
Save location: /mnt/user-data/outputs/ (or appropriate workspace output dir)
Every video intelligence report is a reusable asset. Saving automatically means
the output is never lost when the chat session ends.
After any run that reveals a better approach, edge case, or new pattern, update
this SKILL.md immediately. Do not wait to be asked. This is standing behavior.
What counts as an improvement worth capturing:
Trying Python fetch first in server environments
The youtube-transcript-api library is always IP-blocked when Claude runs on cloud
infrastructure. Go to Wave Tube first — it is faster and more reliable in this context.
Using the old class method API
YouTubeTranscriptApi.get_transcript() throws AttributeError in v1.0+.
Use YouTubeTranscriptApi().fetch(video_id) — instantiated instance, not class method.
Summarizing instead of extracting
Do not write a paragraph about what the video covers. Extract discrete, usable pieces.
A summary is what YouTube's description does. This skill does more.
Vague action items
Bad: - [ ] Learn more about AI prompting
Good: - [ ] Try reverse prompting: ask OpenClaw to extract your goals by asking you questions
Paraphrasing prompts instead of reconstructing them
If a speaker reads a prompt aloud or shows it on screen, write the actual prompt text
in a fenced code block — ready to copy and run. Never just describe it.
Skipping the Chibitek mapping in Domain 4
Generic engineering insights are half as useful as ones mapped to UAMH, STIKI, or Nexus.
Always close the loop on how the insight applies to Chibitek's current work.
Not saving the report automatically
The report is a reusable asset. Save it every time without being asked.
Not updating the skill after improvements
If this run taught you something new, update the skill before ending the session.
Before closing out a run, verify:
Wave Tube (Method A) requires no installation — use the web_fetch tool directly.
pip install youtube-transcript-api --break-system-packages # Method B only
pip install yt-dlp --break-system-packages # Optional fallback
This skill is designed around Erick's four priority domains:
When insights span multiple domains, list them in all applicable sections.
Always map Domain 4 insights back to UAMH, STIKI, Nexus, or OpenClaw specifically.
| Version | Date | Changes |
|---|---|---|
| --------- | ------ | --------- |
| 1.0 | 2026-04-07 | Initial skill created |
| 1.1 | 2026-04-07 | Added Wave Tube as primary fetch method (IP block fix), corrected YouTubeTranscriptApi v1.0+ syntax (.fetch() not .get_transcript()), added auto-save as standing behavior, added skill self-update rule, added changelog |
共 1 个版本