GDC URL to VTT Skill (Parent)
Purpose
This is the parent skill for gdc-vtt-to-note. It handles the case where the user provides a GDC Vault video page URL rather than a raw VTT segment URL.
It automatically:
- Authenticates with GDC Vault
- Parses the video page to extract the Blazestreaming video ID
- Follows the CDN chain to locate a VTT caption segment URL
- Delegates to the
gdc-vtt-to-noteworkflow to capture, summarize, and create an Obsidian note
Trigger
- User provides a GDC Vault video page URL, e.g.:
https://gdcvault.com/play/1035765/Artists-Do-You-Want-to- Any URL matching
gdcvault.com/play/*
- Do NOT trigger when the user provides a raw
.vttURL — that is handled bygdc-vtt-to-notedirectly.
Required Input
- A GDC Vault video page URL (the page you watch the video on, NOT a VTT file URL)
- GDC Vault credentials (email + password)
Credential Resolution
Credentials are needed for Step 1. Look for them in this order:
- Read the note
literature notes/video notes/gdc/GDC password.mdfor the latest username/password - If not found, ask the user to provide
--emailand--password
Workflow
Step 1: Extract VTT URL
Run the bundled extraction script with the user's video URL and credentials:
python3 .claude/skills/gdc-url-to-vtt/scripts/extract_vtt_url.py \
"<gdc_video_url>" \
--email "<email>" \
--password "<password>"
The script:
- Logs into GDC Vault (cookies are saved to
.claude/skills/gdc-url-to-vtt/scripts/.gdc_cookies.txtfor reuse) - Extracts the Blazestreaming
videoIdfrom the page - Follows the HLS manifest chain to find the first VTT caption segment
- Prints the full VTT URL to stdout
If extraction fails:
- Report the error to the user
- Common failures: expired credentials, page not found, no subtitle track
- Do NOT proceed to Step 2
Step 2: Capture Captions (delegate to gdc-vtt-to-note)
Once the VTT URL is obtained, run the capture script from gdc-vtt-to-note:
python3 .claude/skills/gdc-vtt-to-note/scripts/capture_gdc_vtt.py \
"<vtt_url_from_step_1>" \
--output captions.txt
This brute-forces all VTT chunk IDs to assemble the full caption stream.
If the script fails, report the error and do NOT proceed.
Step 3: Summarize & Create Note (follow gdc-vtt-to-note post-processing)
Once captions.txt is generated:
- Read the generated caption file
- Build a concise summary including:
- Topic
- Key points
- Actionable insights
- Create an Obsidian note in
literature notes/video notes/gdc/ai notes
Note Naming Rule
- Filename format:
YYYY-MM-DD-{summary_slug}.md - Slug rules: lowercase, spaces →
-, remove invalid filename characters - If conflict exists, append
-2,-3, etc.
Note Content
Include:
- Title
- Source GDC video URL
- Resolved VTT URL
- Caption file path
- Summary sections
- Captions.txt full content as reference
Prefer frontmatter metadata:
source_url: the original GDC video page URLsource_vtt: the resolved VTT segment URLcaption_file: path to captions.txtcreated_at: today's datetags: [gdc, summary]
Safety
- If Step 1 (VTT extraction) fails, report the error and stop
- If Step 2 (caption capture) fails, report stderr and do not create the note
- If caption file is empty, create note with
incompletestatus - Never modify the
gdc-vtt-to-noteskill or its scripts - Cookie jar file is stored alongside the script — add to
.gitignoreif needed