Media digest

SkillDocs & knowledge

Reads 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.

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 N blocks 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 is grep -n -i on 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
Media digest (media-digest): Skill · ahel