YouTube videos
Download youtube-video.moca and youtube-playlist.moca
from the latest release.
Two packages built from YouTube with moca-youtube, which captures a video or
playlist with yt-dlp and runs
moca-convert --from youtube on the capture. Nothing in them was written by
hand.
video/is one recorded talk. Its node holds the video’s description and a transcript made from its captions, grouped by the video’s chapters.playlist/is a nine-video playlist, one node per video (these videos have no chapters, so each transcript is one section), with astructure.ttlthat keeps the videos in playlist order (skos:OrderedCollection) and makes each a part of the playlist (dcterms:hasPart). Each node is bound to its concept withmoca.concepts.content/index.mdlists the videos in the same order.
What they show:
- Media evidence. Each node cites its chapters, or the whole video when it
has none, as time ranges (a Media Fragments
FragmentSelector,t=start,end). The captions travel undermedia/as WebVTT, so a Reader checks every range against the cue timings without a network. - Originals in the package. The YouTube description is kept as written
under
sources/, and the node quotes it (TextQuoteSelector). The video itself stays on YouTube: it is the node’sresourceand asourcesentry, but no evidence depends on it, so both packages areself-contained-evidence.
The captions are YouTube’s automatic ones. YouTube’s own WebVTT for those
repeats each line as it scrolls, so moca-youtube fetches the timed phrases
instead and writes one cue per phrase, with no overlaps.
The playlist’s order is YouTube’s, not the order of the part numbers in the titles: the playlist lists the parts newest first.
Regenerating
Section titled “Regenerating”From the repository root, with Node 22 or later and yt-dlp on PATH (or
--yt-dlp <path>, or $YT_DLP):
npx -p @openmoca/moca-convert moca-youtube "https://www.youtube.com/watch?v=nENs3UndI2o" \ -o examples/youtube/video --id https://example.com/moca/youtube/agent-framework-workflows --force
npx -p @openmoca/moca-convert moca-youtube "https://www.youtube.com/playlist?list=PLHTHCZPMDRMlnEYaQHhcFaEieKFvs7sdq" \ -o examples/youtube/playlist --id https://example.com/moca/youtube/agent-framework-playlist --forceAdd --capture-dir <dir> to keep the capture: converting the same capture
again with moca-convert <dir> -o … --id … gives a byte-identical package.
YouTube’s automatic captions can change between fetches, so a fresh capture
may not.
Attribution
Section titled “Attribution”The titles, descriptions and captions are the work of their creators and are published on YouTube under the standard YouTube licence. They are included here only as example source material, unchanged apart from the caption cleanup described above; copyright stays with the creators, and the repository’s Apache-2.0 licence does not apply to them. Neither creator is affiliated with MOCA.
video/: “Microsoft Agent Framework Workflows: From Zero to Hero”, Microsoft Reactor, https://www.youtube.com/watch?v=nENs3UndI2o.playlist/: “Microsoft Agent Framework”, Karthikeyan Vijayakumar, https://www.youtube.com/playlist?list=PLHTHCZPMDRMlnEYaQHhcFaEieKFvs7sdq; each node links to its own video.
Try it
Section titled “Try it”Try OpenMOCA has other video packages, a 17-video course and a recorded talk, with each answer opening the video at the moment.
To try them with your AI assistant, use our MCP server. Download youtube-video.moca and youtube-playlist.moca into one folder, and serve the folder:
moca-mcp --library .One download with nothing to install, for Windows, macOS or Linux: get moca-mcp.
Connect it to Claude Desktop, Claude Code, VS Code or Cursor, with full paths, as in Got a .moca file?. Then ask: “What are the five orchestration patterns in the workflows video? Give the moment each one is explained.”