[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DFSFCYT1RZMMWA32Z1CK0N":3,"skill-same:01M6DFSFCYT1RZMMWA32Z1CK0N":91},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":29,"linkOnly":30,"markdownContent":31,"markdownBody":32,"frontMatter":33,"refName":43,"commitSha":44,"skillDirectory":45,"forksCount":46,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":49,"updatedAt":50,"install":51,"resources":64},"01M6DFSFCYT1RZMMWA32Z1CK0N","youtube-content",null,"YouTube transcripts to summaries, threads, blogs.","zapabob\u002FSkills","zapabob","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F130830376?v=4","01M6DBMYZAGRTFQDSQYW3W764P","峯岸 亮","01M6DBMZ3GKDSJ01NZ9XTZD7JD",2,"MIT","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F52\u002F52349e30ac74a3c2693c43588e9392a53236526b4b7d92769a64045a9782308e\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28],"content","youtube","youtube content","macos","linux","windows","Video","Media","hermes","hermes agent","2026-11-10 10:12:30",false,"---\nname: youtube-content\ndescription: \"YouTube transcripts to summaries, threads, blogs.\"\nversion: 1.0.0\nauthor: Teknium (teknium1), Hermes Agent\nlicense: MIT\nplatforms: [linux, macos, windows]\nmetadata:\n  hermes:\n    tags: [YouTube, Video, Transcripts, Media]\n    related_skills: []\n---\n\n# YouTube Content Tool\n\n## When to use\n\nUse when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat content from any YouTube video. Transforms transcripts into structured content (chapters, summaries, threads, blog posts).\n\nExtract transcripts from YouTube videos and convert them into useful formats.\n\n## Setup\n\nUse `uv` so the dependency is installed into the same Hermes-managed environment\nthat runs the helper script:\n\n```bash\nuv pip install youtube-transcript-api\n```\n\n## Helper Script\n\n`SKILL_DIR` is the directory containing this SKILL.md file. The script accepts any standard YouTube URL format, short links (youtu.be), shorts, embeds, live links, or a raw 11-character video ID.\n\n```bash\n# JSON output with metadata\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"https:\u002F\u002Fyoutube.com\u002Fwatch?v=VIDEO_ID\"\n\n# Plain text (good for piping into further processing)\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"URL\" --text-only\n\n# With timestamps\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"URL\" --timestamps\n\n# Specific language with fallback chain\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"URL\" --language tr,en\n```\n\n## Output Formats\n\nAfter fetching the transcript, format it based on what the user asks for:\n\n- **Chapters**: Group by topic shifts, output timestamped chapter list\n- **Summary**: Concise 5-10 sentence overview of the entire video\n- **Chapter summaries**: Chapters with a short paragraph summary for each\n- **Thread**: Twitter\u002FX thread format — numbered posts, each under 280 chars\n- **Blog post**: Full article with title, sections, and key takeaways\n- **Quotes**: Notable quotes with timestamps\n\n### Example — Chapters Output\n\n```\n00:00 Introduction — host opens with the problem statement\n03:45 Background — prior work and why existing solutions fall short\n12:20 Core method — walkthrough of the proposed approach\n24:10 Results — benchmark comparisons and key takeaways\n31:55 Q&A — audience questions on scalability and next steps\n```\n\n## Workflow\n\n1. **Fetch** the transcript using the helper script with `--text-only --timestamps` via `uv run python`.\n2. **Validate**: confirm the output is non-empty and in the expected language. If empty, retry without `--language` to get any available transcript. If still empty, tell the user the video likely has transcripts disabled.\n3. **Chunk if needed**: if the transcript exceeds ~50K characters, split into overlapping chunks (~40K with 2K overlap) and summarize each chunk before merging.\n4. **Transform** into the requested output format. If the user did not specify a format, default to a summary.\n5. **Verify**: re-read the transformed output to check for coherence, correct timestamps, and completeness before presenting.\n\n## Error Handling\n\n- **Transcript disabled**: tell the user; suggest they check if subtitles are available on the video page.\n- **Private\u002Funavailable video**: relay the error and ask the user to verify the URL.\n- **No matching language**: retry without `--language` to fetch any available transcript, then note the actual language to the user.\n- **Dependency missing**: run `uv pip install youtube-transcript-api` and retry.\n","# YouTube Content Tool\n\n## When to use\n\nUse when the user shares a YouTube URL or video link, asks to summarize a video, requests a transcript, or wants to extract and reformat content from any YouTube video. Transforms transcripts into structured content (chapters, summaries, threads, blog posts).\n\nExtract transcripts from YouTube videos and convert them into useful formats.\n\n## Setup\n\nUse `uv` so the dependency is installed into the same Hermes-managed environment\nthat runs the helper script:\n\n```bash\nuv pip install youtube-transcript-api\n```\n\n## Helper Script\n\n`SKILL_DIR` is the directory containing this SKILL.md file. The script accepts any standard YouTube URL format, short links (youtu.be), shorts, embeds, live links, or a raw 11-character video ID.\n\n```bash\n# JSON output with metadata\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"https:\u002F\u002Fyoutube.com\u002Fwatch?v=VIDEO_ID\"\n\n# Plain text (good for piping into further processing)\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"URL\" --text-only\n\n# With timestamps\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"URL\" --timestamps\n\n# Specific language with fallback chain\nuv run python SKILL_DIR\u002Fscripts\u002Ffetch_transcript.py \"URL\" --language tr,en\n```\n\n## Output Formats\n\nAfter fetching the transcript, format it based on what the user asks for:\n\n- **Chapters**: Group by topic shifts, output timestamped chapter list\n- **Summary**: Concise 5-10 sentence overview of the entire video\n- **Chapter summaries**: Chapters with a short paragraph summary for each\n- **Thread**: Twitter\u002FX thread format — numbered posts, each under 280 chars\n- **Blog post**: Full article with title, sections, and key takeaways\n- **Quotes**: Notable quotes with timestamps\n\n### Example — Chapters Output\n\n```\n00:00 Introduction — host opens with the problem statement\n03:45 Background — prior work and why existing solutions fall short\n12:20 Core method — walkthrough of the proposed approach\n24:10 Results — benchmark comparisons and key takeaways\n31:55 Q&A — audience questions on scalability and next steps\n```\n\n## Workflow\n\n1. **Fetch** the transcript using the helper script with `--text-only --timestamps` via `uv run python`.\n2. **Validate**: confirm the output is non-empty and in the expected language. If empty, retry without `--language` to get any available transcript. If still empty, tell the user the video likely has transcripts disabled.\n3. **Chunk if needed**: if the transcript exceeds ~50K characters, split into overlapping chunks (~40K with 2K overlap) and summarize each chunk before merging.\n4. **Transform** into the requested output format. If the user did not specify a format, default to a summary.\n5. **Verify**: re-read the transformed output to check for coherence, correct timestamps, and completeness before presenting.\n\n## Error Handling\n\n- **Transcript disabled**: tell the user; suggest they check if subtitles are available on the video page.\n- **Private\u002Funavailable video**: relay the error and ask the user to verify the URL.\n- **No matching language**: retry without `--language` to fetch any available transcript, then note the actual language to the user.\n- **Dependency missing**: run `uv pip install youtube-transcript-api` and retry.\n",{"name":5,"author":34,"license":15,"version":35,"metadata":36,"platforms":42,"description":7},"Teknium (teknium1), Hermes Agent","1.0.0",{"hermes":37},{"tags":38,"related_skills":41},[39,25,40,26],"YouTube","Transcripts",[],[23,22,24],"main","0d1434f89f4bc6b07e9d272accd8c1013768820f","archive\u002Fskill-md-reviewed\u002Fsha256\u002F52\u002F52349e30ac74a3c2693c43588e9392a53236526b4b7d92769a64045a9782308e",0,"https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills","https:\u002F\u002Fgithub.com\u002Fzapabob","The Open University of JAPAN　2019-now\r\n\r\nTokyo University of Science　2007-2010","2026-10-26 16:29:01",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add zapabob\u002FSkills --skill youtube-content",{"tool":57,"command":58},"bunx","bunx skills add zapabob\u002FSkills --skill youtube-content",{"tool":60,"command":61},"pnpm","pnpm dlx skills add zapabob\u002FSkills --skill youtube-content","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Farchive\u002Fskill-md-reviewed\u002Fsha256\u002F52\u002F52349e30ac74a3c2693c43588e9392a53236526b4b7d92769a64045a9782308e\u002FSKILL.md",true,[65,71,75,79,83,87],{"path":66,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":69,"sourceHtmlUrl":70},"steps\u002Fstep-01-validate-prerequisites.md","REFERENCE","参考文档",10048,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.gemini\u002Fskills\u002Fbmad-create-epics-and-stories\u002Fsteps\u002Fstep-01-validate-prerequisites.md",{"path":72,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":73,"sourceHtmlUrl":74},"steps\u002Fstep-02-design-epics.md",7238,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.gemini\u002Fskills\u002Fbmad-create-epics-and-stories\u002Fsteps\u002Fstep-02-design-epics.md",{"path":76,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":77,"sourceHtmlUrl":78},"steps\u002Fstep-03-create-stories.md",8351,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.gemini\u002Fskills\u002Fbmad-create-epics-and-stories\u002Fsteps\u002Fstep-03-create-stories.md",{"path":80,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":81,"sourceHtmlUrl":82},"steps\u002Fstep-04-final-validation.md",4477,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.gemini\u002Fskills\u002Fbmad-create-epics-and-stories\u002Fsteps\u002Fstep-04-final-validation.md",{"path":84,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":85,"sourceHtmlUrl":86},"templates\u002Fepics-template.md",1105,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.gemini\u002Fskills\u002Fbmad-create-epics-and-stories\u002Ftemplates\u002Fepics-template.md",{"path":88,"resourceType":67,"resourceTypeDesc":68,"sizeBytes":89,"sourceHtmlUrl":90},"workflow.md",3018,"https:\u002F\u002Fgithub.com\u002Fdanielmtt9\u002Fbloomcornerkiddies\u002Fblob\u002Fmain\u002F.gemini\u002Fskills\u002Fbmad-create-epics-and-stories\u002Fworkflow.md",[92,124,159,186,213,230],{"skillNo":93,"name":94,"nameZh":6,"description":95,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":96,"categories":97,"keywords":111,"publishedAt":29},"01M6GJTE1GESGGF9K028Y7753E","xurl","X\u002FTwitter via xurl CLI: post, search, DM, media, v2 API.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fxurl\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[98,103,106],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[94,112,22,113,114,23,24,115,116,117,118,119,26,27,28,120,43,121,122,123],"openclaw","cli","github","official","search","https","social-media","api","twitter","social","via","post",{"skillNo":125,"name":126,"nameZh":6,"description":127,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":128,"categories":129,"keywords":141,"publishedAt":29},"01M6GJT8S1PXQ8WPXT1HSNBWH2","writing-plans","Write implementation plans: bite-sized tasks, paths, code.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwriting-plans\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[130,133,136,137,138],{"categoryNo":131,"categoryName":132,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":134,"categoryName":135,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000018","写作与文案",{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},{"categoryNo":139,"categoryName":140,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000036","内容创作者",[142,143,144,145,22,146,23,147,24,148,149,150,151,152,153,154,155,156,157,158],"writing","writing plans","plans","design","review","workflow","documentation","tasks","development","code","planning","code-review","subagent","write","superpowers","paths","test-driven-development",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":168,"publishedAt":29},"01M6GJST0H5X7WHBJ3BZK0DVKH","whisper","OpenAI's general-purpose speech recognition model. Supports 99 languages, transcription, translation to English, and language identification. Six model sizes from tiny (39M params) to large (1550M params). Use for speech-to-text, podcast transcription, or multilingual audio processing. Best for robust, multilingual ASR.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwhisper\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[165],{"categoryNo":166,"categoryName":167,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000016","图像与多媒体",[161,22,23,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185],"openai","speech","multimodal","Transformers","ASR","Audio","text","model","speech recognition","use","general","multilingual","translation","english","identification","processing","Audio Processing",{"skillNo":187,"name":188,"nameZh":6,"description":189,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":190,"categories":191,"keywords":195,"publishedAt":29},"01M6GJSMRQ8EETZTYMG72P70EA","weights-and-biases","W&B: log ML experiments, sweeps, model registry, dashboards.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fweights-and-biases\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[192],{"categoryNo":193,"categoryName":194,"taxonomyType":101,"taxonomyTypeDesc":102},"01JBSEEDCAT000000000000013","分析与可视化",[196,22,197,198,24,199,200,201,202,203,204,176,205,206,207,208,209,210,211,212],"weights and biases","tensorflow","experiments","pytorch","visualization","registry","real-time","tuning","dashboards","experiment","log","time","Experiment Tracking","Model Registry","Hyperparameter Tuning","WandB","Real-Time Visualization",{"skillNo":214,"name":215,"nameZh":6,"description":216,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":217,"categories":218,"keywords":220,"publishedAt":29},"01M6GJS19KDPRY112JTR326S06","watchers","Poll RSS, JSON APIs, and GitHub with watermark dedup.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fwatchers\u002Fvariants\u002Fhermes-agent-optional\u002FSKILL.md",[219],{"categoryNo":104,"categoryName":105,"taxonomyType":101,"taxonomyTypeDesc":102},[215,22,221,114,23,222,223,224,225,226,227,27,28,228,229],"terminal","automation","http","monitoring","cron","json","rss","devops","with",{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":238,"publishedAt":29},"01M6GJRHJD2A6Q830SWF9W48BC","serving-llms-vllm","vLLM: high-throughput LLM serving, OpenAI API, quantization.","https:\u002F\u002Fgithub.com\u002Fzapabob\u002FSkills\u002Fblob\u002Fmain\u002Fregistry\u002Fskills\u002Fvllm\u002Fvariants\u002Fhermes-agent\u002FSKILL.md",[236,237],{"categoryNo":99,"categoryName":100,"taxonomyType":101,"taxonomyTypeDesc":102},{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},[239,240,241,23,242,169,243,244,245,172,246,119,247,248,249,250,251,252,253,254],"llms","vLLM","serving llms vllm","research","openai api","tensor","Inference Serving","Production","llm serving","High Throughput","PagedAttention","Continuous Batching","Quantization","Tensor Parallelism","high-throughput","throughput"]