← 返回 Skills 市场
kirkraman

summarizer

作者 KirkRaman · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
117
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install jx-summarizer
功能描述
Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and prov...
使用说明 (SKILL.md)

YouTube Summarizer Skill

Automatically fetch transcripts from YouTube videos, generate structured summaries, and deliver full transcripts to messaging platforms.

When to Use

Activate this skill when:

  • User shares a YouTube URL (youtube.com/watch, youtu.be, youtube.com/shorts)
  • User asks to summarize or transcribe a YouTube video
  • User requests information about a YouTube video's content

Dependencies

Required: MCP YouTube Transcript server must be installed at: /root/clawd/mcp-server-youtube-transcript

If not present, install it:

cd /root/clawd
git clone https://github.com/kimtaeyoon83/mcp-server-youtube-transcript.git
cd mcp-server-youtube-transcript
npm install && npm run build

Workflow

1. Detect YouTube URL

Extract video ID from these patterns:

  • https://www.youtube.com/watch?v=VIDEO_ID
  • https://youtu.be/VIDEO_ID
  • https://www.youtube.com/shorts/VIDEO_ID
  • Direct video ID: VIDEO_ID (11 characters)

2. Fetch Transcript

Run this command to get the transcript:

cd /root/clawd/mcp-server-youtube-transcript && node --input-type=module -e "
import { getSubtitles } from './dist/youtube-fetcher.js';
const result = await getSubtitles({ videoID: 'VIDEO_ID', lang: 'en' });
console.log(JSON.stringify(result, null, 2));
" > /tmp/yt-transcript.json

Replace VIDEO_ID with the extracted ID. Read the output from /tmp/yt-transcript.json.

3. Process the Data

Parse the JSON to extract:

  • result.metadata.title - Video title
  • result.metadata.author - Channel name
  • result.metadata.viewCount - Formatted view count
  • result.metadata.publishDate - Publication date
  • result.actualLang - Language used
  • result.lines - Array of transcript segments

Full text: result.lines.map(l => l.text).join(' ')

4. Generate Summary

Call SkillBoss API Hub (/v1/pilot, type chat) to generate a structured summary from the transcript:

import requests, os

SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]

def generate_summary(transcript_text: str, title: str, author: str) -> str:
    r = requests.post(
        "https://api.heybossai.com/v1/pilot",
        headers={
            "Authorization": f"Bearer {SKILLBOSS_API_KEY}",
            "Content-Type": "application/json"
        },
        json={
            "type": "chat",
            "inputs": {
                "messages": [
                    {
                        "role": "system",
                        "content": "You are a video summarization expert. Generate a structured summary with: Main Thesis (1-2 sentences), Key Insights (3-5 bullets), Notable Points (2-4 bullets), and Takeaway (1 actionable sentence)."
                    },
                    {
                        "role": "user",
                        "content": f"Summarize this YouTube video transcript.\
\
Title: {title}\
Channel: {author}\
\
Transcript:\
{transcript_text}"
                    }
                ]
            },
            "prefer": "balanced"
        },
        timeout=60,
    )
    result = r.json()
    return result["result"]["choices"][0]["message"]["content"]

Format the output using this template:

📹 **Video:** [title]
👤 **Channel:** [author] | 👁️ **Views:** [views] | 📅 **Published:** [date]

**🎯 Main Thesis:**
[1-2 sentence core argument/message]

**💡 Key Insights:**
- [insight 1]
- [insight 2]
- [insight 3]
- [insight 4]
- [insight 5]

**📝 Notable Points:**
- [additional point 1]
- [additional point 2]

**🔑 Takeaway:**
[Practical application or conclusion]

Aim for:

  • Main thesis: 1-2 sentences maximum
  • Key insights: 3-5 bullets, each 1-2 sentences
  • Notable points: 2-4 supporting details
  • Takeaway: Actionable conclusion

5. Save Full Transcript

Save the complete transcript to a timestamped file:

/root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt

Include in the file:

  • Video metadata header
  • Full transcript text
  • URL reference

6. Platform-Specific Delivery

If channel is Telegram:

message --action send --channel telegram --target CHAT_ID \
  --filePath /root/clawd/transcripts/YYYY-MM-DD_VIDEO_ID.txt \
  --caption "📄 YouTube Transcript: [title]"

If channel is other/webchat: Just reply with the summary (no file attachment).

7. Reply with Summary

Send the structured summary as your response to the user.

Error Handling

If transcript fetch fails:

  • Check if video has captions enabled
  • Try with lang: 'en' fallback if requested language unavailable
  • Inform user that transcript is not available and suggest alternatives:
    • Manual YouTube transcript feature
    • Video may not have captions
    • Try a different video

If MCP server not installed:

  • Provide installation instructions
  • Offer to install it automatically if in appropriate context

If video ID extraction fails:

  • Ask user to provide the full YouTube URL or video ID

Examples

See examples/ directory for sample outputs.

Quality Guidelines

  • Be concise: Summary should be scannable in 30 seconds
  • Be accurate: Don't add information not in the transcript
  • Be structured: Use consistent formatting for easy reading
  • Be contextual: Adjust detail level based on video length
    • Short videos (\x3C5 min): Brief summary
    • Long videos (>30 min): More detailed breakdown

Notes

  • MCP server uses Android client emulation to bypass YouTube's cloud IP blocking
  • Works reliably from VPS/cloud environments where yt-dlp often fails
  • Supports multiple languages with automatic fallback to English
  • Transcript quality depends on YouTube's auto-generated captions or manual captions
  • Summary generation powered by SkillBoss API Hub — auto-routes to the best available LLM via /v1/pilot
安全使用建议
Key things to consider before installing/using this skill: - Verify the SKILLBOSS_API_KEY requirement and supply only a least-privilege API key (or a dedicated key) if you decide to use the SkillBoss API. Note the registry metadata incorrectly lists no env vars — treat the SKILL.md/README as authoritative unless corrected. - Inspect the upstream dependency (https://github.com/kimtaeyoon83/mcp-server-youtube-transcript) before cloning/installing. The skill's workflow explicitly clones and runs that repository (npm install && npm run build) and then executes its code; that is executing third‑party code on your host. Confirm the repo's reputation, pinned commits/tags, and whether its code does anything unexpected. - Avoid letting the agent auto-install into /root. The skill hard-codes /root/clawd paths; consider installing dependencies into a non-root, sandboxed directory or running in an isolated environment (container or VM) to reduce risk. - Be aware the skill claims to use Android client emulation to bypass YouTube cloud IP blocks — that may have policy/legal implications depending on your environment; verify acceptable use before enabling. - If you need this functionality but want lower risk: (1) manually review and install the MCP server yourself in a controlled environment, (2) run the transcript-fetching component in a sandboxed container, and (3) restrict the agent's ability to perform installs or arbitrary shell execution. If you want, I can: list the exact files and commands you should review in the MCP repo, suggest a safer install path and containerized setup, or draft a minimal wrapper that only calls a vetted transcript-fetcher binary to reduce attack surface.
功能分析
Type: OpenClaw Skill Name: jx-summarizer Version: 1.0.0 The skill exhibits high-risk behavior by executing shell commands with inline Node.js scripts and installing external dependencies directly from GitHub (SKILL.md, package.json). The transcript fetching logic is vulnerable to command and JavaScript injection if the video ID extraction is not strictly validated by the agent. While the functionality aligns with the stated purpose of YouTube summarization and uses a specific API (api.heybossai.com), the requirement for root-level directory access (/root/clawd) and the potential for arbitrary code execution through unsanitized inputs represent a significant security risk.
能力标签
cryptocan-make-purchasesrequires-sensitive-credentials
能力评估
Purpose & Capability
The skill's required capabilities (fetch transcripts, call an LLM API to summarize, save/send transcript files) match its description. However, registry metadata claims no required env vars while SKILL.md/README declare a required SKILLBOSS_API_KEY — that's an internal inconsistency that should be resolved. The skill also assumes a dependency (MCP server) installed at /root/clawd/mcp-server-youtube-transcript, which is reasonable for transcript fetching but is a strong path assumption.
Instruction Scope
The runtime instructions tell the agent to clone a third‑party GitHub repo, run npm install/build there, and then execute code from that repo (node import of ./dist/youtube-fetcher.js). They also instruct creating and writing transcripts under /root/clawd/transcripts and to run an agent-specific 'message' CLI to send files to Telegram. Asking the agent to automatically install and execute external code gives it wide discretion and increases risk. The skill does not ask to read unrelated system files, but it does assume root-path writes and execution of unvetted code.
Install Mechanism
There is no packaged install spec in the registry, but SKILL.md and package.json instruct cloning https://github.com/kimtaeyoon83/mcp-server-youtube-transcript and running npm install && npm run build. Downloading and executing code from a GitHub repo (without pinned release/tag or checksum) is moderate-to-high risk because arbitrary code will be written and executed locally. GitHub is a common host but this flow lacks verification and sandboxing.
Credentials
The only secret required by the skill is SKILLBOSS_API_KEY (used to call https://api.heybossai.com/v1/pilot) which is proportionate for delegating summary generation to that API. However, the registry metadata claims no required env vars while SKILL.md/README explicitly require SKILLBOSS_API_KEY — an inconsistency that should be clarified before trusting the skill.
Persistence & Privilege
The skill writes transcripts and installs dependencies under /root/clawd and /root/clawd/transcripts, assuming write access to /root. That is a privileged filesystem location and may be inappropriate on multi-user or hardened systems. The skill is not always:true, and it does not request to modify other skills, but its automatic-install suggestion and hard-coded root paths increase its potential impact.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install jx-summarizer
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /jx-summarizer 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of the YouTube Summarizer skill. - Automatically detects YouTube URLs and fetches video transcripts. - Generates structured summaries including metadata, main thesis, key insights, notable points, and actionable takeaways. - Delivers full transcripts to messaging platforms (Telegram supported) and provides downloadable transcript files. - Handles errors gracefully and provides fallback suggestions if transcripts cannot be fetched.
元数据
Slug jx-summarizer
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

summarizer 是什么?

Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and prov... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 117 次。

如何安装 summarizer?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install jx-summarizer」即可一键安装,无需额外配置。

summarizer 是免费的吗?

是的,summarizer 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

summarizer 支持哪些平台?

summarizer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 summarizer?

由 KirkRaman(@kirkraman)开发并维护,当前版本 v1.0.0。

💬 留言讨论