Back to skills

Agent Skill

Summarize

summarize

Summarize or transcribe URLs, YouTube/videos, podcasts, articles, transcripts, PDFs, and local files.

SteipeteAI/MLTypeScriptAiAssistantCrustaceanMoltyOpenclawOwn-your-dataPersonal

19K installs

steipete/clawdis

by Steipete

Score

8.6

/ 10

Installs

19K

Repo Stars

379.9K

Last Updated

0d ago

Fresh

Quality Ratio

89%

Description

Verified

Language

TypeScript

First Published

Jan 2026

Summary

The Summarize agent skill rapidly condenses content from URLs, local files, and YouTube videos, offering both concise summaries and best-effort transcript extraction. It is most valuable for developers who frequently need to quickly digest information from web articles, local documents, or video content without manual review. This agent skill is categorized as a niche tool with a smaller but dedicated user base within the registry. Agents can invoke it using natural language prompts like "summarize this URL/article" or "transcribe this YouTube video," leveraging underlying LLMs such as Google Gemini, OpenAI, or Anthropic. It offers fine-grained control over output with flags for summary length, token limits, and JSON formatting, and supports custom API keys and configurable default models. For extensive video content, it is designed to provide a summary first, enabling the agent to then prompt the user for specific sections if a full transcript is desired.

Skill Definition

Fast CLI to summarize URLs, local files, and YouTube links.

When to use (trigger phrases)

Use this skill immediately when the user asks any of:

  • "use summarize.sh"
  • "what's this link/video about?"
  • "summarize this URL/article"
  • "transcribe this YouTube/video" (best-effort transcript extraction; no yt-dlp needed)

Quick start

summarize "https://example.com"
summarize "/path/to/file.pdf"
summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto

YouTube: summary vs transcript

Best-effort transcript (URLs only):

summarize "https://youtu.be/dQw4w9WgXcQ" --youtube auto --extract

If the user asked for a transcript but it's huge, return a tight summary first, then ask which section/time range to expand.

Model + keys

Set the API key for your chosen provider:

  • OpenAI: OPENAI_API_KEY
  • Anthropic: ANTHROPIC_API_KEY
  • xAI: XAI_API_KEY
  • Google: GEMINI_API_KEY (aliases: GOOGLE_GENERATIVE_AI_API_KEY, GOOGLE_API_KEY)

Default model is auto; config may choose the provider/model.

Useful flags

  • --length short|medium|long|xl|xxl|<chars>
  • --max-output-tokens <count>
  • --extract (print extracted content, no LLM summary)
  • --json (machine readable)
  • --firecrawl auto|off|always (fallback extraction)
  • --youtube auto (Apify fallback if APIFY_API_TOKEN set)

Config

Optional config file: ~/.summarize/config.json

{ "model": "openai/gpt-5.2" }

Optional services:

  • FIRECRAWL_API_KEY for blocked sites
  • APIFY_API_TOKEN for YouTube fallback

How to Use

Use in O-mega

Claude Code

npx skills add steipete/clawdis summarize