{
  "schemaVersion": "1.0",
  "item": {
    "slug": "youtube-summarizer",
    "name": "YouTube Summarizer",
    "source": "tencent",
    "type": "skill",
    "category": "通讯协作",
    "sourceUrl": "https://clawhub.ai/abe238/youtube-summarizer",
    "canonicalUrl": "https://clawhub.ai/abe238/youtube-summarizer",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/youtube-summarizer",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=youtube-summarizer",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "README.md",
      "SKILL.md",
      "examples/sample-output.md",
      "package.json"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/youtube-summarizer"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/youtube-summarizer",
    "agentPageUrl": "https://openagent3.xyz/skills/youtube-summarizer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/youtube-summarizer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/youtube-summarizer/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "YouTube Summarizer Skill",
        "body": "Automatically fetch transcripts from YouTube videos, generate structured summaries, and deliver full transcripts to messaging platforms."
      },
      {
        "title": "When to Use",
        "body": "Activate this skill when:\n\nUser shares a YouTube URL (youtube.com/watch, youtu.be, youtube.com/shorts)\nUser asks to summarize or transcribe a YouTube video\nUser requests information about a YouTube video's content"
      },
      {
        "title": "Dependencies",
        "body": "Required: MCP YouTube Transcript server must be installed at:\n/root/clawd/mcp-server-youtube-transcript\n\nIf not present, install it:\n\ncd /root/clawd\ngit clone https://github.com/kimtaeyoon83/mcp-server-youtube-transcript.git\ncd mcp-server-youtube-transcript\nnpm install && npm run build"
      },
      {
        "title": "1. Detect YouTube URL",
        "body": "Extract video ID from these patterns:\n\nhttps://www.youtube.com/watch?v=VIDEO_ID\nhttps://youtu.be/VIDEO_ID\nhttps://www.youtube.com/shorts/VIDEO_ID\nDirect video ID: VIDEO_ID (11 characters)"
      },
      {
        "title": "2. Fetch Transcript",
        "body": "Run this command to get the transcript:\n\ncd /root/clawd/mcp-server-youtube-transcript && node --input-type=module -e \"\nimport { getSubtitles } from './dist/youtube-fetcher.js';\nconst result = await getSubtitles({ videoID: 'VIDEO_ID', lang: 'en' });\nconsole.log(JSON.stringify(result, null, 2));\n\" > /tmp/yt-transcript.json\n\nReplace VIDEO_ID with the extracted ID. Read the output from /tmp/yt-transcript.json."
      },
      {
        "title": "3. Process the Data",
        "body": "Parse the JSON to extract:\n\nresult.metadata.title - Video title\nresult.metadata.author - Channel name\nresult.metadata.viewCount - Formatted view count\nresult.metadata.publishDate - Publication date\nresult.actualLang - Language used\nresult.lines - Array of transcript segments\n\nFull text: result.lines.map(l => l.text).join(' ')"
      },
      {
        "title": "4. Generate Summary",
        "body": "Create a structured summary using this template:\n\n📹 **Video:** [title]\n👤 **Channel:** [author] | 👁️ **Views:** [views] | 📅 **Published:** [date]\n\n**🎯 Main Thesis:**\n[1-2 sentence core argument/message]\n\n**💡 Key Insights:**\n- [insight 1]\n- [insight 2]\n- [insight 3]\n- [insight 4]\n- [insight 5]\n\n**📝 Notable Points:**\n- [additional point 1]\n- [additional point 2]\n\n**🔑 Takeaway:**\n[Practical application or conclusion]\n\nAim for:\n\nMain thesis: 1-2 sentences maximum\nKey insights: 3-5 bullets, each 1-2 sentences\nNotable points: 2-4 supporting details\nTakeaway: Actionable conclusion"
      },
      {
        "title": "5. Save Full Transcript",
        "body": "Save the complete transcript to a timestamped file:\n\n/root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt\n\nInclude in the file:\n\nVideo metadata header\nFull transcript text\nURL reference"
      },
      {
        "title": "6. Platform-Specific Delivery",
        "body": "If channel is Telegram:\n\nmessage --action send --channel telegram --target CHAT_ID \\\n  --filePath /root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt \\\n  --caption \"📄 YouTube Transcript: [title]\"\n\nIf channel is other/webchat:\nJust reply with the summary (no file attachment)."
      },
      {
        "title": "7. Reply with Summary",
        "body": "Send the structured summary as your response to the user."
      },
      {
        "title": "Error Handling",
        "body": "If transcript fetch fails:\n\nCheck if video has captions enabled\nTry with lang: 'en' fallback if requested language unavailable\nInform user that transcript is not available and suggest alternatives:\n\nManual YouTube transcript feature\nVideo may not have captions\nTry a different video\n\nIf MCP server not installed:\n\nProvide installation instructions\nOffer to install it automatically if in appropriate context\n\nIf video ID extraction fails:\n\nAsk user to provide the full YouTube URL or video ID"
      },
      {
        "title": "Examples",
        "body": "See examples/ directory for sample outputs."
      },
      {
        "title": "Quality Guidelines",
        "body": "Be concise: Summary should be scannable in 30 seconds\nBe accurate: Don't add information not in the transcript\nBe structured: Use consistent formatting for easy reading\nBe contextual: Adjust detail level based on video length\n\nShort videos (<5 min): Brief summary\nLong videos (>30 min): More detailed breakdown"
      },
      {
        "title": "Notes",
        "body": "MCP server uses Android client emulation to bypass YouTube's cloud IP blocking\nWorks reliably from VPS/cloud environments where yt-dlp often fails\nSupports multiple languages with automatic fallback to English\nTranscript quality depends on YouTube's auto-generated captions or manual captions"
      }
    ],
    "body": "YouTube Summarizer Skill\n\nAutomatically fetch transcripts from YouTube videos, generate structured summaries, and deliver full transcripts to messaging platforms.\n\nWhen to Use\n\nActivate this skill when:\n\nUser shares a YouTube URL (youtube.com/watch, youtu.be, youtube.com/shorts)\nUser asks to summarize or transcribe a YouTube video\nUser requests information about a YouTube video's content\nDependencies\n\nRequired: MCP YouTube Transcript server must be installed at: /root/clawd/mcp-server-youtube-transcript\n\nIf not present, install it:\n\ncd /root/clawd\ngit clone https://github.com/kimtaeyoon83/mcp-server-youtube-transcript.git\ncd mcp-server-youtube-transcript\nnpm install && npm run build\n\nWorkflow\n1. Detect YouTube URL\n\nExtract video ID from these patterns:\n\nhttps://www.youtube.com/watch?v=VIDEO_ID\nhttps://youtu.be/VIDEO_ID\nhttps://www.youtube.com/shorts/VIDEO_ID\nDirect video ID: VIDEO_ID (11 characters)\n2. Fetch Transcript\n\nRun this command to get the transcript:\n\ncd /root/clawd/mcp-server-youtube-transcript && node --input-type=module -e \"\nimport { getSubtitles } from './dist/youtube-fetcher.js';\nconst result = await getSubtitles({ videoID: 'VIDEO_ID', lang: 'en' });\nconsole.log(JSON.stringify(result, null, 2));\n\" > /tmp/yt-transcript.json\n\n\nReplace VIDEO_ID with the extracted ID. Read the output from /tmp/yt-transcript.json.\n\n3. Process the Data\n\nParse the JSON to extract:\n\nresult.metadata.title - Video title\nresult.metadata.author - Channel name\nresult.metadata.viewCount - Formatted view count\nresult.metadata.publishDate - Publication date\nresult.actualLang - Language used\nresult.lines - Array of transcript segments\n\nFull text: result.lines.map(l => l.text).join(' ')\n\n4. Generate Summary\n\nCreate a structured summary using this template:\n\n📹 **Video:** [title]\n👤 **Channel:** [author] | 👁️ **Views:** [views] | 📅 **Published:** [date]\n\n**🎯 Main Thesis:**\n[1-2 sentence core argument/message]\n\n**💡 Key Insights:**\n- [insight 1]\n- [insight 2]\n- [insight 3]\n- [insight 4]\n- [insight 5]\n\n**📝 Notable Points:**\n- [additional point 1]\n- [additional point 2]\n\n**🔑 Takeaway:**\n[Practical application or conclusion]\n\n\nAim for:\n\nMain thesis: 1-2 sentences maximum\nKey insights: 3-5 bullets, each 1-2 sentences\nNotable points: 2-4 supporting details\nTakeaway: Actionable conclusion\n5. Save Full Transcript\n\nSave the complete transcript to a timestamped file:\n\n/root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt\n\n\nInclude in the file:\n\nVideo metadata header\nFull transcript text\nURL reference\n6. Platform-Specific Delivery\n\nIf channel is Telegram:\n\nmessage --action send --channel telegram --target CHAT_ID \\\n  --filePath /root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt \\\n  --caption \"📄 YouTube Transcript: [title]\"\n\n\nIf channel is other/webchat: Just reply with the summary (no file attachment).\n\n7. Reply with Summary\n\nSend the structured summary as your response to the user.\n\nError Handling\n\nIf transcript fetch fails:\n\nCheck if video has captions enabled\nTry with lang: 'en' fallback if requested language unavailable\nInform user that transcript is not available and suggest alternatives:\nManual YouTube transcript feature\nVideo may not have captions\nTry a different video\n\nIf MCP server not installed:\n\nProvide installation instructions\nOffer to install it automatically if in appropriate context\n\nIf video ID extraction fails:\n\nAsk user to provide the full YouTube URL or video ID\nExamples\n\nSee examples/ directory for sample outputs.\n\nQuality Guidelines\nBe concise: Summary should be scannable in 30 seconds\nBe accurate: Don't add information not in the transcript\nBe structured: Use consistent formatting for easy reading\nBe contextual: Adjust detail level based on video length\nShort videos (<5 min): Brief summary\nLong videos (>30 min): More detailed breakdown\nNotes\nMCP server uses Android client emulation to bypass YouTube's cloud IP blocking\nWorks reliably from VPS/cloud environments where yt-dlp often fails\nSupports multiple languages with automatic fallback to English\nTranscript quality depends on YouTube's auto-generated captions or manual captions"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/abe238/youtube-summarizer",
    "publisherUrl": "https://clawhub.ai/abe238/youtube-summarizer",
    "owner": "abe238",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/youtube-summarizer",
    "downloadUrl": "https://openagent3.xyz/downloads/youtube-summarizer",
    "agentUrl": "https://openagent3.xyz/skills/youtube-summarizer/agent",
    "manifestUrl": "https://openagent3.xyz/skills/youtube-summarizer/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/youtube-summarizer/agent.md"
  }
}