← Back to Skills Marketplace
kirkraman

summarizer

by KirkRaman · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
117
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install jx-summarizer
Description
Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and prov...
README (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
Usage Guidance
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.
Capability Analysis
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.
Capability Tags
cryptocan-make-purchasesrequires-sensitive-credentials
Capability Assessment
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.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install jx-summarizer
  3. After installation, invoke the skill by name or use /jx-summarizer
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
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.
Metadata
Slug jx-summarizer
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is summarizer?

Automatically fetch YouTube video transcripts, generate structured summaries, and send full transcripts to messaging platforms. Detects YouTube URLs and prov... It is an AI Agent Skill for Claude Code / OpenClaw, with 117 downloads so far.

How do I install summarizer?

Run "/install jx-summarizer" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is summarizer free?

Yes, summarizer is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does summarizer support?

summarizer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created summarizer?

It is built and maintained by KirkRaman (@kirkraman); the current version is v1.0.0.

💬 Comments