Media digest
SkillDocs & knowledgeReads anything long, a video, podcast, talk, article, PDF or a recording of their own, and hands it back short. Use it when the user points at one and asks what is in it, wants a meeting or lecture they recorded written up, or asks which videos on a topic are worth watching.
Available today. Use it from your connected AI after setup.
No other account needed.
Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
Then ask your AI: use the Media digest skill
What this skill tells your AI
The instructions your AI receives, as published by cgoinglove/thursday in skills/media-digest/SKILL.md and read by ahel’s review.
Every script is node <this skill's dir>/scripts/<name>.mjs, needs no key and prints a few
lines; the text itself goes to a file. Chain them with && in one bash call.
S=<this skill's dir>/scripts
node $S/yt.mjs transcript <url|id>... --out <scratch> [--lang de] # <id>.txt + <id>.json per video
node $S/yt.mjs search "<query>" [--within hour|day|week|month|year] [--length short|medium|long] [--sort relevance|views|date] [--max 20] --out <scratch>/rows.json
node $S/text.mjs <article url | pdf url | file.pdf> --out <scratch>/<name>.txt
node $S/part.mjs <file> <n> # part n of a long file, one read
node $S/audio.mjs cut <url|file> --out <scratch>/audio [--minutes 10] # no captions: pieces to transcribe
node $S/digest.mjs <digest.json> --name <page> # the page, in your artifacts folder
node $THURSDAY_SKILLS/artifact/scripts/document.mjs pdf <page path> # a PDF beside it, when asked for one
Two facts decide the work:
- One bash call shows only so much of what it prints; the rest is cut. So every file these scripts
write is split into
## Part Nblocks that each fit one read, and the head they print says how many. One part per bash call — two in one call are cut — and the calls for several parts sent together in one step. A question about one thing isgrep -n -ion the file first, then only the parts that hit; a summary reads every part. How:references/reading.md. - A timestamp is only worth giving when it comes from the file. Each transcript line
starts with
[m:ss]; cite that time, never one worked out. A~marks a time estimated from where the words fall in a piece of audio; cite it with the~, which still opens the source at that second.
YouTube is read with yt-dlp, which the first yt.mjs or audio.mjs call fetches into
projects/ once (~50 MB); after that a video takes a few seconds.
references/page.md is the page's JSON and how an answer is shaped; references/no-captions.md
is a video, podcast or recording with no transcript. A meeting or lecture they recorded is written
up as notes — what was decided, who does what and by when, each point with its [m:ss] — in the
artifact skill's templates/document/notes.md, not as a digest page.
Signals
- GitHub stars
- 21
- Forks
- 2
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
media-digest- Source
- github.com/cgoinglove/thursday